Страница 1 из 1

Ошибка прямого SQL

Добавлено: 15 дек 2015, 15:02
maikl
В 9.1 написали такое (это работало много лет в 8.1)
После вызова этого внешнего интерфейса возникает ошибка:
"Ошибка компиляции запроса прямого SQL"
Может кто подскажет из за чего ?

Interface SetDateSoprhoz 'Установка дат хозопераций';
Show At (45,10,99,13);
Create View;
Screen SSS;
NoTableNavigation;
Buttons
cmVvod;
<<
Будут установлены даты хозоперций по дате отгрузки
<. Установить даты .>
>>
End;
HandleEvent
cmInit:
{
SelectButton(SSS,cmVvod)
}
cmVvod:
{
StartNewVisual(vtRotateVisual,vfTimer,'Установка дат хозопераций',10)
//======================================================================================================================
SQL update soprhoz
set soprhoz.datob=basedoc.ddoc
from stepdoc,basedoc,plpor
where soprhoz.cstepdoc=stepdoc.nrec and stepdoc.cbasedoc=basedoc.nrec and soprhoz.csoprdoc=plpor.nrec and
soprhoz.summa>0 and
(soprhoz.tidkgal=2 or soprhoz.tidkgal=7 or (soprhoz.tidkgal=10 and soprhoz.modedoc=1024)) and
basedoc.ddoc>plpor.datob and soprhoz.datob<>basedoc.ddoc;
//======================================================================================================================
StopVisual('',0)
Message('Даты хозопераций успешно установлены')
CloseInterface(cmDefault)
}
End;
End.

Re: Ошибка прямого SQL

Добавлено: 15 дек 2015, 15:20
RAJAH
Может, имеет смысл оформить DSQL-запрос в SQLAddStr, SQLExecDirect?..

Re: Ошибка прямого SQL

Добавлено: 15 дек 2015, 15:49
edward_K
1. Параметров нет, посему как есть запускаем в сапорте
Он еще говорит в какой строке.
2. Смотрим в Ms70drv.log или что там у вас - возможно там будет запрос, который ушел на сервер - пробуем его выполнить на серваке.
3. Смотрим логи в SQL или профайлер.

Re: Ошибка прямого SQL

Добавлено: 15 дек 2015, 15:54
maikl
edward_K писал(а):1. Параметров нет, посему как есть запускаем в сапорте
Он еще говорит в какой строке.
2. Смотрим в Ms70drv.log или что там у вас - возможно там будет запрос, который ушел на сервер - пробуем его выполнить на серваке.
3. Смотрим логи в SQL или профайлер.
В саппорте сам запрос отрабатывает без ошибок.
Ошибка возникает только если запускать из внешних интерфейсов

Re: Ошибка прямого SQL

Добавлено: 15 дек 2015, 16:57
Masygreen
where (soprhoz.cstepdoc=stepdoc.nrec) and (stepdoc.cbasedoc=basedoc.nrec) and (soprhoz.csoprdoc=plpor.nrec) and
(soprhoz.summa>0) and
и т.п.

Re: Ошибка прямого SQL

Добавлено: 15 дек 2015, 17:16
maikl
Masygreen писал(а):where (soprhoz.cstepdoc=stepdoc.nrec) and (stepdoc.cbasedoc=basedoc.nrec) and (soprhoz.csoprdoc=plpor.nrec) and
(soprhoz.summa>0) and
и т.п.
Не помогло ((((

Re: Ошибка прямого SQL

Добавлено: 15 дек 2015, 17:25
Den
Вам сказали посмотреть что в Ms70drv.log пишет при запуске этого кода. И что пишет ?

Re: Ошибка прямого SQL

Добавлено: 15 дек 2015, 19:06
maikl
Den писал(а):Вам сказали посмотреть что в Ms70drv.log пишет при запуске этого кода. И что пишет ?
Ms70drv.log чего то он не образуется, или я не могу его найти.

Re: Ошибка прямого SQL

Добавлено: 23 дек 2015, 13:04
maikl
Это ошибка. Зарегистрирован ПИР 101.58478.