Система Компоновки Данных (СКД) 1С позволяет создавать программисту массу необходимых отчётов «на лету». Использование этой системы, в отличие от конструктора запроса и непосредственного написания кода отчёта, является явным преимуществом. В этой статье, я хочу показать, как эффективно создавать отчёты СКД в 1С, не затрачивая на это много времени.
Начнём с создания внешнего отчёта. В главном меню выбираем Файл ? Новый… В списке щёлкаем на «Внешний отчет».
В открывшемся окне указываем имя отчёта и синоним.
Затем в этом же окне отчёта щёлкаем на кнопку «Открыть схему компоновки данных». Откроется окно создания макета, где нам остаётся только нажать на кнопку «Готово».
В окне настройки СКД щёлкаем правой клавишей мыши на «Наборы данных» и выбираем пункт «Добавить наборы данных – запрос».
Появляется новый набор данных, где нужно прописать выборку данных из текущей информационной базы с помощью запроса. Для создания нового запроса нажимаем на кнопку «Конструктор запроса…» и создаём нужный нам запрос, где выбираем все необходимые для отчёта данные. Описание языка запросов приводится в статье «Язык запросов – быстро и легко! Конструктор запросов».
Предположим, мы решаем следующую несложную задачу. У нас есть регистр накопления «ПартииТоваровНаСкладах», он хранит информацию о партиях номенклатуры, которая находится в местах хранения (на соответствующих складах). Необходимо получить общее количество номенклатуры, которое находится на хранении у соответствующих организаций.
Для решения этой задачи в конструкторе запроса выбираем таблицу базы данных «ПартииТоваровНаСкладах.Остатки». Таблица «Остатки» является виртуальной и предназначена для получения среза на конкретную дату. Подробнее о регистрах накопления можно узнать из этой статьи: «Регистры накопления в 1С».
Следующим шагом из таблицы остатков выбираем нужные нам в задаче поля, соответственно это: «Номенклатура», «Организация» и «КоличествоОстаток».
Чтобы задать срез на конкретную дату, открываем параметры виртуальной таблицы. Выделяем выбранную нами таблицу в поле «Таблицы» и щёлкаем вверху на кнопку «Параметры виртуальной таблицы…». В окне параметров вводим параметр даты среза.
Всё, задача по построению запроса выполнена. Нажимаем на «ОК» в окне конструктора и переходим к построению структуры отчёта СКД в 1С.
Текст запроса при этом будет выглядеть так:
ВЫБРАТЬ
ПартииТоваровНаСкладахОстатки.Номенклатура,
ПартииТоваровНаСкладахОстатки.Организация,
ПартииТоваровНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаСреза, ) КАК ПартииТоваровНаСкладахОстатки
Чтобы указать отчёту СКД какие поля нужно суммировать для получения общих остатков номенклатуры, в окне настройки СКД переходим на вкладку «Ресурсы» и выбираем поле «КоличествоОстаток» для суммирования.
Далее на вкладке «Параметры» указываются значения параметров для запроса. Но здесь мы лишь уберём галочку напротив «ДатаСреза», чтобы значение этого параметра можно было задавать в пользовательском режиме 1С:Предприятие. В колонке «Ограничение доступности» ставим галочку в параметре «Период» и убираем в «ДатаСреза».
На вкладке «Настройки» задаём наконец структуру колонок будущего отчёта СКД. Для начала ставим галочку напротив параметра «Дата среза», чтобы этот параметр можно было использовать пользователю.
Затем в поле структуры отчёта СКД щёлкаем правой кнопкой мыши на элемент «Отчет» и выбираем пункт меню «Новая группировка…» (аналогично можно нажать клавишу Insert на клавиатуре).
Нам необходимо построить группировку отчёта вначале по организации, а затем разбить каждую организацию по номенклатурам и для каждой строки отобразить соответствующий остаток. Для этого в открывшемся окне группировки выбираем поле «Организация» и нажимаем «ОК».
Аналогично щёлкаем правой кнопкой по группировке «Организация» и добавляем группировку по полю «Номенклатура». В итоге получаем следующую структуру:
У элемента «Отчет» выбираем снизу вкладку «Выбранные поля» и перетаскиваем из левого поля ресурс «КоличествоОстаток» в список полей.
Закрываем окно настроек отчёта СКД в 1С. Отчёт готов для формирования в пользовательском режиме 1С:Предприятие. Для сохранения внешнего отчёта в главном меню выбираем Файл ? Сохранить как… В окне сохранения файла вводим название отчёта и нажимаем кнопку «Сохранить».
Теперь смотрим что получилось. Заходим в пользовательский режим 1С:Предприятие, в главном меню выбираем Файл ? Открыть…, выбираем наш созданный отчёт и щёлкаем кнопку «Открыть». Открывается стандартная для СКД форма отчёта 1С.
В форме самого отчётаперед формированием заполняем значения параметров. Для этого нажимаем на кнопку «Настройки…» и для отчёта устанавливаем значение параметра «Дата среза». Дата среза – это как раз та дата, на которую нужно получить остатки по номенклатуре. Нажимаем «ОК».
В форме отчёта нажимаем кнопку «Сформировать» и получаем готовый отчёт по остаткам с группировкой по организациям и номенклатуре. Отчёт можно свернуть-развернуть по разным организациям, сохранить в формате MSExcel, а также распечатать на принтере.
Скачать созданный отчёт можно здесь.
Свежие комментарии