ئhGbF dClassesZkf TStringList-SB>g .TStringList<*cdBdeZkcdDBTablesZkfTQuery-gTQuery.SetQuerygTQuery.ExecSQLg.TQueryg TQuery.CreategTDBDataSet.SetDatabaseName !~cdSysUtilsZkgTrim~ gIntToStrJ 7g FloatToStrFǜf TFloatFormat5XgffFixedAg UpperCase~ cdSysInitZkcdSystemZkfLongint|ofBooleanNcfString8f AnsiString8fInteger|ofRealBYrPgTObject.Create݋Rg TObject.Free݋Rg @LStrCat3X,Tdg@HandleFinallyX,Tdg@LStrClrgPosg@LStrPosX,TdgLengthg@LStrLen?g@LStrAsgX,Tdg @VarToRealX,Tdg @VarToIntX,Tdg@VarClrX,Tdg @LStrArrayClrX,TdgNullX:7g @LStrCatNX,Tdg@VarCmpX,Tdg@LStrCatX,TdfCurrency,eigIncgTruncg @LStrLAsgX,Tdg@TRUNCX,TdgFalse1og VarIsNullcgTrue1og @VarFromIntX,Tdg@LStrCmpX,TdfVariantJh7g@FinalizeArrayX,TdceComCtrlsZkgTProgressBar.SetPositionceControlsZkgTControl.SetTextc_gTControl.SetVisiblee_ceFormsZkgTCustomForm.Createj-gTCustomForm.Showj-gTCustomForm.Hidej-gTCustomForm.Closej-ceDbZkgTDataSet.Close4g TDataSet.Open4gTDataSet.FieldByName4gTDataSet.GetFieldValue4g TDataSet.Next4ceProgress f TProgressForm%g TProgressForm.ProcessWinMessagesg.TProgressForm<ce MyMessage f TMessagesFormcO<*g.TMessagesForm8ceMain gsDefaultRevAdmRategsDefaultExpAdmRategMainForm.|ceGenFns g curFormat:jgcurSumPhgCurr2Str`bgUpdateBatchStatusz3>ce DateFunctions gStandardDateString_tceDataMod c .1f nBatchf( sBatchf* qryTNf, qryTTf. FieldStringListf0 ValueStringListf2 qryStringListf4 sListValuesf6 sListFieldsf8 frmProgressf< nCountf> Factorf@ nTotalCountfB nBlockfD RecordLostFeesf H RecordLostDiscountf J sAdminFeeRevElementfN sAdminFeeExpElementfP sAdminFeeVRTRevElementfR sAdminFeeVRTExpElementfT sLostAdminFeeRevElementfV sLostDiscountRevElementfX sInfoMessagefZ rAdminFeeRevRatef\ rAdminFeeExpRatef^ rAppliedRatef` lRevenuef b lStdRateNotAppliedf d sFeeRevenueTransactionfh sFeeExpenditureTransactionfj sFeeLostTransactionfl sFeeLostDiscountTransactionfn sDiscountTransactionfp sVRTIDft(DeleteOldAdminFeesX,Td  qryStringListfc(GetAdminReferencesX,Td1 qryElementf qry qryLook sDescriptionfc( PrepareTNdataX,Td$c(ApplyDiscountsk<! DiscountIDb!FeeLostDiscountb MessageFormf sDiscountf sFeeLostDiscountf sShortFieldsf sShortValuesf curExGSTf curIncGSTf curGSTfc(AppendFeeRecordX,Td nListValuesc(SaveAllAdminFeesptam! nThisBatchb" lSuccessfulf MessageForm lDiscountedServicesf AdminFeesDuef curExGSTf curIncGSTf curGSTfc( FinalizationX,TdQ! c( AdminCharges!cD@lc"U3E3Uhd0d EEQ4EQ4EQ4E UEQ4EQ4U3Uhd0d 3ZYYdhE3ZYYdhEYY]DELETE tTransactiongFROM (tTransaction INNER JOIN tTransactionType ON tTransaction.TransactionTypeID = tTransactionType.ID)YLEFT JOIN tTransactionGroup ON tTransactionType.TransactionGroupID = tTransactionGroup.IDWHERE tTransaction.BatchID=.AND tTransactionGroup.Description LIKE 'ADMIN'U3QQQQQQQQSVW3UhHd0d E3ɲ`3ɲغ`R@tQ4Q4t1RTUEUURJQDQ4t1RTUEUURJQD, Q4t1RTUEUURJQDd Q4t1RTUEUURJQD Q4t1RTUEUURJQD Q4t1RTUEUURJQD Q4t3ME8 <$EPURJQDD Q4t3ME8 <$EPUR@x Q4 Q4t& RTUUR@ Q4#$ UQXEUU8 ~1M EUUUH ~.M EUU|U\ ~.M EUU=Ut ~,M EUUu u u u R@ Q4t ,M EUUR@ Q4t\ ,M EUUR@R@E3ZYYdhOEE_^[]dbPPdata!SELECT ParmNumber FROM tParameter*WHERE (Parm LIKE 'AdminFeeRevenueElement')0 ParmNumber.WHERE (Parm LIKE 'AdminFeeExpenditureElement')-WHERE (Parm LIKE 'AdminFeeVRTRevenueElement')1WHERE (Parm LIKE 'AdminFeeVRTExpenditureElement').WHERE (Parm LIKE 'LostAdminFeeRevenueElement').WHERE (Parm LIKE 'LostDiscountRevenueElement')'WHERE (Parm LIKE 'AdminFeeRevenueRate')B+WHERE (Parm LIKE 'AdminFeeExpenditureRate')SELECT id FROM tStatus!WHERE (Status LIKE 'Information')idKSELECT id, description FROM tTransactionType WHERE description LIKE '%Fee%' descriptionREVENUE EXPENDITURE LOST DISCOUNTLOST9999995999999699999979999998ASELECT id FROM tTransactionType WHERE description LIKE 'Discount'99999990SELECT id FROM tCustomer WHERE ShipTo LIKE 'VRT'9999990U3QQQQQSVW3Uhd0d R@R@ƺ,hP5hdpRTUuhúM캐Et;ƺ3RTUuhdúMEt;ƺ3RTUuhdúMEt;ƺ3RTUuhdúMEt;ƺ$3RTUuhdúM<Et;ƺP3<RTUuhdúMdEt;ƺx3dRTUuhdúQ4Q4M캌EtGƺ3hRL$EuhúMEtGƺ3hRL$EuhúQ4Q4ƺ=thúMEtnƺ$3RTUuhdú1ú8ƺ$35hdúMDEt;ƺ`3DRTUuhdúM|Et;ƺ3|RTUuhdúM캴Et;ƺ3RTUuhdúMEt;ƺ 3RTUuhdúQ4Q43ZYYdhEE_^[](BatchID,ServiceID,GSTFlag,VALUES (, ServiceID,1, ServiceTypeIDServiceTypeID,CentreID CentreID, ActivityID ActivityID, SubledgerID SubledgerID, LocationID LocationID,PersonID PersonID,FromDate FromDate,'',ToDateToDate, RevenueFlag,1, CustomerID CustomerID,0,CustomerCentreIDCustomerCentreID,CustomerActivityIDCustomerActivityID,CustomerElementIDCustomerElementID,CustomerSubledgerIDCustomerSubledgerID,USVW3ɉMȉMĉMMMMUE3Uh.d0d 3ɲEEDE3ҡEUEUR@pQ4Q4Q40Q4UġMčEȺLUȋQ4tQ4Q4Q44Q4Q4 RTR@$ Q4P Q4 Q4 Q4( Q4| Q4 Q4< Q4h Q4 Q4 Q4UġMčEȺLUȋQ4tQ4Q4L Q4 Q4| Q4 Q4 Q4 Q4 Q4Q4 LEEE=3ҡ=d33ҡR@R@R@3ҡǺp35húǺ35húEE3uhúuuhERP%RH <$}ܛ-mɃ<$}̛uuuu}ԛǺ3uu܍Euhú3uu̍Euhú3uuԍEuhú=tNjUËUǺ3m <$Euhú3m <$Euhú3m <$Euhú С3ҡ-3ZYYdh5EĺE_^[] Preparing to apply discounts ...SELECT Count(*) AS TotalCountYFROM (SELECT tTransaction.ServiceID, tTransaction.ServiceTypeID, tTransaction.CustomerID,( Sum(tTransaction.AmountExGST) AS TOTAL FROM tTransaction WHERE tTransaction.BatchID = # AND tTransaction.StatusID IS NULL" AND tTransaction.RevenueFlag = 1\ GROUP BY tTransaction.ServiceID, tTransaction.ServiceTypeID, tTransaction.CustomerID) AS TN LEFT JOIN tDiscount ON ((TN.ServiceTypeID = tDiscount.ServiceTypeID) AND (TN.CustomerID = tdiscount.CustomerID) AND (tDiscount.Active = 1))9WHERE tDiscount.DiscountRate IS NOT NULL AND TN.TOTAL > 0 TotalCount#SELECT TN.*, tDiscount.DiscountRatejFROM (SELECT tTransaction.ServiceID, tTransaction.ServiceTypeID, Sum(tTransaction.AmountExGST) AS "TOTAL",+ Min(tTransaction.FromDate) AS "FromDate",' Max(tTransaction.ToDate) AS "ToDate",K tTransaction.CentreID, tTransaction.ActivityID, tTransaction.SubledgerID,J tTransaction.LocationID, tTransaction.PersonID, tTransaction.CustomerID,a tTransaction.CustomerCentreID, tTransaction.CustomerActivityID, tTransaction.CustomerElementID," tTransaction.CustomerSubledgerID FROM (tTransactionV LEFT JOIN tTransactionType ON tTransaction.TransactionTypeID = tTransactionType.ID)\ LEFT JOIN tTransactionGroup ON tTransactionType.TransactionGroupID = tTransactionGroup.IDT GROUP BY tTransaction.ServiceID, tTransaction.ServiceTypeID, tTransaction.CentreID,4 tTransaction.ActivityID, tTransaction.SubledgerID,) tTransaction.CustomerSubledgerID) AS TN LEFT JOIN tDiscount ON ((TN.ServiceTypeID = tDiscount.ServiceTypeID) AND (TN.CustomerID = tDiscount.CustomerID) AND (tDiscount.Active = 1))=WHERE (tDiscount.DiscountRate IS NOT NULL) AND (TN.TOTAL > 0)ORDER BY TN.ServiceID Applying administration fees ...Applying discounts ...B StatusID,,ElementID,TransactionTypeID, DiscountRate?TOTAL?#AmountExGST,GSTAmount,AmountIncGST))UjSVW3Uhd0d R@Q4RK|#C3M֡8W UQ4FKuQ4RK|#C3M֡8W UQ4FKuQ43ZYYdhE_^[Y]INSERT INTO tTransactionU jjIuQSVWUE3Uh$d0d EEUԡEԍUUظ3ɲ<3ɲ<PQ4lQ4Q4t uCMĺEu(MĺEPE3UXu38W t uCMĺEu(MĺEPE3UXu3R@E Q4Q4(Q4UԋEMԍEغlU؋Q4MĺEu,MĺEPE3UXt3ER@} Q4Q4,Q4pQ4Q4Q4pQ4Q4Q4$Q4`Q4Q4Q4dQ4Q4 Q4HQ4Q4(Q4TQ4|Q4Q4Q4hHUԡuhpEغU؋Q4Q4`Q4Q4dQ4Q4LQ4dQ43ɲ3ɲ3ҋQ`33ҡt-t"E, : 3ҡ?333R@R@R@3ҡMĺEPEUXMĺEu,MĺEPE3UXE=55h(455h(5h(=tdMĺXEċu$XRP_MĺtEċu!tRPRH <$}m5<$}ܛuuuu}䛸5uuEuh(5uu܍Euh(5uuEuh=U؋QXE؋u"55h( 55h(55h(MĺXEċu$XRPU؋QXE؋u"55h( 55h(55h(MĺtEċu!tRPRH <$}m5<$}ܛuuuu}䛸5uuEuh(5uu܍Euh(5uuEuh"55h(455h(5h(=t%%RH <$}m5<$}ܛuuuu}䛸5uuEuh(5uu܍Euh(5uuEuh}u!MĺEċE=  С3 (r3 Сh4UԡuhXEغUء3ҡg3ҡ"EtE, 3ZYYdh+EEԺ_^[]dbPPdataSELECT ParmNumberFROM tParameterWHERE Parm LIKE 'CalcLostFees' ParmNumber"WHERE Parm LIKE 'CalcLostDiscount'SELECT tBatchType.EarlyRevenue FROM tBatch:LEFT JOIN tBatchType ON tBatch.BatchTypeID = tBatchType.IDWHERE tBatch.ID = EarlyRevenueSELECT *nFROM (SELECT (TN2.RENT + TN2.CALL + TN2.OTHER) AS TOTAL, TN2.*, tServiceType.AdminFee, tDiscount.DiscountRate,9 tDiscount.NonStdRevAdminFee, tDiscount.NonStdExpAdminFee<FROM ((SELECT TN1.ServiceID, TN1.ServiceTypeID, TN1.RevFlag,R Sum(CASE TN1.Description WHEN 'RENT' THEN TN1.AmountExGST ELSE 0 END) AS "RENT",R Sum(CASE TN1.Description WHEN 'CALL' THEN TN1.AmountExGST ELSE 0 END) AS "CALL",T Sum(CASE TN1.Description WHEN 'OTHER' THEN TN1.AmountExGST ELSE 0 END) AS "OTHER"," Min(TN1.FromDate) AS "FromDate", Max(TN1.ToDate) AS "ToDate",0 TN1.CentreID, TN1.ActivityID, TN1.SubledgerID,/ TN1.LocationID, TN1.PersonID, TN1.CustomerID,^ TN1.CustomerCentreID, TN1.CustomerActivityID, TN1.CustomerElementID, TN1.CustomerSubledgerID[ FROM (SELECT tTransaction.ServiceID, tTransaction.ServiceTypeID, tTransaction.AmountExGST,. tTransaction.FromDate, tTransaction.ToDate,e tTransaction.CentreID, tTransaction.ActivityID, tTransaction.SubledgerID, tTransaction.LocationID,2 tTransaction.PersonID, tTransaction.CustomerID,c tTransaction.CustomerCentreID, tTransaction.CustomerActivityID, tTransaction.CustomerElementID,i tTransaction.CustomerSubledgerID, (CASE tTransaction.RevenueFlag WHEN 1 THEN 1 ELSE 0 END) AS RevFlag, tTransactionGroup.Description FROM tTransaction LEFT JOIN 0 (tTransactionType LEFT JOIN tTransactionGroupB ON tTransactionType.TransactionGroupID = tTransactionGroup.ID): ON tTransaction.TransactionTypeID = tTransactionType.ID WHERE tTransaction.BatchID = ) AS TN1g GROUP BY TN1.ServiceID, TN1.ServiceTypeID, TN1.RevFlag, TN1.CentreID, TN1.ActivityID, TN1.SubledgerID,f TN1.CustomerCentreID, TN1.CustomerActivityID, TN1.CustomerElementID, TN1.CustomerSubledgerID) AS TN2? LEFT JOIN tServiceType ON TN2.ServiceTypeID = tServiceType.ID) LEFT JOIN tDiscount ON ((TN2.ServiceTypeID = tDiscount.ServiceTypeID) AND (TN2.CustomerID = tdiscount.CustomerID) AND (tDiscount.Active = 1))) AS TN3WHERE TOTAL > 0ORDER BY ServiceIDLoading the transaction data...Administration..."Determining administration fees...RevFlagAdminFee ElementID,,StatusID,TransactionTypeID,NonStdRevAdminFeeNonStdExpAdminFeeTOTAL A#AmountExGST,GSTAmount,AmountIncGST))ElementID,TransactionTypeID, CustomerID DiscountRateBProcessing (transaction: )...U3Uhd0d 3ZYYdh]Ã-m 6"  :    8   <>   >  >  > $&$ BL H BL H BL H BL H$ F  H  F  H  F  H  F  H $  HL H $  HL H$888NP >R V X (TR V X (T>> X  XR V XT X X TR V XTR V XTR V XTR V XT>>N> <) H   ~" x ``  :           :  x  x     8          X T X T``TT       "* X T T T IHH XTTT I>>      bt  4PP <#III 2 2       I>   > Q X Q" l  Q T  Q T   Q TQR V    Q Q X Q" l  Q T  Q T   Q TQR V    Q QQ* Q X Q T Q T Q T I  >  >   Q X   Q T  Q X   Q  Q T      QQ* Q X Q T Q T Q T I  >  >QR V      bt   Q   bt Q QTx (         8    8 88  8QnpP <0uu >  >  >  >  >  >  >  >  >  >  >  >  >  >  >  >u <y y-~2 <.^IF  "b""b"$b"$b""b""b" <j" <j"L >"b"\"\"X 4X 4XdUTz>^>^>^>^>^>^>v>v> b2>^>^>^>^X" "&N2N*& 22,0BT6*HHH\\\  Fp #,(8 (8  NXbJ& $$$."$$$V"" b  &*$$, 8( `  @V>:4>40N2*VVV HD@@>::HD@@>40N2*VVV "@V*&N2*VVV  B   F.Ftu  .~%4 " 4 R`@p  ! u  (p xpI`pMMMMQ@p]y ]!u y a