Чтение полей с типом дата из NAV

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Чтение полей с типом дата из NAV

Mikhail Timoshin
Administrator
Добрый день.

Заметил некоторые особенности при чтении данных из Navsion с помощью  
родного NODBC драйвера. Сказанное относится, по крайней мере к версии 3.60.

Поскольку указанный драйвер не способен выдавать пустые значения полей как  
Null, то в случае с типом Date все выходит совсем интересно. Выдается дата  
01.01.1753. Для обработки данной ситуации в QV можно использовать  
следующую конструкцию:


// Дата не указана
SET NULL_DATE = -53688;

...

   Customer_Ledger_Entry_Raw:
   LOAD [Entry No.] as Entry_No,
     ...
     [Closed at Date] as Closed_at_Date;
   SQL SELECT "Entry No.",
     ...
     "Closed at Date"
   FROM "Cust. Ledger Entry";

   Customer_Ledger_Entry:
   LOAD Entry_No,
     ...
     If(IsNull(Closed_at_Date) OR Num(Closed_at_Date) = $(NULL_DATE),
       If(NOT Open, Num(Posting_Date)),Num(Closed_at_Date)) as  
Closed_at_Date_Key,  // Суррогатный ключ даты полной или частичной оплаты  
документа
     Remaining_to_be_Paid_Euro_Amount
   RESIDENT Customer_Ledger_Entry_Raw;

Из всего выше написанного строка Num(Closed_at_Date) = $(NULL_DATE)  
является узловой.

Пока, правда не знаю чем заменить пустую дату. Женя, может ты подскажешь?

--
С уважением,
Михаил Тимошин
###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://qlikview-users.182695.n3.nabble.com/>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.
Reply | Threaded
Open this post in threaded view
|

Re: Чтение полей с типом дата из NAV

Evgeny Ivanov
Можно еще использовать такую конструкцию:
if(date("Closed at Date") > date('01.01.1970'), date("Closed at Date")) as cust_closed_at_date

На что заменять NULL, сказать сложно. Может, стоит NULL оставить?

С уважением,
Евгений Иванов
Руководитель направления BI/BPM решений
Импакт-Софт

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Михаил Тимошин
Sent: Thursday, September 16, 2010 4:48 PM
To: List qvusers
Subject: [qvusers]Чтение полей с типом дата из NAV

Добрый день.

Заметил некоторые особенности при чтении данных из Navsion с помощью
родного NODBC драйвера. Сказанное относится, по крайней мере к версии 3.60.

Поскольку указанный драйвер не способен выдавать пустые значения полей как
Null, то в случае с типом Date все выходит совсем интересно. Выдается дата
01.01.1753. Для обработки данной ситуации в QV можно использовать
следующую конструкцию:


// Дата не указана
SET NULL_DATE = -53688;

...

   Customer_Ledger_Entry_Raw:
   LOAD [Entry No.] as Entry_No,
     ...
     [Closed at Date] as Closed_at_Date;
   SQL SELECT "Entry No.",
     ...
     "Closed at Date"
   FROM "Cust. Ledger Entry";

   Customer_Ledger_Entry:
   LOAD Entry_No,
     ...
     If(IsNull(Closed_at_Date) OR Num(Closed_at_Date) = $(NULL_DATE),
       If(NOT Open, Num(Posting_Date)),Num(Closed_at_Date)) as
Closed_at_Date_Key,  // Суррогатный ключ даты полной или частичной оплаты
документа
     Remaining_to_be_Paid_Euro_Amount
   RESIDENT Customer_Ledger_Entry_Raw;

Из всего выше написанного строка Num(Closed_at_Date) = $(NULL_DATE)
является узловой.

Пока, правда не знаю чем заменить пустую дату. Женя, может ты подскажешь?

--
С уважением,
Михаил Тимошин
###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://qlikview-users.182695.n3.nabble.com/>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.




###############################################
Вы получили это сообщение, потому что подписаны на список рассылки <[hidden email]>.
Архив списка рассылки: <http://qlikview-users.182695.n3.nabble.com/>.
Для отказа от подписки отправьте письмо по адресу: <[hidden email]>.
Для переключения в режим ДАЙДЖЕСТ отправьте письмо по адресу: <[hidden email]>.
Вопросы администратору отправляйте по адресу: <[hidden email]>.