Архив рубрики: Работа с документами

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

В версии 7.7 вид документа можно получить просто :   Документ.Вид()



В восьмой версии  немного сложнее. Получить вид документа и сравнить его можно так:

Если ТипЗнч(Документ.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
....
КонецЕсли

можно конечно так:

Если  Документ.Ссылка.Метаданные().Имя = "РеализацияТоваровУслуг" Тогда


....

КонецЕсли


но первый вариант красивее.

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

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

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

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

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

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


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


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