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

Нужна помщь с написанием запроса для динмического списка

Нужна помщь с написанием запроса для динмического списка
Я
   Nyarlathotep
 
27.04.21 - 13:59
Есть нетиповой регистр сведений АЛП_СтатусыСоглашенийСДизайнерами, с такой структурой: https://drive.google.com/file/d/1giw3adfzjdRRDdntI9mvyKlUiqxr3ByI/view?usp=sharing.
Поле Соглашение ссылается на нетиповой справочник АЛП_СоглашенияСДизайнерами, с такой структурой: https://drive.google.com/file/d/15GSuz6n67O6lg4H7JMx3BJWH4AIwkoHz/view?usp=sharing.
Владелец этого справочника - типовой справочник Партнеры (УТ 11.3.4.67). У этого справочника есть типовая форма Выбора, где есть динамический список, вот такой https://drive.google.com/file/d/1tgumBGPOJSLvbhlvW-yjOwoFFcLURSvd/view?usp=sharing.

Суть задачи:

В некоторых случаях нужно открывать форму выбора справочника Партнеры с отбором по партнерам, у которых есть соглашение с дизайнером (нетиповой справочник) в статусе Действует (ресурс нетипового регистра).

Я программно устанавливаю для динамического списка такой текст запроса:

"ВЫБРАТЬ
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Ссылка,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ПометкаУдаления,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Предопределенный,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Родитель,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Код,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Наименование,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.БизнесРегион,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ГруппаДоступа,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ДатаРегистрации,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Клиент,
            |    ВЫБОР
            |        КОГДА АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Клиент
            |                ИЛИ АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Поставщик
            |            ТОГДА ИСТИНА
            |        ИНАЧЕ ЛОЖЬ
            |    КОНЕЦ КАК КлиентИлиПоставщик,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Комментарий,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Конкурент,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.НаименованиеПолное,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ОсновнойМенеджер,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Поставщик,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Перевозчик,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ПрочиеОтношения,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ДополнительныеРеквизиты.(
            |        Ссылка,
            |        НомерСтроки,
            |        Свойство,
            |        Значение,
            |        ТекстоваяСтрока
            |    ),
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.КонтактнаяИнформация.(
            |        Ссылка,
            |        НомерСтроки,
            |        Тип,
            |        Вид,
            |        Представление,
            |        ЗначенияПолей,
            |        Страна,
            |        Регион,
            |        Город,
            |        АдресЭП,
            |        ДоменноеИмяСервера,
            |        НомерТелефона,
            |        НомерТелефонаБезКодов
            |    ),
            |    Контрагенты.Ссылка КАК Контрагент,
            |    Контрагенты.ЮрФизЛицо,
            |    ВЫБОР
            |        КОГДА Контрагенты.ОбособленноеПодразделение
            |            ТОГДА Контрагенты.ГоловнойКонтрагент
            |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
            |    КОНЕЦ КАК ГоловнойКонтрагент,
            |    ВЫБОР
            |        КОГДА Контрагенты.ОбособленноеПодразделение
            |            ТОГДА &ПредставлениеОбособленногоПодразделения
            |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Контрагенты.ЮрФизЛицо)
            |    КОНЕЦ КАК ВидКонтрагента,
            |    Контрагенты.ОбособленноеПодразделение,
            |    Контрагенты.ИНН КАК ИНН,
            |    Контрагенты.КПП КАК КПП,
            |    Контрагенты.КодПоОКПО КАК КодПоОКПО,
            |    ЗНАЧЕНИЕ(Перечисление.СостоянияСуществованияКонтрагента.ПустаяСсылка) КАК СостояниеПроверкиКонтрагента,
            |    3 КАК НомерКартинкиСостояниеПроверки
            |ИЗ
            |    РегистрСведений.АЛП_СтатусыСоглашенийСДизайнерами.СрезПоследних(, ) КАК АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних
            |                {ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
            |                ПО (Контрагенты.Партнер = АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Ссылка)}
            |ГДЕ
            |    ВЫБОР
            |            КОГДА НЕ &ОтборПоСегментуУстановлен
            |                ТОГДА ИСТИНА
            |            ИНАЧЕ АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Ссылка В (&ОтборПоСегменту)
            |        КОНЕЦ
            |    И ВЫБОР
            |            КОГДА НЕ &ОтборПоПолнотекстовомуПоискуУстановлен
            |                ТОГДА ИСТИНА
            |            ИНАЧЕ АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Ссылка В (&ОтборПоПолнотекстовомуПоиску)
            |        КОНЕЦ
            |    И АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Действует
            |    И АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Поставщик"

в итоге список пустой, но партнеры, удовлетворяющие условию отбора, в базе есть.

Еще я пробовал такой запрос:

"ВЫБРАТЬ
            |    СправочникПартнеры.Ссылка,
            |    СправочникПартнеры.ПометкаУдаления,
            |    СправочникПартнеры.Предопределенный,
            |    СправочникПартнеры.Родитель,
            |    СправочникПартнеры.Код,
            |    СправочникПартнеры.Наименование,
            |    СправочникПартнеры.БизнесРегион,
            |    СправочникПартнеры.ГруппаДоступа,
            |    СправочникПартнеры.ДатаРегистрации,
            |    СправочникПартнеры.Клиент,
            |    ВЫБОР
            |        КОГДА СправочникПартнеры.Клиент
            |                ИЛИ СправочникПартнеры.Поставщик
            |            ТОГДА ИСТИНА
            |        ИНАЧЕ ЛОЖЬ
            |    КОНЕЦ КАК КлиентИлиПоставщик,
            |    СправочникПартнеры.Комментарий,
            |    СправочникПартнеры.Конкурент,
            |    СправочникПартнеры.НаименованиеПолное,
            |    СправочникПартнеры.ОсновнойМенеджер,
            |    СправочникПартнеры.Поставщик,
            |    СправочникПартнеры.Перевозчик,
            |    СправочникПартнеры.ПрочиеОтношения,
            |    СправочникПартнеры.ДополнительныеРеквизиты.(
            |        Ссылка,
            |        НомерСтроки,
            |        Свойство,
            |        Значение,
            |        ТекстоваяСтрока
            |    ),
            |    СправочникПартнеры.КонтактнаяИнформация.(
            |        Ссылка,
            |        НомерСтроки,
            |        Тип,
            |        Вид,
            |        Представление,
            |        ЗначенияПолей,
            |        Страна,
            |        Регион,
            |        Город,
            |        АдресЭП,
            |        ДоменноеИмяСервера,
            |        НомерТелефона,
            |        НомерТелефонаБезКодов
            |    ),
            |    Контрагенты.Ссылка КАК Контрагент,
            |    Контрагенты.ЮрФизЛицо,
            |    ВЫБОР
            |        КОГДА Контрагенты.ОбособленноеПодразделение
            |            ТОГДА Контрагенты.ГоловнойКонтрагент
            |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
            |    КОНЕЦ КАК ГоловнойКонтрагент,
            |    ВЫБОР
            |        КОГДА Контрагенты.ОбособленноеПодразделение
            |            ТОГДА &ПредставлениеОбособленногоПодразделения
            |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Контрагенты.ЮрФизЛицо)
            |    КОНЕЦ КАК ВидКонтрагента,
            |    Контрагенты.ОбособленноеПодразделение,
            |    Контрагенты.ИНН КАК ИНН,
            |    Контрагенты.КПП КАК КПП,
            |    Контрагенты.КодПоОКПО КАК КодПоОКПО,
            |    ЗНАЧЕНИЕ(Перечисление.СостоянияСуществованияКонтрагента.ПустаяСсылка) КАК СостояниеПроверкиКонтрагента,
            |    3 КАК НомерКартинкиСостояниеПроверки
            |ИЗ
            |    РегистрСведений.АЛП_СтатусыСоглашенийСДизайнерами.СрезПоследних(, ) КАК АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних
            |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.АЛП_СоглашенияСДизайнерами КАК АЛП_СоглашенияСДизайнерами
            |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК СправочникПартнеры
            |                {ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
            |                ПО (Контрагенты.Партнер = СправочникПартнеры.Ссылка)}
            |            ПО АЛП_СоглашенияСДизайнерами.Владелец = СправочникПартнеры.Ссылка
            |        ПО АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение = АЛП_СоглашенияСДизайнерами.Ссылка
            |ГДЕ
            |    ВЫБОР
            |            КОГДА НЕ &ОтборПоСегментуУстановлен
            |                ТОГДА ИСТИНА
            |            ИНАЧЕ СправочникПартнеры.Ссылка В (&ОтборПоСегменту)
            |        КОНЕЦ
            |    И ВЫБОР
            |            КОГДА НЕ &ОтборПоПолнотекстовомуПоискуУстановлен
            |                ТОГДА ИСТИНА
            |            ИНАЧЕ СправочникПартнеры.Ссылка В (&ОтборПоПолнотекстовомуПоиску)
            |        КОНЕЦ
            |    И АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Действует
            |    И СправочникПартнеры.Поставщик"

в итоге при открытии списка получаю ошибку - https://drive.google.com/file/d/1EqfiE7P-HbQYtyV1dc249NK03IT6gI2V/view?usp=sharing.

Что делаю не так? Как правильно написать запрос?
   Kassern
 
1 - 27.04.21 - 14:07
мои глаза...
"  |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ДополнительныеРеквизиты.(
            |        Ссылка,
            |        НомерСтроки,
            |        Свойство,
            |        Значение,
            |        ТекстоваяСтрока
            |    ), "
   Kassern
 
2 - 27.04.21 - 14:08
(0) как это: "В некоторых случаях нужно открывать форму выбора справочника Партнеры с отбором по партнерам, у которых есть соглашение с дизайнером (нетиповой справочник) в статусе Действует (ресурс нетипового регистра)." Связано с этим:
ВЫБРАТЬ
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Ссылка,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ПометкаУдаления,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Предопределенный,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Родитель,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Код,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Наименование,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.БизнесРегион,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ГруппаДоступа,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.ДатаРегистрации,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Клиент,
???
   Kassern
 
3 - 27.04.21 - 14:13
(0) прикрепи к типовому запросу партнеров через левое соединение твой регистр по Соглашение.Владелец. И сделай ГДЕ условие действует. Можешь опционально сделать, галочку поставили, условие поставилось, галочку убрали - типовой список.
   spiller26
 
4 - 27.04.21 - 14:14
(0) Ужасный запрос. Много точек.
   Kassern
 
5 - 27.04.21 - 14:14
(3) по поводу Условия, можешь вообще пользовательский отбор использовать, в нужных случаях открывать форму с этим отбором. В итоге будет универсальный динамический список с доп колонкой статус соглашения.
   H A D G E H O G s
 
6 - 27.04.21 - 14:17
Соглашения с дизайнерами - они такие, опасные.
Хоп, и ты уже вляпался в смузи.
   Kassern
 
7 - 27.04.21 - 14:21
(0) а что будешь делать, если будет 10 соглашений в разрезе партнера, половина из которых действует? Будешь такого выводить?
   Kassern
 
8 - 27.04.21 - 14:24
(7) и чем не устроили типовые соглашения в УТ? Доп поля ГруппаДоступа,Конкурент и т.д. можно было через ДополнительныеРеквизиты замутить...
   Nyarlathotep
 
9 - 29.04.21 - 14:21
(3) Не сработало через левое соединение - пишет дублирование по полю ссылка
   Nyarlathotep
 
10 - 29.04.21 - 14:33
Добавил фильтр левым содеинением и сделал ВЫБРАТЬ РАЗЛИЧНЫЕ, все заработало. вот текст рабочего варианта:

ВЫБРАТЬ РАЗЛИЧНЫЕ
            |    СправочникПартнеры.Ссылка,
            |    СправочникПартнеры.ПометкаУдаления,
            |    СправочникПартнеры.Предопределенный,
            |    СправочникПартнеры.Родитель,
            |    СправочникПартнеры.Код,
            |    СправочникПартнеры.Наименование,
            |    СправочникПартнеры.БизнесРегион,
            |    СправочникПартнеры.ГруппаДоступа,
            |    СправочникПартнеры.ДатаРегистрации,
            |    СправочникПартнеры.Клиент,
            |    ВЫБОР
            |        КОГДА СправочникПартнеры.Клиент
            |                ИЛИ СправочникПартнеры.Поставщик
            |            ТОГДА ИСТИНА
            |        ИНАЧЕ ЛОЖЬ
            |    КОНЕЦ КАК КлиентИлиПоставщик,
            |    ВЫРАЗИТЬ(СправочникПартнеры.Комментарий КАК СТРОКА(100)) КАК Комментарий,
            |    СправочникПартнеры.Конкурент,
            |    СправочникПартнеры.НаименованиеПолное,
            |    СправочникПартнеры.ОсновнойМенеджер,
            |    СправочникПартнеры.Поставщик,
            |    СправочникПартнеры.Перевозчик,
            |    СправочникПартнеры.ПрочиеОтношения,
            |    Контрагенты.Ссылка КАК Контрагент,
            |    Контрагенты.ЮрФизЛицо,
            |    ВЫБОР
            |        КОГДА Контрагенты.ОбособленноеПодразделение
            |            ТОГДА Контрагенты.ГоловнойКонтрагент
            |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
            |    КОНЕЦ КАК ГоловнойКонтрагент,
            |    ВЫБОР
            |        КОГДА Контрагенты.ОбособленноеПодразделение
            |            ТОГДА &ПредставлениеОбособленногоПодразделения
            |        ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Контрагенты.ЮрФизЛицо)
            |    КОНЕЦ КАК ВидКонтрагента,
            |    Контрагенты.ОбособленноеПодразделение,
            |    Контрагенты.ИНН КАК ИНН,
            |    Контрагенты.КПП КАК КПП,
            |    Контрагенты.КодПоОКПО КАК КодПоОКПО,
            |    ЗНАЧЕНИЕ(Перечисление.СостоянияСуществованияКонтрагента.ПустаяСсылка) КАК СостояниеПроверкиКонтрагента,
            |    3 КАК НомерКартинкиСостояниеПроверки,
            |    АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Действует
            |ИЗ
            |    Справочник.Партнеры КАК СправочникПартнеры
            |        {ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
            |        ПО (Контрагенты.Партнер = СправочникПартнеры.Ссылка)}
            |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АЛП_СтатусыСоглашенийСДизайнерами.СрезПоследних КАК АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних
            |        ПО СправочникПартнеры.Ссылка = АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Соглашение.Владелец.Ссылка
            |ГДЕ
            |    ВЫБОР
            |            КОГДА НЕ &ОтборПоСегментуУстановлен
            |                ТОГДА ИСТИНА
            |            ИНАЧЕ СправочникПартнеры.Ссылка В (&ОтборПоСегменту)
            |        КОНЕЦ
            |    И ВЫБОР
            |            КОГДА НЕ &ОтборПоПолнотекстовомуПоискуУстановлен
            |                ТОГДА ИСТИНА
            |            ИНАЧЕ СправочникПартнеры.Ссылка В (&ОтборПоПолнотекстовомуПоиску)
            |        КОНЕЦ
            |    И СправочникПартнеры.Поставщик = ИСТИНА
            |    И АЛП_СтатусыСоглашенийСДизайнерамиСрезПоследних.Действует = ИСТИНА
   Ivan_495
 
11 - 29.04.21 - 14:33
в бсп есть связка регистра со справочником

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.