Задача немного нетривиальная. Общепит, производство.
Надо в момент проведения поступления товаров часть товара переводить в другой товар. Для этого используем документ Пересортица.
Как я поняла, ни в модуле документа, ни в подписке проведения нет смысла это писать, т.к. движения документа поступления еще отсутствуют.
Тем не менее код автоматического создания документа пересортица реализован в подписке пока в режиме проведения = Записать. Провести не дает.
Создать регистр отложенного проведения, куда писать ссылки документов пересортица? Пока так думаю. Может проще можно?
можно заранее рассчитать итоговые таблицы движений по регистрам, положить их в Объект.ДополнительныеСвойства и достать в подписке в Источник.ДополнительныеСвойства.Получить(). покурите типовые конфигурации
так?
создала регистр отложенных, куда добавляю ссылки в подписке проведения, регламентное задание, код такой
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОчередьОтложенныхОперацийПересортицыДляПроведения.Документ КАК Документ
|ИЗ
| РегистрСведений.ОчередьОтложенныхОперацийПересортицыДляПроведения КАК ОчередьОтложенныхОперацийПересортицыДляПроведения";
РезультатЗапросаВыборка = Запрос.Выполнить().Выбрать();
Пока РезультатЗапросаВыборка.Следующий() Цикл
Попытка
ДокОбъект = РезультатЗапросаВыборка.Документ.ПолучитьОбъект();
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
(0) Если нужна транзакционная целостность, то делай документ-контейнер
То есть новый документ, при его проведении создавай оба документа
Если один из них не создастся, то в итоге не создавай оба
Если делаешь его непроведенным, то распроводи оба
И т. д.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший