Доброго времени суток!
У нас в базе альфа-авто 4 периодически ломается цепочка по учету товаров и приходится перепроводить документ перемещение товаров в производство. А так, как этот интерфейс у этого документа полностью закрыт для изменений, пришлось сделать для этого обработку. Данная обработка позволяет быстро и легко перепровести или отменить проведение у любого документа, обходя ограничения редактирования в интерфейсе документов. Код примитивный:
Если ЗначениеЗаполнено(Документ) Тогда
ДокументОбъект=Документ.ПолучитьОбъект();
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Сообщить("Операция успешно выполнена!");
Исключение
Сообщить("Возникла ошибка: " + ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
Обработка тестировалась в конфигурации Альфа-Авто: Автосалон +Автосервис + Автозапчасти. Редакция 4.1 , на платформе 8.3.15.1565. Но должна работать и на более ранних платформах и под другими конфигурациями в обычном приложении.
Использование: В поле "Документ" выбираете нужный вам документ.
Далее с выбранным документом можно сделать две операции:
1. Провести документ. Операция проводит документ в базе. Если документ уже проведен - он перепроведется.
2. Отменить проведение. В результате выбранный документ будет распроведен.
Все действия выполняются от имени текущего пользователя. Для выполнения данных операций у пользователя должны быть права на программное проведение документов.
Надеюсь, кому-то такая обработка облегчит жизнь.