Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 3251 - Неправильно транслирует запрос при пересчёте служебных данных   Make a simular bug
Summary: Неправильно транслирует запрос при пересчёте служебных данных
Status: CLOSED FIXED
Alias: None
Product: SELTA@Etersoft
Classification: Продукты (Products)
Component: selta.dll (show other bugs)
Version: 1.0.5
Hardware: PC All
: P1 blocker
Target Milestone: версия 1.0.5
Assignee: Станислав Коробейников
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 2637
  Show dependency treegraph
 
In work:
Reported: 2009-01-15 19:27 MSK by Александр Пликус
Modified: 2009-04-25 17:08 MSD (History)
4 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Александр Пликус 2009-01-15 19:27:56 MSK
Бухгалтерия релиз 497
Ошибка выявлена в результате Тестирования и Исправления ИБ
SeltaLog
in_sql:
SELECT MAINID=MAIN.ID, SUBID=SUB.ID INTO #TMPACCSTBL
FROM _1SACCS MAIN,_1SACCS SUB
WHERE MAIN.PLANID=SUB.PLANID AND SUB.SCHKOD>=RTRIM(MAIN.SCHKOD) AND SUBSTRING(SUB.SCHKOD,1,DATALENGTH(RTRIM(MAIN.SCHKOD)))=RTRIM(MAIN.SCHKOD) AND SUB.ISFOL
DER=0
out_sql:
SELECT MAIN.ID AS MAINID, SUB.ID AS SUBID INTO TEMPORARY TMPACCSTBL FROM _1SACCS MAIN, _1SACCS SUB WHERE MAIN.PLANID=SUB.PLANID AND SUB.SCHKOD>=to_mchar(RT
RIM(to_char(MAIN.SCHKOD))) AND CAST(SUBSTR (SUB.SCHKOD, 1, length(to_char(to_mchar(RTRIM(to_char(MAIN.SCHKOD)))))) as mchar(length(to_char())=to_mchar(RTRI
M(to_char(MAIN.SCHKOD))) AND SUB.ISFOLDER=0
Comment 1 Станислав Коробейников 2009-01-16 13:18:30 MSK
Сделал работает. Новая версия лежит на ftp в 1.0.5

Была проблема из-за:
in_sql:
SUBSTRING(a,b,c)
out_sql:
CAST(SUBSTR (a, b, c) as mchar(c))

in_sql:
DATALENGTH(a)
out_sql:
length(to_char(a))

in_sql:
RTRIM(b)
out_sql:
to_mchar(RTRIM(to_char(b)))

Но все вместе работает неправильно. 

in_sql:
SUBSTRING(a,b,DATALENGTH(RTRIM(c)))
out_sql:
CAST(SUBSTR (a, b, length(to_char(to_mchar(RTRIM(to_char(c)))))) as mchar(length(to_char())char())


Все из-за того, что в парсере, второй раз используется,не 
add_token($$, $7);, а add_token($$, create_token_hard($7->text)), и уже не парсит саму $7.

Сделал по другому без использования второй раз $7.