Каталог решений - Запись и изменение реквизитов в документах из модуля формы списка документов "Построчно"

Запись и изменение реквизитов в документах из модуля формы списка документов "Построчно"

Запись и изменение реквизитов в документах из модуля формы списка документов "Построчно"

В наличии

Работа со строками списка документов Заказы покупателей в 1С: УНФ.

Категория:

Описание

Это первая публикация, просьба строго не судить.

Теория.

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

Вы скажете ну и в чём воплощение мысли то, да в том что была необходимость автоматизировать процесс перехода Заказов покупателей в "Отгруженное" состояние. Не открывать каждый документ и не перевыбирать состояния с дальнейшим проведением, а выбирать вручную строки документов, которые уже находились в Статусе "Выполнен" , а для пользователя в Состоянии "Ждёт отгрузки" и при нажатии на определенную кнопку командной панели выбранные документы записывались с изменением реквизита "Состояние заказа" в состояние "Отгружен".

Практика.

1. Методом несложных манипуляций создаем кнопку на командной панели списка документов "Заказы покупателей".

2. В модуле формы списка пишем 100500 тыс. строк быдлокода(Шутка) Выглядит он так:

&НаКлиенте
Процедура  ОтгрузитьЗаказы(Команда)
    ВыделенныеСтроки = Элементы.Список.ВыделенныеСтроки;    
    ОтгрузитьЗаказыСервер(ВыделенныеСтроки);
    
КонецПроцедуры

&НаСервере
Функция ОтгрузитьЗаказыСервер(ВыделенныеСтроки)
    
    Для каждого ВыдСтрока Из ВыделенныеСтроки Цикл
        ОбъектДокумента = ВыдСтрока.ПолучитьОбъект();
    Если НЕ ОбъектДокумента.ПометкаУдаления и ОбъектДокумента.СостояниеЗаказа.Код="Выполнен3" Тогда
        ОбъектДокумента.Заблокировать();
        ОбъектДокумента.СостояниеЗаказа = Справочники.СостоянияЗаказовПокупателей.НайтиПоКоду("Выполнен4");
        ОбъектДокумента.Записать(РежимЗаписиДокумента.Запись, РежимПроведенияДокумента.Неоперативный);
        ОбъектДокумента.Разблокировать();
        Сообщить("Заказ отгружен успешно!");
        Элементы.Список.Обновить();
    КонецЕсли
        
КонецЦикла;
КонецФункции 

Вуаля при нажатии на кнопку командной панели выбранные документы с состоянием "Ждет отгрузки" переходят в состояние "Отгружен". 

Спасибо за внимание.

(1) Это документ "Заказ покупателя" с видом операции "ЗаказНаряд" и возможностью проводить отгрузку/резервирование по структурным единицам, фиксировать отгрузку, зачитывать авансы и т.д.). 

has been added to your cart:
Оформление заказа