Это первая публикация, просьба строго не судить.
Теория.
Пришло время воплотить когда-то задуманные мысли в реальность. Мысли заключались в том, что в конфигурации 1С: УНФ существует несколько Статусов документа "Заказ-наряд"(1) такие как "Открыт", "ВРаботе", "Выполнен" и в добавок существует справочник "Состояния заказов", который в свою очередь подразумевает один из вышеперечисленных статусов. Так вот статусов 3, а элементов состояний из справочника - 4. Почему и как? Так Нада! И поэтому 2 элемента справочника "Состояния заказов" подразумевают собой Статус "Выполнен" и назывались они "Ждет отгрузки" и Отгружен".
Вы скажете ну и в чём воплощение мысли то, да в том что была необходимость автоматизировать процесс перехода Заказов покупателей в "Отгруженное" состояние. Не открывать каждый документ и не перевыбирать состояния с дальнейшим проведением, а выбирать вручную строки документов, которые уже находились в Статусе "Выполнен" , а для пользователя в Состоянии "Ждёт отгрузки" и при нажатии на определенную кнопку командной панели выбранные документы записывались с изменением реквизита "Состояние заказа" в состояние "Отгружен".
Практика.
1. Методом несложных манипуляций создаем кнопку на командной панели списка документов "Заказы покупателей".
2. В модуле формы списка пишем 100500 тыс. строк быдлокода(Шутка) Выглядит он так:
&НаКлиенте
Процедура ОтгрузитьЗаказы(Команда)
ВыделенныеСтроки = Элементы.Список.ВыделенныеСтроки;
ОтгрузитьЗаказыСервер(ВыделенныеСтроки);
КонецПроцедуры
&НаСервере
Функция ОтгрузитьЗаказыСервер(ВыделенныеСтроки)
Для каждого ВыдСтрока Из ВыделенныеСтроки Цикл
ОбъектДокумента = ВыдСтрока.ПолучитьОбъект();
Если НЕ ОбъектДокумента.ПометкаУдаления и ОбъектДокумента.СостояниеЗаказа.Код="Выполнен3" Тогда
ОбъектДокумента.Заблокировать();
ОбъектДокумента.СостояниеЗаказа = Справочники.СостоянияЗаказовПокупателей.НайтиПоКоду("Выполнен4");
ОбъектДокумента.Записать(РежимЗаписиДокумента.Запись, РежимПроведенияДокумента.Неоперативный);
ОбъектДокумента.Разблокировать();
Сообщить("Заказ отгружен успешно!");
Элементы.Список.Обновить();
КонецЕсли
КонецЦикла;
КонецФункции
Вуаля при нажатии на кнопку командной панели выбранные документы с состоянием "Ждет отгрузки" переходят в состояние "Отгружен".
Спасибо за внимание.
(1) Это документ "Заказ покупателя" с видом операции "ЗаказНаряд" и возможностью проводить отгрузку/резервирование по структурным единицам, фиксировать отгрузку, зачитывать авансы и т.д.).