![]() |
![]() |
![]() |
|
v8: Мистика ? Проведение регистр сведений | ☑ | ||
---|---|---|---|---|
0
artem_biz
27.08.12
✎
10:52
|
При первом провидение нет записей в регистре "СтатусКарточкиПрограммыЛояльности" при втором они появляются при третьем опять нет ??? Код :
Процедура ОбработкаПроведения(Отказ, РежимПроведения) // ОСНОВНЫЕ РЕГИСТРЫ Если КоличествоБонусовНачислено <> 0 Тогда // Приход ДвижениРег = Движения.БонусыПрограммыЛояльности; Движение = ДвижениРег.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.КарточкаПрограммыЛояльности = КарточкаПрограммыЛояльности; Движение.СуммаПроцентов = СуммаПроцентовНачислено; Движение.КоличествоБонусов = КоличествоБонусовНачислено; ДвижениРег.Записать(); КонецЕсли; Если КоличествоБонусовСписано <> 0 Тогда // Расход ДвижениРег = Движения.БонусыПрограммыЛояльности; Движение = ДвижениРег.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.КарточкаПрограммыЛояльности = КарточкаПрограммыЛояльности; Движение.СуммаПроцентов = СуммаПроцентовСписано; Движение.КоличествоБонусов = КоличествоБонусовСписано; ДвижениРег.Записать(); КонецЕсли; СтатусКарточки = ПрограммаЛояльности.ВернутьСтатусПоКарточке(Дата,КарточкаПрограммыЛояльности); СтатусПоНачисленнымПрцентам = ПрограммаЛояльности.ВернутьСтатусПоСуммеПроцентов(Дата,КарточкаПрограммыЛояльности,СуммаПроцентовНачислено - СуммаПроцентовСписано); Если СтатусКарточки <> СтатусПоНачисленнымПрцентам Тогда ДвижениеСтатус = Движения.СтатусКарточкиПрограммыЛояльности.Добавить(); ДвижениеСтатус.Период = Дата; ДвижениеСтатус.КарточкаПрограммыЛояльности = КарточкаПрограммыЛояльности; ДвижениеСтатус.СтатусПрограммыЛояльности = СтатусПоНачисленнымПрцентам; КонецЕсли; КонецПроцедуры |
|||
1
andrewks
27.08.12
✎
10:52
|
провЕдение
|
|||
2
Godofsin
27.08.12
✎
10:53
|
(1)+1+1+1...
|
|||
3
artem_biz
27.08.12
✎
10:54
|
Условие "Если СтатусКарточки <> СтатусПоНачисленнымПрцентам Тогда" всегда истина
|
|||
4
ssh2006
27.08.12
✎
10:54
|
(3) врядли
|
|||
5
shamannk
27.08.12
✎
10:54
|
отладчиг что говорит?
|
|||
6
artem_biz
27.08.12
✎
10:56
|
говорит что в ДвижениеСтатус = Движения.СтатусКарточкиПрограммыЛояльности.Добавить();
ДвижениеСтатус.Период = Дата; ДвижениеСтатус.КарточкаПрограммыЛояльности = КарточкаПрограммыЛояльности; ДвижениеСтатус.СтатусПрограммыЛояльности = СтатусПоНачисленнымПрцентам; заходит всегда !!! |
|||
7
Kashemir
27.08.12
✎
11:00
|
Проверь признак автоматической очистки регистра при проведении / либо наличие явной очистки при его отсутствии
|
|||
8
ptiz
27.08.12
✎
11:01
|
(6) "Не верю"
|
|||
9
artem_biz
27.08.12
✎
11:01
|
уже проверил Удалять движения : Удалять автоматически !!!
|
|||
10
Kashemir
27.08.12
✎
11:02
|
Также проверь подписки обработчиков как документа так и регистра. Может где-то явно чистится либо перезаписывается через .Записать(истина)
|
|||
11
SUA
27.08.12
✎
11:04
|
Мистика. Как движения проверяются?
|
|||
12
artem_biz
27.08.12
✎
11:07
|
Визуально в регистре
|
|||
13
artem_biz
27.08.12
✎
11:23
|
СтатусКарточки я получаю из регистра "СтатусКарточкиПрограммыЛояльности" возможно в єтом проблема потому как в отладчике СтатусКарточки.ВерсияДанных = Ошибка чтения значения
|
|||
14
ptiz
27.08.12
✎
11:26
|
Похоже, ты делаешь запись в регистр, и тут же проверяешь наличие этой записи (и вот здесь зарыт косяк).
|
|||
15
artem_biz
27.08.12
✎
11:37
|
Вот таким образом решил проблему
Если СтатусКарточки <> СтатусПоНачисленнымПрцентам Тогда ДвижениеСтатус = Движения.СтатусКарточкиПрограммыЛояльности; Движение = ДвижениеСтатус.Добавить(); Движение.Период = Дата; Движение.КарточкаПрограммыЛояльности = КарточкаПрограммыЛояльности; Движение.СтатусПрограммыЛояльности = СтатусПоНачисленнымПрцентам; ДвижениеСтатус.Записать(); КонецЕсли; |
|||
16
artem_biz
27.08.12
✎
11:37
|
Всем спасибо !!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |