/[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.13 by apronotti, Tue Oct 29 18:30:08 2002 UTC revision 1.14 by apronotti, Thu Nov 14 20:11:45 2002 UTC
# Line 2  Line 2 
2  <!DOCTYPE form SYSTEM "gnue-forms.dtd">  <!DOCTYPE form SYSTEM "gnue-forms.dtd">
3    
4  <form width="84" height="17" title="Facturación a Clientes">  <form width="84" height="17" title="Facturación a Clientes">
5    <datasource name="nil" cache="1"/>    <datasource name="total" cache="1"/>
6      <datasource name="debt" cache="1"/>
7    
8    <!--   Origen de datos que sirve para seleccionar el cleinte al que se le -->
9    <!--   va a facturar   -->
10    
11    <datasource name="clientDataSource" database="papo"    <datasource name="clientDataSource" database="papo"
12      table="entity, alienentity, persona, client">                table="entity, _entity_data, alien_entity, _alien_entity_data, persona, _persona_data, client, _client_data,
13                         _price_type_data">
14      <condition>      <condition>
15        <and>        <and>
16          <eq>          <eq>
17            <cfield name="entity.id"/>            <cfield name="entity.id"/>
18            <cfield name="alienentity.entity"/>            <cfield name="_entity_data._table"/>
19            </eq>
20            <eq>
21              <cfield name="alien_entity.id"/>
22              <cfield name="_alien_entity_data._table"/>
23            </eq>
24            <eq>
25              <cfield name="persona.id"/>
26              <cfield name="_persona_data._table"/>
27            </eq>
28            <eq>
29              <cfield name="client.id"/>
30              <cfield name="_client_data._table"/>
31            </eq>
32            <eq>
33              <cfield name="entity.id"/>
34              <cfield name="_alien_entity_data.entity"/>
35          </eq>          </eq>
36          <eq>          <eq>
37            <cfield name="alienentity.id"/>            <cfield name="alien_entity.id"/>
38            <cfield name="persona.alien_entity"/>            <cfield name="_persona_data.alien_entity"/>
39          </eq>          </eq>
40          <eq>          <eq>
41            <cfield name="persona.id"/>            <cfield name="persona.id"/>
42            <cfield name="client.persona"/>            <cfield name="_client_data.persona"/>
43          </eq>          </eq>
44            <eq>
45              <cfield name="_price_type_data._table"/>
46              <cfield name="_client_data.price_type"/>
47            </eq>
48            <null>
49              <cfield name="_entity_data._end_t"/>
50            </null>
51          <null>          <null>
52             <cfield name="entity.end_t"/>            <cfield name="_alien_entity_data._end_t"/>
53            </null>
54            <null>
55              <cfield name="_persona_data._end_t"/>
56            </null>
57            <null>
58              <cfield name="_client_data._end_t"/>
59            </null>
60            <null>
61              <cfield name="_price_type_data._end_t"/>
62          </null>          </null>
63        </and>        </and>
64      </condition>      </condition>
65    </datasource>    </datasource>
66    
67    <datasource name="priceDataSource" database="papo" table="product, price"    <!-- Origen de datos que srive para calcular el total facturado -->
68      order_by="product.name">  
69      <condition>    <datasource name="invTotDataSource" database="papo"
70                  table="_entity_data, own_document, own_item, own_proditem, _price_data, own_item_tax"
71                  order_by="own_proditem.id">
72        <condition>
73        <and>        <and>
74          <eq>          <eq>
75            <cfield name="price.product"/>            <!-- Aqui se refiere al cliente  -->
76            <cfield name="product.id"/>            <cfield name="_entity_data._table"/>
77              <cfield name="own_document.recipient"/>
78          </eq>          </eq>
79        </and>          <eq>
80      </condition>            <cfield name="own_document.id"/>
81              <cfield name="own_item.own_document"/>
82            </eq>
83            <eq>
84              <cfield name="own_item.id"/>
85              <cfield name="own_proditem.own_item"/>
86            </eq>
87            <eq>
88              <cfield name="own_proditem.price"/>
89              <cfield name="_price_data._table"/>
90            </eq>
91            <eq>
92              <cfield name="own_item.id"/>
93              <cfield name="own_item_tax.own_item"/>
94            </eq>
95         </and>
96        </condition>
97    </datasource>    </datasource>
     
   <datasource database="papo" name="ownDocumentDataSource" table="owndocument"  
     order_by="date" />  
98    
99    <datasource database="papo" name="creditLimit1DataSource" table="creditlimit">    <!-- Origen de datos que srive para calcular los impuestos del la factura -->
100      <condition>  
101       <and>    <datasource name="invTaxTotDataSource" database="papo"
102                  table="own_document, own_document_tax">
103        <condition>
104        <eq>        <eq>
105          <cfield name="movement_type"/>          <cfield name="own_document.id"/>
106          <cconst value="1"/>          <cfield name="own_document_tax.own_document"/>
107        </eq>        </eq>
108        <null>      </condition>
109           <cfield name="end_t"/>    </datasource>
110        </null>  
111      <!-- Origen de datos que srive para calcular el total adeudado -->
112    
113      <datasource name="payTotDataSource" database="papo" table="_entity_data, own_document, own_document_proceeding">
114        <condition>
115          <and>
116            <eq>
117              <!-- Aqui se refiere al cliente  -->
118              <cfield name="_entity_data._table"/>
119              <cfield name="own_document.recipient"/>
120            </eq>
121            <eq>
122              <cfield name="own_document.id"/>
123              <cfield name="own_document_proceeding.own_document"/>
124            </eq>
125       </and>       </and>
126      </condition>      </condition>
127    </datasource>    </datasource>
128    
129    <datasource database="papo" name="creditLimit2DataSource" table="creditlimit">    <datasource name="priceDataSource" database="papo" table="_product_data, price"
130        order_by="_product_data.canonical_name">
131    <!--     <condition> -->
132    <!--       <and> -->
133    <!--         <eq> -->
134    <!--           <cfield name="price.product"/> -->
135    <!--           <cfield name="product.id"/> -->
136    <!--         </eq> -->
137    <!--       </and> -->
138    <!--     </condition> -->
139      </datasource>
140    
141    <!--   Origen de datos que contiene el encabezado de la factura   -->
142    
143      <datasource database="papo" name="ownDocumentDataSource" table="own_document"
144        order_by="date" />
145    
146    <!--   Origen de datos que sirve para consultar el limite de crédito -->
147    <!--   asignado al cliente que se le factura -->
148    
149      <datasource name="tlCreditLimit1DataSource" database="papo"
150        table="_credit_limit_data">
151      <condition>      <condition>
152       <and>      <and>
153        <eq>        <eq>
154          <cfield name="movement_type"/>          <cfield name="_credit_limit_data.movement_type"/>
155          <cconst value="2"/>          <cconst value="1"/>
156        </eq>        </eq>
157        <null>        <null>
158           <cfield name="end_t"/>           <cfield name="_credit_limit_data._end_t"/>
159        </null>        </null>
160       </and>      </and>
161      </condition>      </condition>
162    </datasource>    </datasource>
163    
164    <datasource database="papo" name="creditLimit3DataSource" table="creditlimit">    <datasource name="creditLimit1DataSource" database="papo"
165        table="_credit_limit_data">
166      <condition>      <condition>
167       <and>      <and>
168        <eq>        <eq>
169          <cfield name="movement_type"/>          <cfield name="_credit_limit_data.movement_type"/>
170          <cconst value="3"/>          <cconst value="1"/>
171        </eq>        </eq>
172        <null>        <null>
173           <cfield name="end_t"/>           <cfield name="_credit_limit_data._end_t"/>
174        </null>        </null>
175       </and>      </and>
176      </condition>      </condition>
177    </datasource>    </datasource>
178      
179    <datasource database="papo" detaillink="ownitem.own_document"  <!--   Origen de datos que contiene los items de la factura -->
180    
181      <datasource database="papo" detaillink="own_item.own_document"
182      master="ownDocumentDataSource" masterlink="id" name="ownItemDataSource"        master="ownDocumentDataSource" masterlink="id" name="ownItemDataSource"  
183      table="ownitem, ownproditem">      table="own_item, own_proditem">
184      <condition>      <condition>
185        <and>        <and>
186          <eq>          <eq>
187            <cfield name="ownitem.id"/>            <cfield name="own_item.id"/>
188            <cfield name="ownproditem.own_item"/>            <cfield name="own_proditem.own_item"/>
189          </eq>          </eq>
190        </and>        </and>
191      </condition>      </condition>
192    </datasource>    </datasource>
193    
194    <datasource database="papo" name="ownItemDataSourceToUpd"  <!--   Origen de datos que sirve para consultar y asi actualizar el stock -->
195      table="ownitem, ownproditem, price, productstore">  
196      <datasource database="papo" name="ownItemToUpdDataSource"
197        table="own_item, own_proditem, price, _price_data, product_store, _product_store_data">
198      <condition>      <condition>
199        <and>        <and>
200          <eq>          <eq>
201            <cfield name="ownitem.id"/>            <cfield name="price.id"/>
202            <cfield name="ownproditem.own_item"/>            <cfield name="_price_data._table"/>
203            </eq>
204            <eq>
205              <cfield name="product_store.id"/>
206              <cfield name="_product_store_data._table"/>
207            </eq>
208            <eq>
209              <cfield name="own_item.id"/>
210              <cfield name="own_proditem.own_item"/>
211          </eq>          </eq>
212          <eq>          <eq>
           <cfield name="ownproditem.price"/>  
213            <cfield name="price.id"/>            <cfield name="price.id"/>
214              <cfield name="own_proditem.price"/>
215          </eq>          </eq>
216          <eq>          <eq>
217            <cfield name="price.product"/>            <cfield name="_price_data.product"/>
218            <cfield name="productstore.product"/>            <cfield name="_product_store_data.product"/>
219          </eq>          </eq>
220            <null>
221              <cfield name="_price_data._end_t"/>
222            </null>
223            <null>
224              <cfield name="_product_store_data._end_t"/>
225            </null>
226        </and>        </and>
227      </condition>      </condition>
228    </datasource>    </datasource>
229        
230    <!--   Este trigger sirve para calcular la deuda acumulada para poder saber -->
231    <!--   cuanto credito le queda con respecto al limite de credito asignado -->
232    
233      <trigger name="debtCalcTrigger" type="NAMED">
234            
235      </trigger>
236    
237    <trigger name="commitTrigger" type="NAMED">    <trigger name="commitTrigger" type="NAMED">
           import mx.DateTime  
238            if ownItemBlock.getRecordCount() > 0 and len(ownItemBlock.qtyEntry) > 0:            if ownItemBlock.getRecordCount() > 0 and len(ownItemBlock.qtyEntry) > 0:
239               if len(ownDocumentBlock.dateEntry) == 0:               if len(ownDocumentBlock.dateEntry) == 0:
240                  ownDocumentBlock.dateEntry = mx.DateTime.localtime()                  ownDocumentBlock.dateEntry = ownDocumentDataSource.getTimeStamp()
241               ownDocumentBlock.commit()               ownDocumentBlock.commit()
242               lOwnDocId = str(ownDocumentBlock.idEntry)               lOwnDocId = str(ownDocumentBlock.idEntry)
243               setFocus(ownDocumentBlock.dateEntry)               setFocus(ownDocumentBlock.dateEntry)
# Line 139  Line 255 
255            ownDocumentBlock.processRollback()            ownDocumentBlock.processRollback()
256            ownItemBlock.processRollback()            ownItemBlock.processRollback()
257            ownDocumentBlock.newRecord()            ownDocumentBlock.newRecord()
258            ownDocumentBlock.dateEntry = mx.DateTime.localtime()            ownDocumentBlock.dateEntry = ownDocumentDataSource.getTimeStamp()
259            totalBlock.total = ""            totalBlock.total = ""
260    </trigger>    </trigger>
261    
262    <trigger name="rollbackTrigger" type="NAMED">    <trigger name="rollbackTrigger" type="NAMED">
           import mx.DateTime  
263            ownDocumentBlock.processRollback()            ownDocumentBlock.processRollback()
264            ownDocumentBlock.dateEntry = mx.DateTime.localtime()            ownDocumentBlock.dateEntry = ownDocumentDataSource.getTimeStamp()
265            totalBlock.total = ""            totalBlock.total = ""
266    </trigger>    </trigger>
267    <trigger type="On-Startup">    <trigger type="On-Startup">
268            import mx.DateTime            ownDocumentBlock.dateEntry = ownDocumentDataSource.getTimeStamp()
           ownDocumentBlock.dateEntry = mx.DateTime.localtime()  
269    </trigger>    </trigger>
270    
271    <trigger name="quitTrigger" type="NAMED">    <trigger name="quitTrigger" type="NAMED">
# Line 192  Line 306 
306           totalBlock.total = str(sum)           totalBlock.total = str(sum)
307    </trigger>    </trigger>
308    
309      
310    <page name="Factura a Clientes">    <page name="Factura a Clientes">
311    
312    
313      <box height="10" label="Factura de Productos a Clientes"      <box height="10" label="Factura de Productos a Clientes"
314        name="invoiceHeaderBox" width="82" x="0" y="0">        name="invoiceHeaderBox" width="82" x="0" y="0">
315        <block name="debtBlock" datasource="debt">
316          <label text=" Deuda actual" x="65" y="2" />
317          
318          <entry x="65" y="3" name="debtEntry" readonly="" width="8">
319    <!--       <trigger type="Pre-Focusout"> -->
320    <!--                 print str(debtBlock.dedtEntry) -->
321    <!--       </trigger> -->
322          </entry>
323        </block>
324    
325      <block datasource="ownDocumentDataSource" name="ownDocumentBlock">      <block datasource="ownDocumentDataSource" name="ownDocumentBlock">
326      <trigger name="t" type="Pre-Insert">      <trigger name="t" type="Pre-Insert">
# Line 203  Line 329 
329      </trigger>      </trigger>
330    
331          <entry field="id" hidden="" name="idEntry" x="1" y="1"/>          <entry field="id" hidden="" name="idEntry" x="1" y="1"/>
332          <entry field="type" hidden="" name="typeEntry" x="1" y="1"/>          <entry field="own_document_type" hidden="" name="typeEntry" x="1" y="1"/>
333          <box height="5" label="Datos del Cliente"          <box height="6" label="Datos del Cliente"
334           name="clientRecipientBox" width="65" x="0" y="1">           name="clientRecipientBox" width="65" x="0" y="1">
335    
336          <label name="clientLbl" text="Cliente" x="1" y="1" />          <label name="clientLbl" text="Cliente" x="1" y="1" />
337          <entry x="1" y="2" field="owndocument.recipient" name="clientEntry"  
338            width="30" style="dropdown" foreign_key="clientDataSource.entity.id"          <entry x="1" y="2" field="recipient" name="clientEntry"
339            foreign_key_description="entity.name" >            width="30" style="dropdown" foreign_key="clientDataSource._entity_data._table"
340              foreign_key_description="_entity_data.name" >
341    
342          <trigger type="PRE-FOCUSOUT" name="showScoreTrigger">          <trigger type="PRE-FOCUSOUT" name="showScoreTrigger">
343          ownDocumentBlock.clientRecipientBox.scoreEntry = str(ownDocumentBlock.clientRecipientBox.clientEntry)          if str(ownDocumentBlock.clientRecipientBox.clientEntry):
344          ownDocumentBlock.clientRecipientBox.creditLimit1Entry = str(ownDocumentBlock.clientRecipientBox.clientEntry)              ownDocumentBlock.clientRecipientBox.scoreEntry = str(ownDocumentBlock.clientRecipientBox.clientEntry)
345          ownDocumentBlock.clientRecipientBox.creditLimit2Entry = str(ownDocumentBlock.clientRecipientBox.clientEntry)              ownDocumentBlock.clientRecipientBox.creditLimit1Entry = str(ownDocumentBlock.clientRecipientBox.clientEntry)
346                ownDocumentBlock.clientRecipientBox.priceTypeEntry = str(ownDocumentBlock.clientRecipientBox.clientEntry)
347                # Aca si existe un balance, calcula la deuda desde ese balance en adelante sino
348                # calcula la deuda desde el primer documento vinculado al cliente actual
349                creditLimit1Block.processRollback()
350                creditLimit1Block.initQuery()
351                creditLimit1Block.entityEntry = str(ownDocumentBlock.clientRecipientBox.clientEntry)
352                creditLimit1Block.processQuery()
353    
354                import gnue.common.GConditions as GConditions
355                import hack
356            
357                cond = GConditions.GCondition()
358                
359                balance = 0
360                if str(creditLimit1Block.balanceEntry):
361                    tmpAnd = GConditions.GCand(cond)
362                    gt = GConditions.GCgt(tmpAnd)
363                    GConditions.GCField(gt,"own_document.date")
364                    GConditions.GCConst(gt,str(creditLimit1Block.timeStampEntry))
365                    eq = GConditions.GCeq(tmpAnd)
366                    GConditions.GCField(eq,"own_document.recipient")
367                    GConditions.GCConst(eq,str(ownDocumentBlock.clientRecipientBox.clientEntry))
368                    balance = hack.a2f(creditLimit1Block.balance)
369                else:
370                    eq = GConditions.GCeq(cond)
371                    GConditions.GCField(eq,"own_document.recipient")
372                    GConditions.GCConst(eq,str(ownDocumentBlock.clientRecipientBox.clientEntry))
373    
374                # Calculo del total facturado
375                rs = invTotDataSource.createResultSet(cond)
376                more = rs.firstRecord()
377                invTotal = 0
378    
379                while more:
380                    itemTot = 0
381                    currOwnDoc = rs.current.getField("own_document.id")
382                    while rs.current.getField("own_document.id") == currOwnDoc:
383                        itemTot += hack.a2f(rs.current.getField("own_item.qty"))*hack.a2f(rs.current.getField("_price_data.unit_price")) -\
384                                   hack.a2f(rs.current.getField("own_item.bonus")) - hack.a2f(rs.current.getField("own_item.discount"))
385                        taxTot = 0        
386                        currItem = rs.current.getField("own_item.id")
387                        while rs.current.getField("own_item.id") == currItem:
388                            taxTot += hack.a2f(rs.current.getField("own_item_tax.amount"))
389                            more = rs.nextRecord()
390                        invTotal += taxTot
391                    invTotal += itemTot - hack.a2f(rs.current.getField("own_document.bonus"))
392                    # Calcula los impuestos del documento en si
393                    odt_rs = invTaxTotDataSource.createResultSet({"own_document.id":currOwnDoc})
394                    odt_more = odt_more.firstRecord()
395                    while odt_more:
396                        invTotal += hack.a2f(odt_rs.current.getField("own_document_tax.amount"))
397                        odt_more = odt_rs.nextRecord()
398                    
399                # Calculo del total cobrado
400                rs = payTotDataSource.createResultSet(cond)
401    
402                more = rs.firstRecord()
403                import hack
404                payTotal = 0
405    
406                while more:
407                    payTotal += hack.a2f(rs.current.getField("own_document_proceeding.amount"))
408    
409                # Calculo del total adeudado
410                debtTotal = invTotal + balance - payTotal
411    
412                debtBlock.dedtEntry = "0.0"
413          </trigger>          </trigger>
414          <trigger type="PRE-FOCUSIN" name="showScoreTrigger">          <trigger type="PRE-FOCUSIN" name="showScoreTrigger">
415          ownDocumentBlock.clientRecipientBox.scoreEntry = ""          ownDocumentBlock.clientRecipientBox.scoreEntry = ""
416          ownDocumentBlock.clientRecipientBox.creditLimit1Entry = ""          ownDocumentBlock.clientRecipientBox.creditLimit1Entry = ""
417          ownDocumentBlock.clientRecipientBox.creditLimit2Entry = ""          ownDocumentBlock.clientRecipientBox.priceTypeEntry = ""
418          </trigger>          </trigger>
419          </entry>          </entry>
         <label name="scoreLbl" text="Puntaje" x="32" y="1" />  
         <entry x="32" y="2" readonly="" field="owndocument.recipient" name="scoreEntry"  
                width="10" style="textlookup" foreign_key="clientDataSource.entity.id"  
                foreign_key_description="client.score"/>  
420    
421          <label name="nameMVType1Label" text="Cta. Cte." x="43" y="1"/>          <label name="clientLbl" text="Lista de precios:" x="1" y="3" />
422    
423          <entry x="43" y="2" readonly="" field="owndocument.recipient" name="creditLimit1Entry"          <entry x="19" y="3" field="own_document.recipient" name="priceTypeEntry" readonly=""
424                 width="8" style="textlookup" foreign_key="creditLimit1DataSource.entity"            width="20" style="textlookup" foreign_key="clientDataSource._entity_data._table"
425                 foreign_key_description="credit_limit"/>            foreign_key_description="_price_type_data.name" />
426    
427          <label name="nameMVType2Label" text="Cheques" x="53" y="1"/>          <label name="scoreLbl" text="Puntaje" x="32" y="1" />
428            <entry x="32" y="2" readonly="" field="own_document.recipient" name="scoreEntry"
429                   width="10" style="textlookup" foreign_key="clientDataSource._entity_data._table"
430                   foreign_key_description="_client_data.score"/>
431    
432          <entry x="53" y="2" readonly="" field="owndocument.recipient" name="creditLimit2Entry"          <label name="nameMVType1Label" text="Cta. Cte." x="43" y="1"/>
433                 width="8" style="textlookup" foreign_key="creditLimit2DataSource.entity"  
434            <entry x="43" y="2" readonly="" field="own_document.recipient" name="creditLimit1Entry"
435                   width="8" style="textlookup" foreign_key="tlCreditLimit1DataSource.entity"
436                 foreign_key_description="credit_limit"/>                 foreign_key_description="credit_limit"/>
437    
438          </box>          </box>
439          <label name="dateLbl" rows="1" text="Fecha" x="1" y="6" />          <label name="dateLbl" rows="1" text="Fecha" x="1" y="7" />
440          <entry field="date" name="dateEntry" readonly="" typecast="date"          <entry field="date" name="dateEntry" readonly="" typecast="date"
441            rows="1" width="24" x="1" y="7"/>            rows="1" width="24" x="7" y="7"/>
442    
443          <label name="bonusLbl" rows="1" text="Bonificación" x="33" y="6"/>          <label name="bonusLbl" rows="1" text="Bonificación" x="33" y="7"/>
444          <entry field="bonus" name="hBonusEntry" value="0" rows="1" width="10"          <entry field="bonus" name="hBonusEntry" value="0" rows="1" width="10"
445            x="33" y="7">            x="46" y="7">
446            <trigger type="PRE-FOCUSOUT" name="reCalcTrigger"            <trigger type="PRE-FOCUSOUT" name="reCalcTrigger"
447              src="totalCalcTrigger" />              src="totalCalcTrigger" />
448          </entry>          </entry>
449    
450          <button x="65" y="2" trigger="commitTrigger" width="14" label="Aceptar"          <button x="65" y="5" trigger="commitTrigger" width="14" label="Aceptar"
451            name="commitBtn" height="1"/>            name="commitBtn" height="1"/>
452          <button x="65" y="3" trigger="rollbackTrigger" width="14" label="Deshacer"          <button x="65" y="6" trigger="rollbackTrigger" width="14" label="Deshacer"
453            name="rollbackBtn" height="1"/>            name="rollbackBtn" height="1"/>
454          <button x="65" y="4" trigger="quitTrigger" width="14" label="Salir"          <button x="65" y="7" trigger="quitTrigger" width="14" label="Salir"
455            name="quitBtn" height="1"/>            name="quitBtn" height="1"/>
456        </block>        </block>
457      </box>      </box>
# Line 264  Line 460 
460        width="82" x="0" y="9">        width="82" x="0" y="9">
461        <block datasource="ownItemDataSource" name="ownItemBlock">        <block datasource="ownItemDataSource" name="ownItemBlock">
462        
463          <entry field="ownitem.own_document" name="ownDocumentEntry" hidden="" x="1" y="1"/>            <entry field="own_item.own_document" name="ownDocumentEntry" hidden="" x="1" y="1"/>  
464    
465          <label name="qtyLbl" text="Cantidad" x="2" y="1"/>          <label name="qtyLbl" text="Cantidad" x="2" y="1"/>
466          <entry field="ownproditem.qty" value="0" name="qtyEntry" rows="5" typecast="number" width="12" x="2" y="2">          <entry field="own_proditem.qty" value="0" name="qtyEntry" rows="5" typecast="number" width="12" x="2" y="2">
467            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />
468          </entry>          </entry>
469         <label name="productLbl" text="Producto" x="15" y="1"/>         <label name="productLbl" text="Producto" x="15" y="1"/>
470         <entry x="15" y="2" field="ownproditem.price" name="productPriceEntry"         <entry x="15" y="2" field="own_proditem.price" name="productPriceEntry"
471                 width="20" rows="5" style="dropdown" foreign_key="priceDataSource.price.id"                 width="20" rows="5" style="dropdown" foreign_key="priceDataSource._price_data._table"
472                 foreign_key_description="product.name">                 foreign_key_description="_product_data.canonical_name">
473            <trigger type="PRE-FOCUSOUT" name="showPriceTrigger">            <trigger type="PRE-FOCUSOUT" name="showPriceTrigger">
474            ownItemBlock.priceEntry = str(ownItemBlock.productPriceEntry)            ownItemBlock.priceEntry = str(ownItemBlock.productPriceEntry)
475            </trigger>            </trigger>
476            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />
477          </entry>          </entry>
478          <label name="priceLbl" text="Precio" x="36" y="1"/>          <label name="priceLbl" text="Precio" x="36" y="1"/>
479          <entry x="36" y="2" readonly="" field="ownproditem.price" name="priceEntry"          <entry x="36" y="2" readonly="" field="own_proditem.price" name="priceEntry"
480                 width="10" rows="5" style="textlookup" foreign_key="priceDataSource.price.id"                 width="10" rows="5" style="textlookup" foreign_key="priceDataSource.price.id"
481                 foreign_key_description="price.unit_price"/>                 foreign_key_description="price.unit_price"/>
482          <label name="discountLbl" text="Descuento" x="47" y="1"/>          <label name="discountLbl" text="Descuento" x="47" y="1"/>
483          <entry field="ownitem.discount" name="discountEntry" value="0" typecast="number"          <entry field="own_item.discount" name="discountEntry" value="0" typecast="number"
484            rows="5" width="12" x="47" y="2">            rows="5" width="12" x="47" y="2">
485            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />
486          </entry>          </entry>
487          <label name="bonusLbl" text="Bonificación" x="60" y="1"/>          <label name="bonusLbl" text="Bonificación" x="60" y="1"/>
488          <entry field="ownitem.bonus" name="bonusEntry" value="0" typecast="number"          <entry field="own_item.bonus" name="bonusEntry" value="0" typecast="number"
489            rows="5" width="12" x="60" y="2">            rows="5" width="12" x="60" y="2">
490            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />            <trigger type="PRE-FOCUSOUT" src="totalCalcTrigger" />
491          </entry>          </entry>
492          <scrollbar page="5"          <scrollbar page="5"
493            x="73" y="2" width="1" height="5"/>            x="73" y="2" width="1" height="5"/>
494        </block>        </block>
495        <block datasource="nil" name="totalBlock">        <block datasource="total" name="totalBlock">
496          <label name="totalLbl" text="Total" x="29" y="8"/>          <label name="totalLbl" text="Total" x="29" y="8"/>
497          <entry name="total" readonly="" x="36" y="8" width="12"/>              <entry name="total" readonly="" x="36" y="8" width="12"/>    
498        </block>        </block>
499        <block datasource="ownItemDataSourceToUpd" name="ownItemToUpdBlock">        <block datasource="ownItemToUpdDataSource" name="ownItemToUpdBlock">
500          <entry name="ownDocumentEntry" field="ownitem.own_document" hidden="" x="1" y="109" width="10"/>              <entry name="ownDocumentEntry" field="own_item.own_document" hidden="" x="1" y="109" width="10"/>    
501          <entry name="prodIdEntry" field="price.product" hidden="" x="11" y="109" width="10"/>                  <entry name="prodIdEntry" field="_price_data.product" hidden="" x="11" y="109" width="10"/>        
502          <entry name="qtyEntry" field="ownproditem.qty" hidden="" x="22" y="109" width="10"/>                  <entry name="qtyEntry" field="own_proditem.qty" hidden="" x="22" y="109" width="10"/>        
503          <entry name="levelEntry" field="productstore.level" hidden="" x="33" y="109" width="10"/>              <entry name="levelEntry" field="_product_store_data.level" hidden="" x="33" y="109" width="10"/>    
504          </block>
505          <block datasource="creditLimit1DataSource" name="creditLimit1Block">
506            <entry name="entityEntry" field="_credit_limit_data.entity" hidden="" x="11" y="109" width="10"/>        
507            <entry name="movementTypeEntry" field="_credit_limit_data.movement_type" hidden="" x="1" y="109" width="10"/>    
508            <entry name="balanceEntry" field="_credit_limit_data.balance" hidden="" x="22" y="109" width="10"/>        
509            <entry name="timeStampEntry" field="_credit_limit_data.time_stamp" hidden="" x="33" y="109" width="10"/>    
510        </block>        </block>
511      </box>      </box>
512    </page>    </page>

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

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