Имя: Пароль:
1C
1С v8
СКД и условие при связи двух наборов
0 СтоСорокПервый
 
05.10.16
18:53
Есть две внешние таблицы А и В. В каждой таблице по два поля, одно типа Номенклатура, второе типа число. Можно ли средства СКД выбрать те записи для которых числовое поле в таблице В не равно числовому полю в таблице А. То есть, получить средствами СКД результат следующего запроса:

Выбрать
А.Поле1,
А.Поле2
Поместить А
Из
&А Как А
;
Выбрать
В.Поле1,
В.Поле2
Поместить В
Из
&В Как В
;
Выбрать
А.Поле1,
В.Поле2
Из
А Как А
Левое соединение В как В
По А.Поле1=В.Поле1
И А.Поле1<>В.Поле2

Допустим задали Набор-Объекты, в коде добавили эти таблицы в параметры, прописали связь по полю1. Как с полем 2 быть? Спасибо.
1 СтоСорокПервый
 
05.10.16
18:59
* пардон, опечатка, конечно же, в предпоследней строке предыдущего сообщения:

И А.Поле2<>В.Поле2
2 iceman2112
 
05.10.16
19:34
конкретно так нужно? а 2 таблици в запрос а потом скд не пойдет?
3 СтоСорокПервый
 
05.10.16
20:24
Да. Ибо интересуют, именно, возможности СКД в этом плане. Если это возможно - хотелось бы узнать как. Если это невозможно - это просто хочется знать, чтобы закрыть для себя данный вопрос. И делать уже по предложенному Вами пути, к примеру.
4 Franchiser
 
гуру
05.10.16
21:07
(3) Можно.
Во второй наборе Поле2 называешь как Поле3.
После чего связываешь наборы по Поле1.
Делаешь отбор в СКД Поле2 (тип полекомпоновки) <> Поле3 (крестик -> тип полекомпоновки)
5 Franchiser
 
гуру
05.10.16
21:16
Это если внутреннее соединение...
Имитация левого в данном случае можно думаю сделать заменив расчет Поля2 на вычисляемое поле сравнив Поле2 и Поле3
Выбор когда Поле3 Есть Null тогда Поле2 Иначе Поле3 Конец
6 СтоСорокПервый
 
05.10.16
21:22
(4) (5) Спасибо, буду завтра пробовать. Через отбор я их вязать не пробовал. Похоже, это должно сработать.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан