[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r177 - gnue-invoice/forms
From: |
kilo |
Subject: |
r177 - gnue-invoice/forms |
Date: |
Mon, 3 Jan 2005 06:52:01 -0600 (CST) |
Author: kilo
Date: 2005-01-03 06:52:00 -0600 (Mon, 03 Jan 2005)
New Revision: 177
Modified:
gnue-invoice/forms/INV_Head.gfd
gnue-invoice/forms/INV_grid.gfd
Log:
GNUe Invoice.
More consistent and simple naming in forms.
Automatic printing of invoice when appropriate.
Possibility to print invoice any time.
Modified: gnue-invoice/forms/INV_Head.gfd
===================================================================
--- gnue-invoice/forms/INV_Head.gfd 2005-01-03 12:49:14 UTC (rev 176)
+++ gnue-invoice/forms/INV_Head.gfd 2005-01-03 12:52:00 UTC (rev 177)
@@ -37,8 +37,8 @@
<!--*****************************************************
Datasources
******************************************************-->
- <datasource name="dts" connection="invoice" table="INV_Head"/>
- <datasource name="dts_ORG_OrgBuyer" connection="invoice" prequery="Y"
+ <datasource name="dts" connection="invoice" table="INV_Head"/>
+ <datasource name="dts_ORG_OrgBuyer" connection="invoice" prequery="Y"
table="ORG_Org"/>
<datasource name="dts_INV_PaymentMethod" connection="invoice" prequery="Y"
table="INV_PaymentMethod"/>
@@ -47,73 +47,81 @@
<datasource name="dts_ITEM_Item" connection="invoice" prequery="Y"
table="ITEM_Item"/>
<datasource name="dtsITEM_Item" connection="invoice" table="ITEM_Item"/>
+ <datasource name="dtsSeller" connection="invoice" table="INV_Company"
+ prequery="True"/>
<logic>
<!--***************************************************
Invoice head
****************************************************-->
- <block name="blkINV_Head" datasource="dts">
- <field name="fldInvNumber" field="INV_number" maxLength="20"
- readonly="Y"/>
- <field name="fldInvBuyer" field="INV_buyer"
fk_description="ORG_shortName"
- fk_key="gnue_id" fk_source="dts_ORG_OrgBuyer" maxLength="32"/>
- <field name="fldInvPaymentmethod" field="INV_paymentMethod"
- fk_description="INV_name" fk_key="gnue_id"
- fk_source="dts_INV_PaymentMethod" maxLength="32">
+ <block name="blkHead" datasource="dts">
+ <field name="fldNumber" field="INV_number" maxLength="20"
+ readonly="Y"/>
+ <field name="fldBuyer" field="INV_buyer" maxLength="32"
+ fk_source="dts_ORG_OrgBuyer" fk_key="gnue_id"
+ fk_description="ORG_shortName"/>
+ <field name="fldPaymentmeth" field="INV_paymentMethod" maxLength="32"
+ fk_source="dts_INV_PaymentMethod" fk_key="gnue_id"
+ fk_description="INV_name">
<!--
<trigger type="POST-CHANGE" name="postchange" src="calcDueDate"/>
-->
</field>
- <field name="fldInvDatedelivery" field="INV_dateDelivery" maxLength="10"
- typecast="date"/>
- <field name="fldInvDateissued" field="INV_dateIssued" maxLength="10"
- typecast="date">
+ <field name="fldDatedelivery" field="INV_dateDelivery" maxLength="10"
+ typecast="date"/>
+ <field name="fldDateissued" field="INV_dateIssued" maxLength="10"
+ typecast="date">
<!--
<trigger type="POST-CHANGE" name="postchange" src="calcDueDate"/>
-->
</field>
- <field name="fldInvDatedue" field="INV_dateDue" maxLength="10"
- typecast="date"/>
- <field name="fldInvNote" field="INV_note" maxLength="255"/>
- <field name="fldInvPrinted" field="INV_printed" maxLength="3"
- readonly="Y" typecast="number"/>
- <field name="fldInvValuetotalGross" field="INV_valueTotalGross"
- maxLength="10" typecast="number"/>
+ <field name="fldDatedue" field="INV_dateDue" maxLength="10"
+ typecast="date"/>
+ <field name="fldNote" field="INV_note"
maxLength="255"/>
+ <field name="fldPrinted" field="INV_printed" maxLength="3"
+ readonly="Y" typecast="number"/>
+ <field name="fldTotalGross" field="INV_totalGross" maxLength="10"
+ typecast="number"/>
</block>
<!--***************************************************
Invoice items (lines)
****************************************************-->
- <block name="blkINV_Item" datasource="dtsinv_item" rows="5"
- autoCreate="Y" autoNextRecord="Y">
- <field name="fldInvHead" field="INV_head" maxLength="32" />
- <field name="fldInvProduct" field="INV_product"
- fk_description="ITEM_shortName" fk_key="gnue_id"
- fk_source="dts_ITEM_Item" maxLength="32"/>
- <field name="fldInvProductPrice" field="INV_product"
- fk_description="SALES_price" fk_key="gnue_id"
- fk_source="dts_ITEM_Item" readonly="Y" />
- <field name="fldInvQuantity" field="INV_quantity" maxLength="10"
- typecast="number" >
+ <block name="blkItem" datasource="dtsinv_item" rows="5"
+ autoCreate="Y" autoNextRecord="Y">
+ <field name="fldHead" field="INV_head"
maxLength="32"/>
+ <field name="fldProduct" field="INV_product" maxLength="32"
+ fk_source="dts_ITEM_Item" fk_key="gnue_id"
+ fk_description="ITEM_shortName"/>
+ <field name="fldProductPrice" field="INV_product"
+ fk_source="dts_ITEM_Item" fk_key="gnue_id"
+ fk_description="SALES_price" readonly="Y" />
+ <field name="fldQuantity" field="INV_quantity" maxLength="10"
+ typecast="number" >
<!--Count invoice total -->
<trigger type="POST-CHANGE" name="onchange">
#Calling a calculated property will cause it to refresh
- blkINV_Item.call("INV_getvalueGross", {})
- blkINV_Head.call("INV_getvalueTotalGross", {})
- #blkINV_Item.update()
- #blkINV_Head.update()
+ blkItem.call("INV_getvalueGross", {})
+ blkHead.call("INV_gettotalGross", {})
+ #blkItem.update()
+ #blkHead.update()
</trigger>
</field>
- <field name="fldInvUnit" field="INV_product"
- fk_description="ITEM_unit.ITEM_value" fk_key="gnue_id"
- fk_source="dts_ITEM_Item" readonly="Y" />
- <field name="fldInvValueGross" field="INV_valueGross"
- typecast="number" readonly="Y"/>
- <field name="fldInvNote" field="INV_note" />
+ <field name="fldUnit" field="INV_product"
+ fk_source="dts_ITEM_Item" fk_key="gnue_id"
+ fk_description="ITEM_unit.ITEM_value" readonly="Y" />
+ <field name="fldValueGross" field="INV_valueGross"
+ typecast="number" readonly="Y"/>
+ <field name="fldNote" field="INV_note"
maxLength="255"/>
</block>
+ <block name="blkSeller" datasource="dtsSeller">
+ <field name="fldNumPrint" field="INV_numPrint" maxLength="10"
+ readonly="Y" typecast="number"/>
+ </block>
+
<!--***************************************************
Block used for displaying wee luvly goat
****************************************************-->
@@ -133,91 +141,91 @@
block="blkFree" field="img" fit="both"/>
<label name="lblNumber:" c:height="1" c:width="7" c:x="1" c:y="1"
text="Number:"/>
- <entry name="entInvNumber" c:height="1" c:width="20" c:x="16" c:y="1"
- block="blkINV_Head" field="fldInvNumber" style="label"/>
+ <entry name="entNumber" c:height="1" c:width="20" c:x="16" c:y="1"
+ block="blkHead" field="fldNumber" style="label"/>
<label name="lblBuyer:" c:height="1" c:width="6" c:x="1" c:y="2"
text="Buyer:"/>
- <entry name="entInvBuyer" c:height="1" c:width="28" c:x="16" c:y="2"
- block="blkINV_Head" field="fldInvBuyer" style="dropdown"/>
+ <entry name="entBuyer" c:height="1" c:width="28" c:x="16" c:y="2"
+ block="blkHead" field="fldBuyer" style="dropdown"/>
<button name="btnEditBuyer" c:height="1" c:width="7" c:x="44" c:y="2"
label="Edit...">
<trigger type="ON-ACTION" name="btnEditBuyerTrigger">
- params = {'id': blkINV_Head.fldInvBuyer.get() or ''}
+ params = {'id': blkHead.fldBuyer.get() or ''}
form.runForm('ORG_Org.gfd', params)
- blkINV_Head.fldInvBuyer.resetForeignKey()
+ blkHead.fldBuyer.resetForeignKey()
</trigger>
</button>
<label name="lblPaymentmethod:" c:height="1" c:width="15" c:x="1" c:y="3"
text="Payment method:"/>
- <entry name="entInvPaymentmethod" c:height="1" c:width="28" c:x="16"
c:y="3"
- block="blkINV_Head" field="fldInvPaymentmethod" style="dropdown"/>
+ <entry name="entPaymentmeth" c:height="1" c:width="28" c:x="16" c:y="3"
+ block="blkHead" field="fldPaymentmeth" style="dropdown"/>
<button name="btnEditPaymMeth" c:height="1" c:width="7" c:x="44" c:y="3"
label="Edit...">
<trigger type="ON-ACTION" name="btnEditPaymentMethodTrigger">
- params = {'id': blkINV_Head.fldInvPaymentmethod.get() or ''}
+ params = {'id': blkHead.fldPaymentmeth.get() or ''}
form.runForm('INV_PaymentMethod.gfd', params)
- blkINV_Head.fldInvPaymentmethod.resetForeignKey()
+ blkHead.fldPaymentmeth.resetForeignKey()
</trigger>
</button>
<label name="lblDateissued:" c:height="1" c:width="12" c:x="1" c:y="4"
text="Date issued:"/>
- <entry name="entInvDateIssued" c:height="1" c:width="10" c:x="16" c:y="4"
- block="blkINV_Head" field="fldInvDateissued" />
+ <entry name="entDateIssued" c:height="1" c:width="10" c:x="16" c:y="4"
+ block="blkHead" field="fldDateissued" />
<label name="lblDatedue:" c:height="1" c:width="7" c:x="27" c:y="4"
text="Due by:"/>
- <entry name="entInvDatedue" c:height="1" c:width="10" c:x="35" c:y="4"
- block="blkINV_Head" field="fldInvDatedue" />
+ <entry name="entDatedue" c:height="1" c:width="10" c:x="35" c:y="4"
+ block="blkHead" field="fldDatedue" />
<label name="lblDatedelivery:" c:height="1" c:width="14" c:x="46" c:y="4"
text="Delivery by:"/>
- <entry name="entInvDatedelivery" c:height="1" c:width="10" c:x="59"
c:y="4"
- block="blkINV_Head" field="fldInvDatedelivery" />
+ <entry name="entDatedelivery" c:height="1" c:width="10" c:x="59" c:y="4"
+ block="blkHead" field="fldDatedelivery" />
<label name="lblNote:" c:height="1" c:width="5" c:x="1" c:y="5"
text="Note:"/>
- <entry name="entInvNote" c:height="1" c:width="53" c:x="16" c:y="5"
- block="blkINV_Head" field="fldInvNote" />
+ <entry name="entNote" c:height="1" c:width="53" c:x="16" c:y="5"
+ block="blkHead" field="fldNote" />
<label name="lblPrinted:" c:height="1" c:width="8" c:x="1" c:y="6"
text="Printed:"/>
- <entry name="entInvPrinted" c:height="1" c:width="3" c:x="16" c:y="6"
- block="blkINV_Head" field="fldInvPrinted" style="label"/>
- <label name="lblValuetotalGross:" c:height="1" c:width="12" c:x="1"
c:y="7"
+ <entry name="entPrinted" c:height="1" c:width="3" c:x="16" c:y="6"
+ block="blkHead" field="fldPrinted" style="label"/>
+ <label name="lblTotalGross:" c:height="1" c:width="12" c:x="1" c:y="7"
text="Value total:"/>
- <entry name="entInvValuetotalGross" c:height="1" c:width="10" c:x="16"
c:y="7"
- block="blkINV_Head" field="fldInvValuetotalGross" style="label"/>
+ <entry name="entTotalGross" c:height="1" c:width="10" c:x="16" c:y="7"
+ block="blkHead" field="fldTotalGross" style="label"/>
<box name="BoxItem" c:height="8" c:width="69" c:x="1" c:y="8"
label="Items"/>
<button name="btnEditItem" c:height="1" c:width="7" c:x="14" c:y="9"
label="Edit...">
<trigger type="ON-ACTION" name="btnEditItemTrigger">
- params = {'id': blkINV_Item.fldInvProduct.get() or ''}
+ params = {'id': blkItem.fldProduct.get() or ''}
form.runForm('ITEM_Item.gfd', params)
- blkINV_Item.fldInvProduct.resetForeignKey()
+ blkItem.fldProduct.resetForeignKey()
</trigger>
</button>
- <label name="lblInvProduct:" c:height="1" c:width="20" c:x="2" c:y="9"
+ <label name="lblProduct:" c:height="1" c:width="20" c:x="2" c:y="9"
text="Product"/>
<label name="lblItemPrice:" c:height="1" c:width="6" c:x="23" c:y="9"
text="Price"/>
- <label name="lblInvQuantity:" c:height="1" c:width="5" c:x="30" c:y="9"
+ <label name="lblQuantity:" c:height="1" c:width="5" c:x="30" c:y="9"
text="Qty."/>
<label name="lblItemUnit:" c:height="1" c:width="5" c:x="36" c:y="9"
text="Unit"/>
<label name="lblItemPriceTotal:" c:height="1" c:width="10" c:x="44"
c:y="9"
text="Value"/>
- <label name="lblItemPriceTotal:" c:height="1" c:width="10" c:x="55"
c:y="9"
+ <label name="lblItemNote:" c:height="1" c:width="10" c:x="55" c:y="9"
text="Note"/>
- <entry name="entInvProduct" c:height="1" c:width="20" c:x="2" c:y="10"
- block="blkINV_Item" field="fldInvProduct" style="dropdown" />
+ <entry name="entProduct" c:height="1" c:width="20" c:x="2" c:y="10"
+ block="blkItem" field="fldProduct" style="dropdown" />
<entry name="entItemPrice" c:height="1" c:width="6" c:x="23" c:y="10"
- block="blkINV_Item" field="fldInvProductPrice" style="label" />
- <entry name="entInvQuantity" c:height="1" c:width="5" c:x="30" c:y="10"
- block="blkINV_Item" field="fldInvQuantity"/>
+ block="blkItem" field="fldProductPrice" style="label" />
+ <entry name="entQuantity" c:height="1" c:width="5" c:x="30" c:y="10"
+ block="blkItem" field="fldQuantity"/>
<entry name="entItemUnit" c:height="1" c:width="5" c:x="36" c:y="10"
- block="blkINV_Item" field="fldInvUnit" style="label" />
+ block="blkItem" field="fldUnit" style="label" />
<entry name="entItemPriceTotal" c:height="1" c:width="10" c:x="44"
c:y="10"
- block="blkINV_Item" field="fldInvValueGross" style="label" />
+ block="blkItem" field="fldValueGross" style="label" />
<entry name="entItemNote" c:height="1" c:width="14" c:x="55" c:y="10"
- block="blkINV_Item" field="fldInvNote" />
+ block="blkItem" field="fldNote" />
<button c:x="1" c:y="17" c:width="10" c:height="1" label="Ok">
<trigger type="ON-ACTION" src="saveAll" />
@@ -234,22 +242,29 @@
Named triggers
******************************************************-->
<trigger name="calcDueDate" type="NAMED">
- blkINV_Head.call("INV_calcDateDue", {})
+ blkHead.call("INV_calcDateDue", {})
</trigger>
<trigger name="saveAll" type="NAMED">
- if not blkINV_Item.isSaved():
+ if not blkItem.isSaved():
print "Item not saved, saving..."
- blkINV_Item.commit()
- if not blkINV_Head.isSaved():
+ blkItem.commit()
+ if not blkHead.isSaved():
print "Head not saved, saving..."
- blkINV_Head.commit()
+ blkHead.commit()
+
+ invNumber = blkHead.fldNumber.get()
+ for i in range(blkSeller.fldNumPrint.get()):
+ print "Printing invoice #%i" % (i + 1)
+ blkHead.fldPrinted.set(i + 1)
+ runReport('../reports/invoice.grd', {'INV_number': invNumber})
+ blkHead.commit()
close()
</trigger>
<trigger name="revertAll" type="NAMED">
- blkINV_Item.rollback()
- blkINV_Head.rollback()
+ blkItem.rollback()
+ blkHead.rollback()
close()
</trigger>
Modified: gnue-invoice/forms/INV_grid.gfd
===================================================================
--- gnue-invoice/forms/INV_grid.gfd 2005-01-03 12:49:14 UTC (rev 176)
+++ gnue-invoice/forms/INV_grid.gfd 2005-01-03 12:52:00 UTC (rev 177)
@@ -33,6 +33,9 @@
<datasource name="dts" connection="invoice" requery="True" table="INV_Head"
prequery="Y"/>
+ <datasource name="dtsSeller" connection="invoice" table="INV_Company"
+ prequery="True"/>
+
<logic>
<block name="blk" datasource="dts" rows="8">
@@ -50,13 +53,20 @@
readonly="Y"/>
<field name="fldPaymentmeth" field="INV_paymentMethod" maxLength="32"
readonly="Y"/>
- <field name="fldTotalgross" field="INV_valueTotalGross" maxLength="10"
+ <field name="fldTotalgross" field="INV_totalGross" maxLength="10"
readonly="Y" typecast="number"/>
- <field name="fldTotalnet" field="INV_valueTotalNet" maxLength="10"
+ <field name="fldTotalnet" field="INV_totalNet" maxLength="10"
readonly="Y" typecast="number"/>
- <field name="fldTotalvat" field="INV_valueTotalVAT" maxLength="10"
+ <field name="fldTotalvat" field="INV_totalVAT" maxLength="10"
readonly="Y" typecast="number"/>
+ <field name="fldPrinted" field="INV_printed" maxLength="10"
+ typecast="number"/>
</block>
+
+ <block name="blkSeller" datasource="dtsSeller">
+ <field name="fldNumPrint" field="INV_numPrint" maxLength="10"
+ readonly="Y" typecast="number"/>
+ </block>
</logic>
<layout xmlns:c="GNUe:Layout:Char" c:height="11" c:width="100">
@@ -77,7 +87,7 @@
alignment="center" text="Vat:"/>
<entry name="entNumber" c:height="1" c:width="10" c:x="1" c:y="2"
- block="blk" field="fldNumber"/>
+ block="blk" field="fldPrinted"/>
<entry name="entBuyerName" c:height="1" c:width="32" c:x="12" c:y="2"
block="blk" field="fldBuyerName"/>
<entry name="entDateissued" c:height="1" c:width="10" c:x="45" c:y="2"
@@ -94,24 +104,43 @@
<button name="btnNew" c:height="1" c:width="6" c:x="3"
c:y="10"
label="New...">
<trigger type="ON-ACTION" name="btnNewTrigger">
- location = "INV_Head.gfd"
- runForm(location)
+ runForm("INV_Head.gfd")
+ dts.createResultSet()
</trigger>
</button>
<button name="btnRevert" c:height="1" c:width="6" c:x="13"
c:y="10"
label="Revert">
<trigger type="ON-ACTION" name="btnRevertTrigger">
+ toPrint = blkSeller.fldNumPrint.get()
+ print toPrint
ret = blk.call('INV_revert', {'invId': blk.fldGnueid.get()})
- if ret == True and not blk.isSaved():
+ if ret is not None:
print "Saving reverted invoice..."
- blk.commit()
+ #blk.commit()
+ a = blk.fldNumber.get()
+ for i in range(toPrint):
+ blk.fldPrinted.set(i + 1)
+ blk.commit()
+ runReport('../reports/invoice.grd', {'INV_number':ret})
else:
print "Cannot revert reverted invoice!"
blk.rollback()
dts.createResultSet()
</trigger>
</button>
+
+ <button name="btnPrint" c:height="1" c:width="5" c:x="23" c:y="10"
+ label="Print">
+ <trigger type="ON-ACTION" name="btnPrintTrigger">
+ prevPrint = blk.fldPrinted.get()
+ blk.fldPrinted.set(prevPrint + 1)
+ blk.commit()
+ runReport('../reports/invoice.grd',
{'INV_number':blk.fldNumber.get()})
+ dts.createResultSet()
+ </trigger>
+ </button>
+
</page>
</layout>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r177 - gnue-invoice/forms,
kilo <=