Итак. Для того чтобы вставить некое условие которое должно отработать только в том случае, если документ собирается проводить пользователь, можно:
1. ФормаДокумента, событие ПередЗаписью
2. ФормаСписка, событие ПередПроведением
1. ФормаДокумента, событие ПередЗаписью
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.Выполнен
ИЛИ ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.Закрыт
ИЛИ ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.ОтказКлиента
ИЛИ ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.ОжидаетВозмещения Тогда
Сообщение = "Документ основания ["+СокрЛП(ДокументОснование)+"]. Состояние у документа основания """+СокрЛП(ДокументОснование.Состояние)+""". ";
Сообщить(Сообщение);
Отказ = Истина;
Возврат;
КонецЕсли;
КонецПроцедуры
2. ФормаСписка, событие ПередПроведением
Процедура СписокПередПроведением(Элемент, Отказ)
ДокументПеремещение = Элемент.ТекущаяСтрока;
Если ДокументПеремещение.ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.Выполнен
ИЛИ ДокументПеремещение.ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.Закрыт
ИЛИ ДокументПеремещение.ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.ОтказКлиента
ИЛИ ДокументПеремещение.ДокументОснование.Состояние = Перечисления.СостояниеЗаказНаряда.ОжидаетВозмещения Тогда
Сообщение = "Документ основания ["+СокрЛП(ДокументПеремещение.ДокументОснование)+"]. Состояние у документа основания """+СокрЛП(ДокументПеремещение.ДокументОснование.Состояние)+""".";
Сообщить(Сообщение);
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Комментариев нет:
Отправить комментарий