0
LivingStar
19.03.13
✎
11:33
|
У меня процедура обработки проведения подчиненных документов указанна в модуле проведения ПередЗаписью(), в подчиненном же документе задал условие
Если ЗначениеЗаполнено(ДокументУстановкаЦен) Тогда
Если Не ДокументУстановкаЦен.Проведен Тогда
Сообщить("Для проведения документа необходимо провести документ «Установка цен» !");
Отказ = Истина;
КонецЕсли;
Иначе
Сообщить("Не заполнен документ «Установка цен» !");
//Отказ = Истина;
КонецЕсли;
теперь если не проведен первый документ и ему подчиненные, в этом случае срабатывает ошибка. Нужно это было для того что бы нельзя было перепроводить подчиненные документы если не проведен основной документ.
ВОПРОС: куда поместить код проведения обработки подчиненных документов что бы сам документ уже был проведен основной?
|
|
4
vvp91
19.03.13
✎
12:09
|
(0) (3)
А что будет с проведением основного документом, когда при одновременном проведении подчиненного документа возникнет исключение?
В случае подписки на событие привязанной к проведению основного документа или в обработке проведения или в обработке при записи основного документа, проведение подчиненных документов делается в одной транзакции с проведением/изменением основного документа.
По-хорошему надо сделать фоновое задание, которому назначить код, анализирующий состояние проведенности основного документа и выполняющему проведение подчиненных документов.
Для уменьшения объема анализируемых основных документов можно сделать регистр сведений, в который при проведении основного документа писать признак необходимости проведения подчиненных документов, а в методе фонового задания работать сбрасывать этот признак.
|
|