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

Diff of /papo/forms/productInvoice.neb

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

revision 1.36 by apronotti, Tue Aug 5 15:44:43 2003 UTC revision 1.37 by mhepp, Tue Aug 26 18:03:19 2003 UTC
# Line 6  Line 6 
6    </neb:Block>    </neb:Block>
7    
8    <datasource name="tmpValuesDataSource" cache="1"/>    <datasource name="tmpValuesDataSource" cache="1"/>
9    <datasource name="payDataSource" cache="1"/>    
10    <datasource name="prodSearchDataSource" cache="1"/>    <datasource name="prodSearchDataSource" cache="1"/>
11    <datasource name="prodResultDataSource" cache="1"/>    <datasource name="prodResultDataSource" cache="1"/>
12    <datasource name="dataCurrencyDataSource" cache="1"/>  
   <datasource name="tmpCurrencyDataSource" cache="1"/>  
13    
14    <datasource name="ownOrganizationDataSource" database="papo"    <datasource name="ownOrganizationDataSource" database="papo"
15      table="_entity_data, _own_entity_data, _organization_data, _persona_tax_profile_data, _tax_profile_data">      table="_entity_data, _own_entity_data, _organization_data, _persona_tax_profile_data, _tax_profile_data">
# Line 179  Line 178 
178    
179    <!-- Origen de datos que srive para calcular el total facturado -->    <!-- Origen de datos que srive para calcular el total facturado -->
180    <datasource name="productInvoiceTotalDataSource" database="papo"    <datasource name="productInvoiceTotalDataSource" database="papo"
181                table="_entity_data, own_document, own_item, own_product_item, own_item_tax"                table="_entity_data, own_document" >
               order_by="own_product_item.id">  
182      <condition>      <condition>
183        <and>        <and>
184          <eq>          <eq>
# Line 188  Line 186 
186            <cfield name="_entity_data.id"/>            <cfield name="_entity_data.id"/>
187            <cfield name="own_document.recipient"/>            <cfield name="own_document.recipient"/>
188          </eq>          </eq>
         <eq>  
           <cfield name="own_document.id"/>  
           <cfield name="own_item.own_document"/>  
         </eq>  
         <eq>  
           <cfield name="own_item.id"/>  
           <cfield name="own_product_item.own_item"/>  
         </eq>  
         <eq>  
           <cfield name="own_item.id"/>  
           <cfield name="own_item_tax.own_item"/>  
         </eq>  
189          <or>          <or>
190            <eq>            <eq>
191              <cfield name="own_document.own_document_type"/>              <cfield name="own_document.own_document_type"/>
# Line 240  Line 226 
226            <cfield name="_entity_data.id"/>            <cfield name="_entity_data.id"/>
227            <cfield name="own_document.recipient"/>            <cfield name="own_document.recipient"/>
228          </eq>          </eq>
         <eq>  
           <cfield name="own_document.id"/>  
           <cfield name="own_item.own_document"/>  
         </eq>  
         <eq>  
           <cfield name="own_item.id"/>  
           <cfield name="own_product_item.own_item"/>  
         </eq>  
         <eq>  
           <cfield name="own_item.id"/>  
           <cfield name="own_item_tax.own_item"/>  
         </eq>  
229          <or>          <or>
230            <eq>            <eq>
231              <cfield name="own_document.own_document_type"/>              <cfield name="own_document.own_document_type"/>
# Line 368  Line 342 
342      </condition>      </condition>
343    </datasource>    </datasource>
344    
   <neb:Sub neb:src="datasource.nebc" zot="../zot/PAPO-ER.zot"  
     search="currency_type" database="papo" name="currencyTypeDataSource" />  
   
   <!-- Origen de datos que sirve para dar de alta pagos con algun tipo de currency -->  
   <datasource name="currencyMovementDataSource" database="papo"  
               table="movement, currency_movement">  
     <condition>  
       <eq>  
         <cfield name="movement.id"/>  
         <cfield name="currency_movement.movement"/>  
       </eq>  
     </condition>  
   </datasource>  
   
   <!-- Origen de datos que sirve para dar de alta pagos con cta. cte. -->  
   <datasource name="movementDataSource" database="papo" table="movement"/>  
   
   <!-- Origen de datos que sirve para dar de alta procedimientos de pago (en este caso de la factura) -->  
   <datasource name="proceedingDataSource" database="papo" table="proceeding"/>  
   
   <!-- Origen de datos que sirve para dar de alta pagos con algun tipo de currency -->  
   <datasource name="ownDocumentProceedingDataSource" database="papo" table="own_document_proceeding"/>  
345    
346    <!--=== TRIGGERS ===-->    <!--=== TRIGGERS ===-->
347    <trigger name="startUp" type="On-Startup">    <trigger name="startUp" type="On-Startup">
# Line 499  Line 451 
451      if len(ownDocumentBlock.dateEntry) == 0:      if len(ownDocumentBlock.dateEntry) == 0:
452          ownDocumentBlock.dateEntry = ownDocumentDataSource.getTimeStamp()          ownDocumentBlock.dateEntry = ownDocumentDataSource.getTimeStamp()
453    
454      proceedingBlock.clear()    
     proceedingBlock.dateEntry = proceedingDataSource.getTimeStamp()  
   
455      from gnue.common.GDataObjects import ConnectionError as DBError      from gnue.common.GDataObjects import ConnectionError as DBError
456      try:      try:
457          postChangeAdvance = 0          postChangeAdvance = 0
# Line 510  Line 460 
460          ownPosDocumentBlock.documentNumberEntry.postAtomicModify (lambda x: int(x)+1)          ownPosDocumentBlock.documentNumberEntry.postAtomicModify (lambda x: int(x)+1)
461          postChangeAdvance = 2          postChangeAdvance = 2
462          proceedingBlock.postChanges()          proceedingBlock.postChanges()
463            #cargo documento de retenciones
464            callTrigger('retentionCommitTrigger')
465            callTrigger('proceedingCommitTrigger')
466    
         ownDocumentProceedingBlock.clear()  
         ownDocumentProceedingBlock.proceedingEntry = str(proceedingBlock.idEntry)  
         ownDocumentProceedingBlock.ownDocumentEntry = str(ownDocumentBlock.idEntry)  
         ownDocumentProceedingBlock.amountEntry = str(payBlock.cashEntry)  
   
         rc = currencyTypeBlock.getRecordCount()  
         for recNum in range(rc):  
             currencyTypeBlock.jumpRecord(recNum)  
             if hack.a2f(currencyTypeBlock.currencyBox.payEntry,2) > 0:  
                 if not currencyMovementBlock.getCurrentRecord().isEmpty():  
                     currencyMovementBlock.newRecord()  
                 currencyMovementBlock.proceedingEntry = str(proceedingBlock.idEntry)  
                 currencyMovementBlock.movementTypeEntry = "" # Revisar com queda esto  
                 currencyMovementBlock.currencyTypeEntry = str(currencyTypeBlock.currencyBox.idEntry)  
                 currencyMovementBlock.amountEntry = str(round(hack.a2f(currencyTypeBlock.currencyBox.payEntry,2) * hack.a2f(currencyTypeBlock.currencyBox.rateEntry,4),2))  
   
         postChangeAdvance = 3  
         ownDocumentProceedingBlock.postChanges()  
         postChangeAdvance = 4  
         currencyMovementBlock.postChanges()  
467          postChangeAdvance = 5          postChangeAdvance = 5
468          lOwnDocId = str(ownDocumentBlock.idEntry)          #lOwnDocId = str(ownDocumentBlock.idEntry)
469          #if stock by invoice          #if stock by invoice
470    
471          if  str(ownPosBlock.stockByInvoice) == "1":          if  str(ownPosBlock.stockByInvoice) == "1":
# Line 541  Line 474 
474          callTrigger('taxFillTrigger')          callTrigger('taxFillTrigger')
475          ownItemTaxBlock.postChanges()          ownItemTaxBlock.postChanges()
476          ownDocumentTaxTotalBlock.postChanges()          ownDocumentTaxTotalBlock.postChanges()
477            
478          commitConnection()          commitConnection()
479      except DBError, err:      except DBError, err:
480          rollbackConnection()          rollbackConnection()
# Line 640  Line 574 
574      payBlock.ctaCteEntry = "0.0"      payBlock.ctaCteEntry = "0.0"
575    </trigger>    </trigger>
576    
   <trigger type="NAMED" name="currencyWorkTrigger"><![CDATA[  
     import hack  
   
     if hack.a2f(payBlock.cashEntry,2) > 0:  
         currencyTypeBlock.clear()  
         currencyDataBlock.clear()  
   
         rs = currencyTypeDataSource.createResultSet()  
         client = 0  
         more = rs.firstRecord()  
         while more:  
             if not currencyTypeBlock.getCurrentRecord().isEmpty():  
                 currencyTypeBlock.newRecord()  
             currencyTypeBlock.currencyBox.idEntry = rs.current.getField("_table")  
             currencyTypeBlock.currencyBox.nameEntry = rs.current.getField("name")  
             currencyTypeBlock.currencyBox.rateEntry = hack.a2f(rs.current.getField("rate"),4)  
             monto = round(hack.a2f(payBlock.cashEntry,4) / hack.a2f(rs.current.getField("rate"),4),4)  
             currencyTypeBlock.currencyBox.formatEntry = rs.current.getField("format")  
             currencyTypeBlock.currencyBox.amountEntry = str(currencyTypeBlock.currencyBox.formatEntry) % monto  
             currencyTypeBlock.currencyBox.payEntry = 0.0  
             more = rs.nextRecord()  
   
         currencyTypeBlock.firstRecord ()  
         currencyDataBlock.recipientBox.dateEntry = str(tmpBlock.tmpDateEntry)  
         currencyDataBlock.recipientBox.numberEntry = str(ownPosDocumentBlock.documentNumberEntry)  
   
         currencyDataBlock.clientRecipientBox.clientCodeEntry = str(ownDocumentBlock.clientRecipientBox.clientCodeEntry)  
         currencyDataBlock.clientRecipientBox.clientNameEntry = str(ownDocumentBlock.clientRecipientBox.clientNameEntry)  
         #payBlock.dateEntry = str(tmpBlock.tmpDateEntry)  
         currencyDataBlock.clientRecipientBox.totalEntry = str(hack.a2f(payBlock.cashEntry,2))  
   
     ]]></trigger>  
   
   
   
   
   
   <trigger type="NAMED" name="currencyTypeTrigger"><![CDATA[  
     import hack  
   
     rn= currencyTypeBlock.getCurrentRecordNumber()  
   
     total = hack.a2f(payBlock.cashEntry,2)  
     rc = currencyTypeBlock.getRecordCount()  
     for recNum in range(rc):  
         currencyTypeBlock.jumpRecord(recNum)  
         if hack.a2f(currencyTypeBlock.currencyBox.payEntry,2) > 0:  
           total -= round(hack.a2f(currencyTypeBlock.currencyBox.payEntry,4) * hack.a2f(currencyTypeBlock.currencyBox.rateEntry,4),4)  
   
     rc = currencyTypeBlock.getRecordCount()  
     for recNum in range(rc):  
         currencyTypeBlock.jumpRecord(recNum)  
         if hack.a2f(currencyTypeBlock.currencyBox.rateEntry,4) > 0:  
             monto = round(total / hack.a2f(currencyTypeBlock.currencyBox.rateEntry,4),4)  
             currencyTypeBlock.currencyBox.amountEntry = str(currencyTypeBlock.currencyBox.formatEntry) % monto  
     currencyTypeBlock.jumpRecord(rn)  
   ]]></trigger>  
   
577    
578  <trigger  name="alertOfDespatchNoteTrigger" type="NAMED">  <trigger  name="alertOfDespatchNoteTrigger" type="NAMED">
579      if str(ownDocumentBlock.relatedToEntry)and (str(totalBlock.printDespatchNote) == "1") :      if str(ownDocumentBlock.relatedToEntry)and (str(totalBlock.printDespatchNote) == "1") :
# Line 754  Line 630 
630    
631    
632    
   <trigger type="NAMED" name="endTypeCurrencyTrigger"><![CDATA[  
   
     import hack  
   
     callTrigger('currencyTypeTrigger')  
   
     total = hack.a2f(payBlock.cashEntry,2)  
     rc = currencyTypeBlock.getRecordCount()  
     for recNum in range(rc):  
         currencyTypeBlock.jumpRecord(recNum)  
         if hack.a2f(currencyTypeBlock.currencyBox.rateEntry,4) > 0:  
             total -= round(hack.a2f(currencyTypeBlock.currencyBox.payEntry,4) * hack.a2f(currencyTypeBlock.currencyBox.rateEntry,4),4)  
   
     if round(total,2) != 0:  
         genericBox("El los montos no completan el total del documento\n",['Aceptar'])  
     else:  
         from gnue.common.GDataObjects import ConnectionError as DBError  
         callTrigger('startWaitingModeTrigger')  
         try:  
           callTrigger ('commitTrigger')  
           if str(totalBlock.printDespatchNote) == "1":  
            callTrigger('makeDespatchNote')  
           else:  
            reportNo= str(ownDocumentBlock.typeEntry)  
            print 'here: %s, %s' % (str(tmpValuesDataSource.alienIVACond), str(tmpValuesDataSource.ownIVACond))  
            if str(tmpValuesDataSource.alienIVACond)=='2' and str(tmpValuesDataSource.ownIVACond)=='1':  
              # hack to use alternative report and print config  
              reportNo= '4_and_half'  
            report='productInvoice-%s' % reportNo  
            print 'here: %s' % reportNo  
            hack.pleasePrint (self, reportNo, report, [ 'id='+str(ownDocumentBlock.idEntry) ],str(ownPosDocumentBlock.documentPrintCommand))  
            callTrigger('makeDespatchNote')  
            callTrigger('rollbackTrigger')  
         except DBError:  
           # just ignore, as the commit trigger already reports the error to the user  
           pass  
     callTrigger('endWaitingModeTrigger')  
     
   ]]></trigger>  
   
   
   
   
   
   
   <trigger name="cashEntryPreFocusout" type="NAMED">  
   
     import hack  
       
     lCurrentCredit = round(hack.a2f(tmpValuesDataSource.creditLimitAmount,2) - \  
                            hack.a2f(ownDocumentBlock.clientRecipientBox.deudaEntry,2),2)  
   
     newCtaCteValue = round(hack.a2f(totalBlock.totalEntry,2) - hack.a2f(payBlock.cashEntry,2),2)  
     if newCtaCteValue > lCurrentCredit and hack.a2f(payBlock.cashEntry,2) != hack.a2f(totalBlock.totalEntry,2):  
       genericBox("Esta excedido el Límite de Crédito",["Aceptar"])  
       payBlock.ctaCteEntry = "0.00"  
       payBlock.cashEntry = hack.a2f(totalBlock.totalEntry,2)  
     else:  
       payBlock.ctaCteEntry = newCtaCteValue  
       callTrigger('currencyTypeTrigger')  
   
   </trigger>  
   
   <trigger name="ctaCteEntryPreFocusout" type="NAMED">  
       
     import hack  
   
     lCurrentCredit = round(hack.a2f(tmpValuesDataSource.creditLimitAmount,2) - \  
                            hack.a2f(ownDocumentBlock.clientRecipientBox.deudaEntry,2),2)  
   
     if not (0 > lCurrentCredit and hack.a2f(payBlock.ctaCteEntry,2) == 0.00):  
       if hack.a2f(payBlock.ctaCteEntry,2) > lCurrentCredit:  
         genericBox("Esta excedido el Límite de Crédito",["Aceptar"])  
         payBlock.ctaCteEntry = "0.00"  
         payBlock.cashEntry = hack.a2f(totalBlock.totalEntry,2)  
       else:  
         payBlock.cashEntry = str(round(hack.a2f(totalBlock.totalEntry,2) - hack.a2f(payBlock.ctaCteEntry,2),2))  
         callTrigger('currencyTypeTrigger')  
   
   </trigger>  
   
   <trigger type="NAMED" name="cancelCurrencyTrigger"><![CDATA[  
   
     setFocus(ownItemBlock.prodCodeSEntry)  
   
   ]]></trigger>  
   
   
633    <!--=== ah, and here comes the dinner.... er, form! ===-->    <!--=== ah, and here comes the dinner.... er, form! ===-->
634    <page name="Factura a Clientes">    <page name="Factura a Clientes">
635      <box height="9" label="Factura de Productos a Clientes"      <box height="9" label="Factura de Productos a Clientes"
636        name="invoiceHeaderBox" width="105" x="0" y="0">        name="invoiceHeaderBox" width="105" x="0" y="0">
637      <!--     Estos bloques son para la gestion del pago de la factura -->      <!--     Estos bloques son para la gestion del pago de la factura -->
638      <block name="proceedingBlock" datasource="proceedingDataSource" transparentBlock="">    
         <entry name="idEntry" field="id" hidden="" x="1" y="1" width="12"/>  
         <entry name="dateEntry" field="date" hidden="" x="1" y="1" width="12"/>  
     </block>  
639    
640    
641      <!-- Actualiza los datos del cliente -->      <!-- Actualiza los datos del cliente -->
# Line 920  Line 705 
705          spentTotal = 0          spentTotal = 0
706    
707          while more:          while more:
708              invoiceTotal = 0              currOwnDoc =   productInvoiceResultSet.current.getField("own_document.id")
709              currOwnDoc = productInvoiceResultSet.current.getField("own_document.id")              invoiceTotal = hack.a2f(productInvoiceResultSet.current.getField("own_document.net_total"),4)+\
710              while productInvoiceResultSet.current.getField("own_document.id") == currOwnDoc and more:                             hack.a2f(productInvoiceResultSet.current.getField("own_document.tax_total"),4)
                 lQty = hack.a2f(productInvoiceResultSet.current.getField("own_product_item.qty"),4)  
                 lUnitPrice = hack.a2f(productInvoiceResultSet.current.getField("own_product_item.unit_price"),4)  
                 lBonus = hack.a2f(productInvoiceResultSet.current.getField("own_item.bonus"),4)  
                 lDiscount = hack.a2f(productInvoiceResultSet.current.getField("own_item.discount"),4)  
                 item = round(lQty * lUnitPrice - lBonus - lDiscount,2)  
                 #print "qty %d * unit_price %d - bonus %d - discount %d = %d " % (lQty, lUnitPrice, lBonus, lDiscount, lQty * lUnitPrice - lBonus - lDiscount)  
                 itemTaxTotal = 0  
                 currItem = productInvoiceResultSet.current.getField("own_item.id")  
                 while productInvoiceResultSet.current.getField("own_item.id") == currItem and more:  
                     itemTaxTotal += hack.a2f(productInvoiceResultSet.current.getField("own_item_tax.amount"),4)  
                     more = productInvoiceResultSet.nextRecord()  
                 invoiceTotal += round(item + itemTaxTotal,2)  
             # Calcula los impuestos del documento en si  
             odt_rs = ownDocumentTaxTotDataSource.createResultSet({"own_document.id":currOwnDoc})  
             odt_more = odt_rs.firstRecord()  
             while odt_more:  
                 invoiceTotal += hack.a2f(odt_rs.current.getField("own_document_tax.amount"),4)  
                 odt_more = odt_rs.nextRecord()  
711              spentTotal += invoiceTotal              spentTotal += invoiceTotal
712                more = productInvoiceResultSet.nextRecord()
713                
714              
715          # Calculo del total acreditado          # Calculo del total acreditado
716          productCreditNoteResultSet = productCreditNoteTotalDataSource.createResultSet(condCreditNote)          productCreditNoteResultSet = productCreditNoteTotalDataSource.createResultSet(condCreditNote)
717          more = productCreditNoteResultSet.firstRecord()          more = productCreditNoteResultSet.firstRecord()
718          creditTotal = 0          creditTotal = 0
719    
720          while more:          while more:
             creditNoteTotal = 0  
721              currOwnDoc = productCreditNoteResultSet.current.getField("own_document.id")              currOwnDoc = productCreditNoteResultSet.current.getField("own_document.id")
722              while productCreditNoteResultSet.current.getField("own_document.id") == currOwnDoc and more:              creditNoteTotal = hack.a2f(creditNoteTotalproductCreditNoteResultSet.current.getField("own_document.net_total"),4)+\
723                  lQty = hack.a2f(productCreditNoteResultSet.current.getField("own_product_item.qty"),4)                                hack.a2f(creditNoteTotalproductCreditNoteResultSet.current.getField("own_document.tax_total"),4)
724                  lUnitPrice = hack.a2f(productCreditNoteResultSet.current.getField("own_product_item.unit_price"),4)  
                 lBonus = hack.a2f(productCreditNoteResultSet.current.getField("own_item.bonus"),4)  
                 lDiscount = hack.a2f(productCreditNoteResultSet.current.getField("own_item.discount"),4)  
                 item = round(lQty * lUnitPrice - lBonus - lDiscount,2)  
                 #print "qty %d * unit_price %d - bonus %d - discount %d = %d " % (lQty, lUnitPrice, lBonus, lDiscount, lQty * lUnitPrice - lBonus - lDiscount)  
                 itemTaxTotal = 0  
                 currItem = productCreditNoteResultSet.current.getField("own_item.id")  
                 while productCreditNoteResultSet.current.getField("own_item.id") == currItem and more:  
                     itemTaxTotal += hack.a2f(productCreditNoteResultSet.current.getField("own_item_tax.amount"),4)  
                     more = productCreditNoteResultSet.nextRecord()  
                 creditNoteTotal += round(item + itemTaxTotal,2)  
             # Calcula los impuestos del documento en si  
             odt_rs = ownDocumentTaxTotDataSource.createResultSet({"own_document.id":currOwnDoc})  
             odt_more = odt_rs.firstRecord()  
             while odt_more:  
                 creditNoteTotal += hack.a2f(odt_rs.current.getField("own_document_tax.amount"),4)  
                 odt_more = odt_rs.nextRecord()  
725              creditTotal += creditNoteTotal              creditTotal += creditNoteTotal
726                more = productCreditNoteResultSet.nextRecord()
727    
728    
729          # Calculo del total cobrado          # Calculo del total cobrado
730          paidResultSet = paidTotalDataSource.createResultSet(condPay)          paidResultSet = paidTotalDataSource.createResultSet(condPay)
# Line 1414  Line 1168 
1168    
1169      <neb:Sub neb:src="ownItemTax.nebc"/>      <neb:Sub neb:src="ownItemTax.nebc"/>
1170    
1171      <block name="ownDocumentProceedingBlock" datasource="ownDocumentProceedingDataSource" transparentBlock="">    
         <entry name="proceedingEntry" field="proceeding" hidden="" x="1" y="1" width="12"/>  
         <entry name="ownDocumentEntry" field="own_document" hidden="" x="1" y="1" width="12"/>  
         <entry name="amountEntry" field="amount" hidden="" x="1" y="1" width="12"/>  
     </block>  
     <block name="currencyMovementBlock" datasource="currencyMovementDataSource" transparentBlock="">  
         <entry name="proceedingEntry" field="movement.proceeding" hidden="" x="1" y="1" width="12"/>  
         <entry name="movementTypeEntry" field="movement.movement_type" hidden="" x="1" y="1" width="12"/>  
         <entry name="amountEntry" field="movement.amount" hidden="" x="1" y="1" width="12"/>  
         <entry name="currencyTypeEntry" field="currency_movement.currency_type" hidden="" x="1" y="1" width="12"/>  
     </block>  
1172      <!--     Datasource que sirve para almacenar el resultado de la búsqueda -->      <!--     Datasource que sirve para almacenar el resultado de la búsqueda -->
1173      <block datasource="ownDocumentDataSource" name="totalBlock" restrictInsert="">      <block datasource="ownDocumentDataSource" name="totalBlock" restrictInsert="">
1174        <label text="Neto " x="55" y="21"/>        <label text="Neto " x="55" y="21"/>
# Line 1467  Line 1211 
1211        <entry name="condIVAEntry" field="_tax_profile_data._table" hidden="" x="1" y="1" width="10"/>        <entry name="condIVAEntry" field="_tax_profile_data._table" hidden="" x="1" y="1" width="10"/>
1212      </block>      </block>
1213    </page>    </page>
1214    <!-- Llamo al componente de pagos -->
1215      <neb:Sub neb:src="ownDocumentPay.nebc" />
1216    
   <!--=== SECOND PAGE ===-->  
   <page name="Determinación de Monedas">  
     <block name="currencyDataBlock" datasource="dataCurrencyDataSource">  
       <box height="4" label="Factura de Productos a Clientes"  
         name="recipientBox" width="105" x="0" y="0">  
         <label  text="Fecha:" x="1" y="1" />  
         <label  text="Tipo:" x="25" y="1"/>  
         <label  text="Número:" x="35" y="1"/>  
         <entry name="dateEntry" style="label" typecast="date" width="11" x="8" y="1"/>  
         <entry name="typeEntry" style="label"  width="1" x="32" y="1"/>  
         <entry name="numberEntry" style="label" typecast="number" displaymask="%10d" width="11" x="43" y="1"/>  
       </box>  
       <box height="5" label="Datos del Cliente" name="clientRecipientBox" width="105" x="0" y="3">  
         <label name="codeLbl" text="Codigo" x="1" y="1"/>  
         <label name="nameLbl" text="Nombre" x="21" y="1"/>  
         <entry x="1" y="2" name="clientCodeEntry" style="label" width="20"/>  
         <entry x="21" y="2" name="clientNameEntry" style="label" width="35"/>  
         <label name="totalLbl" text="Total a Pagar:" x="26" y="3"/>  
         <entry name="totalEntry"  x="41" y="3" width="10" style="label"  
           typecast="number" displaymask="%10.2f"/>  
       </box>  
     </block>  
     <block name="currencyTypeBlock" datasource="tmpCurrencyDataSource">  
       <box label="Monedas de Pago" name="currencyBox"  
         height="13" width="105" x="0" y="10">  
   
         <label name="nameLbl" text="Moneda" x="1" y="1"/>  
         <label name="rateLbl" text="Cotización" x="10" y="1"/>  
         <label name="montoLbl" text="Monto" x="21" y="1"/>  
         <label name="pagoLbl" text="Pago" x="31" y="1"/>  
   
         <entry name="idEntry" field="id" rows="6" x="1" y="1" hidden=""/>  
         <entry name="formatEntry" field="format" rows="6" x="1" y="1" hidden=""/>  
         <entry name="nameEntry" field="name" style="label" rows="6"  
           x="1" y="2" width="6" readonly=""/>  
         <entry name="rateEntry" field="rate" style="label" rows="6" typecast="number"  
           displaymask="%0.4f" x="10" y="2" width="10" readonly=""/>  
         <entry name="amountEntry" field="amount" style="label" rows="6"  
           x="21" y="2" width="20" readonly=""/>  
         <entry name="payEntry" field="pay" rows="6" x="38" y="2" width="20"  
           typecast="number" displaymask="%0.4f">  
           <trigger type="PRE-FOCUSOUT" src="currencyTypeTrigger"/>  
         </entry>  
         <scrollbar page="6" x="68" y="2" width="1" height="6"/>  
         <button name="acceptButton" trigger="endTypeCurrencyTrigger" label="Aceptar"  
           width="10" height="1" x="10" y="10"/>  
         <button name="cancelButton" trigger="cancelCurrencyTrigger" label="Cancelar"  
           width="10" height="1" x="20" y="10"/>  
       </box>  
       <box height="4" label="Cobro de la factura" name="payBox"  
         width="105" x="0" y="7">  
         <block datasource="payDataSource" name="payBlock" restrictInsert="">  
           <label text="Efectivo : " x="1" y="1"/>  
           <entry name="cashEntry" typecast="number" displaymask="%0.2f" default="0.00"  
             x="11" y="1" width="12">  
             <trigger src="cashEntryPreFocusout" type="Pre-Focusout"/>  
             <options>  
               <option name="tip" value="Importe al Contado"/>  
             </options>  
           </entry>  
           <label text="Cta. Cte. : " x="24" y="1"/>  
           <entry name="ctaCteEntry" typecast="number" displaymask="%0.2f" default="0.00"  
             x="36" y="1" width="12">  
             <trigger src="ctaCteEntryPreFocusout" type="Pre-Focusout"/>  
             <options>  
               <option name="tip" value="Importe en Cuenta corriente"/>  
             </options>  
           </entry>  
           <label text="Vencimiento : " x="50" y="1"/>  
           <entry name="dateEntry" typecast="date" x="64" y="1" width="11">  
             <options>  
               <option name="tip" value="Vencimiento estimado de la factura"/>  
             </options>  
           </entry>  
         </block>  
       </box>  
     </block>  
   </page>  
1217  </form>  </form>

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37

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