Разные результаты в одном и том же запросе

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Разные результаты в одном и том же запросе

Сообщение Nick »

Здравствуйте!
Такая вот штука обнаружилась. Сделал я SQL запрос для составления акта инвентаризации расходов будущих периодов. Запрос получился не сложный в общем-то:

Select
KatOS.NameOS (Length=50, FieldTitle='Наименование' ),
KatOs.InNum (Length=20, FieldTitle='Код' ),
KatOs.DatOk (Length=20, FieldTitle='Дата возникновения расходов'),
SpKatOS.SrokIsp(Length=20, FieldTitle='Срок погашения расходов'),
SpKatOS.IspCur (Length=20, FieldTitle='Кол-во мес использования'),
SpKatOS.Stoim (Length=20, FieldTitle='Первоначальная сумма расходов БП'),
SpKatOS.SIznM (Length=20, FieldTitle='Сумма износа за месяц'),
SpKatOS.SumIzn (Length=20, FieldTitle='Расчетная сумма к списанию'),
SpKatOS.Stoim-SpKatOS.SumIzn (Length=20, FieldTitle='Остаток расходов на начало инв-ии')

Where
(( 16 /== KatOS.tidk
and KatOS.nRec /== SpKatOS.ckatos
and spkatos.cnastros /== nastros.nrec
))
and (nastros.name='Бухгалтерский');


И он выдает правильные данные. А потом этот запрос оформил в ARD - все то же, только через CreateView и потом так:

.{Table 'MyView.KatOS'
.{Table 'MyView.SpKatOS'

[Поля]

.}
.}

И данные в этом случае по полям

SpKatOS.SrokIsp
MyView.SpKatOS.SumIzn (особенно здесь!)

получаю другие - не координально другие, но и на погрешности округления это списать как-то тяжело - довольно большое расхождение. ARD причем сделан НЕ в Excel, а обычный frm (в ARD-Excel кстати, та же беда). Все вещественные поля сделаны в формате &&&&.&&

Из-за чего такой косяк произошел, не подскажете?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Разные результаты в одном и том же запросе

Сообщение edward_K »

насчет расхождений не скажу - хоть цифири бы привели по карточно - но селект написан неправильно.
гораздо лучше и надежней и быстрее на порядок еcли бы написали так
Where
(( 16 == KatOS.tidk
and 16 == nastros.tidk
and 'Бухгалтерский' == nastros.name
and KatOS.nRec /== SpKatOS.ckatos
and nastros.nrec==spkatos.cnastros
))
;
мне не совсем понятно, зачем вы указываете length для всех полей - для полей word и double это вообще не логично. Для строковых имеет смысл при выгрузке в дбф,но не здесь.
FieldTitle в ard отчете тоже не знаю как использовать.
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Разные результаты в одном и том же запросе

Сообщение Nick »

Ок, по порядку:

Цифири таковы:

SQL (SpKatOS.SumIzn): - так верно

175290.03
3281.49
1042639.14
2402945.53
2458048.83
53836.05

ARD (SpKatOS.SumIzn):

185030.15
3387.58
1100574.10
2536466.85
2594632.01
56827.49

Length и FieldTitle использовались конечно же только в SQL, а про Length для double - признаю, ступил .`)

С применением Вашего Where в ARD от все равно попадают неверные данные, и конечно, стало работать быстрее:
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Разные результаты в одном и том же запросе

Сообщение edward_K »

что то все таки неправильно в вашем ард.
а по Ctrl+F4 в Гале не пробовали сравнить?
что реально то по конкретной записи?
бывают впринципе троблы при сортировках при наличии вычисляемых полей.
Hass
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49

Re: Разные результаты в одном и том же запросе

Сообщение Hass »

Nick, попробуй getfirst в АРД ввести...по SpKatOS... автоматом не понимает...
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Разные результаты в одном и том же запросе

Сообщение Nick »

В общем, сегодня взял и снова перекомпилил последний вариант отчета в slk и, о чудо - все встало на свои места (данные в столбце выровнялись) причем, ничего я не менял - как объяснить этот феномен - не знаю. Видимо - это глюк.

По F4, кстати, текст ARD в Галактике не дает посмотреть почему-то, а обычных отчетов текст - пожалуйста. Forms.FCenv=On. Вроде как это единственная настройка, которая отвечает за возможность просмотра/компиляции исходного текста форм в Галактике.

"...Nick, попробуй getfirst в АРД ввести...по SpKatOS... автоматом не понимает...". Я чего-то не понял мысли/связи - если не трудно - разжуйте пожалуйста.

И остался вопрос такой - как правильно выглядит роль NastrOs в Галактике? За что она отвечает - за выбор метода учета/разреза (бухгалтерский, налоговый) через который смотрим на ОС/НМА? В общем, почему без нее не обойтись?

Всем спасибо за помощь :)
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Разные результаты в одном и том же запросе

Сообщение edward_K »

потому как в таблах spkatos,spmove,spmoveos,arciznos данные живут по несколько записей на одну карточку.
и тебе нужно отобрать какие же относяться к твоему методу.
+ настройки каждого метода, хозоперация амортизации например по умолчанию.
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Разные результаты в одном и том же запросе

Сообщение Deinis »

>> как правильно выглядит роль NastrOs в Галактике?

NastrOS - это список методов учета инв. объектов ОС/НМА в Галактике.
Записи в NastrOS с TiDk = 15 - список методов учета ОС
Записи в NastrOS с TiDk = 16 - список методов учета НМА
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Разные результаты в одном и том же запросе

Сообщение Nick »

Спасибо за разъяснения 8)
Ответить