Имя: Пароль:
1C
 
Код перестал работать после обновления
0 gerthog
 
14.10.14
14:45
Источник.Движения.Хозрасчетный.Прочитать();
Для ю = 0 по Источник.Движения.Хозрасчетный.Количество()-1 Цикл
    ТекЗапись = Источник.Движения.Хозрасчетный.Получить(ю);
    ТекЗапись.Период = Источник.ДатаЗакрытия;
КонецЦикла;
Источник.Движения.Хозрасчетный.Записать();
Источник.Движения.Налоговый.Прочитать();
Для ю = 0 по Источник.Движения.Налоговый.Количество()-1 Цикл
    ТекЗапись = Источник.Движения.Налоговый.Получить(ю);
    ТекЗапись.Период = Источник.ДатаЗакрытия;
КонецЦикла;
Источник.Движения.Налоговый.Записать();

Код устанавливает дату бух проводок на дату закрытия путевого листа(иначе дата будет равна дате документа).
До обновления код работал, теперь нет. В отладчике: Источник.Движения.Хозрасчетный.Количество() = 0 и соответственно цикл не проходит. Никак не пойму, что же изменилось почему оно теперь не работает. Такое ощущение, что проводок нет, но они есть. В какую сторону можно капнуть?
1 gerthog
 
14.10.14
14:46
Допиленную УПП обновил с 1.3.51.4 до 1.3.56.2
2 mikecool
 
14.10.14
14:49
движений еще нет, либо записывай перед чтением
3 shuhard
 
14.10.14
14:52
(0) перенеси код из подписки в модуль Рг бухгалтерии

1С не гарантирует в каком порядке подписки выполняются
4 gerthog
 
14.10.14
14:52
(2) Не понял, как это записать перед чтением?
5 gerthog
 
14.10.14
14:55
(3) Я уже перенес из подписки в модуль документа в процедуру проведения, результат тот же.
6 DirecTwiX
 
14.10.14
15:26
(5)
Источник.Движения.Хозрасчетный.Записать()
Источник.Движения.Хозрасчетный.Прочитать();
Для ю = 0 по Источник.Движения.Хозрасчетный.Количество()-1 Цикл
    ТекЗапись = Источник.Движения.Хозрасчетный.Получить(ю);
    ТекЗапись.Период = Источник.ДатаЗакрытия;
КонецЦикла;
Источник.Движения.Хозрасчетный.Записать();
7 gerthog
 
14.10.14
15:32
Решение оказалось простым и интересным. Подписки на события запускаются, как правило, в том порядке в котором они указаны в конфигурации, перенес эту подписку в конец списка и она заработала.
Программист всегда исправляет последнюю ошибку.