Конструктор схемы компоновки данных можно открыть только в толстом клиенте

Обновлено: 26.04.2024

Система компоновки данных (СКД) позволяет создавать отчеты любой сложности, поэтому каждый даже самый начинающий 1С программист должен уметь пользоваться этим инструментом. Тема это очень большая и рассказать про все возможности СКД в одной статье просто не возможно. Кстати в интернете на эту тему можно найти очень много полезных статей и видеороликов. Но в большинстве случаев в этих материалах все написано достаточно сложно, особенно для начинающих, если говорить про видеоролики посвященные СКД то они очень большие. Если посмотреть часовой видео урок или прочитать километровую статью то в голове от такого потока информации мало что останется, особенно у тех кто только начал изучать СКД. Лично я сторонник небольших статей и видеозаписей длиной 10-15 минут, в которых кратко рассказывается о каждой настройке в отдельности. В этом случае информация усваивается намного лучше. Поэтому сегодня расскажу как создать простой отчет с помощью СКД, так сказать покажу основу, зная которую можно уже пробовать создавать что то сложное.

Я уже посвятил несколько статей СКД и прежде чем продолжить дальше рекомендую с ними ознакомиться.

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

Для примера возьмем Демо версию Управления торговлей редакции 11. В ней есть такой документ как «Счета на оплату клиентам». Допустим по этому документу нам нужно сделать отчет, в котором будет отображен список выданных счетов за определенный период, со следующей информацией, номер документа, дата, сумма документа, кому выдан (клиент), какой организацией.

Отчет по документу Счета на оплату

Если открыть счет то в нем есть табличная часть «Этапы оплаты» т.е клиент мог опалить счет несколькими платежами, эту информацию нам также нужно отразить в отчете.

1С отчет по счетам на оплату

На самом деле все это делается очень просто и буквально за несколько минут. И так для того чтобы создать отчет открываем конфигуратор, переходим в пункт «Файл» и выбираем «Новый».

1С СКД как создать внешний отчет

В открывшемся окне выбираем «Внешний отчет».

Все отчеты создавайте как внешние и только после их проверки вживляйте в конфигурацию.

1С внешний отчет

Теперь нужно создать основную схему компоновки для этого нажимаем «Открыть схему компоновки данных» и вводим название и синоним.

1С создание отчета с помощью СКД

После создания схему нужно создать набор данных запрос.

СКД как сделать запрос

Далее переходим к созданию самого запроса нажав на кнопку «Конструктор запроса».

1С СКД запрос

Здесь нам нужно выбрать из базы данных документ по которому нужно сделать отчет в нашем случае это «Счет на оплату клиенту». Дальше из окна таблицы выбираем необходимые поля, это Номер, Дата, Организация, Сумма документа, Форма оплаты, и из табличной части «График оплаты» берем дату платежа, процент платежа и сумму платежа.

Так же во вкладке «Условия» нужно добавить возможность выбора периода, я уже об это рассказывал можете посмотреть тут, закрываем конструктор запроса.

В основной схеме компоновки данных переходим во вкладку «Настройки» и с помощью конструктора создаем внешний вид отчета. Первое что нужно сделать это выбрать тип нам подходить «Список».

1С СКД тип отчета

Далее выбираем поля которые будут отображаться в отчете.

СКД отображаемые поля

Выбираем поля по которым будет происходить группировка, сначала нам нужно сгруппировать по организации которая выставила счет, потом по контрагенту т.е кому выставлен счет и самому счету.

1С СКД группировка

Все отчет готов сохраняем его и проверяем что получилось, выбираем период и нажимаем «Сформировать». О том как добавить заголовок в отчет можете почитать тут.

Как сделать отчет с помощью СКД

Это та база которую нужно знать, она позволить дальше уже самостоятельно изучить возможности СКД. Конечно внешний вид отчета желает оставлять лучше, как минимум необходимо изменить названия колонок, добавить итоги по колонкам, настроить внешний вид, но на сегодня думаю этого хватить, все остальное будем делать в следующих статьях.



«Тонкий» конструктор СКД в составе расширения Infostart Toolkit помогает снять ограничения по разработке схем компоновки, упрощает работу с неочевидными механизмами СКД и добавляет контекстную подсказку для запросов и выражений.

О Infostart Toolkit

Infostart Toolkit – это коммерческий проект при поддержке Инфостарта, набор инструментов для разработчиков конфигураций 1С и специалистов по внедрению.

Продукт поставляется в виде расширения, в состав которого входит набор взаимосвязанных помощников:

  • Консоль запросов с улучшенным конструктором тонкого клиента;
  • Консоль СКД с анализом исполняемых запросов; ;
  • Редактор объекта, Поиск и замена ссылок, Регламентные и фоновые задания и другие.

Инструменты предназначены для управляемых форм, работают в конфигурациях с режимом совместимости 8.3.10 и выше.

Новая функциональность – конструктор СКД для тонкого клиента

Стандартный конструктор СКД, встроенный в платформу, работает только в толстом клиенте. Это заставляет разработчиков работать с СКД в толстом клиенте, может привести к ошибкам, поскольку поведение тонкого и толстого клиента отличается.


По умолчанию «тонкий» конструктор СКД выключен. Включается через «Настройки» – «Общие» – «Конструктор СКД» – «Toolkit (тестовый)».

Основные особенности и преимущества нового конструктора СКД Infostart Toolkit:

  • Работа в тонком клиенте реализованы на основе Monaco Editor и поддерживают подсветку синтаксиса.
  • Реализована контекстная подсказка по полям и параметрам.
  • Есть подсказка по функциям – например, ВычислитьВыражениеСГруппировкойТаблицаЗначений и другие.
  • При работе с редактором запросов и выражений доступны шаблоны, например, ВЫБОР… КОГДА… ТОГДА…ИНАЧЕ…КОНЕЦ
  • Работа с запросом происходит через доработанный конструктор запроса (удобно редактировать связи).
  • Для выбора типов значения используется форма с группировкой по метаданным и поиском по подстроке.
  • Группы и наборы полей отображаются в виде иерархии, поддерживается перенос полей через Drag&Drop.
  • Редко используемые колонки в таблице полей по умолчанию скрыты – их можно отобразить через пункт «Подробнее» в подменю «Еще».
  • В пустой схеме отображаются кнопки создания набора данных, что уменьшает количество действий при первоначальной настройке.
  • Источник данных СКД заполняется по умолчанию и не занимает места на форме – при необходимости можно вывести на форму и изменить.
  • В заголовках страниц отображается количество элементов на странице.


В конструкторе СКД Infostart Toolkit реализованы практически все возможности стандартного конструктора, за исключением:

  • Макеты (только просмотр)
  • Редактирование настроек вложенной схемы
  • Автоматическое получение ролей полей по тексту запроса
  • Конструктор настроек структуры
  • Установка типов параметра Системные перечисления, Характеристика, ОпределяемыйТип

В будущем планируется решить эти проблемы. Подробнее о возможностях конструктора СКД, входящего в состав Infostart Toolkit, можно прочитать в статье на Инфостарте.

Развитие редактора кода 1С

В новой версии Infostart Toolkit 2.0 реализована контекстная подсказка к функции «Тип».

В контекстное меню редактора добавлены функции «Конструктор запроса», «Конструктор форматной строки» и «Конструктор строк на разных языках».


Поддерживается форматирование отступов кода с учетом условий, циклов и попыток по сочетанию клавиш Alt+Shift+F.

Более гибкие настройки и наглядное представление результата

При генерации для запроса кода на встроенном языке появилась возможность отключать установку параметров. А при экспорте результата в Excel/PDF/MXL можно отказаться от вывода заголовка.

Особые значения – 0, Неопределено и NULL – в табличном документе результата теперь подсвечиваются серым цветом.

Для табличных частей и движений в редакторе объектов добавлен номер строки. А в форму редактирования таблиц значений добавлена кнопка «Перейти к строке по номеру».

Функции помощи при отладке на клиенте

В расширении реализованы функции помощи при отладке на клиенте ОтключитьОбработчик(«ИмяОбработчика») и ОтключитьГлобальныйОбработчик(«ИмяОбработчика»). Они помогают отключить мешающие обработчики ожидания через механизм «ВычислитьВыражение», чтобы по нажатию в отладке кнопки «Остановить» добраться до выполняемого кода без препятствий.

Прочие улучшения и оптимизации

Вывод результата запроса значительно оптимизирован – выполняется на 25-55% быстрее.

Добавлены роли для добавления прав на отдельные инструменты расширения – ранее можно было дать доступ только на все инструменты.

Инструмент «Все функции» сохраняет последнее выбранное значение и быстрее работает при повторном использовании.

Подробнее с возможностями нового релиза Infostart Toolkit 2.0 и списком исправленных ошибок можно ознакомиться на странице релизов в репозитории GitHub

В репозитории можно регистрировать ошибки и пожелания, а также отслеживать развитие проекта.

IS Toolkit набор инструментов, который позволяет разрабатывать схемы и отчеты на СКД через консоль компоновки данных, инструменты используются только для управляемых форм, а конструктор СКД от 1С у нас работает только с обычными формами.

Это было большим неудобством т.к. для вызова конструктора СКД приходилось запускать в режиме толстого клиента. Когда все пользователи конфигурации работают в тонком клиенте, а ты разработчик используешь для проверки толстый клиент можно пропустить очень простые ошибки (поведение значительно отличается).

Задача очень сложная уже работаю над ней с разной степенью приложения усилий более полугода. Ранее рассказывал о том что разработка ведется в докладе "Infostart Toolkit – инструмент, в котором сделано то, что давно просят от 1С" (Инфостарт Евент 2021 Санкт-Петербург), но тогда версия еще была далека от релиза. Первая реализация, которая достойна описания, появилась в IS Toolkit с версии 2.0, которая вышла несколько дней назад.


Важно. Версия тестовая, могут быть есть ошибки и проблемы, использовать в работе пока я бы все-таки не рекомендовал. В конструкторе много тонкостей. Буду продолжать работу по реализации всех функций СКД и исправлением проблем.

Главные плюсы

  • Работает в тонком клиенте
  • Работает совместно с доработанным тонким конструктором запросов
  • Подцветка синтаксиса, контекстная подсказка в редакторе выражений на базе MS Monaco подробнее
  • Удобная форма выбора типа значения подробнее
  • Другие улучшения интерфейса (подробнее ниже)

Конструктор по умолчанию выключен, включается Настройки - Общие - Конструктор СКД - Toolkit (тестовый)


Новый конструктор реализован на управляемых формах и выглядит более приятнее в большинстве форм доступно "Изменить форму. " позволяет настроить внешний вид (некоторые элементы по умолчанию скрыты). Не претендую на гениальность всех решений, хотелось сделать удобнее, проще, лучше. Описывать буду отличия от стандартного конструктора СКД.

Удобный редактор выражений (требуется платформа 8.3.14)

  • Подцветка синтаксиса
  • Контекстная подсказка по полям и параметрам
  • Подсказка по функциям например, ВычислитьВыражениеСГруппировкойТаблицаЗначений :)
  • Шаблоны Выбор и др.

В стандартном конструкторе очень неудобно реализована работа с группами и наборами полей, весьма не очевидным образом через путь к данным. Поля разбросаны от своих родителей. И чтобы включить поле в группу нужно в путь к данным добавлять префикс "."


Стандартный конструктор от 1С


Схема в тонком конструкторе

Поддерживается перенос полей через Drag & Drop и удалось полностью уйти от поля путь к данным

Некоторые формы которые используются в толстом конструкторе не имеет аналогов на управляемых были реализованы:

Выбор поля, Редактирования роли, Редактирование параметров редактирования и др.




В стандартном конструктор есть галочка Автозаголовок когда нам надо задать заголовок отличный от "авто" ставим ее и вводим.


В новом конструкторе нет галочки Автозаголовок просто вводим заголовок, пока заголовка нет отображается серым текстом чтобы не привлекать внимание.


Работает в полях наборов, вычисляемых поля, параметрах, вложенных схемах, вариантах.

В СКД есть источники данных тип "ИсточникиДанныхСхемыКомпоновкиДанных" заполнение в объектной модели обязательно хотя заполнение никак не влияет на работу, поэтому работа с ними скрыта. Можно добавить через "Изменить форму. "


Включенные элементы работы с источниками данных

Работает в полях наборов данных, связях наборов, вычисляемых полях, параметрах.

Некоторые объекты СКД имеет большое количество настраиваемых полей, которые используются редко. Например, ВыражениеПредставления для поля набора данных такие поля по умолчанию скрываются и включаются через Еще - Подробно в соответствующей командной панели. Заполненные будет видно всегда.


Редкие используемые поля показаны


Редко используемые поля скрыты

Когда схема пустая и не содержит наборов данных отображаются кнопки создания набора данных


  • Более информативные заголовки станиц в них отображается количество элементов на странице
  • Выбор поля остаток в редактировании роли типа остаток
  • Улучшен интерфейс закладки "Ресурсы"
  • Возможность настраивать формы через "Изменить форму. "
  • Работа на английском языке

Что не реализовано (известные проблемы)

  • Макеты (только просмотр)
  • Редактирование настроек вложенной схемы
  • Автоматическое получение ролей полей по тексту запроса
  • Форма конструктор настроек структуры
  • Установка типов параметра Системные перечисления, Характеристика, ОпределяемыйТип

Мой конструктор более функционален и удобен, развивается и все проблемы будут решены, описываемая разработка вышла более 8 месяцев назад никаких (вообще) исправлений или доработок, а инструмент очень сложный. Другой конструктор это скорее повторение стандартного с кучей проблем в моем же реализовано много нового. Еще он менее функционален и от реального использования он намного дальше.

Схема компоновки данных представляет собой большой конструктор, состоящий из наборов данных, вычисляемых полей, описания итоговых полей (ресурсов), макетов, вариантов настроек и т.д. Схему компоновки достаточно удобно создавать в конфигураторе при помощи конструктора схемы компоновки.

Но на практике часто встречаются задачи, когда схему компоновки нужно программно создать с нуля или доработать существующую схему при помощи кода на встроенном языке, настроить вариант отчета – добавить отбор, установить условное оформление, добавить группировку и т.д. Такие задачи решаются на внедрениях при адаптации типовых конфигураций фирмы “1С” под требования конкретного заказчика.

Задача действительно очень актуальная, участники Мастер-группы по СКД задают много вопросов на эту тему :)

Также традиционно много вопросов возникает при программной работе с пользовательскими настройками отчетов:

  • Почему отличаются значения параметра в настройках компоновщика и в пользовательских настройках? Которое из этих значений используется для формирования отчета?
  • Как связываются между собой настройки компоновщика и пользовательские настройки?
  • Как установить значение отбора или параметра, если они вынесены в пользовательские настройки?
  • И многие другие…

Поэтому мы опубликовали серию видеоуроков, в которых рассказывается, как работать со схемой компоновки программно.

Общая длительность всех видеоуроков – 1 час 5 минут.

Для того, чтобы Вам было проще ориентироваться в материале, мы указали тайминг наиболее важных моментов в видео.

Видео 1 – Программное создание варианта отчета

00:37 – В каком обработчике можно расположить код для создания настроек компоновки
01:00 – Где в Синтакс-помощнике можно “подсмотреть” свойства, которые потребуются при написании кода
01:58 – Как настроить группировки отчета
02:28 – Какое свойство позволяет создавать вложенные группировки
03:11 – Как включить/выключить отдельные элементы настроек.

Видео 2 – Программное создание группировки

00:22 – Как создать структуру отчета
02:00 – Как указать поля, по которым выполняется группировка
04:10 – Как настроить выбранные поля
06:30 – Как создать автополе.

Видео 3 – Программное создание вложенной группировки

00:22 – Как создать подчиненную группировку
02:05 – Почему в отчете группировки могут выводиться несколько раз
02:40 – Как проверить наличие группировок в структуре отчета.

Видео 4 – Программное добавление отбора

00:18 – Где в Синтакс-помощнике найти типы данных, необходимые для создания отборов
00:55 – Какие свойства объекта типа ЭлементОтбораКомпоновкиДанных нужно использовать для создания отбора
01:20 – Как создать отбор при помощи программного кода.

Видео 5 – Программная установка сортировки

00:25– Где в Синтакс-помощнике найти типы данных, необходимые для включения сортировки
00:50 – Какие свойства объекта типа ЭлементПорядкаКомпоновкиДанных нужно использовать для включения сортировки
01:00 – Как установить сортировку при помощи программного кода.

Видео 6 – Программное добавление условного оформления

00:25 – Где в Синтакс-помощнике найти типы данных, необходимые для работы с условным оформлением
00:33 – Какие свойства объекта типа ЭлементУсловногоОформленияКомпоновкиДанных нужно использовать
02:08 – Как добавить условное оформление при помощи программного кода
02:31 – Как задать перечень полей, к которым будет применяться условное оформление
03:34 – Как отобрать оформляемые данные
04:15 – Как при помощи программного кода описать применяемое оформление.

Видео 7 – Программная работа с пользовательскими настройками

01:01 – Как программно установить значение параметра
02:00 – Почему значения параметров, выводимые на форму отчета, не совпадают со значениями в самом отчете
04:25 – Что делает метод ПолучитьНастройки
05:10 – Как нужно работать с пользовательскими настройками
06:17 – Для чего нужно свойство ИдентификаторПользовательскойНастройки
07:10 – Где в типовой конфигурации УТ 11 можно найти пример работы с пользовательскими настройками.

Видео 8 – Особенности использования метода ПолучитьНастройки

00:58 – Почему отличаются значения параметра в настройках компоновщика и в пользовательских настройках
01:23 – Как связываются между собой настройки компоновщика и пользовательские настройки
03:06 – Как работает метод ПолучитьНастройки и значение какого типа он возвращает

Видео 9 – Программное создание отборов в пользовательских настройках

00:34 – Чем отличается отбор в настройках компоновщика и отбор в пользовательских настройках
02:34 – Как используется свойство ИдентификаторПользовательскойНастройки
03:08 – Какой алгоритм должен использоваться для установки значения отбора в пользовательских настройках
03:42 – Как реализовать процедуру для установки значения отбора в пользовательских настройках.

Видео 10 – Программное создание схемы компоновки

00:40 – Как при компоновке отчета программно создать схему, по которой будет формироваться отчет
02:15 – Какой алгоритм должен использоваться для программного создания с нуля схемы компоновки
02:50 – Как программно создать источник данных схемы компоновки
04:00 – Как программно добавить в схему набор данных – объект
06:25 – Как программно добавить поля набора данных.

Хотите научиться грамотно создавать отчеты на СКД и дорабатывать отчеты в типовых конфигурациях?

Чтобы подробнее изучить возможности системы компоновки данных и уверенно применять механизм на практике, рекомендуем пройти курс Профессиональная разработка отчетов в 1С 8.3 на Системе Компоновки Данных (СКД)

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: первый отчёт на СКД

Автор уроков и преподаватель школы: Владимир Милькин

Если вы не читали введение к этому модулю - пожалуйста, прочтите его: ссылка.

Готовим рабочее место

Для выполнения уроков вам понадобится 1С 8.3 (не ниже 8.3.13.1644) .

Если у вас уже есть установленная 1С версии 8.3 - используйте её. Если нет - скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: ссылка на инструкцию по скачиванию и установке 1С.

На вашем рабочем столе должен появиться вот такой ярлык:

Для всех уроков из этого цикла мы будем использовать подготовленную мной базу данных "Гастроном". Она полностью совпадает с базой, которую мы использовали в четвёртом и пятом модулях школы при изучении запросов. Поэтому я рассчитываю, что вы знакомы с её справочниками и документами.

Если вы её удалили - скачайте заново по следующей ссылке, распакуйте и подключите в список баз.

Наконец, рабочее место настроено и сейчас мы вместе создадим наш первый отчёт при помощи системы компоновки данных. Он будет очень простым, чтобы продемонстрировать общие возможности системы компоновки данных (сокращенно СКД).

Ставим цель

Цель этого урока - создать отчёт, который в режиме пользователя выводит список клиентов со следующими полями:

  • Имя
  • Пол
  • Любимый цвет клиента.

Отчёт должен быть внешним. Это значит, что он будет создан и настроен в конфигураторе, а затем сохранен в виде отдельного (внешнего) файла на компьютере.

Чтобы сформировать такой отчет в 1С пользователю нужно будет запустить базу в режиме пользователя, открыть этот файл и нажать кнопку "Сформировать".

Создаём отчёт

Запускаем конфигуратор для базы "Гастроном":

Из главного меню выбираем пункт "Файл"->"Новый. ":

Выбираем "Внешний отчет":

Создаём схему компоновки данных внутри отчёта

Открылось окно создания внешнего отчёта. В качестве имени вводим: "Урок1", а затем жмём кнопку "Открыть схему компоновки данных":

Запустился конструктор создания схемы. Соглашаемся с именем по умолчанию "ОсновнаяСхемаКомпоновкиДанных" и жмём кнопку "Готово":

Открылось основное рабочее окно, с множеством закладок и полей, в котором мы и будем настраивать нашу схему компоновки данных.

Не нужно пугаться - возможностей здесь действительно много, но далеко не все из них нам нужны. Особенно на первом уроке.

Сейчас мы находимся на закладке "Наборы данных". На ней и останемся.

Пишем запрос через конструктор

Система компоновки данных (сокращенно СКД) требует от нас данные, которые она будет выводить пользователю.

Самый простой способ - написать запрос к базе. В предыдущих модулях школы мы научились писать и понимать запросы - поэтому я рассчитываю, что вы обладаете соответствующими навыками.

Нажимаем на зелёный плюсик и в раскрывшемся списке выбираем пункт "Добавить набор данных - запрос":

Добавился набор данных с именем "НаборДанных1", но мы видим, что поле "Запрос" в нижней части окна пока пустое:

Наша задача написать в это поле текст запроса. Вы ещё не забыли как это делается?

В этом запросе мы выбрали три поля ("Наименование", "Пол" и "ЛюбимыйЦвет") из таблицы "Справочник.Клиенты".

Но не торопитесь писать этот текст в поле "Запрос" вручную.

Сейчас мы создадим тот же самый запрос визуально, только при помощи мышки. Этот способ называется "Конструктор запроса".

Чтобы вызвать этот конструктор нажмём кнопку "Конструктор запроса. " в верхней правой части поля "Запрос":

В открывшемся окне перетащим таблицу "Клиенты" из первого столбца во второй, чтобы указать, что именно из этой таблицы мы будем запрашивать данные:

Получилось вот так:

Далее раскроем таблицу "Клиенты" во втором столбце по знаку "Плюс", чтобы увидеть все её поля и перетащим поле "Наименование" из второго столбца в третий, чтобы указать, что из этой таблицы нам нужно запрашивать поле "Наименование":

Получилось вот так:

Поступим точно так же с полями "Пол" и "ЛюбимыйЦвет". Результат будет таким:

Нажмём кнопку "ОК", чтобы выйти из конструктора запроса и увидим, что текст запроса автоматически добавился в поле "Запрос".

Более того на основании текста запроса 1С сама вытащила имена полей (область выше запроса), которые будут использоваться схемой компоновки данных:

Теперь, когда мы составили запрос, СКД знает каким образом получать данные для отчёта.

Настраиваем представление данных

Осталось как-то визуализировать эти данные для пользователя в виде печатной формы. И вот тут СКД может творить чудеса!

Чтобы сотворить такое чудо перейдём на вкладку "Настройки" и нажмём кнопку конструктора настроек (волшебная палочка):

В открывшемся окне укажем тип отчёта "Список" и нажмём "Далее":

В следующем окне выберем (путём перетаскивания) поля, которые нужно будет отобразить в списке (перетащим все из доступных нам: "ЛюбимыйЦвет", "Наименование" и "Пол"):

Получим вот такой результат и нажмём кнопку "ОК":

Конструктор настроек закрылся и появился пункт "Детальные записи":

Отчёт готов, давайте же его проверим. Для этого вначале сохраним отчет в виде внешнего файла.

Сохраняем отчёт в виде файла

Откроем пункт главного меню "Файл"->"Сохранить":

Я сохраню его на рабочий стол под именем "Урок1":

Проверяем отчёт в режиме пользователя

Наконец, закроем конфигуратор и зайдём в нашу базу в режиме пользователя:

Имя пользователя "Администратор", пароля нет:

Через меню выберем пункт "Файл"->"Открыть. ":

И укажем файл отчёта (я сохранял его на рабочий стол под именем "Урок1.erf":

Открылась форма отчёта, нажмём кнопку "Сформировать":

Готово! Вот она наша печатная форма со списком клиентов, их любимым цветом и полом:

Печатную форму можно легко распечатать. Для этого достаточно выбрать в меню пункт "Файл"->"Печать. ":

Вот так просто, без программирования нам удалось создать полноценный отчёт, который пользователи смогут открывать в своих базах, формировать и распечатывать.

То ли ещё будет, наберитесь терпения

Войдите на сайт как ученик

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Читайте также: