В стандартная обработке подбора из справочника материалов нет возможности увидеть только нулевые остатки и при подборе не отнимается подобранное количество. Эти задачи и реализует данная обработка.
Интеграция обработки в программу.
Для подбора из данной обработки в документе можно воспользоваться кнопкой подбор, а можно добавить новую .
Пример документ Требование-накладная.
В процедуре документа подбор() добавляем:
Процедура Подбор()
******
КонтекстФормыПодбора = СоздатьОбъект("СписокЗначений");
КонтекстФормыПодбора.ДобавитьЗначение(Контекст, "Контекст");
КонтекстФормыПодбора.ДобавитьЗначение(МестоХранения, "МестоХранения");
ОткрытьПодбор("Обработка.ПодборМатериалов",,КонтекстФормыПодбора,1);
******
Далее в процедуре документа ОбработкаПодбора() :
Процедура ОбработкаПодбора(ВыбрМПЗ)
Если ТипЗначенияСтр(ВыбрМПЗ) = "СписокЗначений" Тогда
Кол = ВыбрМПЗ.Получить("Количество");
ВыбМатериал = ВыбрМПЗ.Получить("Материал");
НоваяСтрока();
Материал = ВыбМатериал;
ЕдинИзмерения=Материал.ЕдиницаИзмерения;
ЦенаИзг = Материал.ЦенаИзготовителя;
ЦенаУч = Материал.Цена;
КоличествоЗатребовано = Кол;
КоличествоОтпущено = Кол;
Масса = Окр(Материал.Вес*КоличествоОтпущено/1000,2,1);
ВидТары = Сокрлп(Материал.Упаковка);
КолВУпак = Материал.КолВУпак;
РассчитатьУпаковки();
АктивизироватьСтроку();