[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r170 - in gnue-invoice: . forms schema
From: |
kilo |
Subject: |
r170 - in gnue-invoice: . forms schema |
Date: |
Fri, 10 Dec 2004 04:13:40 -0600 (CST) |
Author: kilo
Date: 2004-12-10 04:13:38 -0600 (Fri, 10 Dec 2004)
New Revision: 170
Modified:
gnue-invoice/forms/INV_grid.gfd
gnue-invoice/news
gnue-invoice/schema/invoice.gcd
Log:
GNUe Invoice.
Realized reverting an invoice.
Modified: gnue-invoice/forms/INV_grid.gfd
===================================================================
--- gnue-invoice/forms/INV_grid.gfd 2004-12-10 08:19:26 UTC (rev 169)
+++ gnue-invoice/forms/INV_grid.gfd 2004-12-10 10:13:38 UTC (rev 170)
@@ -24,75 +24,95 @@
$Id$ -->
<form title="Invoices">
- <options/>
- <datasource name="dtsINV_Head" connection="invoice" requery="True"
- table="INV_Head"/>
+
<trigger type="ON-STARTUP" name="Trigger1">
form.setFeature('GUI:MENUBAR:SUPPRESS', 1)
#form.setFeature('GUI:TOOLBAR:SUPPRESS', 1)
#form.setFeature('GUI:STATUSBAR:SUPPRESS', 1)
</trigger>
+
+ <datasource name="dts" connection="invoice" requery="True" table="INV_Head"
+ prequery="Y"/>
+
<logic>
- <block name="blkINV_Head" datasource="dtsinv_head" rows="8">
- <!--<field name="fldInvBuyerName" field="INV_buyer.PARTY_name"
maxLength="35" readonly="Y"/>-->
- <field name="fldInvBuyerName" field="INV_buyerName" maxLength="35"
readonly="Y"/>
- <field name="fldInvDatedelivery" field="INV_dateDelivery" maxLength="10"
- readonly="Y" typecast="date"/>
- <field name="fldInvDateissued" field="INV_dateIssued" maxLength="10"
- readonly="Y" typecast="date"/>
- <field name="fldInvNumber" field="INV_number" maxLength="20"
- readonly="Y"/>
- <field name="fldInvPaymentmethod" field="INV_paymentMethod"
- maxLength="32" readonly="Y"/>
- <field name="fldInvValuetotalgross" field="INV_valueTotalGross"
- maxLength="10" readonly="Y" typecast="number"/>
- <field name="fldInvValuetotalnet" field="INV_valueTotalNet"
- maxLength="10" readonly="Y" typecast="number"/>
- <field name="fldInvValuetotalvat" field="INV_valueTotalVAT"
- maxLength="10" readonly="Y" typecast="number"/>
+ <block name="blk" datasource="dts" rows="8">
+ <field name="fldGnueid" field="gnue_id" maxLength="32"
+ readonly="Y"/>
+ <!--<field name="fldBuyerName" field="INV_buyer.ORG_shortName"
+ maxLength="35" readonly="Y"/>-->
+ <field name="fldBuyerName" field="INV_buyerName" maxLength="35"
+ readonly="Y"/>
+ <field name="fldDatedelivery" field="INV_dateDelivery" maxLength="10"
+ readonly="Y" typecast="date"/>
+ <field name="fldDateissued" field="INV_dateIssued" maxLength="10"
+ readonly="Y" typecast="date"/>
+ <field name="fldNumber" field="INV_number" maxLength="20"
+ readonly="Y"/>
+ <field name="fldPaymentmeth" field="INV_paymentMethod" maxLength="32"
+ readonly="Y"/>
+ <field name="fldTotalgross" field="INV_valueTotalGross" maxLength="10"
+ readonly="Y" typecast="number"/>
+ <field name="fldTotalnet" field="INV_valueTotalNet" maxLength="10"
+ readonly="Y" typecast="number"/>
+ <field name="fldTotalvat" field="INV_valueTotalVAT" maxLength="10"
+ readonly="Y" typecast="number"/>
</block>
-</logic>
- <layout xmlns:Char="GNUe:Layout:Char" Char:height="11" Char:width="100">
- <page name="Page1">
- <label name="lblInv Number:" Char:height="1" Char:width="10" Char:x="1"
- Char:y="1" alignment="center" text="Number:"/>
- <entry name="entInvNumber" Char:height="1" Char:width="10" Char:x="1"
- Char:y="2" block="blkINV_Head" field="fldInvNumber" label=""/>
- <label name="lblInv BuyerName:" Char:height="1" Char:width="32"
Char:x="12"
- Char:y="1" alignment="center" text="Buyer:"/>
- <entry name="entInvBuyerName" Char:height="1" Char:width="32" Char:x="12"
- Char:y="2" block="blkINV_Head" field="fldInvBuyerName" label=""/>
- <label name="lblInv Dateissued:" Char:height="1" Char:width="10"
- Char:x="45" Char:y="1" alignment="center" text="Issued:"/>
- <entry name="entInvDateissued" Char:height="1" Char:width="10"
- Char:x="45" Char:y="2" block="blkINV_Head"
field="fldInvDateissued" label=""/>
- <label name="lblInv Datedelivery:" Char:height="1" Char:width="10"
- Char:x="56" Char:y="1" alignment="center" text="Delivery:"/>
- <entry name="entInvDatedelivery" Char:height="1" Char:width="10"
- Char:x="56" Char:y="2" block="blkINV_Head"
field="fldInvDatedelivery"
- label=""/>
- <label name="lblInv Valuetotalgross:" Char:height="1" Char:width="10"
- Char:x="67" Char:y="1" alignment="center" text="Gross:"/>
- <entry name="entInvValuetotalgross" Char:height="1" Char:width="10"
- Char:x="67" Char:y="2" block="blkINV_Head"
field="fldInvValuetotalgross"
- label=""/>
- <label name="lblInv Valuetotalnet:" Char:height="1" Char:width="10"
- Char:x="78" Char:y="1" alignment="center" text="Net:"/>
- <entry name="entInvValuetotalnet" Char:height="1" Char:width="10"
- Char:x="78" Char:y="2" block="blkINV_Head"
field="fldInvValuetotalnet"
- label=""/>
- <label name="lblInv Valuetotalvat:" Char:height="1" Char:width="10"
- Char:x="89" Char:y="1" alignment="center" text="Vat:"/>
- <entry name="entInvValuetotalvat" Char:height="1" Char:width="10"
- Char:x="89" Char:y="2" block="blkINV_Head"
field="fldInvValuetotalvat"
- label=""/>
- <button name="btnAdd" Char:height="1" Char:width="6" Char:x="3"
- Char:y="10" label="Add...">
- <trigger type="ON-ACTION" name="btnAddTrigger"><![CDATA[
+ </logic>
+
+ <layout xmlns:c="GNUe:Layout:Char" c:height="11" c:width="100">
+ <page>
+ <label name="lblNumber" c:height="1" c:width="10" c:x="1" c:y="1"
+ alignment="center" text="Number:"/>
+ <label name="lblBuyerName" c:height="1" c:width="32" c:x="12" c:y="1"
+ alignment="center" text="Buyer:"/>
+ <label name="lblDateissued" c:height="1" c:width="10" c:x="45" c:y="1"
+ alignment="center" text="Issued:"/>
+ <label name="lblDatedelivery" c:height="1" c:width="10" c:x="56" c:y="1"
+ alignment="center" text="Delivery:"/>
+ <label name="lblTotalgross:" c:height="1" c:width="10" c:x="67" c:y="1"
+ alignment="center" text="Gross:"/>
+ <label name="lblTotalnet:" c:height="1" c:width="10" c:x="78" c:y="1"
+ alignment="center" text="Net:"/>
+ <label name="lblTotalvat:" c:height="1" c:width="10" c:x="89" c:y="1"
+ alignment="center" text="Vat:"/>
+
+ <entry name="entNumber" c:height="1" c:width="10" c:x="1" c:y="2"
+ block="blk" field="fldNumber"/>
+ <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"
+ block="blk" field="fldDateissued"/>
+ <entry name="entDatedelivery" c:height="1" c:width="10" c:x="56" c:y="2"
+ block="blk" field="fldDatedelivery"/>
+ <entry name="entTotalgross" c:height="1" c:width="10" c:x="67" c:y="2"
+ block="blk" field="fldTotalgross"/>
+ <entry name="entTotalnet" c:height="1" c:width="10" c:x="78" c:y="2"
+ block="blk" field="fldTotalnet"/>
+ <entry name="entTotalvat" c:height="1" c:width="10" c:x="89" c:y="2"
+ block="blk" field="fldTotalvat"/>
+
+ <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"
- form.runForm(location)
- ]]></trigger>
+ runForm(location)
+ </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">
+ ret = blk.call('INV_revert', {'invId': blk.fldGnueid.get()})
+ if ret == True and not blk.isSaved():
+ print "Saving reverted invoice..."
+ blk.commit()
+ else:
+ print "Cannot revert reverted invoice!"
+ blk.rollback()
+ dts.createResultSet()
+ </trigger>
+ </button>
</page>
</layout>
+
</form>
Modified: gnue-invoice/news
===================================================================
--- gnue-invoice/news 2004-12-10 08:19:26 UTC (rev 169)
+++ gnue-invoice/news 2004-12-10 10:13:38 UTC (rev 170)
@@ -2,6 +2,9 @@
*************************
GNUe Invoice - Project CV
*************************
+New features / changes by 2004.12.10
+* Can revert an invoice now.
+
New features / changes by 2004.12.09
* Merged GCD files back to main GNUe Packages.
Modified: gnue-invoice/schema/invoice.gcd
===================================================================
--- gnue-invoice/schema/invoice.gcd 2004-12-10 08:19:26 UTC (rev 169)
+++ gnue-invoice/schema/invoice.gcd 2004-12-10 10:13:38 UTC (rev 170)
@@ -74,6 +74,7 @@
<property name="dateDue" type="date"
nullable="False" comment="Date the payment is due" />
<property name="note" type="string"
comment="" />
<property name="printed" type="number(3)"
comment="# of printed copies" />
+ <property name="reverted" type="boolean"
comment="If true, no more reverted copies can be made" />
<property name="valueTotalNet" type="number(10,2)" >
items = find('INV_Item', {'INV_head':self.gnue_id}, [], ['INV_valueNet'])
@@ -131,6 +132,44 @@
return 0
</procedure>
+ <!--*******************
+ Reverts a given invoice
+ ********************-->
+ <procedure name="revert" type="boolean">
+ <parameter name="invId" type="id"/>
+ invList = find('INV_Head', {'gnue_id': invId}, [], [])
+ try:
+ invOrig = invList[0]
+ if invOrig.INV_reverted == False:
+ invOrig.INV_reverted = True #cannot make >1 reverted invoices
+
+ invNew = new('INV_Head')
+ invNew.INV_seller = invOrig.INV_seller
+ invNew.INV_buyer = invOrig.INV_buyer
+ invNew.INV_paymentMethod = invOrig.INV_paymentMethod
+ invNew.INV_dateDelivery = invOrig.INV_dateDelivery
+ invNew.INV_dateIssued = invOrig.INV_dateIssued
+ invNew.INV_dateDue = invOrig.INV_dateDue
+ invNew.INV_note = invOrig.INV_note
+ invNew.INV_printed = 0
+ invNew.INV_reverted = True #cannot revert a reverted
invoice...
+
+ invItems = find('INV_Item', {'INV_head': invOrig.gnue_id}, [], [])
+ for item in invItems:
+ itemNew = new('INV_Item')
+ itemNew.INV_head = invNew.gnue_id
+ itemNew.INV_product = item.INV_product
+ itemNew.INV_quantity = -1 * item.INV_quantity
+ itemNew.INV_note = item.INV_note
+
+ session.commit()
+ return True
+ else:
+ return False
+ except:
+ return False
+ </procedure>
+
<!--******************************************************
Calculates date due based on payment method's day property
and the current dateIssued property of the invoice.
@@ -208,6 +247,8 @@
if len(sellerList):
self.seller = sellerList[0]
print 'INV_Head::OnInit - Seller is %s' % self.seller.ORG_shortName
+
+ self.reverted = False
</procedure>
</class>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r170 - in gnue-invoice: . forms schema,
kilo <=