/[papo]/papo/forms/productInvoice.gfd
ViewVC logotype

Diff of /papo/forms/productInvoice.gfd

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.38 by apronotti, Mon Feb 10 18:58:38 2003 UTC revision 1.39 by apronotti, Mon Feb 17 20:57:15 2003 UTC
# Line 11  Line 11 
11    <!--   Origen de datos que sirve para seleccionar el cleinte al que se le -->    <!--   Origen de datos que sirve para seleccionar el cleinte al que se le -->
12    <!--   va a facturar   -->    <!--   va a facturar   -->
13    <datasource name="clientDataSource" database="papo"    <datasource name="clientDataSource" database="papo"
14                table="entity, _entity_data, alien_entity, _alien_entity_data, persona, _persona_data, client, _client_data,                table="_entity_data, _alien_entity_data, _persona_data, _client_data,
15                       _price_type_data">                       _price_type_data, _persona_tax_profile_data, _tax_profile_data, _tax_data">
16      <condition>      <condition>
17        <and>        <and>
18          <eq>          <eq>
           <cfield name="entity.id"/>  
19            <cfield name="_entity_data._table"/>            <cfield name="_entity_data._table"/>
20              <cfield name="_alien_entity_data.entity"/>
21          </eq>          </eq>
22          <eq>          <eq>
           <cfield name="alien_entity.id"/>  
23            <cfield name="_alien_entity_data._table"/>            <cfield name="_alien_entity_data._table"/>
24              <cfield name="_persona_data.alien_entity"/>
25          </eq>          </eq>
26          <eq>          <eq>
           <cfield name="persona.id"/>  
27            <cfield name="_persona_data._table"/>            <cfield name="_persona_data._table"/>
28              <cfield name="_client_data.persona"/>
29          </eq>          </eq>
30          <eq>          <eq>
31            <cfield name="client.id"/>           <cfield name="_price_type_data._table"/>
32            <cfield name="_client_data._table"/>            <cfield name="_client_data.price_type"/>
33          </eq>          </eq>
34          <eq>          <eq>
35            <cfield name="entity.id"/>           <cfield name="_entity_data._table"/>
36            <cfield name="_alien_entity_data.entity"/>           <cfield name="_persona_tax_profile_data.persona"/>
37          </eq>          </eq>
38          <eq>          <eq>
39            <cfield name="alien_entity.id"/>            <cfield name="_tax_profile_data._table"/>
40            <cfield name="_persona_data.alien_entity"/>           <cfield name="_persona_tax_profile_data.tax_profile"/>
41          </eq>          </eq>
42          <eq>          <eq>
43            <cfield name="persona.id"/>           <cfield name="_tax_data._table"/>
44            <cfield name="_client_data.persona"/>            <cfield name="_tax_profile_data.tax"/>
45          </eq>          </eq>
46          <eq>          <eq>
47           <cfield name="_price_type_data._table"/>           <cfield name="_tax_data._table"/>
48            <cfield name="_client_data.price_type"/>           <cconst value="1"/>
49          </eq>          </eq>
50          <null>          <null>
51            <cfield name="_entity_data._end_t"/>            <cfield name="_entity_data._end_t"/>
# Line 62  Line 62 
62          <null>          <null>
63            <cfield name="_price_type_data._end_t"/>            <cfield name="_price_type_data._end_t"/>
64          </null>          </null>
65            <null>
66              <cfield name="_persona_tax_profile_data._end_t"/>
67            </null>
68            <null>
69              <cfield name="_tax_profile_data._end_t"/>
70            </null>
71            <null>
72              <cfield name="_tax_data._end_t"/>
73            </null>
74        </and>        </and>
75      </condition>      </condition>
76    </datasource>    </datasource>
# Line 247  Line 256 
256    
257    <datasource name="priceDataSource" database="papo" table="_price_data" />    <datasource name="priceDataSource" database="papo" table="_price_data" />
258    
259  <!--   Origen de datos que contiene el encabezado de la factura   -->    <!--   Origen de datos que contiene el encabezado de la factura   -->
260    
261    <datasource database="papo" name="ownDocumentDataSource" table="own_document"    <datasource database="papo" name="ownDocumentDataSource" table="own_document"
262      order_by="date" />      order_by="date" />
263    
264      <!-- Este lo uso para tomar los datos de al sucursal actual en futuro debera ser compañando por un archide configuración -->
265      <datasource database="papo" name="ownBranchDataSource"
266                  table="_entity_data, _own_entity_data, _own_branch_data, _persona_tax_profile_data, _tax_profile_data" prequery="">
267        <condition>
268          <and>
269            <eq>
270              <cfield name="_entity_data._table"/>
271              <cfield name="_own_entity_data.entity"/>
272            </eq>
273            <eq>
274              <cfield name="_own_entity_data._table"/>
275              <cfield name="_own_branch_data.own_entity"/>
276            </eq>
277            <eq>
278              <cfield name="_entity_data._table"/>
279              <cfield name="_persona_tax_profile_data.persona"/>
280            </eq>
281            <eq>
282              <cfield name="_tax_profile_data._table"/>
283              <cfield name="_persona_tax_profile_data.tax_profile"/>
284            </eq>
285            <eq>
286              <cfield name="_tax_profile_data.tax"/>
287              <cconst value="1"/> <!-- Esto va para indicar que es IVA y no otro impuesto-->
288            </eq>
289            <null>
290              <cfield name="_entity_data._end_t"/>
291            </null>
292            <null>
293              <cfield name="_own_entity_data._end_t"/>
294            </null>
295            <null>
296              <cfield name="_own_branch_data._end_t"/>
297            </null>
298            <null>
299              <cfield name="_persona_tax_profile_data._end_t"/>
300            </null>
301            <null>
302              <cfield name="_tax_profile_data._end_t"/>
303            </null>
304          </and>
305        </condition>
306      </datasource>
307    
308    <!-- Origen de datos que contiene el numero de la proxima factura -->    <!-- Origen de datos que contiene el numero de la proxima factura -->
309    <datasource name="branchDocumentDataSource" database="papo"    <datasource name="branchDocumentDataSource" database="papo"
310      table="branch_document, _branch_document_data" historytable="_branch_document_data" prequery="">      table="branch_document, _branch_document_data" historytable="_branch_document_data" prequery="">
# Line 485  Line 538 
538    <trigger name="startUp" type="On-Startup">    <trigger name="startUp" type="On-Startup">
539    tmpValuesDataSource.priceTypeId = None    tmpValuesDataSource.priceTypeId = None
540    tmpValuesDataSource.onSwitch = "0"    tmpValuesDataSource.onSwitch = "0"
541      ownBranchBlock.processRollback()
542      ownBranchBlock.initQuery()
543      ownBranchBlock.processQuery()
544      tmpValuesDataSource.ourIVACond = str(ownBranchBlock.condIVAEntry)
545    tmpBlock.tmpDateEntry = ownDocumentDataSource.getTimeStamp()    tmpBlock.tmpDateEntry = ownDocumentDataSource.getTimeStamp()
546    </trigger>    </trigger>
547    
# Line 496  Line 553 
553    
554    <!--  Este trigger clacula el total facturado -->    <!--  Este trigger clacula el total facturado -->
555    <trigger name="totalCalcTrigger" type="NAMED">    <trigger name="totalCalcTrigger" type="NAMED">
556           import hack      import hack
557                
558           lQty = hack.a2f(ownItemBlock.qtyEntry)      lQty = hack.a2f(ownItemBlock.qtyEntry)
559           lBonus = hack.a2f(ownItemBlock.bonusEntry)      lBonus = hack.a2f(ownItemBlock.bonusEntry)
560           lDiscount = hack.a2f(ownItemBlock.discountEntry)      lDiscount = hack.a2f(ownItemBlock.discountEntry)
561           lUnitPrice = hack.a2f(ownItemBlock.unitPriceEntry)      lUnitPrice = hack.a2f(ownItemBlock.unitPriceEntry)
562    
563           lItemPrice = (lQty * lUnitPrice) - lBonus - lDiscount      lItemPrice = (lQty * lUnitPrice) - lBonus - lDiscount
564    
565           ownItemBlock.taxAmountEntry = lItemPrice * hack.a2f(ownItemBlock.ivaEntry)/100      sourceCode = str(tmpValuesDataSource.taxSourceCode)
566           ownItemBlock.itemTotalEntry = lItemPrice + hack.a2f(ownItemBlock.taxAmountEntry)      ourIVACond = hack.a2f(tmpValuesDataSource.ourIVACond)
567        alienIVACond = hack.a2f(tmpValuesDataSource.alienIVACond)
568           lTNeto = 0      amount = lItemPrice
569           lTTax = 0      taxPercent = hack.a2f(ownItemBlock.ivaEntry)
570            
571           lRecords = ownItemDataSource.getRecords()      exec(sourceCode)
572           for index in range(len(lRecords)):      ownItemBlock.taxAmountEntry = hack.a2f(graft(ourIVACond,alienIVACond,amount,taxPercent))
573             lRecord = lRecords[index]      ownItemBlock.itemTotalEntry = lItemPrice + hack.a2f(ownItemBlock.taxAmountEntry)
574             lQty = hack.a2f(lRecord.getField("own_product_item.qty"))  
575             #print "cantidad: ",lQty      lTNeto = 0
576             lBonus = hack.a2f(lRecord.getField("own_item.bonus"))      lTTax = 0
577             lDiscount = hack.a2f(lRecord.getField("own_item.discount"))      
578             lResultSet = priceDataSource.createResultSet({"id":lRecord.getField("own_product_item.price")})      lRecords = ownItemDataSource.getRecords()
579             if (lResultSet.firstRecord()):      for index in range(len(lRecords)):
580               lUnitPrice = hack.a2f(lResultSet.current.getField("unit_price"))        lRecord = lRecords[index]
581             else:        lQty = hack.a2f(lRecord.getField("own_product_item.qty"))
582               lUnitPrice = 0        #print "cantidad: ",lQty
583               #print "lUnitPrice = ",lUnitPrice        lBonus = hack.a2f(lRecord.getField("own_item.bonus"))
584                    lDiscount = hack.a2f(lRecord.getField("own_item.discount"))
585             lItemPrice = (lQty * lUnitPrice) - lBonus - lDiscount        lResultSet = priceDataSource.createResultSet({"id":lRecord.getField("own_product_item.price")})
586             lTNeto += lItemPrice        if (lResultSet.firstRecord()):
587             lTTax += hack.a2f(lRecord.getField("own_item_tax.amount"))          lUnitPrice = hack.a2f(lResultSet.current.getField("unit_price"))
588          else:
589           totalBlock.netoEntry = str(lTNeto)          lUnitPrice = 0
590           totalBlock.ivaEntry = str(lTTax)          #print "lUnitPrice = ",lUnitPrice
591           totalBlock.totalEntry = str(lTNeto+lTTax)        
592           payBlock.cashEntry = str(lTNeto+lTTax)        lItemPrice = (lQty * lUnitPrice) - lBonus - lDiscount
593           payBlock.ctaCteEntry = "0.0"        lTNeto += lItemPrice
594          lTTax += hack.a2f(lRecord.getField("own_item_tax.amount"))
595    
596        totalBlock.netoEntry = str(lTNeto)
597        totalBlock.ivaEntry = str(lTTax)
598        totalBlock.totalEntry = str(lTNeto+lTTax)
599        payBlock.cashEntry = str(lTNeto+lTTax)
600        payBlock.ctaCteEntry = "0.0"
601    </trigger>    </trigger>
602    
603            
# Line 553  Line 617 
617      rs = clientDataSource.createResultSet({'_entity_data.id':str(ownDocumentBlock.clientRecipientBox.clientEntry)})      rs = clientDataSource.createResultSet({'_entity_data.id':str(ownDocumentBlock.clientRecipientBox.clientEntry)})
618      if rs.firstRecord():      if rs.firstRecord():
619          ownDocumentBlock.clientRecipientBox.currentClientEntry = rs.current.getField('_entity_data._table')          ownDocumentBlock.clientRecipientBox.currentClientEntry = rs.current.getField('_entity_data._table')
620            tmpValuesDataSource.taxSourceCode = rs.current.getField('_tax_data.graft')
621            tmpValuesDataSource.alienIVACond = rs.current.getField('_tax_profile_data._table')
622            
623      if str(ownDocumentBlock.clientRecipientBox.currentClientEntry):      if str(ownDocumentBlock.clientRecipientBox.currentClientEntry):
624          # Actualiza el puntaje          # Actualiza el puntaje
625          ownDocumentBlock.clientRecipientBox.scoreEntry = str(ownDocumentBlock.clientRecipientBox.clientEntry)          ownDocumentBlock.clientRecipientBox.scoreEntry = str(ownDocumentBlock.clientRecipientBox.clientEntry)
# Line 567  Line 634 
634          creditLimit1Block.entityEntry = str(ownDocumentBlock.clientRecipientBox.currentClientEntry)          creditLimit1Block.entityEntry = str(ownDocumentBlock.clientRecipientBox.currentClientEntry)
635          creditLimit1Block.processQuery()          creditLimit1Block.processQuery()
636          tmpValuesDataSource.creditLimitAmount = str(creditLimit1Block.creditLimitAmountEntry)          tmpValuesDataSource.creditLimitAmount = str(creditLimit1Block.creditLimitAmountEntry)
637            
638          import gnue.common.GConditions as GConditions          import gnue.common.GConditions as GConditions
639          import hack          import hack
640            
# Line 708  Line 775 
775      </block>      </block>
776      <trigger name="clientSearchTrigger" type="NAMED"><![CDATA[      <trigger name="clientSearchTrigger" type="NAMED"><![CDATA[
777        tmpValuesDataSource.priceTypeId = None        tmpValuesDataSource.priceTypeId = None
778    
779        codeToSearch = str(ownDocumentBlock.clientRecipientBox.clientCodeEntry)        codeToSearch = str(ownDocumentBlock.clientRecipientBox.clientCodeEntry)
780        nameToSearch = str(ownDocumentBlock.clientRecipientBox.clientNameEntry)        nameToSearch = str(ownDocumentBlock.clientRecipientBox.clientNameEntry)
781    
# Line 911  Line 979 
979        ownItemBlock.discountEntry = 0.00        ownItemBlock.discountEntry = 0.00
980        ownItemBlock.bonusEntry = 0.00        ownItemBlock.bonusEntry = 0.00
981        ownItemBlock.itemTotalEntry = 0.00        ownItemBlock.itemTotalEntry = 0.00
982    
983          callTrigger('totalCalcTrigger')
984      </trigger>      </trigger>
985    
986      <trigger name="prodSearchTrigger" type="NAMED">      <trigger name="prodSearchTrigger" type="NAMED">
# Line 1122  Line 1192 
1192    
1193        </block>        </block>
1194      </box>      </box>
1195      <block name="ownBranchBlock" datasource="ownBranchDataSource">
1196        <entry name="condIVAEntry" field="_tax_profile_data.tax" hidden="" x="1" y="1" width="10"/>            
1197      </block>
1198    </page>    </page>
1199  </form>  </form>

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.39

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26