|
СКД: связь таблиц |
☑ |
0
cons74
15.06.15
✎
12:54
|
Имеется отчет:
Здесь использовано 2 регистра накопления. Один - обороты. Из него удобно получать Отправителя и Получателя, т.е. в отчете видим приход и расход с текущего (выбранного в параметрах) склада на перечисленные в колонках.
Однако появилась потребность видеть и остатки по текущему складу. Т.к. исходный регистр -только обороты, - добавил запрос к другому регистру ОстаткиИОбороты, сделал соединение в СКД (закладка СвязиНаборовДанных) по номенклатуре.
И тут проблемы: если сделать как написал выше - не выходят строки где остаток есть, а оборотов не было (т.к. номенклатура в отчет берется из первого набора-запроса).
Если же я делаю соединение этих 2х запросов в один (в конструкторе запросов) - тогда перестает работать расшифровка: СКД при двойном щелчке на ячейке с оборотом накладывает отбор на склад - а он для ОстаткиИОбороты уже есть - это текущий склад (остатки для него получали). И тогда СКД пишет "Склад=&П1 и Склад=&П2" - конечно результат пустой.
|
|
1
MadHead
15.06.15
✎
13:04
|
В связях есть галочка Обязательной связи (не помню точно), еще можно попробовать сделать объединение через СКД или вручную обработать расшифровку
|
|
2
fisher
15.06.15
✎
13:09
|
1) про наборы данных забыть полностью. Вспоминать, когда без них принципиально никак (например, с ТЗ соединить надо).
2) открыть для себя магию фигурных скобок и правила автозаполнения настроек
|
|
3
cons74
15.06.15
✎
14:38
|
(2) и где про эту магию пишут?
|
|
4
cons74
16.06.15
✎
08:51
|
Решил. Один запрос.
1) isnull(ОстаткиИОбороты.номенклатура,Обороты.Номенклатура) как номенклатура
2) переписать текст запроса:
...
выбрать
isnull(ОстаткиИОбороты.номенклатура,Обороты.Номенклатура) как номенклатура
...
из
Обороты полное соединение ОстаткиИОбороты //тут было наоборот: ОстаткиИОбороты полное соединение Обороты
3) теперь можно пометить вторую таблицу (ОстаткиИОбороты) как не обязательную - закладка КомпоновкаДанных в конструкторе запроса
|
|