Полное соединение таблиц в СКД #592631


#0 by extrim-style
Отчет на скд. Есть 2 таблицы. Необходимо их полное соединение по одному из полей. Добавил их как источники данных. А теперь как связать? Через НаборДанных-Объединение?
#1 by Wobland
объединение объединяет, соединение соединяет. через внешний источник, может?
#2 by Wobland
или всё в один запрос запихать
#3 by extrim-style
Нужно полное соединение. То есть наборами данных, это я неправильно?
#4 by extrim-style
Может проще это полное соединение в коде сделать через запрос? А результат в СКД уже передавать? Просто подумалось, что в СКД должно быть проще.
#5 by Wobland
>в коде сделать через запрос можно и не в коде...
#6 by extrim-style
а как мне таблицы тогда в СКД передавать?
#7 by extrim-style
а всё понял, кажись
#8 by extrim-style
добавляю таблицы как источники данных, а потом выбираю в запросе их во временные таблицы, так?
#9 by extrim-style
а как в СКД это сделать?
#10 by extrim-style
Выбрал 2 таблицы в скд как 2 источника данных. Как теперь их обработать в запросе СКД?
#11 by Wobland
я предлагал один источник со своим соединением забабашить
#12 by extrim-style
я имел ввиду не 2 источника, а 2 набора, конечно
#13 by Wobland
значит, я один набор предлагал ;)
#14 by extrim-style
как это? как передать 2 таблицы в один набор?
#15 by Wobland
я ж не вижу, что у тебя там. один запрос сделать можешь?
#16 by extrim-style
ну я начал делать как в , 2 таблицы как 2 набора данных и 3-й набор запрос, в котором выбираю эти таблицы во временные
#17 by extrim-style
+ тока не получается так
#18 by 1nf
Автор, а чем тебя не устраивает набор данных - запрос, и в нем соединение как тебе угодно любых таблиц?
#19 by extrim-style
да что там смотреть. В коде есть 2 таблицы. Я их передаю в скд, как 2 набора данных. Дальше - как сделать их полное соединение?
#20 by extrim-style
как таблицы передать в скд? как наборы данных?
#21 by 1nf
таблицы откуда берешь?
#22 by extrim-style
из кода. сложный алгоритм
#23 by extrim-style
+ это я к тому, что нельзя их запросом сразу
#24 by Wobland
выбрать * из тз1 полное соединение тз2? будет одна таблица
#25 by extrim-style
Вот так делал: Где СписокСтатей и СписокСтатей2 - имя объекта, содержащего данные, для каждого набора данных. Ругается - "{(9, 2)}: Таблица не найдена "СписокСтатей" <<?>>СписокСтатей КАК ТЗ". И непосредственно к НаборуДанных.ЛюбоеПоле не могу обратиться.
#26 by extrim-style
ЧЯДНТ?
#27 by extrim-style
Может таблицу в качестве параметра надо передавать?
#28 by extrim-style
Сделал просто в коде, а не в СКД. Пишет "Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Тип не может быть выбран в запросе
#29 by extrim-style
Хелп!
#30 by extrim-style
Простой вопрос. Подскажите, как в общем случае сделать в СКД полное соединение 2 таблиц, взятых из кода?
#31 by extrim-style
Помогите кто-нибудь. Вопрос вроде простой...
#32 by mozzga
первые два запроса делай с объединением и кадай в ВТ, а потом ВТ вяжи
#33 by extrim-style
всмысле сделать объединение из 2-х НаборовДанных-таблиц? А потом ВТ из него? Правильно я понял?
#34 by extrim-style
+ а зачем мне их объединять?
#35 by viktor_vv
Колонки таблицы значений типизированные должны быть.
#36 by extrim-style
упс. действительно типизация потерялась) спс а как в скд сделать полное соединение 2-х таблиц из кода не подскажешь?
#37 by viktor_vv
Насчет полного не знаю. Но курить в сторону Набор данных - Объект. Потом объединение наборов данных, хотя оно скорее на левое соединение смахивает.
#38 by fisher
Источники в СКД только ЛЕВЫМ соединением соединяются (неявно). Т.е. в разные наборы данных ты их зря загружаешь. Проще всего отработать эмуляцию полного соединения таблиц в коде, а результирующую таблицу уже в СКД загружать для вывода.
#39 by fisher
+ Или загрузить обе таблицы во временные, сделать полное соединение запросом, получить результат в таблицу и уже её грузить в СКД.
#40 by extrim-style
2 разные таблицы можно загрузить только в 2 разных набора данных. Да, объединение - только левое (или внутреннее). Чем проще? - если в по сути тоже самое только в скд. Если тоже самое, то лучше бы это в СКД сделать. что-то не воткну. вот я, допустим, загрузил одну таблицу в НаборДанных1. Имя объекта, содержащего данные - СтатьиЗатрат. НаборДанных2 - запрос. Как мне в нем обращаться к загруженной таблице? Так, как в не получается. У Хрусталевой не нашел. В описаниях 1С вапще ниочем.
#41 by Wobland
я тут многое пропустил, похоже, но - это о том, что я имел в виду изначально. можешь же в СКД грузить одну-единственную ТЗ? вот и сделай эту ТЗ результатом полного соединения
#42 by extrim-style
ну а непосредственно в СКД что полное соединение нельзя реализовать? Я загрузил таблицу в набор. Что мне теперь из неё только поля можно выбрать? А обращаться из другого набора нельзя к ней? Так как в ?
#43 by Wobland
отвечу на первый вопрос. СКД умеет только слева. по природе своей
#44 by extrim-style
а как же ПОЛНОЕ СОЕДИНЕНИЕ в запросе?
#45 by Wobland
умеет только левое со своими наборам данных. всю ветку пытаюсь объяснить тебе, что засунь ты своё соединение в запрос и отдай СКД. спасибо фишеру, думал, я сам не понимаю чего-то.
#46 by shuhard
в запросе с полным соединением всё ОК
#47 by extrim-style
ну вот, а как мне к загруженной таблице обращаться через запрос (из другого набора данных)?
#48 by shuhard
см
#49 by fisher
Никак. Запросы - это одно. Они почти один к одному СУБД выполняются. А соединение наборов данных в СКД - это уже другое. Это уже личное шаманство СКД с результатирующими данными наборов. Поэтому прямые параллели по функционалу проводить нельзя.
#50 by extrim-style
жаль. На всякий случай прошелся еще по курсу скд от spec8 - всё так. Значит остаётся только соединять в коде, а потом отправлять в СКД. Всем спасибо за помощь!
#51 by Wobland
алилуйя! не поленился просмотреть ветку и поискать
#52 by extrim-style
=)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С