04.02.2021 Нургалеев Альберт 43430
Связи наборов данных в СКД

Содержание:

1.      Тип соединение наборов данных в СКД

2.      Чем соединение отличается от объединения набора данных?

3.      Настройка соединения наборов данных   


В СКД есть возможность соединять между собой разные наборы данных. Такая же возможность есть в Запросах. Какое соединение предпочтительнее: соединение наборов данных в СКД или соединение в Запросе внутри одного набора данных? Универсального алгоритма нет, но есть ключевые принципы, которые нужно учесть при выборе метода.


· Если есть возможность получить все данные в одном запросе, то это – более приоритетный вариант, чем соединение наборов данных в СКД:

- Запросы выполняются на сервере СУБД, а не на сервере 1С: Предприятие 8;

- У современных СУБД есть оптимизатор запросов, что способствует большей производительности при формировании отчета.


· Если нет возможности получить данные в одном запросе, то нужно использовать соединение наборов данных в СКД:

- Соединение разнородных наборов: Набор данных Запрос – Набор данных Объект, Набор данных Запрос – Набор данных Объединение, Набор данных Объект – Набор данных Объединение.


· Если текст запроса в одном наборе получается слишком длинным, сложным для отладки, то возможно лучше разбить этот запрос на несколько отдельных наборов данных. Иногда, когда это не критично, лучше пожертвовать производительностью для отладки и дальнейшего сопровождения системы.

 

1.      Тип соединение наборов данных в СКД


Соединение наборов данных всегда левое внешнее. Что это значит? Предположим, у нас есть два набора данных: А и Б. Нам нужно соединить эти наборы по определенному условию и в результате получить 3 поля из набора А, и 1 поле из набора Б.


Пример соединения наборов данных

Пример соединения наборов данных


В результате внешнего левого соединения мы получим все строки из набора А. Из набора Б в результат попадут только те строки, которые соответствуют условию связей этих наборов. Таким образом из левого набора (Набор А) попадут все строки, а из правого (Набор Б) – только некоторые строки.  


2.      Чем соединение отличается от объединения набора данных?


Между объединением наборов данных и соединением есть большая разница. При объединении наборов данных в итоговую таблицу попадают все записи первого набора и все записи из второго набора данных в СКД. Это можно отобразить на схеме.


Объединение наборов данных

Объединение наборов данных


В отличии от Запросов, в объединении наборов данных количество полей может не совпадать. Например, в Наборе А всего 3 поля, а в Наборе Б – 4 поля. Такое объединение корректно отработает.   


3.      Настройка соединения наборов данных


Настройка связей наборов данных в СКД настраивается на вкладке «Связи наборов данных».


Связи наборов данных

Связи наборов данных

 

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


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


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


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


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

Нургалеев Альберт

Наши проекты

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

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

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

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

ОАО «Интер РАО – Электрогенерация»
ОАО «Интер РАО – Электрогенерация»

Отрасль:
Электрогенерация

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

Для работы 2500 пользователей в 9 часовых поясах организована территориально-...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

- Разработка Положения о Казначействе группы компаний
- Разработка Положе...

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

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

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

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

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

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

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

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

ООО "НЦКТ"
ООО "НЦКТ"

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

Внедренное типовое решение:
1С:Управление нашей фирмой 8 ПРОФ

Взаиморасчеты с покупателями
Автоматизация бизнес-процессов...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО Фирма «Бисер»
ООО фирма «Бисер»

Отрасль:
Производство

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

Финансы, управленческий учет, мониторинг показателей:
- Налоговый учет...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

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

Автоматизация бизнес-процессов...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

Внедренное типовое решение:
1С:Комплексная автоматизация

- Разработка подсистемы оперативного учета транзакций...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

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

Бухгалтерский учет
- Банк и касса
- Расчеты с контрагентами
Налоговый ...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ ...

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

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

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

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