Система компоновки данных 1С 8.3. Расширение ...

Система компоновки данных 1С 8.3. Расширение языка запросов для СКД 1С 8.3

2
4234
28.01.2019 Алена Крюкова

Содержание:

1.       1С: Автозаполнение состава настроек отчета

2.       Использование расширения языка запросов для СКД 1С 8.3 для управления составом настроек

3.       Имена параметров

4.       Имена параметров и псевдонимы полей. Поле Номенклатура и Субконто 1

5.       Исключение соединений с таблицами в 1С СКД 

 

1.    1С: Автозаполнение состава настроек отчета


Чаще всего в качестве источника данных для отчета используется запрос к базе данных 1С. При разработке нового отчета с источником данных запрос по умолчанию устанавливается флаг Автозаполнение. Установка этого флага означает, что Система компоновки данных 1С 8.3 автоматически сформирует состав настроек отчета.




В список полей доступных для пользователя попадут все поля, указанные после ключевого слова ВЫБРАТЬ итогового запроса. Кроме того, система заботливо добавит, например, поля виртуальных таблиц регистров бухгалтерии. Как видно на рисунке, кроме полей, указанных в запросе, в списке появились также Субконто1, Счет. 


2.    Использование расширения языка запросов для СКД 1С 8.3 для управления составом настроек


Если мы снимем флаг 1С Автозаполнение, то для запроса на рисунке список полей окажется пустым.




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




В тексте запроса появится список полей выборки, заключенный в фигурные скобки. Состав полей настроек будет заполнен:




Обратите внимание, что для всех полей недоступна возможность отбора. Чтобы дать возможность пользователю задавать отбор, в отчете нужно заполнить список полей на вкладке «Условия»:




Чтобы наименования полей отбора совпадали с наименованиями полей выборки, необходимо указать соответствующие псевдонимы. В результате в запросе появится конструкция в фигурных скобках с ключевым словом ГДЕ:

 

 



3.    Имена параметров


Рассмотрим особенность работы конструктора системы компоновки данных с параметрами виртуальных таблиц при включении флага «Автозаполнение». Обратите внимание, что в приведенном выше запросе мы не задали имя параметра даты выборки остатков:




Но если мы откроем закладку «Параметры» конструктора схемы компоновки, то увидим среди параметров Период. Если же мы зададим имя параметра отличное от типового «Период», например, «Дата», то на вкладке параметры обнаружим два параметра: Период и Дата. Вопрос: с каким параметром выполнится запрос к системе? Ответ: с параметром Период.

Рассмотрим пример, когда необходимо переопределить имя типового параметра. Задача: добавить в отчет цены номенклатуры на начало года и на дату отчета. Изменим запрос отчета соответствующим образом:




Очевидно, что для таблицы ЦеныНаНачалоГода необходимо переопределить имя типового параметра. Зададим имя параметра период - НачалоГода для виртуальной таблицы ЦеныНаНачалоГода. На вкладке Параметры конструктора схемы компоновки добавим выражение для вычисления даты начала текущего года. Если сформировать отчет, то обнаружится, что поле ЦенаНаНачалоГода содержит некорректные данные: цену товаров на дату отчета. Т.к. система игнорирует значение параметра НачалоГода и выполняет запрос используя значение параметра Период.

В данной ситуации нам поможет расширение языка запросов системы компоновки данных. Откроем параметры таблицы ЦеныНаНачалоГода на вкладке компоновка данных конструктора запросов и зададим имя параметра «НачалоГода»:




Теперь наш запрос отработает корректно: данные по таблицам УправленческийОстатки и ЦеныНаДатуОтчета будут выбраны на дату, указанную пользователем в настройках, а данные по таблице ЦеныНаНачалоГода будут получены на начало года. 


4.    Псевдонимы полей. Поле Номенклатура и Субконто 1


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




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

Обратите внимание на символы .* после имени поля. Если после поля указаны эти символы, то отбор также можно будет задавать по реквизитам справочника Номенклатура. 


5.    Исключение из запроса соединений с таблицами в 1С СКД


Рассмотрим возможности использования расширения языка запросов исключения соединений с таблицами в 1С СКД. Приведем следующий пример: пользователь исключает из отчета данные поля ЦенаНаДатуОтчета и ЦенаНаНачалоГода. Очевидно, что в таком случае нет необходимости включать в запрос таблицы регистра сведений ЦеныНоменклатуры. Воспользуемся обработкой Консоль системы компоновки данных, чтобы посмотреть итоговый запрос к базе данных. Мы увидим, что хотя среди полей выборки нет полей таблицы ЦеныНоменклатуры, однако соединение с этими таблицами присутствуют.




На закладке Компоновка данных/Таблицы конструктора запросов системы компоновки данных снимем флаг Обязательная у таблиц ЦеныНаДатуОтчета и ЦеныНаНачалоГода, а также укажем различные значения в полях Номер группы.


 


В тексте запроса соединения с этими таблицами теперь будут заключены в фигурные скобки. Каждое соединение отдельно. Если номер группы будет совпадать, то оба соединения будут объединены в одну группу (одни фигурные скобки).

Теперь текст запроса сформированный системой компоновки примет следующий вид:




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




Специалист компании ООО «Кодерлайн»

Алена Крюкова.

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Павел Васянин
Спасибо за отличное описание этой возможности отчётов на СКД !
Расширение языка запросов позволяет быстро решать подобные сложности в разработке !
Мне это пригодится в работе !
Имя Цитировать 0
0
Администратор
Здравствуйте!
Спасибо за комментарий!
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Excel #Excel в 1С #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #акты в 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Механизм Анализа Данных в 1С #Моделирование #Модуль Диадок #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #предопределенные элементы справочников #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Работа с объектами в 1С #Расширение конфигурации #РСБУ #С # #СКД #Соединение COM в 1С платформе #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Хранилище настроек #Ценообразование #Экзамен 1С #Яндекс.Касса Email или телефон Работа с объектами в 1С Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.