Имя: Пароль:
1C
1С v8
Конкатенация в запросах
0 dexxxqqq
 
18.12.21
20:12
Здравствуйте, уважаемые участники форума. В консоли работает такой вариант:

ВЫБРАТЬ
  ДанныеСправочника.Ссылка КАК Контрагент
ИЗ
  ТаблицаДокументов
  
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    Справочник.Контрагенты КАК ДанныеСправочника
ПО
  ДанныеСправочника.ИНН ПОДОБНО "%"+ТаблицаДокументов.ИНН

Как правильно этот вариант воспроизвести в конфигураторе? И двойные кавычки пробовал, и плюс пробовал брать в кавычки. Не понимаю.
Такой вариант не работает:
| ДанныеСправочника.ИНН ПОДОБНО ""%""+ТаблицаДокументов.ИНН

Такой вариант тоже не работает:
| ДанныеСправочника.ИНН ПОДОБНО ""%"" "+" ТаблицаДокументов.ИНН

Голову сломал. Помогите, пожалуйста.
1 Lexandr
 
18.12.21
20:19
Пара строк с ИТС(полезная штука)

Особенности использования в запросах оператора ПОДОБНО
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. При использовании в тексте запроса оператора ПОДОБНО допустимо использовать только константные строковые литералы или параметры запроса. Запрещается формировать строку шаблона при помощи вычислений, использовать конкатенацию строк средствами языка запросов. Например:
Допустимо:
Реквизит ПОДОБНО "123%"
Недопустимо:
Реквизит ПОДОБНО "123" + "%"
Реквизит ПОДОБНО Таблица.Шаблон
2 dexxxqqq
 
18.12.21
20:28
(1) Спасибо. Странно, что в консоли запросов работает конкатенация. А какие еще варианты есть в моем случае?
3 Фрэнки
 
18.12.21
20:57
так в твоем случае две строки можно просто сравнить друг с другом. Зачем там " подобно " ?
4 acht
 
18.12.21
21:02
(2) > Странно, что в консоли

Там в конце русским по-белому написано: "Данное требование продиктовано необходимостью переносимости прикладных решений на различные СУБД."

Старая песня - защищаться стандартами от радиуса рук разработчиков.
5 dexxxqqq
 
18.12.21
21:09
(3) Там зарубежный ИНН (Беларусь, Казахстан). Он как реквизит контрагента имеет вид "УНП123456789", кто-то умудряется писать "YHП123456789". У меня из банка прилетает совсем в разном виде, я выдрал только "123456789". Как мне его в запросе сравнить? Кроме как используя "ПОДОБНО".
6 acht
 
18.12.21
21:12
(5) ПОДСТРОКА(ДанныеСправочника.ИНН, 4, 1000) = ТаблицаДокументов.ИНН
7 dexxxqqq
 
18.12.21
21:19
(6) Спасибо большое!