Table of Content
HAL Forum
procedure MatOverStrike (
void FieldName)
Description:
Defines what Record array field will be used to determine if the window matrix row is invalidated (crossed out with red line). Used inside WindowBegin/EndWindow block.
Parameters:
FieldName Record field name that will be used for determining the state of the matrix row (invalidated/not)
event DefineWindows
begin
  Real h,h1,h2,h3,h4,h5,h6,h7,hs,hm,v,v3,l,vs,vm,f,t,x,v2,bn;

  SetLangMode(LangEnglish,"ENG",0);

  WindowBegin("Receipt",IPDClass,CGview,IPView);
  SetWRect(20,80,620,350);
  Sizeable(-1,-1,0,0);
  UseView(IPVc);
  ActiveFieldOnNew("TransDate");
  h = 100; h2 = 242; h3 = 470;v = 6;
  EditField(h,v, 60,"No.",St_i,SerNr,false,TSerSClass);
  EditField(h2,v,82,"Trans. Date",Normal,TransDate,false,PasteCurDate);
  EnterSkip(PayMode);
  if ValuePack(1) then begin
  EditField(h3,v,-40,"Reference",Normal,RecNumber,false,0);
  end;
  EditField(h,v+=20,24,"Payment Mode",Normal,PayMode,false,PMSClass);
  EnterSkip(Math);
  EditField(h2,v,-40,"Comment",Normal,Comment,false,0);
  EnterSkip(Math);
  if ValuePack(1) then begin
  EditField(-250,-30,30,"Currency",Normal,PayCurCode,true,0);
  end;
  EditField(-125,-30,85,"Deposited",Normal,CurPayVal,true,0);
  h=10;
  MatrixBegin(h,v+=40,-50,-40,IPRowType,99);
  vm = v;
  MatTypedRow(stp);
  MatOverStrike(ovst);
  Flip(0);
  MatCol(t=1,24,"Inv. No.",0,InvoiceNr,false,ARSClass);
  EnterSkip(RecVal);
  MatCol(t,80,"Customer",0,CustCode,false,CUSClass);
  MatCol(t=5,24,"",0,InvoiceNr,false,ARSClass);
  MatText(t,-480,"Set. Disc.",true);
  MatCol(t,-390,"I.Cur",0,InvCurncy,true,0);
  MatCol(t,-350,"Invoice Val",0,InvVal,true,0);
  MatCol(t,-260,"B.Cur",0,BankCurncy,true,CurncyCodeSClass);
  MatCol(t,-220,"Bank Amount",0,BankVal,true,0);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  MatCol(t=6,24,"",0,InvoiceNr,false,ARSClass);
  MatText(t,-480,"Writeoff",true);
  MatCol(t,-390,"I.Cur",0,InvCurncy,true,0);
  MatCol(t,-350,"Invoice Val",0,InvVal,true,0);
  MatCol(t,-260,"B.Cur",0,BankCurncy,true,CurncyCodeSClass);
  MatCol(t,-220,"Bank Amount",0,BankVal,true,0);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  MatCol(t=7,24,"",0,InvoiceNr,false,ARSClass);
  MatText(t,-480,"Fee",true);
  MatCol(t,-390,"I.Cur",0,InvCurncy,true,0);
  MatCol(t,-350,"Invoice Val",0,InvVal,true,0);
  MatCol(t,-260,"B.Cur",0,BankCurncy,true,CurncyCodeSClass);
  MatCol(t,-220,"Bank Amount",0,BankVal,true,0);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  Flip(1);
  MatCol(t=1,190,"Pay. Date",0,PayDate,false,0);
  if ValuePack(1) then begin
  MatCol(t,-310,"Reference",0,rkRecNumber,false,0);
  MatCol(t,-260,"B.Cur",0,BankCurncy,true,CurncyCodeSClass);
  MatCol(t,-220,"Bank Amount",0,BankVal,true,0);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  end else begin
  MatCol(t=1,260,"Text",0,CustName,false,0);
  EnterSkip(RecVal);
  MatCol(t,-180,"Open Inv. Val",0,InvOutstand,false,0);  
  end;
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  Flip(2);
  if ValuePack(1) then begin  
  MatCol(t=1,190,"I.Cur",0,InvCurncy,true,0);
  MatCol(t,-310,"Open Inv.Val",0,InvOutstand,false,0);
  MatCol(t,-220,"Invoice Val",0,InvVal,true,0);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  Flip(3);
  MatCol(t=1,190,"P.Mode",0,PayMode,false,PMSClass);
  MatCol(t,-280,"  Cheque No.",0,ChequeNr,false,0);
  MatCol(t,-200,"Prepay.No",0,CUPNr,false,ORSClass);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  Flip(4);
  MatCol(t=1,190,"Text",0,CustName,false,0);
  MatCol(t,-260,"V-Cd",0,VATCode,false,VATCodeSClass);
  MatCol(t,-220,"VAT Val",0,VATVal,false,0);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  Flip(5);
  MatCol(t=1,190,"Roundoff Acc",0,RoundOffAcc,false,AccSClass);
  MatCol(t,-270,"Roundoff",0,RoundOff,true,0);
  MatCol(t,-200,"Bank Fee",0,BankFeeVal,true,0);
  MatCol(t,-130,"R.Cur",0,RecCurncy,true,CurncyCodeSClass);
  MatCol(t,-90,"Received Val",0,RecVal,true,0);
  end else begin
  MatCol(t,190,"Pay. Date",0,PayDate,false,0);
  MatCol(t=1,260,"Text",0,CustName,false,0);
//  MatCol(t,-290,"Reference",0,RefStr,false,0); // Doesn't exist in the database...
  MatCol(t,-180,"VAT Code",0,VATCode,false,VATCodeSClass);
  MatCol(t,-90,"VAT Value",0,VATVal,false,0);
  end;
  EndMatrix;
  vs = 22;
  v = vm; VTab(-35,v,-16,v+vs,ToolFlip,1,"A");
  v=v+ vs; VTab(-35,v,-16,v+vs,ToolFlip,2,"B");
  if ValuePack(1) then begin   
  v=v+ vs; VTab(-35,v,-16,v+vs,ToolFlip,3,"C");
  v=v+ vs; VTab(-35,v,-16,v+vs,ToolFlip,4,"D");
  v=v+ vs; VTab(-35,v,-16,v+vs,ToolFlip,5,"E");
  end;
  CheckBox(25,v=-30,0,"OK",OKFlag);
  SpecialMenu("New Settlement Discount",' ',0,"CashDiscountIPDsm");
  SpecialMenu("New Write-off",' ',1,"NewWriteoffIPDsm");
  SpecialMenu("New Fee",' ',2,"NewFeeIPDsm");
  if ValuePack(1) then begin 
  SpecialMenu("Distribute Receipt",' ',3,"IPExpandIPDsm");
  SpecialMenu("Calculate Amount",'=',4,"CalculateFieldIPDsm");
  SpecialMenu("Write-off Prepayment",' ',5,"WriteofPrepayIPDsm");
  SpecialMenu("Check Receipt Amounts",' ',6,"IPInfoIPDsm");  
  SpecialMenu("Create Down Payment",' ',7,"DownPayFromIPDsm");
  end;
  SpecialMenu("Open NL Transaction",'t',9,"OpenTRFromIP");
  EndWindow;
  
  return;
end;
Related topics:
««