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



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


    Ком=СКом.Комплектующее;

    БухИтоги.ИспользоватьСубконто(ВидыСубконто.МестоХранения,Скл,2);

    БухИтоги.ИспользоватьСубконто(ВидыСубконто.Комплектующее,Ком,2);

// Отбираем по указанному складу и текущей комплектующей

    БухИтоги.ВыполнитьЗапрос(,ДатаДок,"10.2");

    КолКом=БухИтоги.СКД(3);

// Выясняем, сколько штук этих комплектующих еще есть на складе

    СпЗн.ДобавитьЗначение(КолКом);

// Добавляем в список

  КонецЦикла;

  СпрКом="";

  ИОст=0;

// Ищем минимальное значение в списке

  Для ЧЦ=1 По СпЗн.РазмерСписка() Цикл

    ТТТ="";

    Если ЧЦ=1 Тогда

      КолСп=СпЗн.ПолучитьЗначение(ЧЦ,ТТТ);

      ИОст=КолСп;

    Иначе

      КолСп=СпЗн.ПолучитьЗначение(ЧЦ,ТТТ);

      Если ИОст>КолСп Тогда

        ИОст=КолСп;

      КонецЕсли;

    КонецЕсли;

  КонецЦикла;

  Возврат(ИОст);

// Выдаем это минимальное значение

КонецФункции

//==========================================================

Процедура Кол()

  ОстКомпл=Ост(Склад,Изделие);

// Выясняем остаток на складе

  Если Кол>ОстКомпл Тогда

// Если запросили больше

    Кол=ОстКомпл;

// Даем сколько есть

  КонецЕсли;

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

Теперь пропишем процедуру проведения. Здесь у нас будет формирование движения партий, но не по строкам документа, а по комплектующим, определяемым через эти строки. Проводки будут только одного типа (Д 20 – К 10.2). Здесь же будет проверка, не запрашиваем ли мы комплектующих больше, чем есть на складе.

Процедура ОбработкаПроведения()

  Если Склад.Выбран()=0 Тогда

    Сообщить("Документ Наряд на сборку №"+НомерДок+"

    |от "+ДатаДок+" не проведен.

    |Не выбран склад заготовок");

    НеПроводитьДокумент();




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