Имя: Пароль:
1C
1C 7.7
v7: SQL:The multi-part identifier "SC46.ID" could not be bound.
,
0 Владимир1С
 
22.03.19
16:39
// Запрос :  Получить значение из констаны
use rozn_2018

select * -- RTrim(Ltrim(kns.Value)) --Sc46.description

from _1SConst as kns  

where (kns.ID = 110) and (RTrim(Ltrim(kns.Value)) = RTrim(Ltrim(SC46.ID)))

Результат в заголовке темы :(

поле kns :

F=VALUE                 |valume              |V   |255   |0      --VarChar  

поле Sc46 :

F=ID                    |ID object           |C   |9     |0      --Char

Подскажите пожалуйста, как правильно сравнить поля?
1 Ёпрст
 
22.03.19
16:47
Ну как бэ ты тёплое с мягким сравниваешь
2 trad
 
22.03.19
16:47
запрос полностью бы посмотреть
3 Владимир1С
 
22.03.19
16:47
всё здесь
4 Ёпрст
 
22.03.19
16:48
в запросе у тя не видно, откуда ты табличку SC46 взял вообще
5 Владимир1С
 
22.03.19
16:48
kns.Value)) = RTrim(Ltrim(SC46.ID Это одно и тоже, идентификаторы клиентов.
6 trad
 
22.03.19
16:48
SC46 не вижу среди источников
7 Владимир1С
 
22.03.19
16:49
rozn_2018 из этой  базы
8 Владимир1С
 
22.03.19
16:49
(6) Подробнее можно?
9 Ёпрст
 
22.03.19
16:49
(7) еще раз, в тексте запроса в from нет SC46
10 Ёпрст
 
22.03.19
16:50
ну и это, если есть 1cpp, писать как в (0) - моветон, когда есть православный метапарсер имён.
11 Владимир1С
 
22.03.19
16:53
(9) Точно! заработало ! Это нужно для Execute , строка внутри 1С++ не преобразуется. Чтобы было: один клик - один запрос. Когда надо создавать несколько фильтров для одного отчёта(склады, группы покупателей, исключения покупателей, исключения товаров, и т.д.)
12 Ёпрст
 
22.03.19
16:54
(11) ОбрМетаSQL
13 trad
 
22.03.19
16:56
(12) просто тебе, для информации
странное поведение SQL запроса
14 Ёпрст
 
22.03.19
16:56
+12
http://www.1cpp.ru/docum/html/ODBC.html#processmetasql

это, если тебе строку нужно получить, которая в скуль летит
15 Владимир1С
 
22.03.19
16:57
(13) С этим разобрались. Создание временных таблиц вынесли из EXECUTE. всё пришло в норму
16 Ёпрст
 
22.03.19
17:00
(13) ааа.. всё равно неясно, если запрос из 1с-ины, даже из разных баз, можно пользовать метапарсер.
17 Ёпрст
 
22.03.19
17:00
же
18 Владимир1С
 
22.03.19
17:01
(14) Строки задаются CASE в цикле   While @cou<=@countBZ  , и запросы выполняются последовательно , без цикла в 1С. Цикл сидит внутри SQL. Ну , и до кучи, некоторые параметры SQL формируются в 1С перед отправкой запроса в SQL.
19 Ёпрст
 
22.03.19
17:02
(18) вообще не об этом речь.

Речь о том, чтобы не писать названия таблиц и и реквизиты руками, а пользовать встроенный в 1cpp метапарсер имён.
20 Ёпрст
 
22.03.19
17:03
Если запрос выполняется из 1с.
21 trad
 
22.03.19
17:04
(16) не, я не про это.
кокой бы сложной ни была задача, такой треш писать невозможно ))
22 Владимир1С
 
22.03.19
17:04
(19) внутрь строчного выражения , которое внутри SQLного текста, метапарсер тоже способен влезть?
23 Владимир1С
 
22.03.19
17:06
(21) Ничего сложного, просто много полей. Сложности появляются с увеличением кличеств условий и соединений.
24 Ёпрст
 
22.03.19
17:10
(21) )
ну, смотришь ветки ливингстара, где он в приВыводестроки считывает данные с экселя, плодит при этом элементы справочников и помещает картинки в хранилище и...
ничему уже не удивляешься
25 Ёпрст
 
22.03.19
17:13
(22) текст запроса - это всего лишь строка. Если вам нравится писать имена полей и таблиц руками, ну.. тут я даже не знаю что и поможет.