begin
DocumentType = 'PS';
Category = 0;
CashDebit = 0;
VATDebit = 0;
ThroughItemCredit = 0;
ThroughItemDebit = 0;
IncomeType_ID = APOS_IT_ID;
ExpenseType_ID = Null;
Error = 0;
IF ((IncomeType_ID is Null) or (IncomeType_ID='A000000000')) THEN
Error = 1;
IF (ADateFrom$DATE < 42736) THEN
BEGIN
FOR
SELECT B.DocDate$DATE, A.LocalPayment, A.LocalVATAmount,
B.Description, B.ID, A.LocalPayment - A.LocalVATAmount,
D.Code || '-' || B.OrdNumber || '/' || P.Code, D.Name,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code
FROM POSSummaredDocuments4 A
JOIN PaymentTypes PT ON PT.ID = A.PaymentType_ID
JOIN POSSummaredDocuments B ON B.ID = A.Parent_ID
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
WHERE
(PT.PaymentKind = 1) and (B.DocDate$DATE < :ADateTo$DATE) and (B.DocDate$DATE >= :ADateFrom$DATE)
INTO
:DocDate$DATE, :CashCredit, :VATCredit, :Text, :Document_ID, :Amount, :DocumentDisplayName, :mText, :Sort_DocumentDisplayName
DO BEGIN
IF (Text = '') THEN
Text = mText;
SUSPEND;
END
END
ELSE
BEGIN
/* od 1.1.2017 se doklady z POSu vykazuji v deniku novym zpusobem */
FOR
SELECT A.DocDate$DATE, A.LocalAmount, A.LocalAmount - A.LocalAmountWithoutVAT,
A.Description, A.ID, A.LocalAmountWithoutVAT,
D.Code || '-' || A.OrdNumber || '/' || P.Code, D.Name,
D.Code || '-' || IB_LPad(A.OrdNumber, 8, '0') || '/' || P.Code
FROM POSSummaredDocuments A
JOIN DocQueues D ON D.ID = A.DocQueue_ID
JOIN Periods P ON P.ID = A.Period_ID
WHERE
(A.DocDate$DATE<:ADateTo$DATE) and (A.DocDate$DATE>=:ADateFrom$DATE)
INTO
:DocDate$DATE, :CashCredit, :VATCredit, :Text, :Document_ID, :Amount, :DocumentDisplayName, :mText, :Sort_DocumentDisplayName
DO BEGIN
IF (Text = '') THEN
Text = mText;
SUSPEND;
END
END
/* A jeste hotovostni Vydeje z pokladniho prodeje */
/* bez plateb dokladu */
DocumentType = 'CP';
Category = 1;
CashCredit = 0;
VATCredit = 0;
VATDebit = 0;
ThroughItemDebit = 0;
Amount = 0;
IncomeType_ID = Null;
ExpenseType_ID = 'A000000000';
Error = 0;
IF (ADateFrom$DATE < 42736) THEN
BEGIN
FOR
SELECT B.DocDate$DATE, B.LocalAmount, B.LocalAmount,
B.Description, B.ID, D.Code || '-' || B.OrdNumber || '/' || P.Code, D.Name,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code
FROM POSCashPaid B
JOIN PaymentTypes PT ON PT.ID = B.PaymentType_ID
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
WHERE
(PT.PaymentKind = 1) and (B.DocDate$DATE < :ADateTo$DATE) and (B.DocDate$DATE >= :ADateFrom$DATE)
AND (B.PDocument_ID IS NULL)
INTO
:DocDate$DATE, :CashDebit, :ThroughItemCredit, :Text, :Document_ID, :DocumentDisplayName, :mText, :Sort_DocumentDisplayName
DO BEGIN
IF (Text = '') THEN
Text = mText;
SUSPEND;
END
END
ELSE
BEGIN
/* od 1.1.2017 se doklady z POSu vykazuji v deniku novym zpusobem */
FOR
SELECT B.DocDate$DATE, B.LocalAmount, B.LocalAmount,
B.Description, B.ID, D.Code || '-' || B.OrdNumber || '/' || P.Code, D.Name,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code
FROM POSCashPaid B
JOIN PaymentTypes PT ON PT.ID = B.PaymentType_ID
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
WHERE
(B.DocDate$DATE<:ADateTo$DATE) and (B.DocDate$DATE>=:ADateFrom$DATE)
AND (B.PDocument_ID IS NULL)
INTO
:DocDate$DATE, :CashDebit, :ThroughItemCredit, :Text, :Document_ID, :DocumentDisplayName, :mText, :Sort_DocumentDisplayName
DO BEGIN
IF (Text = '') THEN
Text = mText;
SUSPEND;
END
END
/* A jeste hotovostni Prijmy do pokladniho prodeje */
/* bez plateb dokladu */
DocumentType = 'CR';
Category = 0;
CashDebit = 0;
VATCredit = 0;
VATDebit = 0;
ThroughItemCredit = 0;
Amount = 0;
IncomeType_ID = 'A000000000';
ExpenseType_ID = Null;
Error = 0;
FOR
SELECT B.DocDate$DATE, B.LocalAmount, B.LocalAmount,
B.Description, B.ID, D.Code || '-' || B.OrdNumber || '/' || P.Code, D.Name,
D.Code || '-' || IB_LPad(B.OrdNumber, 8, '0') || '/' || P.Code
FROM POSCashReceived B
JOIN DocQueues D ON D.ID = B.DocQueue_ID
JOIN Periods P ON P.ID = B.Period_ID
WHERE
(B.DocDate$DATE<:ADateTo$DATE) and (B.DocDate$DATE>=:ADateFrom$DATE)
AND (B.PDocument_ID IS NULL)
INTO
:DocDate$DATE, :CashCredit, :ThroughItemDebit, :Text, :Document_ID, :DocumentDisplayName, :mText, :Sort_DocumentDisplayName
DO BEGIN
IF (Text = '') THEN
Text = mText;
SUSPEND;
END
end