| Summary: | запросы 1C 7.7 Комплексная конфигурация | ||
|---|---|---|---|
| Product: | SELTA@Etersoft | Reporter: | Калюхович Юрий <goga> |
| Component: | selta.dll | Assignee: | Калюхович Юрий <goga> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P4 | CC: | goga, lav, shan |
| Version: | 1.0.5 | ||
| Target Milestone: | версия 1.0.6 | ||
| Hardware: | PC | ||
| OS: | All | ||
| Whiteboard: | |||
| Заявки RT: | Связано с: | ||
| Дата напоминания: | |||
| Bug Depends on: | |||
| Bug Blocks: | 3676 | ||
там же, при смене периода расчета зарплаты на более ранний,
set nocount on
declare @_date datetime
declare @idx int
declare @periodlen int
declare @perioddate datetime
declare @typeid int
declare @holid int
declare @startdate datetime, @enddate datetime
select @periodlen = 1
select @perioddate = '19960101'
select @typeid = 7668
select @holid = 11
select @startdate = '20030101'
select @enddate = '20030131'
declare @daylen numeric(6,2)
declare @len0 numeric(6,2)
select @len0 = 0.00
select @_date = @startdate
while @_date <= @enddate begin
select @idx = DateDiff(day,@perioddate,@_date) % @periodlen
if (@idx<0) select @idx = @periodlen+@idx
if @idx=0 begin
select @daylen = @len0
end
update CL set DAYLEN = @daylen where DATE = @_date and ID=@typeid
if @@rowcount=0 insert into CL (DATE, DAYLEN, ID) values(@_date,@daylen,@typeid)
select @_date = DATEADD(day,1,@_date)end
(In reply to comment #0) ошибки такого вида часто проявляются при различных операциях, например, при увеличении долга поставщика, при удалении помеченных объектов, при проведении некоторых других документов + сюда же: просмотреть список запросов MarkSQL http://bugs.etersoft.ru/attachment.cgi?id=1103 и добавить нетранслируемые not in добавил, но запрос полностью все равно не выполняется select count(*) from SC6005(NOLO
CK) where substring(ID,7,3) not in (' ','1 ') and ISMARK<>1
работает
> Delete from _1SDNLOCK where DNPREFIX=E' 48242009 ' and
> DOCNO=E'СТ00000001 '
>
теперь работает
все из #0 и #1 работает (In reply to comment #3) > + сюда же: просмотреть список запросов MarkSQL > http://bugs.etersoft.ru/attachment.cgi?id=1103 > и добавить нетранслируемые > в соответствующей баге словил еще один нетранслированный запрос: ERROR: ошибка синтаксиса в или рядом "ERROR" на символе 7 КОМАНДА: BEGIN;ERROR: can not translate query: Update CJ7287 set RESULT=0, RECALC = RECALC&-2 where PERIOD>='20030401M' and PERIOD<='20030501M' and RECALC&16<>16 and RECALC&8<>8 and RECALC&4<>4 (In reply to comment #9) > словил еще один нетранслированный запрос: > > ERROR: ошибка синтаксиса в или рядом "ERROR" на > символе 7 > КОМАНДА: BEGIN;ERROR: can not translate query: Update CJ7287 set > RESULT=0, RECALC = RECALC&-2 where PERIOD>='20030401M' and PERIOD<='20030501M' > and RECALC&16<>16 and RECALC&8<>8 and RECALC&4<>4 > проблема в PERIOD>='20030401M' and PERIOD<='20030501M', в знаках '>=' (In reply to comment #10) > проблема в PERIOD>='20030401M' and PERIOD<='20030501M', в > знаках '>=' > исправил, появилась еще одна: ERROR: оператор не существует: tinyint &- integer на символе 52 ПОДСКАЗКА: No operator matches the given name and argument type(s). You might need to add explicit type casts. КОМАНДА: BEGIN;UPDATE CJ7287 SET RESULT = 0, RECALC = RECALC&-2 WHERE PERIOD >= '20030301M' AND PERIOD<='20030501M' AND RECALC&16<>16 AND RECALC&8<>8 AND RECALC&4<>4 на этот раз в ' &- ' (In reply to comment #11) > на этот раз в ' &- ' > такого в постгри не существует ни для tinyint &- integer, ни для integer &- integer добавил в транслятор разруливание битовых операторов в сокращенной записи - &+, &-, |+, |- добавил в test.sql новые запросы снова нашел неработающий запрос, но не определил какой именно при смене расчетного периода на следующий - меняет на 2 месяца вперед. если на предыдущий - не меняет вообще. если на 2 месяца назад - меняет только на месяц назад. очевидная ошибка трансляции какого-то запроса.. словил лог сельты, но ошибок трансляции не нашел... (In reply to comment #16) > словил лог сельты, но ошибок трансляции не > нашел... > не ошибка сельты. но и не ошибка вайна... пробовал lin+selta, lin+ms, win+selta, ошибка есть везде, не знаю в чем дело, может это и не ошибка вовсе, а связано с проведенными/непроведенными документами/операциями |
не транслируются некоторые запросы, Комплексная конфигурация 1С: Update _1SSTREAM set DATE_TIME_DOCID=E '20090319ANK31S MZ1 ' where ID=1946; If @@ROWCOUNT = 0 Insert into _1SSTREAM (ID, DATE_TIME_DOCID) values (1946, E'20090319ANK31S MZ1 ') Delete from _1SDNLOCK where DNPREFIX=E' 48242009 ' and DOCNO=E'СТ00000001 ' select count(*) from SC6005(NOLO CK) where substring(ID,7,3) not in (' ','1 ') and ISMARK<>1