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




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


  Запрос="";

  ТекстЗапроса="";

  Если ИтогиАктуальны()=0 Тогда

    ТекстЗапроса="

    |Период с ДатаДок по ДатаДок;";

  КонецЕсли;

  ТекстЗапроса=ТекстЗапроса+"

  |РегСклад=Регистр.ОстаткиТоваров.Склад;

  |РегТовар=Регистр.ОстаткиТоваров.Товар;

  |РегСорт=Регистр.ОстаткиТоваров.Сорт;

  |РегПартия=Регистр.ОстаткиТоваров.Партия;

  |РегКолич=Регистр.ОстаткиТоваров.Количество;

  |РегСумма=Регистр.ОстаткиТоваров.СуммаП;

  |Группировка РегПартия Упорядочить по РегПартия.ДатаДок;

  |Функция КолКонОст=КонОст(РегКолич);

  |Функция СумКонОст=КонОст(РегСумма);

  |Условие (РегСклад=Склад);

  |Условие (РегТовар=Товар);

  |Условие (РегСорт=Сорт);";

  Запрос=СоздатьОбъект("Запрос");

  Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда

    Сообщить("Документ не проведен");

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

    Возврат;

  КонецЕсли;

  Пока Запрос.Группировка("РегПартия",-1)=1 Цикл

// В методе Группировка флаг –1 указывает, что сортировка по запросу

// идет в порядке убывания. Более поздние документы идут первыми

    Если КолСпис=0 Тогда

      Прервать;

    КонецЕсли;

    ПартияСписания=Запрос.РегПартия;

    Если  Запрос.КолКонОст>КолСпис Тогда

      Списывать=КолСпис;

      Стоимость=Окр((Запрос.СумКонОст/Запрос.КолКонОст)*Списывать,2,1);

    ИначеЕсли Запрос.КолКонОст=КолСпис Тогда

      Списывать=КолСпис;

      Стоимость=Запрос.СумКонОст;

    ИначеЕсли Запрос.КолКонОст

      Списывать=Запрос.КолКонОст;

      Стоимость=Запрос.СумКонОст;

    КонецЕсли;

    КолСпис=КолСпис-Списывать;

    Регистр.ОстаткиТоваров.Склад = Склад;

    Регистр.ОстаткиТоваров.Товар = Товар;




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