|
Очищаются движения регистра после каждого второго проведения | ☑ | ||
---|---|---|---|---|
0
ГдеСобака Зарыта
02.07.20
✎
15:42
|
8.3.14.1854 ЗУП 3.1.10.50
Добавлен новый регистр накопления. Движения в него пишутся подпиской на запись набора другого типового регистра. При четных перепроведениях документа, по подписке формируются движения моего регистра, запсываются, все Ок. При нечетном перепроведении - по подписке формируются движения моего регистра, записываются и следом записывается уже пустой набор записей. То бишь первый раз только подписка, второй - подписка и следом запись пустого набора. И так через раз. В стеке вызовов второй записи регистра пусто. Что это может быть? |
|||
1
ГдеСобака Зарыта
02.07.20
✎
15:45
|
Удаление движений документа - Удалять автоматически при отмене проведения
|
|||
2
1nvertex
02.07.20
✎
15:55
|
Первый раз подписка не видит движений, так как сами движения еще не записаны. Второй раз она видит еще не удаленные движения. Можете убедиться в этом, если поменяете какой нибудь реквизит между проведениями.
|
|||
3
Волшебник
модератор
02.07.20
✎
15:57
|
Это потому что "движения в него пишутся подпиской". Перестаньте заниматься извращениями и сделайте нормальную запись из модуля документа.
|
|||
4
ГдеСобака Зарыта
02.07.20
✎
16:01
|
(3) Мопед не мой так-то. Сам я всегда из модулей объектов делал. Подписка от предшественника досталась. Обнаружил забавное поведение и стало интересно что это и как победить.
|
|||
5
Мимохожий Однако
02.07.20
✎
16:59
|
(4) для победы см (3). Вопрос "Почему подпиской?" есть кому задать?
|
|||
6
rogachev
02.07.20
✎
17:10
|
нигде в типовых подпиской движения в док не пишутся . в модуле объекта . на крайний случай через общий модуль
|
|||
7
ptiz
02.07.20
✎
17:11
|
(4) Точку останова в подписку и вперёд.
|
|||
8
ГдеСобака Зарыта
02.07.20
✎
18:06
|
Перенос в модуль объекта конечно же решил проблему, но сущность и механика ее остались неразгаданными до конца. Может кто и расскажет для будущих поколений в чем дело было.
|
|||
9
Волшебник
модератор
02.07.20
✎
18:09
|
(8) Скорее всего подписка срабатывает в параллельной транзакции и не видит результаты транзакции, которая добавляет движения.
|
|||
10
1nvertex
03.07.20
✎
10:33
|
(9) Не так. Подписка срабатывает до завершения транзакции. См.п.2
|
|||
11
MyNick
03.07.20
✎
10:41
|
(0) теперь я знаю как реализовать крестики нолики в 1С
|
|||
12
fisher
03.07.20
✎
10:44
|
Какие значения свойств документа "Удаление движений" и "Запись движений при проведении"?
|
|||
13
fisher
03.07.20
✎
10:45
|
Ага. На первый вопрос вижу ответ в (1). А "Запись движений при проведении"?
|
|||
14
fisher
03.07.20
✎
10:54
|
Тут фишка в том, что платформа вызывает системную Движения.Записать() не до подписок, а после. И скорее всего в четных случаях она считает что набор записей регистра записывать не нужно (и поэтому не выполняет запись пустого набора после отработки всех подписок), а в нечетных - что нужно. Навскидку это может происходить, если "Запись движений при проведении" установлено в "Записывать модифицированные".
|
|||
15
fisher
03.07.20
✎
10:58
|
А в подписке, вероятно, работа ведется не через коллекцию Движения, а через отдельный набор записей.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |