Примеры отмены проведения документа

Примеры отмены проведения документа на языке программирования 1С:Предприятие. Примеры позволяют быстро разобраться в вопросе и использовать код в своих разработках

Отмена проведения документа с возвратом движения
// Отмена проведения и возврат движения
Процедура ОтменитьПроведение()
Документ = Документы.ПродажаТоваровИУслуг.НайтиПоНомеру(ПараметрНомерДок);
Документ.Проведен = Ложь;
Документ.ОтменитьПроведение();
Документ.Записать();
КонецПроцедуры

Отмена проведения с возвратом движения по регистру
// Отмена проведения и возврат движения по регистру остатков
Процедура ОтменитьПроведениеРегистра()
Документ = Документы.ПродажаТоваровИУслуг.НайтиПоНомеру(ПараметрНомерДок);
Документ.Проведен = Ложь;
Документ.ОтменитьПроведение();
Документ.РегистрыНакопления.ОстаткиТоваров.ОчиститьРегистры();
КонецПроцедуры

Отмена проведения с проверкой проведения и подтверждением
// Проверка и отмена проведения с подтверждением
Процедура ОтменитьПроведенПроведено()
Документ = Документы.ПродажаТоваровИУслуг.НайтиПоНомеру(ПараметрНомерДок);
Если Документ.Проведен Тогда
Предупреждение(«Документ уже проведен»);
Иначе
Документ.Проведен = Ложь;
Документ.ОтменитьПроведение();
Документ.Записать();
КонецЕсли
КонецПроцедуры

Отмена проведения с откатом движений по регистрам
// Откат движений регистра при отмене проведения
Процедура ОткатРегистра()
Документ = Документы.ПродажаТоваровИУслуг.НайтиПоНомеру(ПараметрНомерДок);
Документ.Проведен = Ложь;
Документ.ОтменитьПроведение();
Документ.РегистрыНакопления.ОстаткиТоваров.ОткатРегистров();
КонецПроцедуры

Отмена проведения с вызовом процедуры регистрации отмены
// Вызов процедуры регистрации отмены проведения
Процедура РегистрацияОтменыПроведения()
Документ = Документы.ПродажаТоваровИУслуг.НайтиПоНомеру(ПараметрНомерДок);
Документ.Проведен = Ложь;
Документ.ОтменитьПроведение();
Документ.РегистрацияОтменыПроведения();
КонецПроцедуры

Отмена проведения с удалением движений и документов
// Полная отмена проведения с удалением движений и документа
Процедура ПолнаяОтменаПроведения()
Документ = Документы.ПродажаТоваровИУслуг.НайтиПоНомеру(ПараметрНомерДок);
Документ.Проведен = Ложь;
Документ.Удалить();
КонецПроцедуры

Отмена проведения с отменой движений и восстановлением остатков
// Полная отмена с восстановлением остатков и движений
Процедура ОтменаПроведенияСВосстановлением()
Документ = Документы.ПродажаТоваровИУслуг.НайтиПоНомеру(ПараметрНомерДок);
Документ.Проведен = Ложь;
Документ.ОтменитьПроведение();
Документ.РегистрыНакопления.ОстаткиТоваров.ВосстановитьОстатки();
КонецПроцедуры

Поделиться с друзьями
Smirnov code
Добавить комментарий