1С Простейший вариант создания отчета СКД

Наиболее эффективным объектом для создания отчетов в 1С 8.1, 
8.2, безусловно является СКД. Однако использование СКД «вчистую» не позволяет вносить параметры и отборы СКД иначе как непосредственно в настройки СКД, что не всегда удобно пользователям. Представленная методика позволяет использовать СКД с некой шаблонной формой, которая берет на себя обмен параметрами СКД и в тоже время, эта форма позволяет пользователю «покапаться» в недрах самой СКД. Шаблон легко модифицируется, скажем для ввода Параметров или Условного оформления.
Допустим требуется построить «Ведомость по взаиморасчетам» в УТ 10.3
 Итак начнем:
  1. Создаем внешний отчет, можно задать его имя «ВедомостьПоВзаиморасчетам»
  2. В этом-же окне создаем «Основную схему компоновки данных»
  3. В схеме добавляем новый набор данных, и, допустим при помощи конструктора запросов формируем нужный запрос, в текущем случае такой:
ВЫБРАТЬ

ВСКОИО.СуммаВзаиморасчетовНачальныйОстаток КАК ВзаиморасчетыНО,

ВСКОИО.СуммаВзаиморасчетовПриход КАК ВзаиморасчетыПриход,

ВСКОИО.СуммаВзаиморасчетовРасход КАК ВзаиморасчетыРасход,

ВСКОИО.СуммаВзаиморасчетовКонечныйОстаток КАК ВзаиморасчетыКО,

ВСКОИО.СуммаУпрНачальныйОстаток КАК СуммаУпрНО,

ВСКОИО.СуммаУпрПриход,

ВСКОИО.СуммаУпрРасход,

ВСКОИО.СуммаУпрКонечныйОстаток КАК СуммаУпрКО,

ВСКОИО.Регистратор,

ВСКОИО.ДоговорКонтрагента,

ВСКОИО.ДоговорКонтрагента.Владелец КАК Контрагент,

ВСКОИО.ДоговорКонтрагента.Организация КАК Организация,

ВСКОИО.Период

ИЗ

РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты ({(&ДатаНачала)}, {(&ДатаКонца)}, Регистратор, ДвиженияИГраницыПериода, ) КАК ВСКОИО

  1. Обращаем внимание, что для верной работы отчета, нужно в Полях СКД для измеренияДоговорКонтрагента в ролях выставить флаг «Обязательное», остальные настройки — по желанию (тех, что есть по умолчанию — вполне достаточно).
    Запрос 
  2. Во вкладке СКД «Ресурсы» - добавляем все количественные ресурсы с функцией «Сумма»
     
  3. Во вкладке СКД «Настройки» - добавляем группировки, например: Организация, Контрагент, ДоговорКонтрагента, Детальные Записи, в «выбранных полях» добавляем нужные, например: Период, Регистратор, и все ресурсы, которые можно объединить в группы,
    Ресурсы
    в «отборе» добавляем нужные по умолчанию отборы, снимая флажки использования, напримерКонтрагент, Организация, ДоговорКонтрагента.
    отборы
    Собственно СКД готова, но вот формы у нее все еще нет, если на этом этапе закончить построение, то 1С сама сформирует форму по умолчанию.
  1. Создаем ФормуОтчета: она стандартная — её нужно наполнить содержимым, причем это содержимое чаще всего переходит из одного отчета в другой с минимальными корректировками. Собственно говоря этот этап и предлагается «шаблонизировать».
А именно вставить готовую форму из уже существующего отчета, подвергнув минимальным изменениям. В рассматриваемом случае из обработки «Шаблон отчета». Здесь нужно обратить внимание на то, что после вставки формы из шаблона отчета, нужно проверить два поля вновь вставленной формы: это в «Основных» Тип значения (нужно установить Тип текущего (редактируемого) отчета), и Заголовок
  1. Также, возможно, потребуются правки модуля вставленной формы, чаще всего это Процедура ОсновнаяПанельСформировать(Кнопка), здесь в строках типа
ПараметрНастройки=Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачала");

ПараметрНастройки.Значение=ДатаНачала;

ПараметрНастройки.Использование=Истина;

в СКД передаются параметры из формы. Остальное, думаю, понятно из текста модуля формы.
  1. Теперь, необходимо указать вставленную (и, возможно откорректированную) форму в качестве основной в поле Форма отчета.
  2. Сохраняем и запускаем в режиме 1С:Предприятие.

Комментариев нет:

Отправить комментарий