Написал в СКД отчёт, который показывает торговые точки, их адреса и актуальный тип цены.
Среди множества торговых точек есть выбранная мною точка и тип цены у нее установлен и отображен в отчёте, но когда я делаю отбор по этой точке, то пропадает тип цены с отчёта. Что это такое?
Среди множества торговых точек есть выбранная мною точка и тип цены у нее установлен и отображен в отчёте, но когда я делаю отбор по этой точке, то пропадает тип цены с отчёта. Что это такое?
ВЫБРАТЬ
Партнеры.Ссылка,
Партнеры.БизнесРегион,
Партнеры.Наименование,
ВЫБОР
КОГДА Партнеры.Родитель = ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)
ТОГДА Партнеры.Ссылка
ИНАЧЕ Партнеры.Родитель
КОНЕЦ КАК Родитель,
Партнеры.Код
ПОМЕСТИТЬ ВТПартнеры
ИЗ
Справочник.Партнеры КАК Партнеры
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТПартнеры.Ссылка,
ВТПартнеры.БизнесРегион,
ВТПартнеры.Наименование,
ВТПартнеры.Код,
ПартнерыКонтактнаяИнформация.Тип,
ПартнерыКонтактнаяИнформация.Вид,
ПартнерыКонтактнаяИнформация.Представление,
ПартнерыКонтактнаяИнформация.ЗначенияПолей,
ПартнерыКонтактнаяИнформация.Страна,
ПартнерыКонтактнаяИнформация.Регион,
ПартнерыКонтактнаяИнформация.Город,
ПартнерыКонтактнаяИнформация.АдресЭП,
ВТПартнеры.Родитель
ПОМЕСТИТЬ ВтПартнерыСКонтактами
ИЗ
ВТПартнеры КАК ВТПартнеры
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация
ПО ВТПартнеры.Ссылка = ПартнерыКонтактнаяИнформация.Ссылка
ГДЕ
ПартнерыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
СоглашенияСКлиентами.Ссылка,
СоглашенияСКлиентами.ВидЦен,
СоглашенияСКлиентами.Партнер
ПОМЕСТИТЬ ВТАктуальныеСоглашения
ИЗ
Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
ГДЕ
СоглашенияСКлиентами.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВтПартнерыСКонтактами.Ссылка,
ВтПартнерыСКонтактами.БизнесРегион,
ВтПартнерыСКонтактами.Наименование,
ВтПартнерыСКонтактами.Код,
ВтПартнерыСКонтактами.Тип,
ВтПартнерыСКонтактами.Вид,
ВтПартнерыСКонтактами.Представление,
ВтПартнерыСКонтактами.ЗначенияПолей,
ВтПартнерыСКонтактами.Страна,
ВтПартнерыСКонтактами.Регион,
ВтПартнерыСКонтактами.Город,
ВтПартнерыСКонтактами.АдресЭП,
ВТАктуальныеСоглашения.ВидЦен,
ВТАктуальныеСоглашения.Ссылка КАК СсылкаНаСоглашение,
ВтПартнерыСКонтактами.Родитель
ИЗ
ВтПартнерыСКонтактами КАК ВтПартнерыСКонтактами
ЛЕВОЕ СОЕДИНЕНИЕ ВТАктуальныеСоглашения КАК ВТАктуальныеСоглашения
ПО ВтПартнерыСКонтактами.Ссылка = ВТАктуальныеСоглашения.Партнер
ПоказатьНайденные решения
(1) У Вас путаница в полях получилась. С одной стороны "Ссылка" - это ссылка на партнера в первом запросе пакета. С другой стороны "Ссылка" - это ссылка на соглашение в третьем запросе. Когда Вы устанавливаете отбор по полю "Ссылка", то СКД, оптимизируя запрос, добавляет это условие и в первый, и в третий запрос пакета. Только вот для третьего это неуместно: ссылка здесь не является партнером, а является соглашением.
Два решения:
1. Приведите все единому виду. Например, во всех запросах пакета пусть у Вас поле партнера так и называется - "Партнер", т.е. в первом запросе напишите:
2. "Объясните" СКД для третьего запроса пакета кто есть кто:
P.S. Поправил немного второе решение.
Два решения:
1. Приведите все единому виду. Например, во всех запросах пакета пусть у Вас поле партнера так и называется - "Партнер", т.е. в первом запросе напишите:
ВЫБРАТЬ
Партнеры.Ссылка КАК Партнер,
...
2. "Объясните" СКД для третьего запроса пакета кто есть кто:
ВЫБРАТЬ
СоглашенияСКлиентами.Ссылка,
СоглашенияСКлиентами.ВидЦен,
СоглашенияСКлиентами.Партнер
ПОМЕСТИТЬ ВТАктуальныеСоглашения
ИЗ
Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
ГДЕ
СоглашенияСКлиентами.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует)
{ГДЕ
СоглашенияСКлиентами.Ссылка.* КАК СсылкаНаСоглашение,
СоглашенияСКлиентами.Партнер.* КАК Ссылка}
ПоказатьP.S. Поправил немного второе решение.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) У Вас путаница в полях получилась. С одной стороны "Ссылка" - это ссылка на партнера в первом запросе пакета. С другой стороны "Ссылка" - это ссылка на соглашение в третьем запросе. Когда Вы устанавливаете отбор по полю "Ссылка", то СКД, оптимизируя запрос, добавляет это условие и в первый, и в третий запрос пакета. Только вот для третьего это неуместно: ссылка здесь не является партнером, а является соглашением.
Два решения:
1. Приведите все единому виду. Например, во всех запросах пакета пусть у Вас поле партнера так и называется - "Партнер", т.е. в первом запросе напишите:
2. "Объясните" СКД для третьего запроса пакета кто есть кто:
P.S. Поправил немного второе решение.
Два решения:
1. Приведите все единому виду. Например, во всех запросах пакета пусть у Вас поле партнера так и называется - "Партнер", т.е. в первом запросе напишите:
ВЫБРАТЬ
Партнеры.Ссылка КАК Партнер,
...
2. "Объясните" СКД для третьего запроса пакета кто есть кто:
ВЫБРАТЬ
СоглашенияСКлиентами.Ссылка,
СоглашенияСКлиентами.ВидЦен,
СоглашенияСКлиентами.Партнер
ПОМЕСТИТЬ ВТАктуальныеСоглашения
ИЗ
Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
ГДЕ
СоглашенияСКлиентами.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует)
{ГДЕ
СоглашенияСКлиентами.Ссылка.* КАК СсылкаНаСоглашение,
СоглашенияСКлиентами.Партнер.* КАК Ссылка}
ПоказатьP.S. Поправил немного второе решение.
(10)
(7)
Как то так должно получиться вторым способом?
(7)
{ГДЕ
СоглашенияСКлиентами.Ссылка.* КАК СсылкаНаСоглашение,
СоглашенияСКлиентами.Партнер.* КАК Ссылка}
СоглашенияСКлиентами.Ссылка.* КАК СсылкаНаСоглашение,
СоглашенияСКлиентами.Партнер.* КАК Ссылка}
Как то так должно получиться вторым способом?
ВЫБРАТЬ
Партнеры.Ссылка КАК Ссылка,
Партнеры.БизнесРегион,
Партнеры.Наименование,
ВЫБОР
КОГДА Партнеры.Родитель = ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)
ТОГДА Партнеры.Ссылка
ИНАЧЕ Партнеры.Родитель
КОНЕЦ КАК Родитель,
Партнеры.Код
ПОМЕСТИТЬ ВТПартнеры
ИЗ
Справочник.Партнеры КАК Партнеры
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТПартнеры.БизнесРегион,
ВТПартнеры.Наименование,
ВТПартнеры.Код,
ПартнерыКонтактнаяИнформация.Тип,
ПартнерыКонтактнаяИнформация.Вид,
ПартнерыКонтактнаяИнформация.Представление,
ПартнерыКонтактнаяИнформация.ЗначенияПолей,
ПартнерыКонтактнаяИнформация.Страна,
ПартнерыКонтактнаяИнформация.Регион,
ПартнерыКонтактнаяИнформация.Город,
ПартнерыКонтактнаяИнформация.АдресЭП,
ВТПартнеры.Родитель
ПОМЕСТИТЬ ВтПартнерыСКонтактами
ИЗ
ВТПартнеры КАК ВТПартнеры,
Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация
ГДЕ
ПартнерыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
СоглашенияСКлиентами.Ссылка КАК Ссылка,
СоглашенияСКлиентами.ВидЦен,
СоглашенияСКлиентами.Партнер КАК Партнер
ПОМЕСТИТЬ ВТАктуальныеСоглашения
{ВЫБРАТЬ
Ссылка.* КАК СсылкаНаСоглашение,
Партнер.* КАК Ссылка}
ИЗ
Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
ГДЕ
СоглашенияСКлиентами.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыСоглашенийСКлиентами.Действует)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВтПартнерыСКонтактами.БизнесРегион,
ВтПартнерыСКонтактами.Наименование,
ВтПартнерыСКонтактами.Код,
ВтПартнерыСКонтактами.Тип,
ВтПартнерыСКонтактами.Вид,
ВтПартнерыСКонтактами.Представление,
ВтПартнерыСКонтактами.ЗначенияПолей,
ВтПартнерыСКонтактами.Страна,
ВтПартнерыСКонтактами.Регион,
ВтПартнерыСКонтактами.Город,
ВтПартнерыСКонтактами.АдресЭП,
ВТАктуальныеСоглашения.ВидЦен,
ВТАктуальныеСоглашения.Ссылка КАК СсылкаНаСоглашение,
ВтПартнерыСКонтактами.Родитель
ИЗ
ВтПартнерыСКонтактами КАК ВтПартнерыСКонтактами,
ВТАктуальныеСоглашения КАК ВТАктуальныеСоглашения
Показать
(16) Да, спасибо. Второй способ тоже работает. Получается я пишу запрос свой, а потом ёще заново просматриваю его и если совпадают имена, то нужно скад зайти и в компоновке данных задать иные имена. Так?
Я читал уже об этом несколько статей, но никак не мог осознать как оно и зачем, но когда приходит живой пример - все стало понятно.
А владка "Поля" (где я написал сначала и было слово "ВЫБРАТЬ") для чего? Простыми словами можно от Вас узнать? Как я понимаю, то она обрежет количество выбираемых полей, но не могу осознать смысл.
Я читал уже об этом несколько статей, но никак не мог осознать как оно и зачем, но когда приходит живой пример - все стало понятно.
А владка "Поля" (где я написал сначала и было слово "ВЫБРАТЬ") для чего? Простыми словами можно от Вас узнать? Как я понимаю, то она обрежет количество выбираемых полей, но не могу осознать смысл.
(17) Ну в моем представлении она действительно для ограничения выбираемых полей. Я ее использую совместно с флажком "Автозаполнение" наборов данных.
Получается я пишу запрос свой, а потом ёще заново просматриваю его
Лучше давайте сразу понятные псевдонимы полей. :)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот