1С Предприятие 7.7. Документация

       

ОбработкаУдаленияПроведения


Предопределенная процедура обработки удаления проведения документа.

Синтаксис:

ОбработкаУдаленияПроведения()

Англоязычный синоним:

UnPostingProcess

Описание:

Процедура ОбработкаУдаленияПроведения — предопределенная процедура. Она не является встроенной процедурой языка. Для нее определено только название и синтаксис. Тело процедуры должно быть написано разработчиком конфигурации в Модуле документа (см. «Виды программных модулей»). Вызов процедуры ОбработкаУдаленияПроведения производится в системе 1С:Предприятие неявно при отмене проведения документа или при удалении проведенных документов в любом режиме — интерактивно или программно. (см. СделатьНеПроведенным, Удалить).

Замечание. В предопределенных процедурах ОбработкаПроведения и ОбработкаУдаленияПроведения система 1С:Предприятие сама выполняет все действия через транзакцию (см. «Процедуры работы с транзакциями»), поэтому никаких специальных действий по обработке транзакций в этих предопределенных процедурах предпринимать не нужно.

Если в данной предопределенной процедуре установить статус возврата — 0 (например, если данному пользователю нельзя отменять проведение документа) то отмена проведения документа не будет выполнена и будет отменена системная транзакция.

Замечание. В предопределенных процедурах ОбработкаУдаленияПроведения и ОбработкаПроведения нельзя использовать элементы интерактивного управления (например, операторы Предупреждение, Вопрос, ВвестиЧисло и т. п.), т. к. в этом случае при открытой транзакции система ожидает отклика пользователя, а все остальные пользователи ждут завершения транзакции (в результате документы у всех остальных пользователей в этот момент не могут проводиться). Если в конфигурации необходимо при проведении документа выдавать пользователю некоторые сообщения, то следует использовать операторы Сообщить или Состояние.

Данная предопределенная процедура может располагаться только в Модулях документов (см. «Виды программных модулей»).

Пример:

Процедура ОбработкаУдаленияПроведения()



   // Процедура выполняется при отмене проведения

   // или удалении документа

   // Сотрудник — это реквизит документа

   СпрСотрудники.НайтиЭлемент(Сотрудник);

   // если нашли сотрудника...

   Если СпрСотрудники.Выбран() = 1 Тогда

      // СтРасч — это реквизит документа

      СпрСотрудники.НайтиЭлемент(СтРасч);

      ВозвратРасч = 0;

      Если СпрСотрудники.Выбран() = 1 Тогда

         // если старый расчетчик еще есть — откатим!

         ВозвратРасч = 1;

      КонецЕсли;

      СпрСотрудники.НайтиЭлемент(Сотрудник);

      Если ВозвратРасч = 1 Тогда

         СпрСотрудники.Родитель = СтРасч;

      КонецЕсли;

      СпрСотрудники.Записать();

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата, СделатьНеПроведенным, Удалить



Содержание раздела