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

Ниче не понимаю

Добавлено: 10 ноя 2006, 19:36
Gameus_
В супорте в модуле sql выплняю запрос

Код: Выделить всё

select KATSOPR.NSOPR,katsopr.dsopr,
katorg.name,
katmc.name,katmc.barkod, if (GROUPMC.kod=4302,'1','2'),spsopr.price,spsopr.KOLFACT,spsopr.price*spsopr.KOLFACT
 from   KATSOPR,katnazna ,shipment,ttndoc,spsopr,katmc,katorg,GROUPMC
where (( '201' == katsopr.vidsopr
    and '1109' == ttndoc.wtable
    and katsopr.nrec == ttndoc.cdoc
    and ttndoc.cshipment == shipment.nrec
    and katsopr.cnazna == katnazna.nrec
    and katsopr.nrec ==spsopr.csopr
    and katsopr.corg ==katorg.nrec
    and spsopr.CMCUSL ==katmc.nrec
    and katmc.CGROUPMC ==GROUPMC.nrec))
    and upcase(katnazna.name)= upcase(shipment.name)
    and spsopr.KOLFACT=0.5
    and spsopr.price=2203.40; 
выдает 5 строчек результата....
проверяю в галке по номерам полученых накладных
цена стоит 2203.39
Как такое может быть ? :-?

Добавлено: 13 ноя 2006, 11:42
san
я думаю что не стоит в where делать ограничения равенства на поля типа double :eek:

Добавлено: 13 ноя 2006, 12:01
aleks1232321
Да уж, с данными типа double в гал-ке всегда большая проблема:
написал 2203.40, а в базе м.б. число, типа 2203.3899978,
написал 50.00, а в жизни 50.00000000001

Добавлено: 13 ноя 2006, 12:23
Gameus_
а как быть ?

Добавлено: 13 ноя 2006, 12:29
edward_K
1.в галке все таки вычислите spsopr.price по ctrl+F4
или в сапорте найдите сию запись и посмотрите чего там.
наверное там 2203.3999999999 - в галке форматер наверное просто обрезал хвост и все
2.в = - конфигратор - параметры
посмотрите в секции Common DeltaDouble - может там большее число стоит.

Добавлено: 13 ноя 2006, 13:16
Gameus_
в галке по ctrl+F4 стоит 2203,39
в конфигураторе 0.000000000000020

Добавлено: 13 ноя 2006, 13:36
edward_K
а если
string(spsopr.price,20,10)?

Добавлено: 13 ноя 2006, 15:11
Gameus_
не помогает :(
но похоже нашли в чем проблема...
в настройках галки стояло округление, так что похоже запрос нормально отрабатывает, а касяк допустили настройщики

PS 3 дня головой об стену, а все из-за чего ? :)

Добавлено: 15 ноя 2006, 12:11
Saltava
И это не в последний раз, когда такое будет происходить :)
Я тут тож башку ломал над одной проблеммой, а оказалось, что просто юзеры слепые :)