BEGIN
FOR
SELECT CR2.ID, CR2.ProvideRow_ID, CR2.Quantity, CR2.LocalTAmountWithoutVAT, CR2.Parent_ID,
(select DQ.DocumentType from DocQueues DQ where
DQ.ID in (select CR.DocQueue_ID from CashReceived CR where CR2.Parent_ID = CR.ID)),
(select DQ.Code from DocQueues DQ where
DQ.ID in (select CR.DocQueue_ID from CashReceived CR where CR2.Parent_ID = CR.ID)),
(select CR.OrdNumber from CashReceived CR where CR2.Parent_ID = CR.ID),
(select P.Code from Periods P where
P.ID in (select CR.Period_ID from CashReceived CR where CR2.Parent_ID = CR.ID)),
(select CR.DocDate$DATE from CashReceived CR where CR2.Parent_ID = CR.ID)
FROM CashReceived2 CR2 WHERE
CR2.Parent_ID = :ACashReceived_ID AND CR2.RowType = 3
INTO :CR2_ID, :CR2_ProvideRow, :CR2_Quantity, :GainAmount, :Header_ID,
:HeaderDocType, :DocQueueCode, :OrdNumber, :PeriodCode, :DocDate$DATE
DO BEGIN
CostAmount = 0;
HeadDispName = DocQueueCode || '-' || OrdNumber || '/' || PeriodCode;
SUSPEND;
/* Dodaci listy */
FOR
SELECT (DL.LocalTAmount/DL.Quantity)*:CR2_Quantity, DL.Parent_ID,
(select X.DocumentType from StoreDocuments X where X.ID = DL.Parent_ID),
(select DQ.Code from DocQueues DQ where
DQ.ID in (select SD.DocQueue_ID from StoreDocuments SD where DL.Parent_ID = SD.ID)),
(select SD.OrdNumber from StoreDocuments SD where DL.Parent_ID = SD.ID),
(select P.Code from Periods P where
P.ID in (select SD.Period_ID from StoreDocuments SD where DL.Parent_ID = SD.ID)),
(select SD.DocDate$DATE from StoreDocuments SD where DL.Parent_ID = SD.ID)
FROM StoreDocuments2 DL WHERE
DL.ID = :CR2_Providerow and DL.RowType = 3
INTO :CostAmount, :Header_ID, :HeaderDocType, :DocQueueCode, :OrdNumber,
:PeriodCode, :DocDate$DATE
DO BEGIN
GainAmount = 0;
HeadDispName = DocQueueCode || '-' || OrdNumber || '/' || PeriodCode;
SUSPEND;
END
FOR
/* Vraceni pokladnich prijmu */
SELECT RCR.Quantity, RCR.ProvideRow_ID, RCR.LocalTAmountWithoutVAT, RCR.Parent_ID,
(select DQ.DocumentType from DocQueues DQ where
DQ.ID in (select RC.DocQueue_ID from RefundedCashReceived RC where RCR.Parent_ID = RC.ID)),
(select DQ.Code from DocQueues DQ where
DQ.ID in (select RC.DocQueue_ID from RefundedCashReceived RC where RCR.Parent_ID = RC.ID)),
(select RC.OrdNumber from RefundedCashReceived RC where RCR.Parent_ID = RC.ID),
(select P.Code from Periods P where
P.ID in (select RC.Period_ID from RefundedCashReceived RC where RCR.Parent_ID = RC.ID)),
(select RC.DocDate$DATE from RefundedCashReceived RC where RCR.Parent_ID = RC.ID)
FROM RefundedCashReceived2 RCR where
RCR.RSource_ID = :CR2_ID and RCR.RowType = 3
INTO :RCR_Quantity, :RCR_ProvideRow, :GainAmount, :Header_ID, :HeaderDocType,
:DocQueueCode, :OrdNumber, :PeriodCode, :DocDate$DATE
DO BEGIN
CostAmount = 0;
GainAmount = (GainAmount * (-1));
HeadDispName = DocQueueCode || '-' || OrdNumber || '/' || PeriodCode;
SUSPEND;
FOR
/* Vratky */
SELECT (VR.LocalTAmount/VR.Quantity)*:RCR_Quantity, VR.Parent_ID,
(select X.DocumentType from StoreDocuments X where X.ID = VR.Parent_ID),
(select DQ.Code from DocQueues DQ where
DQ.ID in (select SD.DocQueue_ID from StoreDocuments SD where VR.Parent_ID = SD.ID)),
(select SD.OrdNumber from StoreDocuments SD where VR.Parent_ID = SD.ID),
(select P.Code from Periods P where
P.ID in (select SD.Period_ID from StoreDocuments SD where VR.Parent_ID = SD.ID)),
(select SD.DocDate$DATE from StoreDocuments SD where VR.Parent_ID = SD.ID)
FROM StoreDocuments2 VR WHERE
VR.ID = :RCR_ProvideRow and VR.RowType = 3
INTO :CostAmount, :Header_ID, :HeaderDocType, :DocQueueCode, :OrdNumber,
:PeriodCode, :DocDate$DATE
DO BEGIN
GainAmount = 0;
CostAmount = (CostAmount * (-1));
HeadDispName = DocQueueCode || '-' || OrdNumber || '/' || PeriodCode;
SUSPEND;
END
END
END
END;