LeavFLow.PurgeLeaveFile - option added to purge all imported records from diagnostics.
DgDesp - method added for purging MiscTemp file.
St Georges SuperBank - validation methods confirmed.
Version 3.20G 23/11/2003
WhatsNew updated for 2003
DgDesp - method added for viewing MiscTemp file.
Version 3.20F 31/10/2003
HolSet - wizard added for changing from 3 to 4 weeks, etc
AlcCalcM - help message added
Import - validation relaxed for style #50 with no department passed.
Version 3.20E 15/09/2003
Import - tImpNode.ValidateS1 standard generic import validation now no longer attempts to validate allowance reference if the field is not followed by another
field. Means client can now incorrectly have an extra trailing comma without affecting validation.
Weekly parental leave amount increased from $325 to $334.75, and the annual rate to $17,407.
MgrRep - direct credited deductions now shown on management report itself if they exist.
RpPayRec - switch method add to url handler.
HolAsAct - facility added to select various percentages for full year termination part year period.
Statstic - employee values now returned from functions in nodes, rather than accumulated fields. Salaried employees now report correct setting made in setup screen SN9697
Backup - paths of all temp zip files set to same folder as payroll data files so no question of access rights conflict.
tVCLZip.TemporaryPath conditionally compiled to return FileLow.PathString SN10101
HolPymnt - print button added to money advance screen
Facility added to disable automatic internal backups. Field added in GlobVars, interface in FineTune, and actioned in Backup
DgDesp - CD Install Version Number Mismatch fix added to diagnostic utilities
Units DlgBtnGS, DlgBtnS removed
CD Installation Program written. 81,594 lines 585,488 exe 2P 48T 8Z 12V 70 units
Parental - 2 spelling mistakes corrected. 'is' spelt as 'in'.
Backup - reference to CDROM removed from setup screen.
Version 3.20C 22/07/2003
IDDlg + EmpRange amalg into new EmpIDSel unit.
EditLow - many keystroke event handlers removed.
CalcPays - Alt L added for allowances. tabbed hours entry extended to one off payments.
Public holiday employee record fields fLieuThisDaysAdded and fPubHolThisDays duplicated. fixed.
PSlipOne - direct credits no longer shown on payslips for deductions linked to a direct credit.
RpPayRec - payment reconciliation report added.
tEmpUpdte.ResetThisPay salary was not reverting to default. fixed.
tDateTDos.SetData - method of splitting out date changed. SN4793
One Off Payments - button hints changed.
AlcMkPay - scroll bars added to allowance detail browser if screen resolution is 640x480.
Version 3.20B 12/07/2003
EditLow - some keyboard handling removed from library object, and replaced with winmngr:mainform.KeyDown handler.
ReconcLG - problem with main reconciliation report, introduced in fix as documented for Ver 320A. rectified.
Version 3.20A 30/06/2003
Major changes made to numeric data structures on employee file, and where necessary accommodated where called.
CentsObj, ZeroReal removed
LeavTgPd amalg LeavPaid
Bereave - Bereavement Leave added for Holidays Act 2003
PSlipMsg - arranging of tPsMsgEmp corrected for different resolutions
Other Tax Code Dialog - references to April 2000 removed from mouse hints
DgfForm - button menu handling removed from base object, and made derived type
CalcPays - help message added to options menu
Dept of Statistics Business Directory Update Survey added
ReconcLG - reconciliation report when called from IR345 was not consistently
showing report. Same problem as dealt with in 3.18C 11/11/2002. problem only apparent when range, stack and overflow checking disabled. removed all nested procedures,
added a few extra try/finallys. tried changing local heap. ultimately fixed by placing a delay in DoReconciliationReport after loading data, prior to assembling
report. delay then replaced with call to Application.ProcessMessages
Import Utilities - styles #89, #99 added for file deletion, and user message. Enhanced commenting.
Version 3.19D 16/05/2003
tLeavForm.Load different instructions now shown for public holiday. Sick + Lieu remain the same.
Statistics report tQES.LoadData was setting all employees as full time if salaried, even if another value set. Now only does this if no value set by user.
Coin Split - licensee name put at top of bank report.
JEString.RealToLI2DP(R : real) : tLI2DP max value increased from plus minus
999,999 to plus minus 21,000,000, which is max value a longint can hold with 2 implied decimals. SN8176
PrnSetup - we rewrote the printer setup unit to make it harder to select the
direct to port print method.
Version 3.19C 05/05/2003
CoinSplit.Load - licensee added at top of report. SN10346
PSlipDsp - facility added to reprint range of payslips from any prior period.
PSlipOne - prior period single payslip now prints actual payslip rather than prints report
EModNote - employee notes placed in clipboard with right click
Suppressed paper and orientation setting when printing sprocket fed payslips.
AddrLbls.PrintClick - IsForm set true.
Default fixed width printer font set back to Courier.
Version 3.18D 14/11/2002
Methods enhanced for non A4 payslips.
Version 3.18C 11/11/2002
LeavFLow - file open/close removed from Get and Erase methods - all opening
must now be specifically handled. All callers checked and documented.
EFileDsp - amalg PAYEUI, EFile345
PAYELG removed - old IR66N report phased out.
ReconcLG - when reconciliation being called from IR345 report, was not showing. reason was the Run method being called was the inherited tLogForm.Run, rather than
tReconLG.Run. tReconLG.Run method removed - contents included in body of procedure call. appears to have been caused by disabling stack, range and overflow checking, which does not make sense.
EFileDsp.tPayeUI.Put - replaced SetupLow with SetupNew.
Version 3.18B 30/10/2002
AlcGlbLd - dept selector not arranging correctly. fixed.
PSlipDsp - payslip setup - company message url rectified.
Version 3.18A 24/10/2002
tTickItem.Paint - when has a note, second line moved up another pixel with 640x480 resolution.
library help.msg amalgamated with project help.msg
DgDspDlg amalg into DgDesp. code containing invisible link conditionally compiled into office copies only.
Notes file diagnostic utilities added
Audit - amalg AdtFFLow, AdtFLook, AdtFEPut.
DoBox.Destroy - called TApplication.BringToFront at start of destructor - seems to have rectified GPF where report loading with doing box, task switched to another
app, then switched back after report loaded.
PrnLow unit added. tPrnList - get printer and drivers list. Amalg PrnBOut. Utilised in PrnDlgWn.PrnIndex, PrnBOut.GetSelectedPrinter; Paper orientation
always set, even if printing portrait. prev only set if printing landscape. PrnBase as used by PrnMed eliminated, replaced with very few calls in PrnBMed in PrnLow unit.
PrnBLow methods included in PrnBOut.
tPrnMed.DrawUsable brush style changed to bsClear. was prev printing blank page with just border.
PrnBase, PrnBLow, PrnBTxt removed from library - amalg into PrnLow.
IR348Prn left margin setting added. Interface added to EFileDsp.EFileSet, and
all setup fields in EFileSet changed to use SetupNew.
LeaveRep fine tune option added to show emp with casual holiday pay. SN7434.
EModAllc - amalg AlcEmMod.
AlcIxLow.AddNew RecNo parameter returned. utilised in EmpAllc when new records added.
Backup path moved from SetupLow to Config, to allow unlimited length.
PrnLow default fixed font changed.
Version 3.17G 26/08/2002
PrnDlgWn moved to wintools
PrnIndex amalg into PrnDlgWn
MkPayLow.SetToZero - tax and student load were being set to specific zero, rather than default. problem introduced in 3.17 series somewhere. fixed.
CalcPays - OneOffPayments - logic handling of duplicate employee record reversed. now writes back original with accumulation fields adjusted. previously
wrote back changed record, with this pay fields adjusted.
FrontMnu all components amalgamated into single file.
YearEnd amalgamated into MainForm.
PSlipDsp, RepIndex - facility to print prior payslips
PnlLow changing property added. used in FinYrCmp, IDDlg, DateMMYY.
PSlipOne.PrnMessage message moved up from line 25 to 23.
PSlipLow removed - relevant methods moved to SetupNew.
YTD figures on payslips now includes accumulated student loans.
PrnSetup - all SetupLow and PSR calls replaced with SetupNew.
Coins - all coin split methods rewritten and amalgamated into single unit.
EmpFile - added built in doing box
MgrRep - option added to not show zero allowance when allowances itemised.
AlcMkPay.DoSetEditText - warning if abs amount > 99999.999 SN7351
DgrForm.ExportClick call to DBFree added after dobox appeared to lock up when exporting costing report.
DgrForm.RunReport report form disposed of each report iteration.
Amano, Jayped, ImprtLow amalgamated into Import
JEString - StrSpAlpha method added.
CitiBank Direct interface added.
BankBank - message added if direct credit backup file not located
MgrRep - PHol, PPHol, PLieu days not showing if no amount paid. fixed.
MkPayReg - help screen enhanced.
DirScan - removed from winpay. already in wintools
LogReprt, LogObj, LogLow, LogHead amalgamated into LogForm
tCustomListBox.CNDrawItem brush and style specifically set.
Version 3.17C 13/03/2002
ImprtGen amalgamated into Import.
EFilePen, EFilMain, EFileSet amalgamated into EFileDsp. EFileSet, EFilMain rewritten.
HtmBrHlp.AddGIFHelpLow style 3 added.
config.GetConfig(const ID : word; var OK : boolean) was not returning result.
EmpUpdte.GetCasualHoliday for this pay was placing value in internal field rather than returning result. fixed.
PrnSetP - help messages 480/484 separated
Version 3.17B 14/02/2002
LeaveRep + FineTune - leave owing report by department.
LieuSet.LieuRprt.Get - replaced generic message with custom if no lieu days accrued or taken.
LeavForm.Load message 1069 parameter added to more accurately describe type of payment.
wintools.BankChCk KiwiBank validation added.
Version 3.17A 04/02/2002
Released as beta test version only.
EmpBank added between EmpFile and EmpUpdte.
BankEmp removed. EModBank, BankFRun, BankPrn, FileOne, PSlipOne, CshSplt, MgrRepLG, UsrRpFrm converted to use new object.
EmpBaAdd converted to new style.
DlgHowPd removed - amalgamated with HowPdDef.
HolFFYr - text items 1..3 made urls.
TaxDayDg - apportionment selection shown bold in instructions on right.
AlcGetDg removed. Amalgamated with AlcDlg.
AllcIndx F9 allowance index rewritten.
PdPaySeq unit now includes all previous sequential access objects. PdSeqDoB amalgamated with PdPaySeq. PdSeqSel amalgamated with PdSeqLve.
AlcREmSg added to produce report for single allowance for single employee.
EmpAllc - object structure written to represent each allowance. Entire unit rewritten and fully documented.
Now handles unlimited allowances per employee.
ZeroReal.GetIsZero and SetToZero methods added.
AlcIxLow - separate fields added for smart allowances to allowance index file to avoid problems where allowance units entered, then calculation method changed.
UpgrDesp - support removed for upgrades prior to 3.04A released 02/11/1998. Message 284 removed re upgrading DOS files. Removed Up226227, Up229301, Up301302, Up303304.
Up315317 added - changes structure of allowance index file. Balance, Expiry and BankAcc fields added. Also accommodate change to all this pay units field structure.
EmpAllc,AlcxLow - Alowance this pay units zero value indicates default. fIsSetZero flag used with all allowance types.
EmpType.HolGrossPaid previously rounded and stored as longint. now stored as longint with 2 implied decimals. was causing few cents discrepancy in
EmpUpdte.HolPercAmtOwed when reconciled in report that shows how percentage of gross holiday pay calculated.
Registration files tidied up. PayVlow, RegLow now PayReg.
FileRLog amalgamated into FileReg. Amounts shown red if negative in final warning.
Up, down gif arrows backgound made transparent.
TxWiTTRg amalgamated with TaxTbLow. Table property write access removed.
EarnPrem.SetCents method removed.
TaxTable.DebugOut conditionally compiled.
c:\payshare dependencies removed.
IR348Prn start finish date format confirmed correct without change.
Contact info and whats new added to report index.
Version 3.16A 24/01/2002
Tax rates effective 01/04/2002 included.
Version 3.15J 05/12/2001
Browser would not print with blank printer title when using
Epson Stylus Color 760 - fixed.
Version 3.15H 07/11/2001
AdtFFLow.Update fParam1, fParam2 only read if not inherited note.
Version 3.15G 13/08/2001
NoteFile const MaxNote increased from 1000 to 5000.
Up308315 UpgradeNotesData Rename replaced with Copy then Erase.
Version 3.15F 25/07/2001
MkPyGrid - usual units were showing black rather than blue. changed.
MkPyLow - when usual entered, and pay had been set to zero, usual was placed in this pay but was showing blue rather than black. fixed
ZeroReal.SetToDefault renamed ZeroRealMakeDefault
EmpLow.IsRegular removed - unused.
F7 full year calendar added.
IsOneOff field removed from employee disk record and made a private RAM field
of EmpLow instead. probable cause of occasional erratic printing of leave owing and direct credits on payslips and occasional discrepancies in leave figures.
could have been inadvertantly set if employee record modified whilst doing a one off payment, then the one off payment abandoned. facility to modify employee
record from within one off payments was removed some versions ago, and field always set false when reading record for regular pay. removing field from disk
record removes any possibility of above scenario, as the field is now only ever set true at the start of one off payments, the object destroyed at the end of one
off payments, and there is nothing to write to disk. employee modification whilst in one off payments could now be added back if required.
EmpUpdte.ToBeFiled removed. was used by FileReg, FileOne + FileRLog. FileReg + FileRLog now check EmpUpdte.HasThisPay, and additional monitoring of casual employees isolated to FileOne.
FileOne.Put modified so zero pays are set to default values.
PSlpSngl amalgamated with PSlipOne. OneOff parameters removed from PSlipOne
constructor and PrintSinglePayslip procedure call. PSlipOne object now uses employee IsOneOff property.
EmpUpdte.ResetThisPay now includes EmpAllc.AlcSetAllToUsual followed by
LeaveRep - LRForm.GetEmployee now always includes this pay in report if being produced for current status, even if employee pay date is set after date of report,
otherwise figures differ from report, and itemised report from clicking url, are different if percentage of gross.
@TTS,@TTE commands added. Utilised in ACCMkPay, TaxDayDg, MkPyTaxC,HolCalc
HolPcntC hint button added decribing pay total owing selection.
DgfBtnHint object added.
HolSet - facility to change holiday entitlements while making payments removed. Msg 349 removed.
HolDayRep.Get and HolPcntR.GetHelpLow when called from HolSet for terminated employee message advises report is irrelevant. Reports still despatched for
checking historical data of terminated workers.
IR12Date unit removed. YTDList.DatePrint property added. EmpLow.GetEarnCertDate method added.
PrnSetLP paper size message 545 changed.
HolRep.CurrYearAverageDailyRate calculation changed to use Emp.AbsStartDate
rather than Emp.HolStartDateCurrYear. Also this pay gross and holiday payments ignored by calculation. method moved from HolRep to HolCLYr.
HolCLYr - Average Daily Rate desc changed to Part Year Average Daily Rate. Links added to data entry text.,
Version 3.15E 15/07/2001
hint button graphic replaced.
HelpMemo deleted. replaced in BankCrtr, PrnSetLP, ExprtDta with DgfForm equivalent.
ExEmLowR - utilised inherited employee field. eliminated run method.
MgrRpSet - converted go stop from small to big.
DgfForm.DoDlgMenu previous versions up down arrow keys went to both buttons and browser. fixed.
IDDlg.SetSaveMode removed, Modified converted to property. Save2626 removed from resources.
HolSet, HolCalc converted to new interface.
HolPCalc unit added to show percentage calculation. Msg 247 removed. Effectively encapsulates old HolSet.ShowReport.
OneOffLo unit removed. PdPayHol moved to HolRep unit.
Stack increased from 16384 to 32768 Heap increased from 8192 to 16384
EmpUpdte.HolPercAmtOwed fractional calc changed from Rounded to RoundDown
HolPcntF, HolPcntC rewritten, both calling new HolPcntR. HolPcntL removed.
ZeroReal methods remove from strings library - all usage converted to object usage.
MkPayOne - casual holiday was being set as zero rather than default on exit. SN 10528
EModPers.TaxCodeClick - if default student loan specified, then tax code changed to non student loan, default amount still deducted. fixed.
Up308315 - copies *.308 made of pre upgrade note.dta and alncindx.dta
EarnCert - added in despatcher message that production is employers choice.
PSlpWDlg unit removed. Code amalgamated with PSlipSet.
All short hints capitalised first words.
PnlButon.Arrange font issues.
MkPyKeyG - adjusted for more than 3 pay rates.
MgrRepLG - smart allowances now updating.
MgrRepLG.AssembleAllc nested within AssembleEmp to subtotal gross if necessary.
MgrRepLG display of sick pay details entered as salaried with no amount or hourly with no hours now reported correctly.
BankFRun windows critical error handler disabled when no diskette in drive.
CCMain,CCGrid enter key now moves down, tab across. explained in help message.
Help, print, small go, stop, ok button graphics changed.
Version 3.15B 15/05/2001
Big go stop ok button graphics changed - color resolution auto sensed with fine tune option.
Up307309 renamed Up308315.
GlobVars.MonoButtons removed - unused.
Front Menu Graphics - option for colored icons removed. Globvars.FrMnBtnsIsBright removed. Removed from Upgrade301To302. FrMnBtnS.LoadImages changed. FrMnBtns resources included in winpay.rc - all images moved to graphics folder.
HintSet unit removed.
Help messages increased to 1,200. Help compiler modified for country dependent help files.
PayCDesp - wrong tax rates changed to danger. shows 3 times. freq & date confirmation remove when coming from windows menu bar.
FileReg - number of times demo filed now shown. Purchase message always shown after filing if demo.
DgDesp - all converted to BRW format.
SysInfo - rewritten.
PrnDlgWn - rewritten.
ECPrnOne - copyright date made dynamic.
YearEnd - converted to BRW format.
MkPayLow - MkPayLne & MkPyHead structures replaced with MkPyGrid.
Entire CC structure rewritten.
One off payments - prev if hours split, then transaction not filed, splits remained on temporary file. Fixed.
When filed report rewritten.
PdItmGet reset method added. Called at start of each month in EFileLow.LoadWagePaid.
Extra emoluments - rewritten.
IDCombo amalgamated with IDDlg. EmpGetDg renamed EmpRange. IDDlg rewritten. Single selection form dialog also moved to same unit.
HelpLow - conditional initialization for install program removed.
BtnWeb - removal and reinstatement of 'http://' removed. Could not use for secure sites. Full URL must always be passed as parameter.
Help compiler now included in webmate.
GlobVars - new fields added for management report setup. MgrRpSetTG field removed.
MgrRpLog - dollar amount paid for salaried employee public holiday - comments
were confusing. clarified. SN11604 Margaret.
MgrRpLog - rewritten.
MgrRpSet - rewritten. option added to produce management report for single department only. Itemised allowances & direct credits added.
AlcAlter - enter key was causing exception. fixed by setting inherited DisableEnter.
NoteMemo.Get PChrUtil replaced with PChrBuf.
Up307309.UpgradeNotesData PChrUtil replaced with PChrBuf.
JEString.SetIsNot method added.
AlcLinkL - fields added to each node to accumulate units and amounts, and list methods added to ResetAccumulate, Accumulate, and GetSeqAccumulate.
AlcLstLo GetCalcMethodStr added then referenced by EmpAllc. method removed from EmpAllc.
Pay307\EarnPrem conditional compilation added, and moved to shared.
Pay307\TaxTable moved to shared.
TxWhForm.Create - form caption changed to eliminate date. Not shared due to future planned changes with grid object.
Pay307\TxWiTtRg moved to shared.
Pay307\TaxTbLow moved to shared.
Pay307\TaxSched moved to shared.
GlobVars all changes made as per internal documentation.
Pay307\IR348Prn moved to shared.
FrontMnu.Update and FrMnPayC.Update changed to DoUpdate. Call reinstated in InitialF.ReLoad and InitialF.FormOnActivate. Dates & times on pay calc despatcher were not updated at startup.
FrMnLgo - pricing & support messages now utilise DlgHtmOK. Pricing & support amalgamated for demo programs. help message 608 removed.
BtnWeb & DlgOKWeb - full URL now required.
HtmBrHlp.GetHelp private buffer instantiated so help messages can be loaded recursively. HelpLow method added to load to buffer. Command added to ParsActn, help compiler modified, and recursive call made in HtmBrHlp.ParseMessage.
DlgOKWeb replaced with DlgHtmOK for FqDtDesp.PaymentDateClick, When Filed report, EFAmalg.HelpClick.
Upgrade DOS Data removed from multiple company menu. help 402 deleted.
Unused HTMLHelp unit removed.
MkPayReg.BtnHlpClick now utilises DlgHtmOK.
TxWiTTRg - 5th tax table removed. now only shows last 4 tax tables.
TaxWotIf - ready reckoner grid and headings changed. DlgHtmOK used for help. Big OK replaced with small.
PSlipDsp - hint changed. DlgHtmOK utilised.
Register - DlgHtmOK utilised for demo versions, and also calls pricing message.
Tax table info from setup front screen now utilises DlgHtmOK.
DghMenuS object written to replace DlgMenu. Replaced in PayCDesp.
BtnHelp image replaced.
FrMnLgo rewritten. xmasmsg.pas, xmas.res, xmas.rc, xmas003.bmp, xmas015.bmp removed. Setup removed from FineTune. fnXmas font removed. GlobVars.XmasMsgOff field freed. GlobVars.IsManual field removed.
FileReg,FileRLog rewritten. FileRegD now inherits DlgForm.
PayCDesp - rewritten.
EditLow.SetProperties method added. Corresponding code removed from DlgYNStr
FrMnPFrq.Update changed to DoUpdate
CmpLow - message wording changed.
EmpDel - rewritten.
PrnMed & PrnPay result line added at end of function DlgOK
Version 3.08B 21/02/2001
IR348Prn.PrintEmployees and IR348Prn.AscertainQuantity now exclude school students with no tax deducted. SN5378
Version 3.08A 09/01/2001
EarnPrem.SetCents now does nothing.
GlobVars all changes made as per internal documentation.
TxWhForm.Create - form caption changed to eliminate date.
EmpAddID - can no longer enter graphic characters > 128. SN11943
MgrRepLG - NO IR12 NUMBER changed to NO IRD NUMBER
LeavPaid.AddFinalTotals now shows total for last employee if grouped by employee with total only. SN11480
CCReport.AddFinalTotals - similar to above.
BankFLow.FilePath - ANZ Direct default path now c:\anzdir
GridDraw - SetFontMode now also sets HeadingFont to value passed.
GlobList.GetPayWkEnd was always returning default pay frequency. fixed.
EmpUpdte.UpdateTaxSLoan - test whether to use holiday pay tax calculation method
changed from inherited HasHolidayPay to NonZero(GetAmtLo(TPay,PHol)) meaning if days accounted, but no specific amount paid, usual tax tables are used. SN4480.
PnlData library object added.
NoteMemo.Get test for F.IsNote added.
Audit file activated.
Version 3.07D 26/10/2000
DlgPath.Run method now always adds trailing backslash to elsewhere entry if >= 2 char.
MgrRepLG - NO IR12 NUMBER changed to NO IRD NUMBER
LeavPaid.AddFinalTotals now shows total for last employee if grouped by employee with total only. SN11480
CCReport.AddFinalTotals - similar to above.
BankFLow.FilePath - ANZ Direct default path now c:\anzdir
EmpUpdte.UpdateTaxSLoan - test whether to use holiday pay tax calculation method
changed from inherited HasHolidayPay to NonZero(GetAmtLO(TPay,PHol)) meaning if days accounted, but no specific amount paid, usual tax tables are used. SN4480.
DgPPdDsk - added repair end of file utility, plus help message 715
EFileLow.LoadWagePaid - test for school student removed. All employees loaded to list if wages paid.
EFileLow.tPMRDRec boolean IsSchool field added to structure.
EFileLow.ShowOnReport function added to only show school students if a deduction made.
EFileLow.RoundedTotGross and EFileLow.RoundedTotNotLiable now utilise SPtr rather than local pointer so they can access the new ShowOnReport function.
EFilePen.AssembleEmployees - start/finish dates and ShowNilPays methods only called for non school students.
EFileRun.Employees - now only includes employees if EFileL.ShowOnReport.
Version 3.09A 21/09/2000
DateTDos.SetNow method added.
DngrLow - hint was using payroll message 165 - now wintools 854
FormLow - SetUsableScreen method added.
MkPayLow - now uses maximum screen without overwriting task bar.
ListBoxL - right property added.
LstBxWrd added to library.
MkPayDlg unit added containing entry methods from MkPayLow.
GlobVars - dfCostCode added to DataFileType
MkPayReg.GetFirstCasual moved to MkPayDlg
PayToRef - function PayTypeRef renamed PayTypeToRef
LieuPay, PublcHol, HolPymnt - called procedurally.
GridDraw - FontMode property added.
MemStrm added to library.
Pay Type constants moved from GlobVars to PayToRef.
RatesSet default button replaced with PnlButon.
PnlLow.CentreControl method added to library.
FormLow Margin property added.
GlobList unit added to automatically manage instantiation & destruction of global lists - JCCCList handled.
RatesLow - GPRate global object replaced by field in GlobList.
DeptList - DeptL global object replaced by field in GlobList.
EmpIxLow - EmpIx global object replaced by field in GlobList.
YTDList - YTD global object replaced by field in GlobList.
PayWkEnd - PayWk global object replaced by field in GlobList.
IR12Date - IR12 global object replaced by field in GlobList.
EFDates - EFDate global object replaced by field in GlobList.
AlcLstLo - AlcLst global object replaced by field in GlobList.
DefIDObj - DefID global object replaced by field in GlobList.
PayToRef function PayRefIsDeduction added.
DgResDel - test for assigned PayWk removed from run method.
InitialF.FormOnActivate & ReLoad test for assigned PayWk removed.
EmpIR12.Create - forced instantiation of IR12 object removed.
EarnCert.Run - forced instantiation of IR12 object removed.
IR12Desp - procedure IR12Despatch and function IR12YearEndStr forced instantiation of IR12 object removed.
EFileDesp - procedure EFileDespatch forced instantiation of EFDate removed.
EmpType - 8 bytes for costing array allocated from 6 bytes in Spare229 field
and 2 from usused Password field remaining 5 bytes of which are now Spare307.
Up229301,Up304305 above fields initialised.
AlcLinkL.GetNext logic reversed - as written was never returning false.
AlcLinkL.FindRef modified to utilise internal GetFirst/Next methods.
AlcMstrF CA field added to tAlcMRec and spare bytes on disk file reduced from 15 to 7.
LogForm.Arrange - minor mod made re taskbar.
PayToRef - function PayRefDesc undefined reference not return 'Err' + ref number.
JEString LI3DPType renamed tLI3DP
tAlcIxLow.IsUsed and tAlcIxLow.Locate logic changed
AlcIxLow structure of tAlcIxRec changed to include field of tCostA. Units and LPRate fields changed from real to LI3DP. Up307308 updates file.
EmpAllc.AlcClear changed to use fillchar temporarily saving SmartAmt pointer.
PdPayLow - QntyCostSplits field added to header record.
PdPayGet.GetFlagOffset new field accommodated.
EmpAllc - AlcSetSeqUnits now sets modified automatically. AlcSetSeqUnitsRaw method added to handle cases where filing to disk not required.
MkPayLow now inherits MkPyBase object.
GlobVars.MaxSerNo changed from 12000 to 20000.
PChrUtil library object added to encapsulate null terminated string handling.
DateTDos - Clear method added, and facility added to set date without setting time. GetTimeStr returns null if no time set.
NoteFile - replaced with new streamed note structure. facility to automatically upgrade notes data from dos versions removed. Win notes data upgraded in Up307309.
clients needing dos data upgraded can send in files, then help desk can upgrade using a version prior to 3.09A, followed by 3.09A or later.
DgDesp - now loops round all menus.
PayCDesp - selects between costing & classic interface.
AlcLinkL - GetFirstLow,GetNextLow methods added and GetFirst,GetNext modified to ignore return of general ledger items.
GridDraw - Click event generated from MouseUp rather than MouseDown. Invalidate called before processing event. inherited Paint no longer called from Paint.
ListBoxC library object added.
LogObj.UpdateScrollBar ScrBar.SetParams(0,0,L.Items) caused range check if Items > high(integer). Now tests value, and sets to high(integer) if greater. means
items still loaded to report, but may affect scroll bar performance very slightly. problem noticed in WinMngr phone report.
Version 3.07C 14/08/2000
PdPayGet - GetBytesUsed renamed LoadBufLen and internal fBufLen & fBufLenOK fields added. Only ever called from GetFromOffset.
PdItmGet.Load - examines fBufLenOK rather than calling old PdPayGet.GetBytesUsed
PdPayGet.LoadBufLen - detected errors now logged to auto report.
Globvars - max serial number increased to 20000
Version 3.07B 30/05/2000
DateUnit.DateSToW warns with DlgOK if invalid format passed unless passed as null string or spaces only in which case returns zero.
EFAmalg - no longer relies on RegOK.
CnfgLow - AlphaOnly property added so can be turned off for storing paths etc.
DgDesp - amalgamate module now included in help desk method activation.
EFAmalg,EFAmalLo - switch methods added.
EFAmalg - IR File amalgamation module now stores names & paths. handles cases where no file names and path entered.
FqDtDesp.Get from 3.07A was showing todays date as last pay date if pay date
entered but no last pay filed. Fixed.
FqDtFreq - procedure GetPayCalcFreq case handled where no employees loaded in 3.07A was causing range check error.
JEString function StripLeading modified for D5
JEString function Equal modified for D5.
JEString function MemAvailStr removed for D5
JEString function IsBlank modified for D5
HelpLow.GetHintLow modified for D5
PnlLow.DrawTextStr modified for D5
Password unit renamed SetPsWrd.
FormSH added to library.
EditPswd library object added - edit control with self contained password & error messaging
DgResDel - uses new EditPswd.
DlgPssWd.GetDlgWrongPassword procedure removed - incorporated in EditPswd.
Password entry objects rewritten for Payroll & WinMngr centralising all code.
JFont,ScrnPix - fnSmallFixed added & used in LogObj.SetSmallFont
FileRLog.Arrange modified to better accommodate high screen resolutions.
PdPayGet - internal fVerMaj field removed with all calls requiring major version number now accessing function that reads & if necessary adjusts data from header
record. Previously fVerMaj was filled during the LoadLow method then its value was read to return the VerMaj property. This placed a critical timing dependency
on the calling of the LoadLow method, which was sometimes not being correctly called by PdItmGet.Load, which itself calls PdPayGet.GetBytesUsed which relies on their being a valid VerMaj result.
PdPayGet.GetBytesUsed was returning false if record length was less than size of header field without taking into account header size increases with later versions.
comparison now uses new PdPayGet.VerMinRecSize function which returns minimum record size based on version when filed.
PdPayGet.GetNextRecIncDeleted now calls PdPayGet.GetFromOffset method which itself always calls PdPayGet.LoadLow once success of disk access verified.
PdPayLow - ppMinRecSize constant removed as checking now done in PdPayGet.GetBytesUsed. was only being used in PdPayGet.GetNextRecIncDeleted method which already calls GetBytesUsed.
Version 3.07A 03/05/2000
EarnCert - message shown if no earnings for single employee rather than printing blank certificate.
ECPrnOne - comma replaced hyphen between copyright years.
DlgMenu - setup option added to library object. All parameters now passed in run method.
Seperation of pay dates and period ending. PayCalc renamed FqDtDesp. added Period Ending field. All dialogs called from FqDtDesp now placed centre screen.
FqDtDesp.Get moved from constructor to Run. FqDtDesp now inherits new library form FmMnGpOK with go/stop replaced by OK. PeriodEndOffset field added to
PaySetupType. PayWkEnd methods added for offset & week end dates. PayWkEnd.GetCaption added & utilised in MkPayReg, MgrRepLG, BankPrn.
FrMnPFrq - converted to owner draw.
DateObj - FormatDate and associated scalars added. Also stand alone IncrementDays
PdPayLow - PayDate field added to header. PdPayGet.GetFlagOffset modified.
EFileLow - now spans months either side of period end for payment dates
PSlipOne - period ending now shows long date.
PnlLow - added library method DrawTextStr.
PayWkPnl - removed from PayWkEnd to separate unit owner draw added for offset pay dates.
BtnWeb & DlgOkWeb added to library
PSlipSet - user definable pay period desc added calling PSlpWord.
VerUtil added to library with methods from GlobProc
Up306307 - GlobVars.LastPayDates converted to word format.
GlobVars tPSDesc defined plus string representation function. Added to PSR.
PSlpWItm & PSlpWDlg added.
PdPayPut,PdPayLow - school student flag put in 7th (last) bit of ExEm flag.
FormOKS - keyboard handling added for Esc & Enter.
PSlipSet now inherits FormOKS rather than FormLow.
DngrYNH - Col,Row parameters added.
Calc - numeric & times keys fonts changed.
Holiday pay as per act calc methods changed to account for part year between when determined and first anniversary. Accomodated in HolReprt.Load,
EmpHol.HolDaysEntitlement. new EmpHol methods added IsFullYear & GetPartYearEntitlement. Globvars PSR.HolPrePay307A field added & set true in
Up306307 so all installed versions use old method. FineTune facility added to change PSR.HolPrePay307A setting.
EarnCert,ECPrnOne - printer index correctly passed.
PrnSetup.CheckValidWinIndex now checks for NT & port on entry - if port forces to Win default & exits.
PnlButon - VerySmall property added.
LieuSet - button added to force update of days taken/allowed. Raewyn SN5615 Warkworth
TickPnl - new style tgTight added.
CityBank direct credits added. SN4648 Dianne New Plymouth
EmpAllc.AlcGetSeqUnits was simply returning value of AA[fIx].Units[P] but for some reason this field contains the ZeroReal zero value indicator 999999.0 if
client overwrote the number of units with zero when allowance was based on pay rate units. now returns correct value. SN4333 Judith Upper Hutt
Diagnostic ResetPrinterIndex now also sets to windows printer even if prev set to disk or port.
Diagnostic DepartmentTruncate utility added. Diagnostic menu split. SN6889 Ann New Plymouth
DeptAdd - now limited to 250 departments.
DlgHrs - usual hours was not accepting default hours from this pay if that was the default in dialog. fixed. SN10836 Sharon Auckland
AddrLbls.Selected function when PaidThisPay selected no longer prints labels for terminated employees. Also now only prints for selected frequency. SN8367 Denise Blenheim SN6695 Mike Christchurch
Default Non Standard Tax Deduction and Student Loan Deductions. Activated in MkPayLow.SetFieldHints. MkPayLow.EnterUsualPAYE & MkPayLow.EnterUsualSLoan
methods added. Accommodated in EmpUpdte.UpdateTaxSLoan, EmpUpdte.AmtIsDef & EmpUpdte.ResetThisPay. SN10336 Roger Auckland
EFileLow - doing box with stop button added when loading employer monthly
schedule. SN4819 Derek Auckland
FormIxLo - replaced delphi ListBox with ListBoxL. Font changed from fnFixed to fnLog. Height of employee & allowance indexes made 3/4 instead of 7/8.
IDDlg - global variable added to suppress application handling F2 when active,
and F2 event handler tied to BtnIxClick. Prev versions, if F2 pressed when in employee modify, employee index would display but could not select employee.
SerNoVer - variable added to avoid multiple instances of F5 key.
Initial - OnAppMessage F3 now tests EModMain.EMod global variable to avoid multiple calls to employee modify.
EmpIxSet - hint button added describing employee search. separate Run & Arrange methods split from object.
HolReprt - all report heading dates changed to long. LogGross, LogHPTaken if
date determined same as pay date then start date now ommitted from heading otherwise start date looked greater than end date.
EModPers - hint added explaining usage of short name.
PSlipSet - field added to select whether to show bank acc on payslip, calling same method in BankSet which is now global.
PostPnl & DlgPost moved from WinMngr to WinTools with MaxChar computed in constructor from sizeof(tPostalAddress) which is conditionally defined in EditPost.
PayVPay - SerialNo reset when version mismatch.
Version 3.06B 04/02/2000
Includes tax changes from 01/04/2000
Program icon redesigned pay14.ico
EFileLow.GetEFilePath default value returns c:\irfile\outbox if exists, otherwise data file path. Help message 591 modified accordingly.
LbWeb & LogoPnl - hand cursor added & changed when over URL, with hint message.
Favicon added to website.
library method GetToComma OutS changed from Str80 to Str255
MkPayReg.EdHrsOnKeyHome, EdHrsOnKeyEnd, EdHrsOnKeyPgDn, EdHrsOnKeyPgUp all now call GetEdHrs before changing employee. SN9043 Sue Southland.
System Information. SysInfo added to library. Now instantiated & run in Initial.
EarnPrem - 2001 rates verified against specs.
TaxTbLow - scalar added for new financial year & accommodated in access methods.
TaxTable - all logic checked against specs. ST & ST SL added.
TxWhGrid - NoDec rate for resident entertainers changed to 40%
GlobVars, GlobProc - tax codes ST & ST SL added.
TaxOth99 - student loans now in 3 columns with addition of ST SL. Caption no
longer refers to after Apr99. Secondary codes moved to separate tick group. Hints added for all new codes.
TickGrp.Arrange - modified for layout of unbalanced multi columns.
TxCdeCnt.UpdateOtherCaption new codes accommodated.
ExEmCalc - scalar tExEmRate = (EERDef,EERLow,EERMid,EERHigh) added. New tax band accommodated in extra emoluments.
EmpType - IsSchoolStudent field added. Access method added to EmpLow. Field added to EModIRD and event handler added to EModPers. Help message 419 added.
EFileLow.EmployeeNotChild function added and utilised in Load method. EFilePen.AssembleEmployees excludes school children.
New compulsory employee name field for electronic filing. EFilePen.AssembleEmployees uses Emp.GetSurnameAndFirstNames(false) which is already guaranteed to return
employee name. Accordingly no changes made.
Version 3.06A 02/01/2000
HasAuditFile correctly handled.
HolFFYr - help button added with instructions.
DlgGSHRM - button changed from tMenuGrp to tPnlButon, arrange changed, and run method added.
Spin - csFramed flag removed from ControlStyle and horizontal property added.
tLeavPaid.GetNextItem(var OK : boolean) PPtr assigned to SPtr even if SPtr nil
then OK returned based on SPtr rather than SPtr^.Next SN9727
GlobVars - PSR.SickPayInHours : boolean field added
FineTune - option to account for sick pay in hours. form changed from FormGSH to FormOKS. All changes saved when made.
SetupLow.GSSickUnitStr and GSSickIsHours accomodated in EModLeav, SickSet, EmpSick, LeaveLog, SickRprt, SckPymnt, LeavForm, PdPayPut, MgrRepLG, PSlipOne, LeaveRep, EmpType, MkPayLow
SckPyHrs - copy of SckPymnt with relevant methods changed.
FileLock unit removed
FileRand - parameter added to OpenOrCreate
FileRand - OpenExistingFile method added with return parameter.
LieuPay - can now account for days taken without payment.
PrnSetup - direct to port cannot now be set if running NT or Win2000.
ScrnPix - fonts changed for date headings in DateCmpt.
EditLow.SetWidthByText method added & used in DateEdit.
Child support variations accomodated. DlgChild added. GlobVars scalar defined. MkPayLow now calls DlgChild. EmpType field added & access methods included in
EmpLow. PdPayLow field defined in header. PdPayPut written to header. Accomodated in EmpLow.ResetThisChildS. function PdPayGet.GetCSVariation added. EFileLow field
added in linked list for CSVariation and AccumulateCSVariation method added. Included in EFilePen.AssembleEmployees and EFileRun.Employees. EmpUpdte modified
for protected earnings. Incorporated in EFAmaRun and EFAmFLow. Accomodated in MkPayOne.RestoreThisPay. Accomodated in IR348Prn.
Option added to show employees that have not been paid on Employer Monthly Schedules. Field added in setup file. EFileSet field & dialog added. Accomodated in EFilePen.AssembleEmployees.
DlgYNStr - edit control never wider than help even for very long strings.
DgSystem unit procedure CheckDiskSpace removed
Stand alone installation program rewritten to use zip files instead of lzh.
Direct credit interface added for ASB Fastnet MT9
Version 3.05S 10/11/1999
tDisk visual representation of backup disk moved to wintools library
tBackDlg converted to library object & moved to wintools.
help messages split between projects & libraries and now use dos copy + batch files to amalgamate before compiling. original files all called help.msg in
each project prior to amalgamating with dos copy.
restore no longer terminates program - neither selective restore/delete
library object procedure GetPathParameter(var Path : Str80; var OK : boolean) created with generic messages from winpay\datapath
help message changed when resuming employee referring to IR12's.
DlgPath - UseMaxHeight parameter added and if true uses as much screen as possible to
display directory tree thereby reducing scrolling
Payslips - option added to show annual salary on payslips SN10638
PSlipDsp - if employee range set is now reset when entering dialog. suggested by GR Mega.
DlgTckYN - parameter added for event handler if required. Col,Row removed.
EFileSet - electronic monthly schedule file name now user definable.
EarnPrem - new rate included.
Version 3.05R 11/10/1999
Integrated cashbook added
tAmano.ImportData - now calls Emp.AlcUpdateEmployee after import. SN9043 Sue Southland
function tAlcRMain.SortResult(SPtr,TPtr : GRPtr) : boolean now sorts
allowance report with employees in same order as F2 index SN7338 Diane Christchurch
tFormLow - HeightMode property & scalar declaration moved from tLogForm to tFormLow.
tFileRand.OpenOrCreateBlank added to library to create new file with first record blank
tLogForm.FontMode property added to library object
Version 3.05Q 18/09/1999
EModPers - user defineable employee data field added
EmpType - field added for user defined field Str20
FrMnSet - despatcher added to SetEmRec
SetEmRec - object for setting employee record default values
Config file & access object added for unlimited non structured ini type data storage
library tCnfgLow object added
dfConfig added to GlobVars.DataFileType, GlobProc.ShortFName, and BackupLo.StaticDFSet
Config accomodated in backup & restore
tBackup.WriteBackupTxt - changed 'directory' to 'folder'
PhoneLst - shows defined field if required
User defined employee data shown on Misc Report under personnel details.
MgrRepLg - in load method rather than checking nett pay non zero used tEmpUpdte.HasThisPay function to select items when nil items suppressed.
Previously did not pick up employees who has gross, then all taken away with deductions, leaving nil pay.
LeaveRep - removed employees from leave owing report if being produced for a
prior period, and employee has start date after report date. SN8645
TSB Diskette direct credit interface added
Internet - removed option for holiday pay link due to unpredictable behaviour with IE4 linking to file rather than URL. Clients can still link to it from Ace Payroll web site.
MkPayOne.RestoreThisPay - when one off payment was filed, was restoring the last pay value of the employee record whereas the last pay field is left alone, as
the last pay column always represents the actual last payment made. SN9884
tEFilePen.AssembleEmployees now checks for employees that have no wages for months
report but have start/finish dates within that month.
tEFileLow.IsReportDate and tEFileLow.AddNewItem methods added.
EFilePen - setup button added to report calling EFileSet.EFileSetup. EFileSet parameter added to suppress file name & path when called from manual filing.
IDDlg - when entering single employee into dialog, if valid employee selected from index or by typing ID in edit control then dialog closes automatically.
GenEmp renamed EmpGetSg, and object declaration moved to interface. procedural object call removed. Error handler added in EmpGetDg for valid employee
selected but calling method expecting current employee of a different frequency.
DlgAuto - decimals parameter added.
MkPayLow.EnterRate - Ver3.05M introduced facility to set pay rates to default values using DlgAuto, which always accepted 2 decimal points, but pay rates
are stored as 3 decimals. SN9622 Neta Auckland
TaxSched - all headings changed.
TaxTable object split in 3 and calculation method changed to use Update method.
New TaxTbLow base object contains table scalar declaration and access methods. inherited by TaxTbOld which contains formula for tables no longer used. TaxTable object inherits both. SN10644
Version 3.05P 05/08/1999
TxWhForm,TxWhGrid - clicking heading now has no effect - previously selected all items.
MkPayLow.EnterPAYE now prohibits overwriting tax deduction if gross pay includes extra emolument with message explaining reason why. SN7237
EModLeav - usual days worked each week shown on employee details and can now be modified from there. Previously was only used for As Per Act holiday calculation
but is now utilised for calculating default hours worked for sick pay as well. SN10137
ZeroReal - object rewritten & moved to tools library
GlobProc - zero tax code now reported as STC in monthly schedules
TaxTable - CAW & EDW now calculate exact percentage without any rounding SN5179
Department of Statistics Quarterly report added. StRpFile, StRpMain, StRpSet.
SetupNew object introduced for multiuser access to setup file & simplifying of access to default values.
EModPers - EModCmbo written & inherited by EModFreq, EModGndr,EModStat. EModDate & EModIRD also added to encapsulate multiple objects.
HrsRMain - now sorts in F2 index order. previously only in ID order. SN9622.
LeaveRep - totals now show on last line of report as well as first.
LogObj - thumb tracking added to library method.
FileRLog - list of employees with gross wages shown when confirming filing of regular payroll
PSlipDsp.PrintSummaries print dialog now center screen.
PSlipHrs - sick & public holiday removed from hours report.
AlcModLo.SetRef(const R : word) - default AorD set as PPreTax
Version 3.05M 14/07/1999
FrMnBtns - icons replace pictures on main menu, with option to revert back to old style graphics in extremely fine tuning.
Resources compiled with RC command line compiler.
Web address added to logo
WinTools.tGridScrl modified for WinMngr sales list boxes.
tEmpAllc.AlcSetAllToZero & tEmpAllc.AlcSetSeqToDefault modified flag now set if not a smart allowance. SN4922
Linker optimised for size & load time.
Internet links added to Ace Payroll, IRD and Holidays Act sites.
Diagnostic message #414 modified.
Font fnEdMed specifically set for each different screen resolution.
AlcAlter, AlcModLo, AlcDlg rewritten. Selection of allowance combined with modifying allowance master details. WhoUse button added to modification
unit. AlcDlg.AlcDlgDefRef global variable now holds last selected value in allowance selection dialog.
SLSTC tax code added for special student loan deductions with IR23 forms. SN7732
MkPayLow - facility added to reset employee pay rates to default values. SN6833
PSlipOne.PrnLeaveOwing exits immediately if employees final pay so no leave
owing ever printed on employees final payslip. SN10092
ScrnPix - hint font changed for 800x600 resolution to Arial 14pt
procedure tPdPayPut.PutItem did not file item paid if rate < 0.005 or half a cent. caused problems with very small smart allowances. Added ZeroSmall & NonZeroSmall
functions to library & modified function RealToLI3DP(R : real) to also utilise these methods. SN5630
Casual holiday pay reporting - HolPayCasual added to EmpType.tHolPayment
tPdPayPut.PutHolidayPay modified to specifically file casual holiday pay if required.
LeavRObj linked list object structure included EmpType.tHolPayment field to categorise
different holiday payment type methods.
MkPayLow - when entering usual hours if no value yet entered then use this pay hours as default value.
CCReport.GetNextItem(var OK : boolean) PPtr assigned to SPtr even if SPtr nil then OK
returned based on SPtr rather than SPtr^.Next SN9863
Version 3.05L 27/05/1999
IR348 Amalgamation module accomodated and help messages completed.
tPnlMItem.AsYesNo property added to library object.
RegLow.IsHelpDesk function added.
tPnlMItem.ShowAccelChar method added for hot keys
IR348Prn feature added to print employer monthly schedule in format acceptable to the IRD .
tPrnBOut - low level printer object added to communicate directly with the Windows API using raster graphics.
GlobProc - function EFileTaxCodeStr(const T : tTaxRec) : Str5 always returned 'WT' for percentage tax codes. Now
returns 'WT' if no earner premium added, and 'STC' if percentage paid with earner premium added. SN7802,SN8407
Version 3.05K 10/05/1999
Amalgamation of two electronic monthly schedules added as additional module.
EFile345 - method added specifically for IR345 forms replacing PAYE return for periods after 01/04/99.
tDateTDos unit written to return date & time values from dos longint datetime value. Previously used delphi methods
but the When filed report was causing delphi date format exception if part of file was corrupted. function
tPdPayGet.TimeFiledStr now uses new object rather than delphi libraries. Fully tested for return values after 01/01/2000.
According to p118 of Peter Nortons 'Programmers Guide To The IBM PC' published 1985 DOS returns valid dates using the
longint date format till 2099, and the date format itself returns valid dates till 2108.
tGridDraw.ClearCell(const C,R : byte) added to library object.
tBankFRun - Hash total added for BNZ PC Banking. SN6005
tInitialF private variable fDataLoaded : boolean introduced. Is used to suppress operation of F2, F3, F9 popups until
after employee data loaded, otherwise these keys will cause GPF if pressed at company menu stage. Also ensures valid password has to be entered before user can see any valid employee data.
tEModPers.DateEndClick resuming terminated employee, entering new start date did not work. Problem introduced in 3.05D with GetDlgMenu conversion. SN4020.
tLogRprt.AddCaptionButton methods added to library object.
tYTDList.SetFinancialYear(const Date : word) method added.
PayeLG - running totals removed from old PAYE report.
tPnlButon.Arrange library method inherited font assigned to canvas.font prior to calling Canvas.TextWidth - tDlgMenu
was not always correctly arranged previously with 1280x1024 screen resolutions.
tDateObj.SetYYYYMMDD(const S : Str8) method added to library
JEString.function RealFromCentStr(const S : Str20) added to library.
Version 3.05J 26/04/1999
tPrnSetup - border of selected printer output type increased to assist help desk when asking clients what printer they have selected.
tEFileLow - earning not liable now included in gross figures. SN4333
EFiling manual schedule hint message added explaining rounding discrepancies.
Despatcher added for monthly returns calling different dialogs depending on whether IR345 or IR348.
Restore added to main utilities menu.
Version 3.05H 19/04/1999
SerNoVer - now shows unique PC identifier.
tPSlipDsp - facility to suppress payslips for salaried staff SN9969.
Up301302 - PSR.EFilePath & PSR.EFileName now initialised.
Version 3.05G 15/04/1999
tPrnPay constructor now overrides tPrnMed virtual constructor. Necessary for WinNT systems.
Version 3.05F 12/04/1999
tEmpLow.HasStudentLoan did not include SH SL code. Meant loan deduction did not show up on pay calc screen or on management report. Checked all code - was correctly filed and
appears on payslips. SN9735
Amano - reported HourAddition error unless hours were other than 15 minute rounding. Code exactly
same as DOS version but compiler must use different floating point methods. Corrected by using library RealsAreEqual method. SN9562
BankValL unit removed. Bank account validation moved to c:\wintools\bankchck so can be used by winmngr.
SerNoVer - F5 key brings up serial number & version from anywhere in program.
RegFile units removed from winpay & winmngr projects & replaced with PayVLow unit in wintools library.
YTDList.Load - now checks that a monetary amount has been paid to employee using WgPdNonZero prior to adding to list.
Prev versions only checked that wages had been paid which produced nil IR12 forms if errors made which were then journalled out. SN7469
PayeLg old GPayeRec structure replaced with EFDate delphi object.
tDngrYNH.Arrange dynamically resized based on screen resolution.
tPayWkLow object added to return data on any pay period not just current setting.
tPayeUI - warning added if unfiled wages for period covered by PAYE Report or Monthly Schedule .
Version 3.05E 05/04/1999
tLeaveRep - hol 6% gross owing to each employee always included their current pay period gross
even if report generated for prior period SN9633.
tCCMain - prev versions caused GPF if client entered costing data, then deleted one of their pay rates SN9542.
tDgDesp - diagnostic utility added to view this pay costing file.
tHolFFYr - hint button added for final pay As Per Act > Full year explaining why days being paid is different
from that shown on leave reports.
tFileOne - if no employee start date when filed start date is set 6 days prior to date filed irrespective of
pay freq. prev version set to date filed which sometimes confused leave reports.
LeaveRep - can now produce estimated holiday pay at a future date SN9341.
DgSystem - procedure CheckDiskSpace called at start of program only brings up message if data files are on C drive and less than 2meg of free space.
tRegFile.CheckVerNo - sets global VerOK if major versions the same - now ignores minor version letters so updates can be downloaded from web site.
Earner premium not showing in IR68P report if called before screen preview. tEmpIR12.Load method was not opening/closing inherited employee file.
BankFRun ASB Gateway transaction record changed from standard MT9 format to show reference number in both the
ThisPartyAlphaReference field as per existing code & specs and also in the ThisPartyNumericReference field. This
was done in consultation with ASB bank Senior Product Specialist. ThisPartyNumericReference is shown on ASB specs
as being a numeric field only but we are assured that it will accept alpha characters. SN9224.
ExEmLowR - prev versions annualised value of extra emoluments as well as last 4 weeks wages whereas it is only the
last 4 weeks wages that should be annualised then the extra emolument added to the total.
ButtonJE - full stops removed from all library button hints.
BankBack - automatic backup made of direct credit printed and electronic shedules each time regular payroll filed. Methods added to utilise this backup if required.
BankRGrp - minor change made in arrange method
TxWhGrid - withholding tax rates changed for resident entertainers.
Support message on front screen wording changed to include clear number & charging for casual support calls.
Version 3.05D 15/03/1999
Branch number validation removed from WestpacTrust branches. SN6082
GetDlgMenu converted to new format with keyboard handling
Monthly tax calculation rounding methods changed.
BNZ PC Banking - employers account suffix confirmed with help desk as 2 digits, and each employees suffix confirmed as 3 digits. No changes made. Reference changed to strip leading and trailing spaces. Default file path set as 'C:\PROGRA~1\PCBANK~1
ASB Gateway - header removed from standard MT9 format. Previously had no suffix, but provision for 2 digit batch number which could not be entered. Now transmits full account number including 3 digit suffix. SN6253 had problems after DOS/Win upgrade
Logo - 'Call Toll Free' added above 0800 number.
PrnBase - all delphi exception handling removed from this low level printer object and replaced with local fError variable. fError set true wherever delphi exceptions were previously called. Allows objects to recover or handle printer errors sensibl
PrnInfo - used by printer setup to show current paper settings. raised delphi exception if user had no win printers installed, and exception prevented entry into setup procedure to direct to a port. used tPrnBase.fError.
EModAllc - totals of each of the 3 allowance groups were not being updated on the employee records after allowance added with usual units. Also checked modification & deletion. When usual units modified now automatically updates the this pay fie
LeaveRep - faulty sick pay totals were showing in leave report if the holiday date determined was after the sick date determined. corrected in tRepLeave.LoadToList
Version 3.05C 03/03/1999
TaxOther, TaxOth99 - can now enter 0% tax plus ACC. SN9542
Extra emolument tax in one off payments
Version 3.05B 01/03/1999
BankFLow - 'ANZ Cash' changed to 'ANZ Direct'
EModPers - finishing date 'This Pay' because of final holiday payment. previously user could not change, and didnt know why not. message now explains.
EFiling - help message added with the IRD help desk number.
GlobVars.IsManual added to produce screen for pasting into documentation that does not show 0800 number, ver no, or release date.
tPdPayGet.VerStr - prev versions did not return minor version character as shown in when filed report.
Amano Import - allowances not being correctly set to usual values. Total on employee record this pay field was being set to total of employee record usual pay fields, but were not being updated on the AllcIndx file. send copy to SN4819 when released
Printer problem with settings other than windows default not showing correctly in printer dialog. virtual get method moved from tPrnPay.Create to tPrnPay.DlgOK. fixed.
BNZ PC Banking item added for direct credits. Default filename & extention generated but uses same format as BNZ Gifts until I can find out what the difference is - specs look the same.
Employee allowances - when loading new allowance to employee this pay field was not updated correctly. fixed. Also added button to add new company allowance from within employee modify.
Calculate Pays - costing dialog. if closed will not show next time run unless asked for.
Menu.ArrangeLogo moved to before entry of password - 3.05A arranged in OnFormActivate which caused bad screen flicker if client entered password.
AlcMkPay - allowance entry during pay calculation. after smart allowances introduced last allowance entered was not being accepted with OK button - has to press Enter. fixed. also added hints and button to take directly to modify employee.
EModMain - passed starting page as parameter with ModifyEmployee method.
EFileRun - if invalid IRD number tax code changes to ND in electronic filing
Option in fine tuning to produce payslips, allowance report, and enter units to 2 or 3 decimal places.
VERSION 3.05A 01/02/1999
This is the formal 1999 version
0800 number and pricing added to demo disks
TurnOfCentury const increased to 9. Acceptable year entry now 1910 to 2009
PdPayLow - WagePaid and PayToRef methods & declarations removed and placed in new units, Pays Paid filing - format changed. New format now stores employee tax code when wages were paid and also length of record within the record itself. Previou
GlobVars.tTaxCode - new tax scalar type DefTax added as first tax code
Up304305 - scans employee file changing each tax code to one after to accomodate DefTax added as first tax code. also initialises all unused fields in employee record
Support button added to front screen. Different messages for serial number & demo programs
Maximum earner premium set at $1162.23 & $83017 for 2000
PSlipDsp - Period ThisPay/LastPay tick group was accepting both items checked
CentsObj converted to delphi format
EmpAllc - checks for existance of allowance when loading into employee data structure. some dos versions had allowance flagged as deleted on master file, yet they were still on index which caused range check during filing and when updating allowance
Extra Emoluments added
Diagnostic method added to strip any unused allowances from allowance index file. LPRate also shown on report
Install program & helpfile recompiled. MaxWinExe increased to 2.1meg 486,400 exe 9,692 hlp
HolPcntC - enter days taken - display did not update if number of days overwritten with zero
VERSION 3.04E 24/12/1998
tEarnPrem,tTaxTable,tIR12Date,tFinYrCmp,tDlgFinYr,tYTDList internal fYear fields changed from byte to word to accomodate 2000 as a valid value
Globvars.IR12DYear changed from 99 to 1999 to pass to above year fields
tIR12Date converted to delphi object format
tBankFRun - minor modifications made to BNZ Gifts format. Checked OK by BNZ.
tEmpAdd - after entering ID & Name for new employee, dialog now has a button to take user to modify employee if required.
problem where holidays owing not showing up correctly if date determined later than first anniversary SN5371. function tEmpHol.HolDaysEntitlement previous versions added holiday pay based on every anniversary after first anniversary. now ensures each
tEarnPrem & tEarnPSet earner premium rate for year ending 31/03/2000 set at $1.40.
tBankPrn - direct credit printouts now do not load negative amounts - same as bank file.
tBankFRun - all employee names and licensee name prefaced by StripToAlpha method to remove any characters that client may have entered that will not be recognised by banking system. SN 9114.
function tHolReprt.DaysOwing - prev versions included estimate for part year irrespective of setup in fine tuning turning off show current year. JE picked up when testing unrelated client data.
tDgSystem - danger message at program start if less than 2 meg free space on default drive.
VERSION 3.04D 08/12/1998
Maximum allowances per employee increased to 60 from 40.
Bank Account file dump added.
Company selection at program start - if a list box then has focus at start so user can use arrows then press enter without using mouse.
BackpDlg - switch method added when setup button clicked.
BankFRun - Direct credits - BNZ Gifts Diskette Format added. Also cannot now direct credit negative pays.
BankValL - bank account number validation added and report added to diagnostics
UpgrDesp - can no longer downgrade data files by mistake
Password - prev version focus did not return to edit control when password required second time.
NoteMemo - prev versions did not eject last page when printing employee notes direct to port.
tFileOne.Put - prior to 3.04D we used the tEmpIxHi.UpdateData method to update the current field on the employee index, but that method re sorts the index. tFileOne.Put is called from within a tEmpFilH.GetFirst/Next loop in tFileReg which itself rel
tDgDesp - utility added to diagnostic menu to reset the windows printer driver to default without going through the printer setup or printer methods.
VERSION 3.04C 02/12/1998
Demo Data files updated
Released as formal version
VERSION 3.04B 01/12/1998
Released as Demonstration Disk Only.
BankEmp - unit split to separate direct credit file handling from the array handling for a single employee.
tFileLock unit removed. tBankEmp.Load & Store methods instantiate and deallocate tBankEmpF object without exception.
Direct credit printouts & bank filing - accounts not loaded for any employees with nil nett pays. SN4827
Library methods StrSpInt & IntToStrLP reversed parameters to be similar to all other string formatting methods
Address labels - Paid This Pay selection now only prints labels in a payment has actually been made as sensed by the tEmpUpdte.HasThisPay method whereas previous versions printed labels for all employees that were current and of the selected frequen
DgPPdDsk Pays paid diagnostics - truncate front method added as in DOS version
Library Maintenance - moved all log objects to library. moved PrnMed, PrnBase and PrnDlg to library. utilised new PrinterClass global variable in PrnMed so any application can assign its own printer object which will then still be called by low leve
Converted IR12Vald, IR68P, BankFRun, LeaveRep, RpSmyLow, PhoneLst, TaxSched, UsrRpFrm, LeaveLog, HolReprt to utilise tLogForm & removed old tLog from winpay code.
One Off Report formatting improved to make totals more readable. doing box added to load method
tLogLow remove Graphic character handling as used in dos budget report. added error checking in tLogLow.Compressed method to replace data passed with error message if data contains any characters > 128. useful for diagnostic routines where we can
tTaxTable converted to delphi object format
March 1999 Tax Changes added including new tax codes & EFiling
VERSION 3.04A 02/11/1998
Allowance Index & Master files now always closed unless being accessed. Converted to correct object structures.
AlcLstHi unit deleted. AlcLstLo converted to delphi object format inheriting new tAlcLinkL object. Redundant DOS methods & fields removed from AlcLstLo.
Employee object converted to delphi structure. can now use properties.
FormLow - hot key handling added.
PayWkEnd converted to delphi object.
tZeroReal converted to delphi object.
Reimbursing allowances added - exactly same as after tax allowances only dont show on IR12s.
Smart allowances added - Pay Rate Units & Percentage of Gross
tDgPPdDsk - printout now double spaced.
tBankFLow & tBankFRun converted to delphi object format
tHolReprt.FullYearAverageDailyRate & tHolReprt.CurrYearAverageDailyRate divide by zero error checking added. Client had error when paying holiday pay
As Per Act for employee with days worked each week zero. SN7329.
All files always closed except when loading/storing data.
Costing analysis added.
Payslip message criteria was not being saved to employee file if changed from within modify employee.
Timeclock demo added.
VERSION 3.03C 06/08/1998
tEarnPrem converted to delphi object format
tTaxOther - selection of percentage tax code plus ACC - help message came up with last financial years ACC rate - fixed.
tListBoxL - could only load maximum of 255 items - now 32,000. see SN4075.
tTaxTable.SetTaxTable method - else defaulted to Apr98 now July98
VERSION 3.03B 22/06/1998
Diagnostic method for allowance master file now shows ref number up to 6 digits.
HolReprt - Employee Modify/ Holiday Pay As Per Act/ Show Report days owing - current year entitlement no longer shows for employee who has been terminated. See SN7290 file for further info.
AlcModLo - SetData - ref was being set as integer - changed to word which is the actual data type.See notes & file SN7487.
PAYE Return - running totals - gross is accumulated truncated to whole number each month same as with IR66N.
LeaveLog - different report widths set based on screen resolution
HolReprt - report of leave days taken - if nothing paid then $0.00 does not show.
LeaveLog.AddData - 'Days Taken' now uses GetPlural method - will show 'Day Taken' if less than 2 days.
Leave report now updates each employee record of sick pay taken since date determined if accumulating or last renewal if not. Called from LeaveSet if company default accumulation changed, at start of leave report, and every time a regular payroll fi
tEmpSick.DoUpdateSick(const nDate : word) - was returning incorrect values if non accumulating and SickDateLastReview was zero. See file SN9072.
Leave Paid report - item total line suppressed if zero. grand total lines suppressed if all item totals are zero
LeavMisc.CheckDateDetermined - checks date determined for hol, sick, lieu is not prior to start date. prev versions had option to set start date to date entered. option added to also set date determined to start date.
tLieuSet.UpdateLieuTaken was not accounting for public holidays allowed as lieu. see file SN8407
Holiday pay as per act entitlement adding extra 12 months if pay date fell on employee anniversary. See SN7261.
Filing regular pays - doing box added.
Leave report can now be produced for any prior period.
LeaveLog const FirstLeaveDate = '01/01/95' removed - not used anywhere.
VERSION 3.03A 16/06/1998
Formal version including tax rates effective 01/07/1998.
VERSION 3.02L 24/05/1998
Release date shown in long format.
Employee ID Dlg edit control dynamically sized so can show 'WOODS' on 800x600 res.
Export Data - Other Programs button changed from menu type to tPnlButon.
IR12 Despatch - could not change form type between IR12D / IR12L. Problem introduced in 3.02K. Also DlgMenu replaced
with DlgBtnS for form type & enter each form.
Front menu - changed clicking of buttons very slightly.
Employee & Allowance indexes modified so are not covered by Win95 start bar.
Allowance Report Total Only Grouped by Allowance did not show employee name associated with last item correctly.
changed tGenRMain.GetNextItem to make APPtr := ATPtr even if ATPtr^.Next = nil. As this is a medium level virtual method
used in more than just this report there may be unforseen results in other reports using these methods. highlighted by Bert Pedley.
procedure tHolSet.ShowPercentCalc modified to deduct any holiday paid this pay when showing calculation for percentage holiday pay owing.
procedure tHolSet.ShowReport Application.ProcessMessages called when iterating through loop to eliminate screen flicker.
HolSet - long dates used in help messages for entry of days & dollars determined.
Casual employees - changing frequency from employee modify overhauled. selection from MkPayReg changed
from combo to list box. EmpLow internal FreqSetIx, FreqGetIx removed. highlighted by SN5179.
VERSION 3.02K 04/05/1998
Employee file diagnostics truncation, records deletion utilities added plus facility to see all data in record in ASCII format.
PAYE Report running totals button added with link to reconciliation report.
VERSION 3.02J 29/04/1998
Major enhancements made to printing methods and interface.
IR12Desp Put method included – should now save all employer setup data.
VERSION 3.02H 21/04/1998 Limited Release
EditLow - AdjustHeight method added to compensate for Windows bug when resizing edit control. See OBEdit, Spin.
Method is in Borlands tCustomEdit object but is private so has to include it in my object. TEST THORUGHLY ON TONYS MACHINE BEFORE RELEASE.
Company Menu - font altered for 640x480 screen.
Up229301 - was not filing minor version number when upgrading DOS holiday pay to win format in payspaid file.
PdPayGet.VerStr - added test that VerMinor <> #0 otherwise no other data could be appended to log report - behaved like null terminated string.
EmpLow - added same file error checking as in PdPay structure. Program should now detect a corrupted employee file without crashing.
ExpEmply - employee export file.
Diagnostic - utility added that renames any department called 'none' to 'none' plus the dd & mm of todays date.
Required because some clients had a deparment by this name under DOS but under windows this is a reserved name.
PSlipDsp - problem corrupting setup file if dot matrix printer set offline while printing
payslips. changed method so we write to setup file before printing all payslips rather than after printing hem which may help with this problem.
Install max pay.exe size increased to 1.8meg. leather background added.
VERSION 3.02G 14/04/1998
Xmas message now comes up between 5th & 25th December - prev versions came up first time entered between 1st & 14th then all the time till 25th.
Graphical front menu added.
Employee & Allowance indexes now shown centre screen.
HolPcntC, HolPcntF - gross amount for percentage of gross was not the same on menu as reported. virtual method
GetPercentGross in HolPcntL was in private declaration rather than protected, som was using base virtual method in HolMenu.
PaysPaid retrieval - file error was showing if gross, tax or nett was $652.78 . Caused because this amount is
(254*256) + 254 - in other words represented by 2 sequential 254's. Rectified by starting scan of data buffer after the
header record - from byte 27 - instead of from start of buffer. These 3 amounts are always in the header record which is 26 bytes long.
Version 3.02F 08/04/1998
PnlLow now inherits tCustomPanel rather than tPanel. Panel borders now no longer default to system colors - now hard coded.
IR12Form IR12D printout method modified - page not resetting between forms.
Dot Matrix printer setup - added button to pick ports from pick list. First item preset to 'LPT1.DOS' which is not really a valid port.
Wallpaper backgound panel added.
PaysPaid 3x254 problem rectified with 3 sequential 254's.
RatesSet - referred to tPanel which has been removed from inheritance tree - tPnlLow now directly inherits tCustomPanel.
Version 3.02E 30/03/1998
FineTune - Method to suppress Xmas message will not show on menu until December each year.
FineTune - Fortnightly 365/14 method added.
TGA SAM4 export utility added
SickSet - employee sick pay - can accumulate - message #100 was not being displayed in DlgMenu - fixed
Employee bank account help button - PSIS details added
Rounded function modified to eliminate intermediary multiplication by 100 - was causing integer overflows when very large invalid data passed.
PdItmGet/PdPayGet - error checking enhanced.
Added JEString.function RoundDownRealToInt(const R : real) : longint;
HolSet - if employees as per act holiday days owing were negative then they were rounded down incorrectly - corrected.
function tEmpUpdte.HolOwingStr(const nDate : word) : Str10; if no holiday pay owing AsPerAct then returns 'None' rather than '0 Day'
Holiday Days Taken Report - previously did not show days taken this pay.
Version 3.02C 18/03/1998
Install Integer Overflow - references to DiskFree commented out. Was failing whenever free disk space was greater than 2.1GB
Losing Direct Credit Files - tBankEmp.OpenFile method changed to only create a new empty file if an existing file was not located with error 2 and if any other
file error reported merely displayed a danger dialog. FileMode also changed so file could be opened as many times as required.
Version 3.02B 05/03/1998
AddrLbls - Address label top margin made user defineable.
Weekly & Fortnightly tax tables checked against IRD printed tables from Ready Reckoner.
Tax Ready Reckoner - layout adjusted for low res.
Earner Premium Setup - layout adjusted for low res.
TaxTable - tTaxTable.SetTaxTable(const nDate : word) faulty - reset entire date to end of financial year rather
than just ascertaining the year value of the date. Bug has existed for long time but has only come to light because tax
tables change mid year. Also another serious problem found in this method because the date object was freed prior to it
being accessed later in the method. This problem is not in the DOS version because it uses a different date object
Last Pay Date not being set when zero and wages filed. Corrected. Was introduced in Y2K conversion.
Version 3.02A 24/02/1998
April & July 1998 Tax Rates added.
HelpLow - error checking added to provide for cases where no error message associated with message number passed
IR12 Printout - InfoExpress PIN number added.
Minimum Century increased to 8 resulting in possible date ranges of 1909 to 2008.
Version 3.01X 04/02/1998
UsrRpChB - double amphersands showing in employee miscellaneous report.
IRD number validation added and Taxation/IRD Validation report added.
PrnDlg - switch method added to hide buttons if setup selected
Cashbook - export file corrected so same as specs
PayCDesp - message when all employees terminated
Global loading of allowances added.
Rate caption added above rates in pay calculation screen.
EModPers - edit panel problem under Win31 corrected & tested.
EModAllc - large change on scroll bar corrected to scroll entire grid.
PnlLow - virtual paint method modified. caused integer overflow exception when fontheight was greater than panel
height in backup routine
ExportDta - interface altered for generic export
HintSet - facility added to configure hint delays.
Version 3.01W 28/01/1998
Utility added to add demodata names to database & to disguise clients data for demo purposes.
HongKong Bank direct credits added - 2nd test file despatched.
Problem with edit control fonts in employee personnel screen & IR12 postal address fields. EditLow.GetDefSize
default height retrieved from new TextSize.GetFontHeight method rather than tTextSize.Height property. needs testing under Win31.
DgPPdDsk pays paid diagnostics enhanced adding offset details, ASCII representation, and spin button for prev/next pages.
EModAllc - Modify Employee/Allowance previous version could not delete first or only allowance. rectified.
F3 Key can now be pressed anytime for employee modification.
EModPers - Finishing date sometimes showed "This Pay" after employee had been terminated. Rectified.
DemoRead - Demo data creation method overwrites company names and uses Ace Payroll postal address & IRD number.
CashBook - regular pays automatically exported to cashbook.txt.
LeaveLog - width of comments increased by 8 characters to show fully itemised payments in holiday report.
DgPPdDsk - pays paid diagnostic method. facility added to printout data and blank record between selected offsets.
PnlLow - delphi paint method overidden with one that handles new accelerator character handling for tPnlLow object.
EmpScrn & EmpRow objects removed.
HelpMemo object built to handle large help items. Called from PdPayDlg and ExprtDta.
HelpLow & MakeHelp modified extending max help messages to 1000 and eliminating reference to help manual.
EditPost - modified to rectify problem in employee modification personnel screen where addresses were the same between employees.
AddrAvry - Address label printout.
Version 3.01V 14/01/1998
PdItmGet now validates some data & traps errors without crashing, writing to an error log which is
displayed after pdpays all scanned.
Password entry at start adjusted for Hi Res
EmpUpdte.RestoreThisPayFrom after having made a one off payment was setting the existing regular pay ThisPayHolDaily rate to the value of the existing regular pay ThisPayHolDays field. Pointed out by Bridgette at Computer Concepts. Rectified.
Windows printer redirection added.
Hours & Wage summaries now eject page after printing with dot matrix printer.
Dot Matrix control codes & printer port features added & tested.
Version 3.01U 22/12/1997
Modify Employee - dynamically instantiated.
All remaining delphi DFM forms eliminated except for main unit.
Backup - sensed error and advise user if backup disk full.
Network diagnostics added
Allowance Report - this pay - now only loads allowances for pay freq currently set in pay calculation
Diagnostic utilities added to view allowance master & index files
Setup diagnostic utility added
New logo produced from front menu originated in CorelDraw
Conversion to hi res completed.
LogObj - AddE,AddS null terminated string [0..79] caused GPF if 80 char string passed - changed to [0..80].
Version 3.01T 02/12/1997
Xmas message added
Form, label & panel colors hard coded rather than using currently set windows defaults
IDDlg - entry of employee ID - previous versions allowed entry of more than 5 chars. also invalid ID entry error message comes up if not already handled by a calling method.
MkPayReg - after casuals button has been clicked focus did not transfer properly to either the ID control or the Hrs entry if appropriate
tIDCombo - destructor was called Free instead of Destroy - rectified
Hrs Report - by employee total only - Date, ID, Desc removed from Head2
Hrs Report - grand total at base of report itemised by each pay rate
Hrs Report - default rate selection now excludes unused rates
Entry of date determined prior to start date - generic method added to new LeavMisc unit to check & process. Prev versions only checked with holiday pay. Sick & lieu now also handled.
SickSet - if DateLastDetermined is start date then the date is described as 'Owing From Start Date'
MemoLow object substantially improved by adding facility to limit entry of text data to a fixed number of lines
Messages on payslips added.
tBtnGSB.CentreVertical method added
IR12.DatePrinted sometimes crashed with range check error. caused by old code for menu. rewrote using library tMenuGrp object.
UpCaseStr,LoCaseStr renamed UpCStr,LoCStr & used delphi UpperCaser, LowerCase methods internally
DeptList - trapped error in AddToList when 2 departments with same name indicating corrupted file. program displays message suggesting support, ignores duplicated name, & continues. also added DateAdded field to each dept data structure to show
Password - 'No Password' captioned button replaced with bitmap. also button is only displayed if password has been entered.
TaxTable - problem rectified with 1 cent difference in management report. tax was not being rounded in some cases. could only happen with monthly or bi monthly pays.
Logo on front screen not shown until after company selection has been made. width of company menu is based on name of longest company & with short company name logo looked wrong partly obscured by menu.
PnlGroup,PnlCaptn amalgamated into one object. Arrange no longer virtual & paint method removed.
Westpac Disk batch numbers - limits changed from 200-201 to 0-9999.
DlgAuto - dollar amount max increased from 7 to 8 char - will allow entry of 99,999.99 for salary with one off payments.
Leave Paid report - was not picking up holiday amounts paid under DOS if a sick or public holiday payment was made to the same employee on the same day. rectified.
If only one employee loaded and that employee deleted previous versions crashed. rectified. Also if no employees loaded program crashed when F2 Employee Index pressed. rectified
Holiday Pay Calculation - prev versions allowed you to pay a number of days without paying a dollar amount but there was no visual way of knowing you were doing this. Holiday Pay line description modified to show some details for the current holiday
Management Report Setup - menu previously showed both options now only shown unselected choice.
Version 3.01S 19/11/1997
AllcMstr & AllcIndx file objects were definately not being deallocated or files closed in prev versions - rectified. Also DeptL.Free is always called in initial.destroy but was not guaranteed to be allocated until path & data upgrade complet
Diary File problem rectified when upgrading from DOS and diary files not upgraded. Bug introduced in 301Q/R which created empty note file but did not amalgamate DOS data. Data will be automatically rectified unless client has entered data in the new
Version 3.01R 17/11/1997
Install program recompiled to accommodate change to MaxWinExe field 13376 lines 422912
Allowance report - when grouped by allowances & not total only the last group of allowances on report was not totalled - rectified.
Upgrade DosToWin - range check error when howpaid pre 1991 MTS or AP error fixed
Hints for Allowance, Hours Worked and Leave Paid all corrected - prev versions sometimes referred to allowances rather than correct type.
DgPPdDsk - pays paid disk image diagnostic utility added
Constant.MaxWinExe increased to 1,600,000
tPdPayGet.GetNextRec modified so ignores record if size is less than minimum allowable - just reads next record - eliminated range check with Fishermans Table data.
PSlipPrn - hourly rate quantities shown even if 1. prev versions did not show qnty/rate if either was 1.
Diagnostic utility added to set all employee rounding adjustments to zero
DlgPssWd - generic password entry dialog added.
Casual Holiday Pay - percentage rate user definable.
MkPayLow - hourly rate on pay calculation screen shown to 3 dec places
Monochrome button set added in Extremely Fine Tuning.
Path entry dialog modified to enter a path from editor.
Company menu changes to a list box if more than 6 companies.
Version 3.01Q 08/11/1997
RestrCpy - old DOS style diary file restored if new Windows style note file not on the backup disk.
MkPayReg - enter ID for casuals rather than select from pick list when calculating pays. invalid ID entry handled with messages.
Payment of public holiday, lieu pay & sick pay methods all rewritten to inherit MenuBigF. hints added for all
menu items. public holiday method changed so entry of days no longer mandatory.
Leave Paid Report added.
YTD Report - balances apart from small rounding errors. PdLveGet method extensively modified to accomodate different leave filing methods between Dos & Win versions.
Lieu Day Report - problem rectified where lieu days allowed not being shown on employee lieu day report.
HolPcntC - entry of hours & rates current holiday pay percentage of gross - prev versions would not accept confirmation of default hourly rate - required entry of different rate - rectified.
Allowance Report - This Pay Period - previous versions did not limit report to current employees only. Rectified.
Version 3.01P 29/10/1997
Labels - delphi tCustomLabel.Paint method overridden to place caption vertically centered in label using standard windows call.
DateObj.IncYear method crashed when year <> Min/Max Years. corrected.
Calendar added to date entry component.
PSlipOne - display of None dept suppressed if none used. Also facility to print 3 payslips on plain paper restored but will only word if leave entitlements are not checked.
Hours Report - reports only on pay rates actually used.
EmpHol.HolSDateForCalc was referencing Rec.DateLastDetermined directly which produced errors if not determined. Defaulted to 01/01/2000. rectified
CountryWide interface - went back to original countrywide format
YTD Report sort of fixed.
HolSet - percent of gross - message showing calculation method changed. previously did not deduct holiday pay already paid prior to calc.
Version 3.01N 20/10/1997
IRDNoDlg dynamically sized
BankSet - dynamically sized. AutoPrn & Account number on payslips modified - only select non selected option
CmpGet - company menu dynamically sized
CmpMove dynamically sized plus correct help message added - did have delete message
SpinPNHE component written combining 2 spin buttons together
EmpSick - sick pay calculation locked up if employee start date entered after year 2000 - corrected
Employee.dta diagnostics commenced
Converted and thoroughly tested for year 2000.
DateUnit - function calls added for DateGreater, DateLess etc
6% method Hint changed when selecting holiday pay method to advise on 8% and entry of percentage
DlgYNHlp - printout wage or hour summaries without payslips - print dialog came up with only a stop button and no go button because there was no accompanying help message and inherited GoStopIndent had not been called. rectified.
MiscOvr - AddFreqToDate rewritten using date object
DateUnit - completely rewritten. all but one Str8 method eliminated. All surplus methods eliminated - some moved to date object
DateObj fully rewritten. All IncDay, IncMonth, IncYear methods automatically accomodate year 2000
Employee YTD report - financial year component not arranged in prev version - rectified
Backup/Restore - if wages accidentally filed for say 1933 then both these methods spent a long time scanning for pays paid files between this date & the current files - will not now scan prior to 1985
Allowance Report - bug in previous versions when report called for ThisPayDate - rectified
Restore. Application.ProcessMessages called after copying files
Version 3.01M 12/10/1997
Restore - when data files restored the company name on the company menu is updated to the user name of the files restored.
Problem losing bank accounts - unable to duplicate or test but probably caused by global BankAccFile object and
uncertain open/closed status possibly after doing a backup. Eliminated global BankAccFile object.inherited BankEmp from
tFileRand and placed all file handling in BankEmp. Added OpenAndLock method with BankEmp.LockedOpen variable. When BankFRun
opens file for sequential handling it calls OpenAndLock and BankEmp.Load & Store methods do not open or close file. At
all other times the Load and Store methods open the file, load data, then close file. This means than the bank account file
is now always closed which should eliminate any future problems. BankLow unit removed.
GetDngrOK dialog - help parameter added
Coin Split - not printing correctly on payslips - rectified with use of CshPSlip object that inherited CshLow & output all relevant data to payslips with new GetNext method.
Cash Breakdown - unreported bug re error splitting nett pays that ended in 6 or 8 cents, 60 or 80 cents, $6 or $8,
etc. As an example in the case of 20 cent rounding if the nett ends in 60 or 80 cents then the previous logic allocated
one 50 cent coin leaving either 10 or 30 cents which is not divisible by 20 cents. rectified.
MkPayOne - corrected bug if lieu days entered in OneOff payment then abandoned they stayed on employee record and showed up on regular pay calculation. included code in tEmpUpdte.RestoreThisPayFrom to achieve this. lieu days owing can now be entered
HolSet - As Per Act enter days when determined - version 3.10L menu went blank after days entered just showing Go & Stop buttons. fixed.
DeptList, DeptMod - if trying to modify dept when none loaded message advising. also if only one loaded takes directly to modification method bypassing selection dialog
LeaveRep & EmpUpdte.UsualDailyGross produced divide by zero errors if usual days worked each week was zero. rectified.
FileWhen - when filed report added. Also filed version letter which was not filed in DOS version. Windows versions prior to this did not record the date/time filed.
Wage & Hour Summaries hint message changed advising not printed for last pay period
LeaveSet - accumulate sick pay - menu changed to just show currently unselected option
LieuSet - fields and facility added to set date determined & days owing for lieu days
HelpLow - parameter added for all GetHint methods
Password dynamically sized
Hrs Entry Dialog dynamically sized
DlgFinYr financial year dialog dynamically sized
Casual employee dialog dynamically sized
Payslip setup dynamically sized
Sickpay non accumulating problem solved
Termination pay - all references to 'Finish Next Pay' changed to 'Finish This Pay'
Monthly paid export added.
Version 3.01L 05/10/1997
TaxOther - to enter percentage tax, you were taken to the percent tax dialog then had to click GO once to exit that and GO a second time to exit the underlying other tax dialog. changed so clicking GO for percent rate also closed underlying form.
EmpModfy - employee modification screen placed centered vertically – was placed on lower part of screen & part was obscured on my machine by Win95 taskbar.
EmpModfy - AskSaveChanges. previous order was save,abandon,go back. changed order to save,go back,abandon to separate the key choices of save & abandon, go back does nothing so doesnt matter if clicked accidentally instead of either of the other
DgSystem - eliminated DFM file. used library objects. added screen res
ScrnPix - wrote HPix & VPix functions for dynamic resolution resizing. Also SetPixFont
Initial - added underscore for first char of items on main menu to highlight that they could be accessed by Alt key
FineTune - added to setup menu & initial despatcher
GlobVars - fields added for AsPerActDontShowCurrYear
EmpUpdte.AsPerActDaysOwing function senses above variable prior to adding on estimated days owing.
HolReprt.LoadReport method also senses above prior to adding line showing estimated days owing.
IDDlg - dynamically sized for high res.
EmpDel - previous versions did not show the employee ID linked to the name in the combo box when employee selected for deletion. fixed.
MkPayLow & MkPayLne - converted for hi res
AlcMkPay - OK button of hint message in previous version slightly off screen - corrected.
FormLow - HPix & VPix adjustment put in low level SetPosition method meaning that all calling methods do not need to adjust for screenres.
SetPosition renamed SetPositionRes & IndentFromScreen renamed IndentFromScreenRes to indicate these methods automatically adjust for screen resolution
Tick groups modified for hi res
HolCalc - user interface for entry of percentage holiday pay system added
Percentage of gross methods modified in EmpHol, HolPLow, HolPcntL etc to accomodate.
DateCmpt - arranged for hi res
HintLow written & hint fonts dynamically set based on screen res.
HolSet - message added if entering holiday pay date determined prior to employee start date with option to auto change start date.
SickSet - placed on generic menu. rewritten & structure changed. eligibilty & can accumulate menu options reduced to one item
DebugObj - wrote debugging utility to dump ram data structures to disk
EmpHol - sorted out very obscure bug with EmpHol.HolRec not being automatically loaded each time data read from disk which could have caused unpredictable behaviour in methods setting holiday pay entitlements
HolSet - message added if entitlement changed when making up pay. completely rewritten with new big menu object. all hints added. current holiday pay owing shown on entitlement screen. very much improved
HolReprt - removed from holiday payment hierarchy & made a separate object.
Version 3.01K 26/09/1997
AllcDlg - allowance selection dialog - up & down arrow keys select previous/next allowance
IDDlg - employee selection dialog - up & down arrow keys select previous/next employee
Jayped - import utility added. additional functionality added by being able to continue to read allowance pairs after previous DOS format data string handled
DoBox - option added in constructor to not have a stop button
GenDlg - removed all calls to DlgYNStr, DlgYNHlp, DlgOK, DlgNumbr, DlgInt. wrote new objects for all except string input.
EditLow - renamed from Jedit
EditPnl component written encapsulating edit control with captioned base panel.
HolFFYr,HolFLYr,HolPcntF - default amounts shown when entering final holiday pay in these three units - previously had blank edit control
BankSet - event handler linked to changing of bank system so direct credit data updated to reflect default values when bank changed
CountryWide direct credit interface added.
Employee Allowances - adding new or changing usual units - changed tAllcEmp.SetUnits method so if setting usual units method also set same units for this pay. EmpModfy.SaveChanges method changed so when calling tAllcEmp.Store also called tAllcEmp.Up
MkPayReg - removed overridden OnPaint method and replaced with hook to the base forms OnActivate event - OnPaint method was loading IDDlg every time screen refreshed which caused flicker in the employee combo box when rapidly scrolling between hours
MkPayReg - regular pay calculation facility added to tab to & from the new hours entry mode.
Version 3.01J 22/09/1997
JEdit - delphi CNKeyUp, CNKeyDown message handling methods overwritten to get control of Tab & Shift/Tab keys
AlcSGrid - moved edit control up/down using Tab & Shift/Tab
EmpSick - removed method comments & substituted Result parameter
EmpSick,EmpPHol - Jayped Timeclock sick & public holiday this pay fields showed values of 999999.0 caused by
jayped import having called DOS SetFieldValue with zero parameter. Used GetZeroReal method to retrieve these values in Win version.
HrsDlg - rewritten to eliminate DFM file. byte overflow bug with previous versions rectified by suppressing display
of hrs & mins for negative values and hours greater than 200. edit field extended from 6 to a total of 8 characters including the dot & 2 decimal points
EmpModfy - allowance heading corrected. bug introduced in yesterdays version 3.01J by using heading for allowance pay calculation screen.
FileOne - problem rectified when casual holiday not updated in last pay field. removed EmpHol.SetLastPayHol method. EmpHol is an ancestor of EmpUpdte so could not correctly report casual holiday pay. merely wrote Emp^.Rec.Paid(LPay,PHol) := Emp^.Get
PSlipOne - changed to only print holiday pay owing if AsPerAct or IsPercent. Do not print if IsCasual or NotEligible. Same with sick pay.
MkPayLne - font sizes & colors changed for Gross & Nett to white. all objects now inherited PnlLow
PnlLow - font set during creation rather than using windows default
Calc - Enter Key now operates the same as pressing the equals key.removed default focus from last key activated so form did not send message to ActiveControl.
TaxCdCnt - removed windows popup menu for selection of other tax codes. Added Ace Payroll style interface for entry of other tax codes with hints describing each code. improved interface for entry of percentage tax rates making the addition o
TaxTable - added tax deduction logic for SHR and SSH codes.
Install - new program - allow users to specify name of program directory in text - removed existing directory selection list boxes. Install - Upgrade Successful changed so more appropriate message refers to new program installation
Install - if demo disk then skipped asking whether new program, or upgrade from dos or windows. IsDemo := not FileExists(GetProgramPath + 'pay.ver');
GetDlgYNStr - added boolean constant parameter to indicate whether OK returned true just when OK clicked or when OK clicked & value changed
MkPayOne - One Off Payments attached warning to file button that payslip cannot be printed after filing. also added message after filed.
AlcEmNew - adding new allowance to employee. default usual units changes from 1 to zero
AlcMkPay - entry of employee allowances paid. object completely rebuilt. edit field flushed to disk if GO pressed without entering edit data. scrolling corrected. very much enhanced.
Version 3.01H 09/09/1997
Kellogg & Quantum export utilities
Generic & Amano Import utilities
Finishing Date - warning added if HasThisPay - facility to set to Next Pay. Next Pay also shown if final holiday pay.
Restore - previous version locked up if no disk in floppy drive.
DoBox also added where searching files for report
Problem not printing leave details on random employee payslips - Payslips do not print leave details or direct
credits for one off payments. There is a field on each employee record called OffPaymentFlag which is set true when
making up a one off payment for the employee. This field is then examined by the payslip printing routine to suppress
printing leave & direct credit data for OneOffPayments. Up to this version the field was then set false when the
OneOffPayment was filed but the logic overlooked the case where a one off payment was calculated for an employee but was
not filed. From this version on the flag is set false at the end of the OneOffPayment routine rather than in the filing routine.
Diagnostics - View Dept File added.
RestrCpy - doing box added when copying backup files after report
LogForm - default print method changed to use form caption as heading prompt for print dialog & also to printout at top of report
PnlGroup - Arrange method made virtual. TickGrp arrange method overridden and TickGrp.Paint method removed as will be called by ancestor virtual method.
Hours worked report added.
DateRRng object written for selecting report date ranges. this object calls DateRSet with suggested date ranges. replaced existing date entry methods in Summary, One Off Payment & Allowance Paid reports.
AlcRMain - allowance report modified to loop until STOP
Allowance Report completely rewritten. Base GenRMain object created to handle all generic report handling.
Report layout improved and totals shown. Itemised/Total option added.
IR12Desp - rectified error where trade name, legal name & postal address not filed to disk.
Version 3.01G 21/08/1997
Switching of task bar removed.
All report forms that are not full screen have been modified to be at least 30 pixels from top & bottom of the screen
Backup - file date/time correctly written to backup disk
Restore routine added
DlgTckYN unit written
Log object rewritten
PSlipSet - leave on payslips split into three items - hol, sick, lieu.
DeptAdd - focus was not tranferring from edit control to go button when enter pressed
HelpLow.HelpExpand bug rectified when expanding lines longer than 254 characters
Support added for dot matrix printers.
Version 3.01F 02/07/1997
Hints added to company menu & setup
Company diagnostics added
CmpGet error trapped if path returned from company file doesnt exist
Up/Down Hint property added to tSpinButton. used in CmpMove.
BankPrn - freq & date added to heading screen & printout
PSlipDsp - corrected bug printing all payslips with Hrs & Wage summaries
PSlipDsp - corrected bug printing range of payslips. problem was that EmpFilH.GetFirst/GetNext used EmpIx as did
EmpGetDg.IsSelected method and we were relying on internal fields in EmpIx to know current employee.
EmpFile.GetFirst/Next/Prev methods modified to set currently selected employee into EmpIx prior to calling EmpIx.GetNext.
Version 3.01E 12/06/1997
Wage & Hours summaries
Install enhanced for upgrades & limitation of remedies added
PrnDlg modified to have help message - used for payslips.
Version 3.01D 29/05/1997
Registration check number bug rectified in RegLow.RegCheckNo that produced an integer overflow error and then a GPF
fault. Longintegers used for intermediate calculations
Version 3.01C 21/05/1997
Modify first department bug rectified when modifying first department on pick list called up message indicating department None could not be modified
Upgrade from DOS required password when none entered. Rectified. Very early DOS versions had an asterix in the
password field if none was to be used. Later versions merely had a null string. This version will now recognise both whereas previous versions only recognised null string.
Version 3.01B 13/05/1997
PayManager updated to include all Windows features including encryption of Windows disks. Install program updated
to install pay.ver file. WinPay features updated to accomodate pay.ver features. It was decided in this version to leave
the registration check and code numbers the same as for DOS. Employers IRD number left on registration screen but unused in registration algorithm.
Version 3.01A 07/05/1997
Re released. Previous versions could not upgrade DOS data files later than 2.29. This version will update all DOS data files including future versions.
Version 3.01A 01/05/1997
Re released. Filing of demo disk in previous version was limited to only 5 employees. This version has no employee
limits for filing for the first 8 pay periods and then limits to 5 employees after that. Furthermore there will be no
restrictions until the first pay period after 31/07/97 at which time the 5 employee limit will again apply.
First Windows Version
Version 3.01A 04/04/1997
Publicly released as demo program
The version history of our DOS versions from 1985 to 1997 has been removed.