1С Режим Конфигуратор



Дополнение - часть 3


// будем из справочника Номенклатура, используя форму списка "ДляПодбора"

  УстановитьЗначениеВПодборе("Склад",Склад);

// В форму подбора в поле "Склад" передаем значение склада из

// текущего документа

КонецПроцедуры

//-----------------------------------------------

Процедура ОбработкаПодбора(ВыбТов)

// Предопределенная процедура, срабатывающая по событию – выбор

// элемента ВыбТов из справочника

  КолОст=Регистр.ОстаткиТоваров.СводныйОстаток(Склад,

  ВыбТов,,,"Количество");

// Проверим остаток

  Если КолОст<=0 Тогда

    Возврат;

// если остаток на складе отсутствует, завершаем процедуру

  КонецЕсли;

  ТабЗн1=СоздатьОбъект("ТаблицаЗначений");

// временная динамическая таблица

  ТабЗн2=СоздатьОбъект("ТаблицаЗначений");

// еще одна временная динамическая таблица

  ТабЗн2.НоваяКолонка("Сорт","Справочник.Сорт",,,"Сорт",5);

  ТабЗн2.НоваяКолонка("Остаток","Число",17,2,"Остаток",17);

// колонки д. таблицы

  РегО=СоздатьОбъект("Регистр.ОстаткиТоваров");

  РегО.УстановитьФильтр(Склад,ВыбТов);

// в копии регистра остатков нас будут интересовать

// итоги по конкретному складу и конкретному товару

  РегО.ВыгрузитьИтоги(ТабЗн1,1,1);

// перегрузим итоги в д. таблицу

  РегО="";

  ТабЗн1.ВыбратьСтроки();

  Пока ТабЗн1.ПолучитьСтроку()=1 Цикл

    Ост=ТабЗн1.Количество;

    Если Ост>0 Тогда // есть что проверять

// если есть остаток, мы его перенесем во вторую д. таблицу

      Срт=ТабЗн1.Сорт;

      ТабЗн2.НоваяСтрока();

      ТабЗн2.Сорт=Срт;

      ТабЗн2.Остаток=Ост;

    КонецЕсли;

  КонецЦикла;

  ТабЗн2.Свернуть("1","2");

// просуммируем по сортам и получим количество товара по каждому сорту




Содержание  Назад  Вперед