В общем вставил я этот код в запрос. И выводит ошибки
рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT ЗаявкаПокупателя.IDDOC [ЗаявкаПокупателя $Документ.ЗаявкаПокупателя]
| , Журнал.$ОбщийРеквизит.Автор [Автор $Справочник.Пользователи]
| , $ЗаявкаПокупателя.Контрагент [Кон $Справочник.Контрагенты]
| , $ЗаявкаПокупателя.ДатаОтгрузки Дата
| , $ЗаявкаПокупателяСтроки.Номенклатура [Ном $Справочник.Номенклатура]
| , $ЗаявкаПокупателяСтроки.Количество Количество
| , Номенклатура.Code КодНом
| , Контрагенты.Code КодКон
|
| , Контрагенты.ЮрФизЛицо [ЮрФизЛицо $Справочник]
| , Контрагенты.ЮрФизЛицо AS ЮрФизЛицоСтрока
| ,$ВидСправочника36.ЮрЛица
| ,length($ВидСправочника36.ЮрЛица)
| ,CASE
| WHEN Substr(Контрагенты.ЮрФизЛицо, 1, 4) = $ВидСправочника36.ЮрЛица THEN 'ЮрЛица'
| WHEN Substr(Контрагенты.ЮрФизЛицо, 1, 4) = $ВидСправочника36.ФизЛица THEN 'ФизЛица'
| ELSE 'Не определен'
| END AS Вид
| ,COALESCE(СпрЮЛ.ЮрАдрес,СпрФЛ.ЮрАдрес, 'нет данных') AS Адрес
| ,СпрЮЛ.ЮрАдрес AS АдресЮЛ
| ,СпрФЛ.ЮрАдрес AS АдресФЛ
|FROM _1SJOURN AS Журнал With (NOLOCK)
| INNER JOIN $Документ.ЗаявкаПокупателя AS ЗаявкаПокупателя With (NOLOCK) ON Журнал.IDDOC = ЗаявкаПокупателя.IDDOC
| INNER JOIN $ДокументСтроки.ЗаявкаПокупателя AS ЗаявкаПокупателяСтроки With (NOLOCK) ON ЗаявкаПокупателя.IDDOC = ЗаявкаПокупателяСтроки.IDDOC
| INNER JOIN $Справочник.Номенклатура AS Номенклатура With (NOLOCK) ON Номенклатура.ID = $ЗаявкаПокупателяСтроки.Номенклатура
| INNER JOIN $Справочник.Контрагенты AS Контрагенты With (NOLOCK) ON Контрагенты.ID = $ЗаявкаПокупателя.Контрагент
|
| LEFT JOIN Справочник.ЮрЛица AS СпрЮЛ ON Substr(Контрагенты.ЮрФизЛицо,1,4) = $ВидСправочника36.ЮрЛица AND СпрЮЛ.ID = Substr(Контрагенты.ЮрФизЛицо,5,9)
| LEFT JOIN Справочник.ФизЛица AS СпрФЛ ON Substr(Контрагенты.ЮрФизЛицо,1,4) = $ВидСправочника36.ФизЛица AND СпрФЛ.ID = substr(Контрагенты.ЮрФизЛицо,5,9)
|
|WHERE $ЗаявкаПокупателя.ДатаОтгрузки >:НачДата AND $ЗаявкаПокупателя.ДатаОтгрузки <:КонДата
| AND Журнал.Closed & 1 = 1
|";
State 42000, native 195, message [Microsoft][ODBC SQL Server Driver][SQL Server]'length' is not a recognized built-in function name.
если строку length закомментировать то
State 42000, native 195, message [Microsoft][ODBC SQL Server Driver][SQL Server]'Substr' is not a recognized built-in function name.
Вообще как я понял конструкция
| СпрКонтр.ЮрФизЛицо [ЮрФизЛицо $Справочник]
| ,СпрКонтр.ЮрФизЛицо AS ЮрФизЛицоСтрока
| ,:ВидСправочника.ЮрЛица
| ,length(:ВидСправочника.ЮрЛица)
в принципе не нужна, играет только CASE
nicesc писал(а) 22. Января 2024 :: 11:51:Djelf писал(а) 21. Января 2024 :: 08:20:[quote author=2A2D27213727440 link=1705606834/1#1 date=1705658894]Какую СУБД используете?
на 1SQLite можно так:
согласен
$ВидСправочника36.ЮрЛица