84 lines
2.0 KiB
HolyC
84 lines
2.0 KiB
HolyC
|
U0 BgtEntryDel2(CBgtEntry *tmpb)
|
|||
|
{
|
|||
|
if (tmpb->type!=BE_TEMPLATE_COPY) {
|
|||
|
Free(tmpb->credit);
|
|||
|
Free(tmpb->debit);
|
|||
|
Free(tmpb->desc);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
CBgtEntry *BgtEntryCopy(CBgtEntry *tmpb,Bool periodic_copy)
|
|||
|
{
|
|||
|
CBgtEntry *res=MAlloc(sizeof(CBgtEntry));
|
|||
|
MemCpy(res,tmpb,sizeof(CBgtEntry));
|
|||
|
if (periodic_copy) {
|
|||
|
res->credit=StrNew(tmpb->credit);
|
|||
|
res->debit =StrNew(tmpb->debit);
|
|||
|
res->desc =StrNew(tmpb->desc);
|
|||
|
}
|
|||
|
return res;
|
|||
|
}
|
|||
|
|
|||
|
U0 BgtEntryDel(CBgtEntry *tmpb)
|
|||
|
{
|
|||
|
BgtEntryDel2(tmpb);
|
|||
|
Free(tmpb);
|
|||
|
}
|
|||
|
|
|||
|
U0 BgtIns(CBgtEntry *tmpb)
|
|||
|
{
|
|||
|
CBgtEntry *tmpb1=b_head.next;
|
|||
|
while (tmpb1!=&b_head && tmpb1->date<tmpb->date)
|
|||
|
tmpb1=tmpb1->next;
|
|||
|
QueIns(tmpb,tmpb1->last);
|
|||
|
}
|
|||
|
|
|||
|
class CBgtEntryForm
|
|||
|
{
|
|||
|
U8 date[512] format "$$DA-P,A=\"Date:%s\"$$\n";
|
|||
|
F64 amount format "Amount$$$$$$DA,A=\"%10.2f\"$$\n";
|
|||
|
U8 credit[512] format "$$DA-P,A=\"Credit(from)Acct:%s\"$$\n";
|
|||
|
U8 debit [512] format "$$DA-P,A=\"Debit(to)Acct:%s\"$$\n";
|
|||
|
U8 desc [512] format "$$DA-P,A=\"Desc:%s\"$$\n";
|
|||
|
};
|
|||
|
|
|||
|
CBgtEntry *BgtEntryPmt(CBgtEntry *dft=NULL)
|
|||
|
{
|
|||
|
CBgtEntryForm b;
|
|||
|
CBgtEntry *tmpb;
|
|||
|
U8 *st;
|
|||
|
MemSet(&b,0,sizeof(CBgtEntryForm));
|
|||
|
StrCpy(&b.date,"*");
|
|||
|
if (dft) {
|
|||
|
StrPrint(b.date,"%D",dft->date);
|
|||
|
b.amount=dft->amount;
|
|||
|
StrCpy(b.credit,dft->credit);
|
|||
|
StrCpy(b.debit ,dft->debit);
|
|||
|
StrCpy(b.desc ,dft->desc);
|
|||
|
}
|
|||
|
while (TRUE)
|
|||
|
if (PopUpForm(&b)) {
|
|||
|
if (!*b.credit) {
|
|||
|
st=BgtPopUpAcct("Credit Acct\n\n");
|
|||
|
if (st!=DOCM_CANCEL)
|
|||
|
StrCpy(b.credit,st);
|
|||
|
} else if (!*b.debit) {
|
|||
|
st=BgtPopUpAcct("Debit Acct\n\n");
|
|||
|
if (st!=DOCM_CANCEL)
|
|||
|
StrCpy(b.debit,st);
|
|||
|
} else {
|
|||
|
tmpb=CAlloc(sizeof(CBgtEntry));
|
|||
|
tmpb->date =Str2Date(b.date);
|
|||
|
tmpb->amount=b.amount;
|
|||
|
tmpb->credit=StrNew(b.credit);
|
|||
|
tmpb->debit =StrNew(b.debit);
|
|||
|
tmpb->desc =StrNew(b.desc);
|
|||
|
tmpb->type =BE_NORMAL;
|
|||
|
StrFileAdd(tmpb->credit,&accts_table_strs,accts_table);
|
|||
|
StrFileAdd(tmpb->debit,&accts_table_strs,accts_table);
|
|||
|
return tmpb;
|
|||
|
}
|
|||
|
} else
|
|||
|
return NULL;
|
|||
|
}
|