|
Отловить событие ПослеПроведения | ☑ | ||
---|---|---|---|---|
0
Juliette_
Juliette 03.10.20
✎
08:23
|
Задача немного нетривиальная. Общепит, производство.
Надо в момент проведения поступления товаров часть товара переводить в другой товар. Для этого используем документ Пересортица. Как я поняла, ни в модуле документа, ни в подписке проведения нет смысла это писать, т.к. движения документа поступления еще отсутствуют. Тем не менее код автоматического создания документа пересортица реализован в подписке пока в режиме проведения = Записать. Провести не дает. Создать регистр отложенного проведения, куда писать ссылки документов пересортица? Пока так думаю. Может проще можно? |
|||
1
Timon1405
03.10.20
✎
09:08
|
можно заранее рассчитать итоговые таблицы движений по регистрам, положить их в Объект.ДополнительныеСвойства и достать в подписке в Источник.ДополнительныеСвойства.Получить(). покурите типовые конфигурации
|
|||
2
Cyberhawk
03.10.20
✎
09:36
|
Только через очередь
|
|||
3
Juliette_
Juliette 03.10.20
✎
10:49
|
так?
создала регистр отложенных, куда добавляю ссылки в подписке проведения, регламентное задание, код такой Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОчередьОтложенныхОперацийПересортицыДляПроведения.Документ КАК Документ |ИЗ | РегистрСведений.ОчередьОтложенныхОперацийПересортицыДляПроведения КАК ОчередьОтложенныхОперацийПересортицыДляПроведения"; РезультатЗапросаВыборка = Запрос.Выполнить().Выбрать(); Пока РезультатЗапросаВыборка.Следующий() Цикл Попытка ДокОбъект = РезультатЗапросаВыборка.Документ.ПолучитьОбъект(); ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); НаборЗаписей = РегистрыСведений.ОчередьОтложенныхОперацийПересортицыДляПроведения.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Документ.Установить(РезультатЗапросаВыборка.Документ); НаборЗаписей.Записать(); Исключение КонецПопытки; КонецЦикла; |
|||
4
Juliette_
Juliette 03.10.20
✎
11:02
|
вроде работает
спасибо ;) |
|||
5
PR
03.10.20
✎
11:05
|
(2) Ну да, только через очередь, ага, других вариантов даже теоретически нет С — сарказм
|
|||
6
PR
03.10.20
✎
11:07
|
(0) Если нужна транзакционная целостность, то делай документ-контейнер
То есть новый документ, при его проведении создавай оба документа Если один из них не создастся, то в итоге не создавай оба Если делаешь его непроведенным, то распроводи оба И т. д. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |