Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос SQL и Общие реквизиты
0 LisaAlisa
 
07.07.18
16:45
Реквизит ВнутреннийИдентификатор общий для документов, но отбор по нему не стоит.
Запрос
SELECT Журнал.DOCNO Документ_ном
    |, ПоступлениеТоваров.sp1585 ВнутреннийИдентификатор
    |FROM _1SJOURN AS Журнал With (NOLOCK)
    |INNER JOIN dh141 AS ПоступлениеТоваров With (NOLOCK) ON Журнал.IDDOC = ПоступлениеТоваров.IDDOC
    |WHERE Журнал.sp274 <> '' AND ПоступлениеТоваров.sp2911 <> ''    |AND substring(Журнал.DATE_TIME_IDDOC,1,8) >= '"+Формат(НачДата,"Д yyyyMMdd")+"' AND substring(Журнал.DATE_TIME_IDDOC,1,8) <= '"+Формат(КонДата,"Д yyyyMMdd")+"'";

Если запускать его в отладчике запросов, то результат виден. Но отладчик 1С спотыкается, при чтении реквизита ВнутреннийИдентификатор
ТЗ.ВнутреннийИдентификатор = СокрЛП(RS.Fields(1).Value());

Отладчик 1С пишет «Ошибка в выражении!»

А в режиме Предприятие
ТЗ.ВнутреннийИдентификатор = СокрЛП(RS.Fields(3).Value());
{E:...}: Тип переменой не поддерживается

Этот же запрос в 8ке отрабатывает успешно, в 7.7 - не работает.
1 АНДР
 
07.07.18
17:40
В 7.7 нет такого типа данных, нужно явное преобразование в стороку
2 LisaAlisa
 
08.07.18
11:19
(1) Спасибо
3 Salimbek
 
09.07.18
10:59
(2) Ты через АДО работаешь с базой чтоль? А то 1С++ всю эту фигню решает самостоятельно и без проблем.