Accounting Software
Small Business Software Estimating Software
Inventory SoftwareInventory Tracking SoftwareInventory Control SoftwareInventory Management SoftwareConstruction Management SoftwareProject Management SoftwareBusiness Management Software

Billing Statements (Header)

Link to: source code | transactions directory

Copyright Turtle Creek Software 1996-2006. All Rights Reserved.

This class manages billing statements for the Goldenseal accounting software,
small business management software, construction project management software and
construction accounting software.

class CBillingStatement : public CBreakdownTransaction
{
public:

static CLASS_DESC *sDescriptor;
static DB_PersistentObject *MakeNew() { return TCS_NEW CBillingStatement; }

CBillingStatement();
virtual ~CBillingStatement() {}

virtual DBid GetDBClassID(void) const { return id_BillingStatement; }

virtual void CopyFrom(DB_PersistentObject *source, const UInt8 copyFlags = 0);

virtual NeoSize GetFileLength(const CNeoFormat *aFormat) const;

virtual Boolean GetMemberValue(const TagType aTag, const TagType aType,
void *aValue) const;
virtual Boolean SetMemberValue(const TagType aTag, const TagType aType,
const void *aValue);

virtual void ReadObject(CNeoStream *aStream, const TagType aTag);
virtual void WriteObject(CNeoStream *aStream, const TagType aTag);

virtual void FillDataReport(CTCS_Table *table, CNeoStream *stream) const;

virtual void SetEndSafetyTag() { mEndSafetyTag = tag_endsafetytag; }

protected:

DBid mMessage,
mPaymentTerms;

UInt8 mStatus,
mSpareByte;

CDate mStartDate,
mEndDate;

CMoney mExpansionMoney;
DBid mExpansionLong;

TagType mEndSafetyTag;

enum
{
cCopyFileLength = 2*sizeof(DBid) +
2*sizeof(UInt8) +
2*sizeof(CDate) +
sizeof(CMoney) +
sizeof(DBid),

cFileLength = cCopyFileLength +
sizeof(TagType)
};
};