7 сентября 2011 г.

1с: 8.1 Как провести и отменить проведение документа в программно.

Как правильно сделать отмену проведения документа программно?

Такой вопрос у меня возник, когда я попытался сделать отмену проведения документа программно. Так как  команды СделатьНеПроведенным() в "восьмерке" нету, то поначалу я думал, что можно присвоить признаку Проведен = Ложь и проведение документа отменится. Так оно визуально и получалось. НО  движения этого документа оставались. Получалось: документ видно, что он не проведен, а движения документа остались.

Выход оказался прост. Для отмены проведения используется Функция Записать с реквизитом:

НашДок.Записать(РежимЗаписиДокумента.ОтменаПроведения);

Так же работает и программное проведение документа:
НашДок.Записать(РежимЗаписиДокумента.Проведение);


Кроме того, есть команда:
РежимЗаписиДокумента.Запись


В этом случае будут сохранены изменения, внесенные в документ, и движения


1 комментарий: