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


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


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

Процедура ДатаК()

  Если  ДатаК<ДатаН Тогдаbr>     ДатаК=ДатаН;

  ИначеЕсли ДатаК>ПолучитьДатуТА() Тогда

    ДатаК=ПолучитьДатуТА();

  КонецЕсли;

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

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

Процедура Сформировать()

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

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

  |Период с ДатаН по ДатаК;

  |Контр = Регистр.Взаиморасчеты.Контрагент;

  |Догов = Регистр.Взаиморасчеты.Договор;

  |Сумма = Регистр.Взаиморасчеты.Сумма;

  |Флаг = Регистр.Взаиморасчеты.ФлагДвижения;

  |Функция СуммаНачОст = НачОст(Сумма);

  |Функция СуммаПриходТов = Приход(Сумма) когда(Флаг=1);

  |Функция СуммаРасходТов = Расход(Сумма) когда(Флаг=2);

  |Функция СуммаРасходДен = Расход(Сумма) когда(Флаг=3);

  |Функция СуммаПриходДен = Приход(Сумма) когда(Флаг=4);

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

  |Группировка Контр упорядочить по Контр.Код;

  |Группировка Догов;";

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

    Сообщить("Запрос не выполнен");

    Возврат;

  КонецЕсли;

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

  Таб.ИсходнаяТаблица("Таблица");

  ИтНачОст=Запрос.СуммаНачОст;

  ИтПрихТов=Запрос.СуммаПриходТов;

  ИтРасхДен=Запрос.СуммаРасходДен;

  ИтРасхТов=Запрос.СуммаРасходТов;

  ИтПрихДен=Запрос.СуммаПриходДен;

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

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

// значения функций для всей выборки сразу

  Таб.ВывестиСекцию("Шапка");

  Пока Запрос.Группировка(1)=1 Цикл

    Контра=Запрос.Контр;

    НачОст=Запрос.СуммаНачОст;

    ПрихТов=Запрос.СуммаПриходТов;

    РасхДен=Запрос.СуммаРасходДен;

    РасхТов=Запрос.СуммаРасходТов;

    ПрихДен=Запрос.СуммаПриходДен;




Начало  Назад  Вперед



Книжный магазин