Проблема с датой.......

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

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

Ответить
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Проблема с датой.......

Сообщение Pasynkova »

Здравствуйте!
Не пойму что делаю не так....

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

Procedure Saldo_Dog;


{  message(dtn+' '+add_day(dtk,1));   
  _loop SaldMoun  where          
                  (( 
                       dtn                   == Saldmoun.datesal   and
                       add_day(dtk,1)  == Saldmoun.datesal   and
                       Saldmoun.Kauos[1]   == SpKau.nrec           and
                       Saldmoun.Kauos[2]   == SpKau1.nrec         and
                       Saldmoun.Kauos[3]  /== MainPick3.crec      and
                       MainPick3.crec     /== Katorg.nrec               and
                       KatOrg.cState       == KatState.nrec             and
                       Saldmoun.Kauos[4]   == Basedoc.nrec       and
                       Basedoc.cdogovor    == Dogovor.nrec     and
                       Dogovor.cVal      == KlVal.nrec         and
                       KlVal.nrec        == CursVal.cmain      and
                       Dogovor.cviddog   == KatVidd.nrec       
                  )) 

message по дате выводит, добавляет один день к конечной дате.
А дальше не идет..... :eek:
Если убрать функцию add_day(), то все формируется, за исключением конечно сальдо на dtk.....
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

интересное у Вас ограничение по датам...
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

Упс :grin:

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


                       dtn                   <<= Saldmoun.datesal   and 
                       add_day(dtk,1) >>= Saldmoun.datesal   and 

надо было так писать....
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение PViP »

Pasynkova, а вы попробуйте сначала в переменную запихать значение add_day(dtk,1) , а потом уже переменную в подцепки пихайте!
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

PViP это может повлиять лишь на скорость выборки, на результат не повлияет.
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

Спасибо с датой я разобралась :)

Возник другой вопрос....
В таблице SPDocs поле cGrMCUsl ссылается на две таблицы, если услуга то GroupUsl, если МС то GroupMC.
Как можно сделать выбор этих групп в одном запросе???
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

подключите обе таблицы сразу, а когда выбираете данные, в зависимости от признака и берите либо из одной, либо из другой.
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

А как правильно написать условие? :???:
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

в зависимости от того, что стоит в поле spdocs.prmc, МЦ=1 Услуги=2
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

....

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

{  
               _loop SpDocs  where          
                                                (( 400               == Spdocs.tidk     and
                                                   Dogovor.nrec      == SpDocs.cdoc     and
                                                   SpDocs.CGRMCUSL   == GroupMC.nrec    and
                                                   SpDocs.CGRMCUSL   == GroupUsl.nrec   
                                                ))

                                                if  Spdocs.prmc=1     ????????????
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

А можно какой нить пример привести???
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

я так понимаю у вас Vip программа,ну вот и дальше пишите, допустим вы хотите название группы вытащить, то делайте следующее:

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

if Spdocs.prmc=1 then myName := GroupMC.name else myName := GroupUsl.name
Pasynkova
Посетитель
Сообщения: 40
Зарегистрирован: 29 окт 2008, 13:00

Сообщение Pasynkova »

Спасибки! :-)
Ответить