BEGIN
-- *****************************************************************************
-- SAF-MOSS ROWS Firebird
-- *****************************************************************************
IF ((ADocumentType = '') OR ((ADocument_ID IS NULL) OR (ADocument_ID = '0000000000')))
THEN
EXIT;
-- Jen vybrane DocumentTypes
IF (ADocumentType = '03') THEN
BEGIN
mText = 'IssuedInvoices2 ';
END
ELSE
IF (ADocumentType = '60') THEN
BEGIN
mText = 'IssuedCreditNotes2 ';
END
ELSE
IF (ADocumentType = '05') THEN
BEGIN
mText = 'CashReceived2 ';
END
ELSE
IF (ADocumentType = '07') THEN
BEGIN
mText = 'RefundedCashReceived2 ';
END
ELSE
IF (ADocumentType = '62') THEN
BEGIN
mText = 'VATIssuedDInvoices2 ';
END
ELSE
IF (ADocumentType = '63') THEN
BEGIN
mText = 'VATIssuedDCreditNotes2 ';
END
ELSE
BEGIN
EXIT;
END
mSQL =
'SELECT ' ||
'B.ID, ' ||
'B.RowType, ' ||
'B.PosIndex, ' ||
'B.Text, ' ||
'B.VATRate_ID, ' ||
'B.VATIndex_ID, ' ||
'B.TAmountWithoutVAT, ' ||
'B.TAmount, ' ||
'B.LocalTAmountWithoutVAT, ' ||
'B.LocalTAmount, ' ||
'B.Division_ID, ' ||
'B.BusOrder_ID, ' ||
'B.BusTransaction_ID, ' ||
'B.BusProject_ID, ' ||
'B.MOSSService_ID, ';
IF (
(ADocumentType = '03') OR (ADocumentType = '60') OR
(ADocumentType = '05') OR (ADocumentType = '07')
)
THEN
BEGIN
mSQL = mSQL ||
'B.Unitrate, ' ||
'B.Quantity, ' ||
'B.QUnit, ' ||
'B.StoreCard_ID, ' ||
'SC.Name AS StoreCardName ';
END
ELSE
IF (
(ADocumentType = '62') OR (ADocumentType = '63')
)
THEN
BEGIN
mSQL = mSQL ||
'0 AS Unitrate, ' ||
'0 AS Quantity, ' ||
'CAST('''' AS VARCHAR(5)) AS QUnit, ' ||
-- 'CAST(''0000000000'' AS CHAR(10)) AS StoreCard_ID, ' ||
'NULL AS StoreCard_ID, ' ||
'CAST('''' AS VARCHAR(250)) AS StoreCardName ';
END
mSQL = mSQL ||
'FROM ';
mSQL = mSQL || :mText;
mSQL = mSQL ||
'B ' ||
'LEFT JOIN MOSSServices MSS ON MSS.ID = B.MOSSService_ID ' ||
'JOIN VATRates VR ON VR.ID = B.VATRate_ID ' ||
'JOIN VATIndexes VI ON VI.ID = B.VATIndex_ID ';
IF (
(ADocumentType = '03') OR (ADocumentType = '60') OR
(ADocumentType = '05') OR (ADocumentType = '07')
)
THEN
BEGIN
mSQL = mSQL ||
'LEFT JOIN StoreCards SC ON SC.ID = B.StoreCard_ID ';
END
mSQL = mSQL ||
'WHERE B.Parent_ID = ' || '''' || :ADocument_ID || '''';
FOR EXECUTE STATEMENT mSQL
INTO
:ID, :RowType, :POSIndex, :Text, :VATRate_ID, :VATIndex_ID,
:TAmountWithoutVAT, :TAmount, :LocalTAmountWithoutVAT, :LocalTAmount,
:Division_ID, :BusOrder_ID, :BusTransaction_ID, :BusProject_ID, :MOSSService_ID,
:UnitRate, :Quantity, :QUnit, :StoreCard_ID, :mText
DO BEGIN
IF ((StoreCard_ID IS NOT NULL) AND (StoreCard_ID <> '0000000000')) THEN
BEGIN
Text = :mText;
END
SUSPEND;
END
END