| 
    
            
         
         | 
    
  | 
Очищаются движения регистра после каждого второго проведения | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        А в подписке, вероятно, работа ведется не через коллекцию Движения, а через отдельный набор записей.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |