Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

СКД ошибка при выполнении отчета

СКД ошибка при выполнении отчета
Я
   vadimegorov
 
01.02.18 - 17:42
Доброго времени суток!

Имеем следующее: два набора данных Набор1 - это таблица значений, Набор2 - запрос. Левое соединение от набора2 к набору1 без всяких условий по общему полю. В результирующих данных имеем, кроме всего прочего, два реквизита "ЗаказПокупателя" и "ЗаказПоставщику". Всё работает отлично до тех пор пока я не пытаюсь вывести одновременно два любых дочерних поля из этих указанных реквизитов. Например, "ЗаказПокупателя.Отвественный" и "ЗаказПоставщику.ВидОперации". Вываливается ошибка: "Использование полей из не связанных наборов данных не допустимо". При этом есть реквизит "Номенклатура" и если использовать его дочернее поле (например, "Артикул") с любым из указанных - то всё нормально. Хелп, люди, что оно хочет от меня?
 
 
   vadimegorov
 
1 - 01.02.18 - 17:48
Набор2(запрос)
ХарактеристикаНоменклатуры

Набор1(таблица)
ХарактеристикаНоменклатуры
ЗаказПокупателя
ЗаказПоставщику

Такой вывод отчета работает нормально:
ХарактеристикаНоменклатуры    ЗаказПокупателя   ЗаказПоставщику

Такой нет:
ХарактеристикаНоменклатуры ЗаказПоставщику.Отвественный ЗаказПокупателя.Номер
   Defender aka LINN
 
2 - 01.02.18 - 19:36
(0) "Левое соединение от набора2 к набору1 без всяких условий" - это тебе кто сказал, что у тебя так?
   Фрэнки
 
3 - 01.02.18 - 19:44
судя по тексту в пост 1 - там вообще никакого соединения не будет, т.к. все три выбираемых поля изнутри одного и того же Набор1 и пример, как минимум, неудачный. Т.к. заставляет думать, что Набор1 не работает сам по себе, а не в соединении с набор2

И в примере такого примитивного уровня вовсе не видно необходимости создания двух наборов, а не одного запроса в Набор1
   vadimegorov
 
4 - 01.02.18 - 22:20
(3) Необходимость создания набора с запросом обусловлена тем, что нужно сделать отбор по свойствам и категориям характеристики номенклатуры. В наборе с таблицей это сделать средствами СКД нельзя. Поэтому требуется соединение с запросом.
   vadimegorov
 
5 - 01.02.18 - 22:21
(2) Это мне сказала документация. Связь наборов данных осуществляется через левое внешнее соединение.
   Фрэнки
 
6 - 01.02.18 - 22:22
(4) понятно. Я бы пробовал все эти "через точку" вставить полями запроса.
   vadimegorov
 
7 - 01.02.18 - 22:26
(6) Это крайний и "костыльный" вариант. Количество реквизитов в документе довольно много. Сегодня юзерам может потребоваться одно поле, завтра другое, послезавтра в документ реквизиты добавятся - не переписывать же отчет сто раз ((
   Фрэнки
 
8 - 01.02.18 - 22:34
(7) сам подход протести. хотя пишешь выше, что ссылки ЗаказПокупателя   ЗаказПоставщику - рабочие
   vadimegorov
 
9 - 01.02.18 - 22:38
(8) методом научного тыка было выяснено следующее. Если в запрос добавить поле номенклатура и в таблицу добавить его, то   дочерние поля номенклатуры получается выводить в отчет с дочерними полями заказа покупателя. Если в одном из наборов поле номенклатуры отсутствует и попытаться вывести дочернее поле, то такая же ошибка возникает... Жесть какая-то. Получается надо лепить объединение полей заказа покупателя и заказа поставщика с запросом и потом соединяться к этому объединению таблицей.
   Фрэнки
 
10 - 01.02.18 - 22:58
Похоже на то, как в обычном левом соединении для ЕСТЬNULL подкладывать приходится типизированную пустую ссылку.

з.ы. Не знаю только, понятна ли моя мысль
 
 Рекламное место пустует
   Franchiser
 
11 - 02.02.18 - 00:29
Поставь у поля Номенклатура флажок обязательное

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует