Имя: Пароль:
1C
 
СКД. Связи наборов данных. Полное соединение вместо левого
0 CAPITALIST
 
08.01.19
17:57
Итак, заказчик хочет видеть в одной форме несколько отчетов и общие итоги по ним. Так же должна быть возможнось отбора.
Сделал несколько наборов данных типа "Запрос". Поля схожи так, что проблем нет. В связях наборов данных связал эти запросы. Источник - Запрос1, приемник - Запрос2.
Связь по
Организация - Организация
Склад - Склад
Номенклатура - Номенклатура
УсловияПродажи - УсловияПродажи

Все отлично связывается и считается. До тех пор, пока набор измерений одинаковый.
Допустим, в Запрос1 нет УсловияПродаж = "Льготные", а в Запрос2 они есть.
Так как Запрос1 - источник связи, то Запрос2 сформируется тоже без УсловияПродаж = "Льготные", хотя там должна быть эта строчка. Можно поменять местами Запрос1 и Запрос2, но тогда такая проблема будет в другую сторону.
Получается, что связь идет левым соединением. Как сделать полным?
1 Ник080808
 
08.01.19
18:01
(0) вложенные схемы чем не подходят?
2 Ник080808
 
08.01.19
18:02
(0) вместо полное соединение делай объединение
3 CAPITALIST
 
08.01.19
18:19
(1) Вложенные схемы делаются на уровне составления запроса. Так же как и Объединение.
Я же делаю на уровне СКД. Один отчет содержит 3 отчета и общие итоги. Все отчеты имеют РАЗНУЮ структуру и несколько общих полей.
Итого у меня 4 набора данных, 3 служат для формирования отчетов а 4-ый - суммирует все ресурсы и выводит 4-ю табличку итогов
4 Ник080808
 
08.01.19
18:23
(3) Так же как и Объединение. - тоже делается на уровне скд. Набор данных объединение
5 Ник080808
 
08.01.19
18:26
(3) "Вложенные схемы делаются на уровне составления запроса" - это тоже на уровне скд на уровне настроек, затык только с общими итогами. Их можно отчетом 4 и соединить настройки схем по владельцу. Но это тоже гемморой и объединение таки лучше
6 CAPITALIST
 
08.01.19
18:35
(4) тогда значения из первой таблицы, перейдут во вторую и наоборот. Это должны быть 3 независимые отчета.
7 Ник080808
 
08.01.19
18:37
(6) делаешь поле текстовое "имя отчета". и группируешь по нему отчет и все
8 Ник080808
 
08.01.19
18:40
я так делал управленческие отчеты-велосипеды. Нужно было вывести
Общий Доход
Общая Себестоимость
Затраты
Прибыль.
Делал через объединение
Поле Статья - текстовое поле "Доход", "Себестоимость", "Затраты"
Поле Сумма - итог движения по регистру;
9 CAPITALIST
 
08.01.19
20:17
(7) Отличная идея!
Но тогда проблема в отборах. Допустим в Запрос1 есть поле ВидОплаты. В Запрос2 его нет. Делаем отбор по этому полю. Вторая табличка выходит пустая.
В настройках если поставить отбор не на весь отчет, а только на первую группировку Запрос1, то итоги в 4-й таблице будут считаться без отбора. Если еще и на 4-ю итоговую таблицу поставить такой же отбор, то в форме отчета будет два одинаковых отбора.
10 palsergeich
 
08.01.19
23:01
(0) Полное соединение это условие связи = ИСТИНА.
В любом мануале СКД объяснено, что по умолчанию связь - левая, если нужно полное - бахаешь -ИСТИНА.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.