Каталог решений - Удаление документа из-под самого себя

Удаление документа из-под самого себя

Удаление документа из-под самого себя

В наличии

По ряду причин потребовалось проверить позицию нового документа и в случае определенных условий удалить его из базы. Понятно, что ПолучитьПозицию() для незаписанного документа нельзя.
Поэтому сначала его необходимо записать, а потом при определенных условиях "замочить"

Категория:

Описание

Реализация:
В документе в процедуре ПриЗакрытии() по нужным нам условиям вызываем обработку

ОткрытьФорму("Отчет",ТекущийДокумент(),КаталогИБ()+"ExtForms\УдалитьДок.ert");

//Сама обработка УдалитьДок:
Процедура УдалитьДок()
// таймер выключили

Форма.ОбработкаОжидания("УдалитьДок",0);  
	

//зверски удаляем документ 

Док=СоздатьОбъект("Документ");         

Док.НайтиДокумент(Форма.Параметр); Док.Удалить(0);
Форма.Закрыть();

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

ПроцедураПриОткрытии()

Если  ПустоеЗначение(Форма.Параметр)=1 Тогда 

Форма.Закрыть();
	

КонецЕсли;                 
	// дадим вызывающему документу время закрыться (разблокироваться), 1 секунда 

Форма.ОбработкаОжидания("УдалитьДок",1);  
//СтатусВозврата(0) к сожалению ставить нельзя, // не пройдет ОбработкаОжидания (придется форму наблюдать на время удаления) 
КонецПроцедуры 
has been added to your cart:
Оформление заказа