28.01.2019 Алена Крюкова 19207
Система компоновки данных 1С 8.3. Расширение ...

Содержание:

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С СКД. Приведем следующий пример: пользователь исключает из отчета данные поля ЦенаНаДатуОтчета и ЦенаНаНачалоГода. Очевидно, что в таком случае нет необходимости включать в запрос таблицы регистра сведений ЦеныНоменклатуры. Воспользуемся обработкой Консоль системы компоновки данных, чтобы посмотреть итоговый запрос к базе данных. Мы увидим, что хотя среди полей выборки нет полей таблицы ЦеныНоменклатуры, однако соединение с этими таблицами присутствуют.




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


 


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

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




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




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

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

Наши проекты

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Упр...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

Внедренное типовое решение:
1С:Документооборот 8 ПРОФ

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Блок планирования проектов (процессы объемно-календарного планирования пр...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

Внедренное типовое решение:
1С:Управление строительной организацией

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

ООО «Вистеон Автоприбор Электроникс»
ООО «Вистеон Автоприбор Электроникс»

Отрасль:

Внедренное типовое решение:
1C:Управление производственным предприятием

- Управленческий учет; - Расчет зарплаты; - Логистика адресного склада; - Учет ...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

Внедренное типовое решение:
1С:Бухгалтерия КОРП

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
«1С: Управление торговлей»

- Создание прототипа SRM-системы на базе «1С: Управление торговлей»
- Автомат...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение