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



         

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


  • В дереве метаданных, в разделе отчеты, создаем новый отчет;
  • Идентификатор – "Взаиморасчеты";
  • А вот вставлять в интерфейс из визарда не будем. Мы потом сами ручками вставим;
  • Конструкторы никакие вызывать не будем – так напишем (либо скопируем с сей методички);
  • Появилась экранная форма отчета;
  • Добавим поле ввода. Идентификатор – ВыбДата, тип – дата;
  • В модуле формы пишем:

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

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

    // Запрос – специальный объект в 1С, служит для получения структурированной

    // выборки данных

      ТЗ="

      |Период с ВыбДата по ВыбДата;

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

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

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

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

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

      |";

    // Это текст запроса. Подробности в "Описании языка" том 2

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

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

        Возврат;

      КонецЕсли;

    // Если запрос будет не выполнен по какой либо причине, метод Выполнить()

    // вернет 0. Мы сообщим пользователю о произошедшей ошибке, и

    // командой Возврат – прервем выполнение процедуры

      ИтогоМы=0;

      ИтогоНам=0;

    // В этих двух переменных мы будем хранить итоговую информацию по долгу

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

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

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

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

    // Получаем очередную запись из запроса

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

    // Во временную переменную передаем значение выборки

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

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

    // Дальше уже все знакомые нам методы

        Если ТЭ.ЭтоГруппа()=1 Тогда

          НазГр=СокрЛП(ТЭ.Наименование);

          Если  Долг=0 Тогда

          ИначеЕсли Долг>0 Тогда




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