Имя: Пароль:
1C
1С v8
Нужен совет по запросу
, ,
0 dnab
 
29.04.22
16:24
Это нижняя часть запроса. Верхняя не важна. Почему то в естьнал всегда срабатывает второй операнд. Не могу понять. В консоли запрос по свойствам верно работает.
|
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВЫРАЗИТЬ(ДополнительныеСведения.Объект КАК Справочник.ДоговорыКонтрагентов) КАК Договор,
                   |    ДополнительныеСведения.Значение КАК Значение
                   |ПОМЕСТИТЬ вт_Св
                   |ИЗ
                   |    РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
                   |ГДЕ
                   |    ДополнительныеСведения.Свойство.Имя = &Свойство
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    вт_Предв.Организация КАК Организация,
                   |    вт_Предв.Сумма КАК Сумма,
                   |    вт_Предв.ДоговорКонтрагента КАК ДоговорКонтрагента,
                   |    вт_Предв.КонтрагентОрганизации КАК КонтрагентОрганизации,
                   |    ЕСТЬNULL(вт_Св.Значение, ДоговорыКонтрагентов.Ссылка) КАК ДоговорОрганизации                  
                   |ИЗ
                   |    вт_Предв КАК вт_Предв
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
                   |        ПО вт_Предв.КонтрагентОрганизации = ДоговорыКонтрагентов.Владелец
                   |            И (ДоговорыКонтрагентов.Организация = &ОрганизацияКонтрагента)
                   |            И вт_Предв.ДоговорКонтрагента.Наименование = ДоговорыКонтрагентов.Наименование
                   |            И (НЕ ДоговорыКонтрагентов.ПометкаУдаления)
                   |        ЛЕВОЕ СОЕДИНЕНИЕ вт_Св КАК вт_Св
                   |        ПО вт_Предв.ДоговорКонтрагента = вт_Св.Договор
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Организация,
                   |    ДоговорКонтрагента
                   |АВТОУПОРЯДОЧИВАНИЕ";

вот тут  на пальцах верно работает: https://cloud.mail.ru/public/499H/pCDmX39mL
1 dnab
 
29.04.22
16:24
(0) не СКД
2 lubitelxml
 
29.04.22
16:31
Ничего не понял. ЕСТЬNULL(вт_Св.Значение, ДоговорыКонтрагентов.Ссылка) КАК ДоговорОрганизации  - где тут у тебя второй операнд?
3 dnab
 
29.04.22
16:32
(2) ДоговорыКонтрагентов.Ссылка это не второй операнд?
4 dnab
 
29.04.22
16:33
то есть вт_Св.Значение всегда null почему то
5 dnab
 
29.04.22
16:34
(2) хорошо, не операнд, параметр
6 lubitelxml
 
29.04.22
16:34
(3) извиняюсь, туплю под вечер пятницы
7 dnab
 
29.04.22
16:37
Запрос по доп. сведениям выдает верную картину. Записи есть нужные
8 lubitelxml
 
29.04.22
16:41
ЛЕВОЕ СОЕДИНЕНИЕ вт_Св КАК вт_Св
ПО вт_Предв.ДоговорКонтрагента = вт_Св.Договор

А здесь точно должно быть так, а не ПО ПО вт_Предв.ДоговорКонтрагента = вт_Св.Значение ?
9 dnab
 
29.04.22
16:55
(8) есть записи и с той и с другой стороны. Как вы поняли это обработка по заполнению зеркальных договоров в схеме интеркампани. Понятно что лучше РС соответствий сделать. Но пока вот так. Попробовал ваш вариант, все так же
10 Жан Пердежон
 
29.04.22
17:01
вангую: договора задвоены и в вт "не те" договора.
Кстати, зачем тут вт?
11 Жан Пердежон
 
29.04.22
17:04
еще вариант: в вт_Предв нет "нужных" записей
12 dnab
 
29.04.22
17:05
13 vicof
 
29.04.22
17:29
(0)
"вт_Св"
"вт_Предв "
"ДополнительныеСведения.Свойство.Имя = &Свойство"
" И вт_Предв.ДоговорКонтрагента.Наименование = ДоговорыКонтрагентов.Наименование"
Мои глаза...
14 dnab
 
29.04.22
18:02
(13) что не так то? имена таблиц весьма информативны внутри контекста. Не коробочную же версию делаю.
Сравнение по наименованию - так задача стоит сначала получить ранее сопоставленные элементы, а потом попытаться получить идентичные по наименованию.
15 hhhh
 
29.04.22
18:22
(14) вот здесь реально дебилизм

И вт_Предв.ДоговорКонтрагента.Наименование = ДоговорыКонтрагентов.Наименование

сравнивай по ссылкам.
16 dnab
 
29.04.22
18:36
(15) ты просто не вник в задачу
17 dnab
 
29.04.22
18:37
(15)" так задача стоит сначала получить ранее сопоставленные элементы, а потом попытаться получить идентичные по наименованию."
18 Лирик
 
29.04.22
19:02
Метод исключения ни кто не отменял, убирай по одному условию соединения таблиц - поймешь где косяк.
19 hhhh
 
29.04.22
20:36
(17) врт тут не то

     |ГДЕ
                   |    ДополнительныеСведения.Свойство.Имя = &Свойство


может с наименованием перепутал.
20 dnab
 
30.04.22
08:09
(19) да, спасибо. Все работает. Передавал в &Свойство ссылку на ПВХ, который вне запроса искал по реквизиту Имя %))
21 Жан Пердежон
 
01.05.22
22:24
(20) казалось бы, причем тут именование переменных, полей, таблиц...
22 dnab
 
02.05.22
16:41
(21) а подумать? в (19) я написал в чем была моя ошибка
23 dnab
 
02.05.22
16:42
(22) *в (20) написал