Есть задача:
   соединить 2-е таблицы одним запросом.

Таблица 1 - исходные данные
Таблица 2 - содержит в каждой строке условие и ссылку

Нужно получить результирующую таблицу, в которой будут исходные данные и ссылка, связанные по условию.
Связать таблицы нужно одним запросом.

Вот пример:
---
Это зависит, как происходит перенос движений. Если все делается через файл, то из таблицы, имеющейся в файле. Если напрямую между базами, то через COM-соединение.
---
короче, где деньги, (1) ?
---
и чё?
---
а, пардон, 10 ёжиков, не заметил-с
---
Использовать графу "Условие" напрямую в запросе не получится.

Я бы думал в следующую сторону:

1) Разделить графу условие на 3 столбца: A(число), B(число), ABРавны(булево)

Тогда вторая таблица в вашем случае выглядела бы так:

10 | 5 | Ложь | Ссылка1
0 | 0 | Истина | Ссылка2
45 | 50| Ложь | Ссылка3

И условие объединения выглядело бы следующим образом:
ВЫБРАТЬ Табл1.А, Табл1.Б, Табл2.Ссылка ИЗ
Таблица_1 КАК Табл1 ЛЕВОЕ СОЕДИНЕНИЕ Таблица_2 КАК Табл2 ПО
(Табл1.А = Табл2.А И Табл1.Б = Табл2.Б) ИЛИ (Табл2.АБРавны И Табл1.А = Табл2.Б)

Вопрос в масштабируемости решения. для использования более сложных условий придется вводить дополнительные столбцы. Проще, возможно, решить данную задачу встроенным языком.
---
juntatalor, все правильно пишете,
только пример я привел сильно упрощенный,
это условие будет перерабатываться из СКД-шного отбора.

Встроенным языком можно, вопросов нет, просто мучает вопрос - можно ли сделать проще и через один запрос.
---
Куча народу наблюдает - "а где 10 ежиков?!" :)))
---
AlexO, 11, пардон-с
---
Текст = "Выбрать т1.а, т1.б, т2.Ссылка ИЗ т1 Левое т2 ПО ИСТИНА ";
Для Каждого стр из т2 Цикл
Текст = Текст + " ИЛИ (" +стр.Условие+"(";
КонецЦикла;

условия в т2 надо привести 1скульному виду
---
Текст = Текст + " ИЛИ (" +Заменить(Заменить(стр.Условие,"А","т1.А"),"В","т1.В")+")";

ну как-то так
---
tango,
если сделать как вы предлагаете получится :

"Выбрать
| т1.а,
| т1.б,
| т2.Ссылка
|ИЗ т1
| Левое СОЕДИНЕНИЕ т2
| ПО ИСТИНА И (A=10 и В=5) И (A=В) И (A=45 и В=50)"

и что будет в результате запроса?
---
serg_gres, а вы попробуйте еще раз
ладно, придется после цикла лишнюю или убивать
---
Если формировать условие по методу (8), надо убрать ПО ИСТИНА и разделить условия по ИЛИ:

"Выбрать
| т1.а,
| т1.б,
| т2.Ссылка
|ИЗ т1
| Левое СОЕДИНЕНИЕ т2
| ПО (A=10 и В=5) ИЛИ (A=В) ИЛИ (A=45 и В=50)"

Но вот честно, если у вас в таблице будет много записей и много условий, такой запрос будет выполняться очень долго.
---
juntatalor, вообще-то - у вас. и с каждым новым витомином следовало бы увеличивать обещанное вознаграждение. а что бы не получалась морковка, по-этапно раздавать
---
juntatalor,
записей будет много.

"Выбрать
| т1.а,
| т1.б,
| т2.Ссылка
|ИЗ т1
| Левое СОЕДИНЕНИЕ т2
| ПО (A=10 и В=5) ИЛИ (A=В) ИЛИ (A=45 и В=50)"

смотрю я на этот запрос, вроде что-то такое, но мне кажется он не сработает,
нужно к условиям еще добавлять привязку к т2
---
Ну естественно, условия так были записаны для упрощения записи.
---
по-подробнее про СКД
---
короче, коллега, или отвечай на (14) или я не играю
---
tango,
:):):)
---
а с другой стороны если будет записей много - через циклы будет быстрее?
мне кажется - нет
---
Повторюсь, вопрос в том, насколько сложными будут условия. Если здесь ограничений нет (то есть разрешены любые условия, например (А = Б ИЛИ (А + 1 = Б - 14) ИЛИ ((А / 2 = Б + 3) И (А = Б - 90)), то может быть вам стоит поискать другой метод решения задачи (вообще без объединения таблиц и формирования условий). Может быть опишите задачу целиком и исходя из нее будем думать?
---
juntatalor,
это будет "универсальный перенос проводок"
Таблица1 - проводки со всеми реквизитами
Таблица2 - условия и формат преобразования при загрузке

Есть правила переноса, которые заполняет пользователь, в правилах прописаны условия, по которым нужно отобрать какие-то проводки, и прописаны действия при загрузке этих проводок (в какой документ загрузить, как преобразовать и тд)
---
serg_gres, СКД здесь при чем?
---
juntatalor, условия чаще всего будет достаточно простыми СчетДт="51" и СчетКт="60", но в отдельных случаях могут очень усложнится (спрогнозировать это не возможно), например, СчетДт="51" и СчетКт="60" и Субконто1<>"Основная организация" и тд и тп
---
"Выбрать
| т1.а,
| т1.б,
| т2.Ссылка
|ИЗ т1
| Левое СОЕДИНЕНИЕ т2
| ПО (т1.а=10 и т1.б=5 и т2.Условие=""A=10 и В=5"") ИЛИ (т1.а=т1.б и т2.Условие=""A=В"") ИЛИ (т1.а=45 и т1.б=50 и т2.Условие=""A=45 и В=50"")"

может быть так?
---
будет обработка в которой будет использоваться схема СКД,
на форме будет высунут отбор СКД по этой схеме,
отбор будет заполнять пользователь
PS как-то раньше тестировал на 8.1 - с отбором все нормально получалось, надо будет посмотреть как получится в 8.2
---
хорошо, заполнил юзер отбор скдехи
дальше что?
нафига его запихивать в таблицу, да еще в таком виде?
и зачем он (отбор) применяется кроме как в самой скд?

короче, в чем предметная задача состоит?
---
tango, отбор СКД только для удобства: в нем можно делать группы условий, ставить не равно, больше, меньше и т.д - рисовать свой механизм на это как-то не хочется
---
Так а нельзя "пошагово" составлять таблицу:

1) Юзер заполнил отбор в СКД
2) Получили записи по этому отбору
3) Поместили в таблицу
4) Перейти к пункту 1) до наступления желаемого результата
---
juntatalor, 2) Получили записи по этому отбору
из ЧЕГО вы собрались на этом шаге что-то получать по условиям, содержащем объекты 1сы?
---
Это зависит, как происходит перенос движений. Если все делается через файл, то из таблицы, имеющейся в файле. Если напрямую между базами, то через COM-соединение.
---
К слову следует сказать, что на поставленную мною задачу ни один из участников не ответил правильно.
Решил ее (точнее довел до конца) - я сам, а tango и juntatalor меня навели на решение.
За что я им ОБОИМ, ОЧЕНЬ БЛАГОДАРЕН.
То, что я указал лучший ответ (34) - не обращайте внимания, я просто указал пользователя с вознаграждением а не конкретное сообщение, и этот ответ первым попался "под руку". А лучшего ответа в теме и не было - все ответы были где-то около него.

Также замечу, что мне не столько важен какой-то доскональный ответ, а скорее мысль (решение, направление), которое у меня возникнет для решения этой задачи.

tango,
есть справочник "Правила переноса",
в форме элемента есть поле, в котором находится отбор.
Пользователь при заполнении формы указывает какой-то отбор.
При записи элемента, этот отбор преобразуется в строку
соединенную по И и ИЛИ и не явно записывается,
фактически создается текстовое условие,
которое затем будет использоваться в запросе.

Почему СКД, почему отбор? - скажите какой штатный механизм 1С 8 можно использовать, что бы отдать его пользователю для заполнения любых, произвольных условий?
---
"10+1" попугай ждут :)))
---
загрузка из файла? перед обработкой по условиям текст файла как-то уже сопоставлен объекта в загружаемой базе?

зы:эти три буковы <СКД> в сабже лишние совсем

Отбор (Filter)
Отбор (Filter)
Элементы коллекции:

ЭлементОтбора
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы отбора.
Возможно обращение к элементу отбора посредством оператора [...]. В качестве аргумента передается индекс элемента (нумерация с 0).

Свойства:

<Имя элемента отбора> (<Filter element name>)

Методы:

Добавить (Add)
Индекс (IndexOf)
Количество (Count)
Найти (Find)
Получить (Get)
ПолучитьДоступныеПоля (GetAvailableFields)
Сбросить (Reset)
Сдвинуть (Move)
Удалить (Delete)
УстановитьДоступныеПоля (SetAvailableFields)

Описание:

Предназначен для хранения условий отбора.
Представляет собой коллекцию элементов отбора. Используется для установки фильтрации данных в различных выборках, наборах записей, визуальных списках.
Каждый из элементов может устанавливать одно условие. Весь объект представляет собой составное условие, состоящее из отдельных условий, описываемых элементами, соединяющимися по "И".

Доступность:

Сервер, толстый клиент, внешнее соединение.
---
Работает механизм просто (он уже давно есть на 7.7)
Из базы 1 выгружается файл - в нем полный список проводок со ВСЕМИ реквитами проводки.
В базе 2 - есть правила загрузки, в них прописано:
  а) условия
  б) что сделать с найденной по условию проводкой:
     - загрузить в такой-то документ
     - реквизит такой-то установить так-то и т.д.
но это уже уходит от данной темы....
---
serg_gres, но это уже уходит от данной темы....
ну да, сабж и ваша задача не связаны никак
---
tango,
это у меня такое впечатление - что все больше тем такого плана:
Q:- Как пройти к вокзалу?
A's:
- Вам к какому?
- Куда ехать собираетесь?
- Вам путь короче или получше?
- Туалет - НАЛЕВО!

- О, спасибо! Последний ответ - то, что мне нужно!
---
ну как бе да
я заслужил не получение этих маней, поскольку ответ (34) тупо не понял.
как эти уважаемые коллеги собираются применять 1с-отборы к текстовому потоку!?!?
но, несомненно, это лучший ответ на сабж
---
в сабже лишним является так же термин <запрос>
---
В принципе я думаю сработает запрос:

"Выбрать
| т1.а,
| т1.б,
| т2.Ссылка
|ИЗ т1
| Левое СОЕДИНЕНИЕ т2
| ПО (т1.а=10 и т1.б=5 и т2.Условие=""A=10 и В=5"") ИЛИ (т1.а=т1.б и т2.Условие=""A=В"") ИЛИ (т1.а=45 и т1.б=50 и т2.Условие=""A=45 и В=50"")"

поэтому задачу считаю закрытой.

juntatalor и tango - Вы мне очень помогли, но вознаграждение я не могу разделить на 2 - части.
Вознаграждение отдаю juntatalor - потому что "tango" занимался "читерством" и исправлял ранее сделанные ошибки.
---
serg_gres, тогда мою нотацию из запросов убирай