Patch level : 10.0
Files correlati : lv0.exe lv0600a.msk lv0600a.rep lv3.exe Ricompilazione Demo : [ ] Commento : Riportate Bonazzate git-svn-id: svn://10.65.10.50/branches/R_10_00@22500 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									b0b9dcb98e
								
							
						
					
					
						commit
						dc91a5c341
					
				
							
								
								
									
										121
									
								
								lv/lv0400.cpp
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								lv/lv0400.cpp
									
									
									
									
									
								
							@ -689,63 +689,6 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //PROPONI PREZZO
 | 
					 | 
				
			||||||
        TToken_string key;
 | 
					 | 
				
			||||||
        key.add('C');
 | 
					 | 
				
			||||||
        key.add(field(F_CODCF).get());
 | 
					 | 
				
			||||||
        const TRectype& cfven = cache().get(LF_CFVEN, key);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        bool trvlst = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (!cfven.empty())
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          //se è settata la categoria merceologica, leggo sia il listino che la cat merc, altrimenti solo il listino
 | 
					 | 
				
			||||||
          TString8 codlis = cfven.get(CFV_CODLIST);
 | 
					 | 
				
			||||||
          TString8 catven;
 | 
					 | 
				
			||||||
          if (!ini_get_bool(CONFIG_DITTA,"ve", "GESLISCV"))
 | 
					 | 
				
			||||||
            catven = "";
 | 
					 | 
				
			||||||
          else
 | 
					 | 
				
			||||||
            catven = cfven.get(CFV_CATVEN);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          //cerco il prezzo sul listino
 | 
					 | 
				
			||||||
          key.cut(0);
 | 
					 | 
				
			||||||
          key.add('L');     //tipo
 | 
					 | 
				
			||||||
          key.add(catven);  //catven
 | 
					 | 
				
			||||||
          key.add("");      //tipocf
 | 
					 | 
				
			||||||
          key.add("");      //codcf
 | 
					 | 
				
			||||||
          key.add(codlis);  //codlis
 | 
					 | 
				
			||||||
          key.add('A');     //tiporiga
 | 
					 | 
				
			||||||
          key.add(codart);  //codriga
 | 
					 | 
				
			||||||
          key.add("");      //um
 | 
					 | 
				
			||||||
          key.add("");      //nscagl
 | 
					 | 
				
			||||||
          const TRectype& rcondv = cache().get(LF_RCONDV, key);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          if (!rcondv.empty())
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            m.set(S_PREZZOST, rcondv.get_real(RCONDV_PREZZO));
 | 
					 | 
				
			||||||
            trvlst = true;
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }        
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        real prezzo;
 | 
					 | 
				
			||||||
        //se non ho trovato un listino, o se non c'è un listino impostato
 | 
					 | 
				
			||||||
        //propongo come prezzo il valore convenzionale
 | 
					 | 
				
			||||||
        if (!trvlst)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          key.cut(0);
 | 
					 | 
				
			||||||
          key.add(codart);
 | 
					 | 
				
			||||||
          key.add(1);
 | 
					 | 
				
			||||||
          const TRectype& umart = cache().get(LF_UMART, key);
 | 
					 | 
				
			||||||
          m.set(S_PREZZOST, umart.get_real(UMART_PREZZO));
 | 
					 | 
				
			||||||
          if (umart.get(UMART_PREZZO).full())
 | 
					 | 
				
			||||||
          {
 | 
					 | 
				
			||||||
            prezzo = umart.get_real(UMART_PREZZO);
 | 
					 | 
				
			||||||
            trvlst = true;
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (!trvlst && insert_mode())
 | 
					 | 
				
			||||||
          warning_box(TR("Non è stato trovato nessun prezzo da proporre"));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //se ho scritto un articolo diverso da quello che esisteva prima
 | 
					        //se ho scritto un articolo diverso da quello che esisteva prima
 | 
				
			||||||
        //e se si desidera veramente modificarlo, allora permetto la modifica
 | 
					        //e se si desidera veramente modificarlo, allora permetto la modifica
 | 
				
			||||||
@ -753,14 +696,74 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
 | 
				
			|||||||
        //e lascio tutto invariato
 | 
					        //e lascio tutto invariato
 | 
				
			||||||
        if (codart != _artrig)  
 | 
					        if (codart != _artrig)  
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					          TToken_string& row = ss.row(ss.selected());
 | 
				
			||||||
 | 
					          real prezzo(row.get(ss.cid2index(S_PREZZOST)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          if (_artrig.empty() || noyes_box("Si desidera veramente modificare l'articolo %s",(const char*) _artrig))
 | 
					          if (_artrig.empty() || noyes_box("Si desidera veramente modificare l'articolo %s",(const char*) _artrig))
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
            _artrig = codart;      
 | 
					            _artrig = codart;      
 | 
				
			||||||
 | 
					            //PROPONI PREZZO
 | 
				
			||||||
 | 
					            TToken_string key;
 | 
				
			||||||
 | 
					            key.add('C');
 | 
				
			||||||
 | 
					            key.add(field(F_CODCF).get());
 | 
				
			||||||
 | 
					            const TRectype& cfven = cache().get(LF_CFVEN, key);
 | 
				
			||||||
 | 
					            bool trvlst = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!cfven.empty())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              //se è settata la categoria merceologica, leggo sia il listino che la cat merc, altrimenti solo il listino
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              TString8 codlis = cfven.get(CFV_CODLIST);
 | 
				
			||||||
 | 
					              TString8 catven;
 | 
				
			||||||
 | 
					              if (!ini_get_bool(CONFIG_DITTA,"ve", "GESLISCV"))
 | 
				
			||||||
 | 
					                catven = "";
 | 
				
			||||||
 | 
					              else
 | 
				
			||||||
 | 
					                catven = cfven.get(CFV_CATVEN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              //cerco il prezzo sul listino
 | 
				
			||||||
 | 
					              key.cut(0);
 | 
				
			||||||
 | 
					              key.add('L');     //tipo
 | 
				
			||||||
 | 
					              key.add(catven);  //catven
 | 
				
			||||||
 | 
					              key.add("");      //tipocf
 | 
				
			||||||
 | 
					              key.add("");      //codcf
 | 
				
			||||||
 | 
					              key.add(codlis);  //codlis
 | 
				
			||||||
 | 
					              key.add('A');     //tiporiga
 | 
				
			||||||
 | 
					              key.add(codart);  //codriga
 | 
				
			||||||
 | 
					              key.add("");      //um
 | 
				
			||||||
 | 
					              key.add("");      //nscagl
 | 
				
			||||||
 | 
					              const TRectype& rcondv = cache().get(LF_RCONDV, key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              if (!rcondv.empty())
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                prezzo = rcondv.get_real(RCONDV_PREZZO);
 | 
				
			||||||
 | 
					                trvlst = true;
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //se non ho trovato un listino, o se non c'è un listino impostato
 | 
				
			||||||
 | 
					            //propongo come prezzo il valore convenzionale
 | 
				
			||||||
 | 
					            if (!trvlst)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              key.cut(0);
 | 
				
			||||||
 | 
					              key.add(codart);
 | 
				
			||||||
 | 
					              key.add(1);
 | 
				
			||||||
 | 
					              const TRectype& umart = cache().get(LF_UMART, key);
 | 
				
			||||||
 | 
					              m.set(S_PREZZOST, umart.get_real(UMART_PREZZO));
 | 
				
			||||||
 | 
					              if (umart.get(UMART_PREZZO).full())
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                prezzo = umart.get_real(UMART_PREZZO);
 | 
				
			||||||
 | 
					                trvlst = true;
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (!trvlst && insert_mode())
 | 
				
			||||||
 | 
					              warning_box(TR("Non è stato trovato nessun prezzo da proporre"));
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
          else
 | 
					          else
 | 
				
			||||||
            m.set(S_CODART, _artrig);
 | 
					            m.set(S_CODART, _artrig);
 | 
				
			||||||
          
 | 
					          
 | 
				
			||||||
          TToken_string& row = ss.row(ss.selected());
 | 
					 | 
				
			||||||
          row.add(_artrig, ss.cid2index(S_CODART));
 | 
					 | 
				
			||||||
          row.add(prezzo.string(), ss.cid2index(S_PREZZOST));
 | 
					          row.add(prezzo.string(), ss.cid2index(S_PREZZOST));
 | 
				
			||||||
 | 
					          row.add(_artrig, ss.cid2index(S_CODART));
 | 
				
			||||||
          ss.force_update(ss.selected());
 | 
					          ss.force_update(ss.selected());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        //se all'articolo è associata un'unità di misura, la propongo
 | 
					        //se all'articolo è associata un'unità di misura, la propongo
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
<report name="lv0600a" orientation="1" lpi="6" command="lv0 -1 lv0600a">
 | 
					<report name="lv0600a" orientation="1" lpi="6" command="lv0 -1 lv0600a">
 | 
				
			||||||
 <description>Stampa Storico Consegne per Cliente</description>
 | 
					 <description>Stampa Storico Consegne per Cliente</description>
 | 
				
			||||||
 <font face="Courier New" size="10" />
 | 
					 <font face="Courier New" size="10" />
 | 
				
			||||||
 <section type="Head" height="3">
 | 
					 <section type="Head" height="3" pattern="1">
 | 
				
			||||||
  <field x="24.5" y="0.5" type="Testo" align="center" width="55" height="2" pattern="1" text="Stampa Storico Consegne per Cliente">
 | 
					  <field x="24.5" y="0.5" type="Testo" align="center" width="55" height="2" pattern="1" text="Stampa Storico Consegne per Cliente">
 | 
				
			||||||
   <font face="Courier New" bold="1" size="14" />
 | 
					   <font face="Courier New" bold="1" size="14" />
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
@ -15,8 +15,8 @@
 | 
				
			|||||||
   <prescript description="H0.0 PRESCRIPT">MESSAGE _PAGENO</prescript>
 | 
					   <prescript description="H0.0 PRESCRIPT">MESSAGE _PAGENO</prescript>
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
 </section>
 | 
					 </section>
 | 
				
			||||||
 <section type="Head" level="1" />
 | 
					 <section type="Head" level="1" pattern="1" />
 | 
				
			||||||
 <section repeat="1" type="Head" level="2" height="4.5" page_break="1">
 | 
					 <section repeat="1" type="Head" level="2" height="4.5" page_break="1" pattern="1">
 | 
				
			||||||
  <groupby>33.CODCF</groupby>
 | 
					  <groupby>33.CODCF</groupby>
 | 
				
			||||||
  <field border="2" type="Linea" width="90" height="0" pattern="1" />
 | 
					  <field border="2" type="Linea" width="90" height="0" pattern="1" />
 | 
				
			||||||
  <field x="1" y="1" type="Testo" width="8" pattern="1" text="Cliente">
 | 
					  <field x="1" y="1" type="Testo" width="8" pattern="1" text="Cliente">
 | 
				
			||||||
@ -37,6 +37,9 @@
 | 
				
			|||||||
  <field x="22" y="2" type="Testo" width="18" pattern="1" text="Descr. Articolo">
 | 
					  <field x="22" y="2" type="Testo" width="18" pattern="1" text="Descr. Articolo">
 | 
				
			||||||
   <font face="Courier New" bold="1" size="10" />
 | 
					   <font face="Courier New" bold="1" size="10" />
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
 | 
					  <field x="14" y="3" type="Testo" width="7" pattern="1" text="N.Doc.">
 | 
				
			||||||
 | 
					   <font face="Courier New" bold="1" size="10" />
 | 
				
			||||||
 | 
					  </field>
 | 
				
			||||||
  <field x="22" y="3" type="Testo" width="10" pattern="1" text="Data Doc.">
 | 
					  <field x="22" y="3" type="Testo" width="10" pattern="1" text="Data Doc.">
 | 
				
			||||||
   <font face="Courier New" bold="1" size="10" />
 | 
					   <font face="Courier New" bold="1" size="10" />
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
@ -54,7 +57,7 @@
 | 
				
			|||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
  <field border="2" y="4" type="Linea" width="90" height="0" pattern="1" />
 | 
					  <field border="2" y="4" type="Linea" width="90" height="0" pattern="1" />
 | 
				
			||||||
 </section>
 | 
					 </section>
 | 
				
			||||||
 <section type="Head" level="3">
 | 
					 <section type="Head" level="3" pattern="1">
 | 
				
			||||||
  <groupby>CODART</groupby>
 | 
					  <groupby>CODART</groupby>
 | 
				
			||||||
  <field x="1" type="Stringa" width="20" pattern="1">
 | 
					  <field x="1" type="Stringa" width="20" pattern="1">
 | 
				
			||||||
   <source>34.CODART</source>
 | 
					   <source>34.CODART</source>
 | 
				
			||||||
@ -63,8 +66,11 @@
 | 
				
			|||||||
   <source>3000@.DESCR</source>
 | 
					   <source>3000@.DESCR</source>
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
 </section>
 | 
					 </section>
 | 
				
			||||||
 <section type="Body" />
 | 
					 <section type="Body" pattern="1" />
 | 
				
			||||||
 <section type="Body" level="1" height="1">
 | 
					 <section type="Body" level="1" height="1" pattern="1">
 | 
				
			||||||
 | 
					  <field x="14" type="Numero" align="right" width="7" pattern="1">
 | 
				
			||||||
 | 
					   <source>34.NDOC</source>
 | 
				
			||||||
 | 
					  </field>
 | 
				
			||||||
  <field x="22" type="Data" width="10" pattern="1">
 | 
					  <field x="22" type="Data" width="10" pattern="1">
 | 
				
			||||||
   <source>1000@.DATADOC</source>
 | 
					   <source>1000@.DATADOC</source>
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
@ -78,17 +84,18 @@
 | 
				
			|||||||
   <source>34.CODAGG1</source>
 | 
					   <source>34.CODAGG1</source>
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
  <field x="73" type="Numero" align="right" width="12" pattern="1">
 | 
					  <field x="73" type="Numero" align="right" width="12" pattern="1">
 | 
				
			||||||
   <source>34.PREZZO</source>
 | 
					   <source>34.IMPNS</source>
 | 
				
			||||||
  </field>
 | 
					  </field>
 | 
				
			||||||
 </section>
 | 
					 </section>
 | 
				
			||||||
 <section type="Foot" />
 | 
					 <section type="Foot" pattern="1" />
 | 
				
			||||||
 <section type="Foot" level="1" />
 | 
					 <section type="Foot" level="1" pattern="1" />
 | 
				
			||||||
 <section type="Foot" level="2" />
 | 
					 <section type="Foot" level="2" pattern="1" />
 | 
				
			||||||
 <section type="Foot" level="3" />
 | 
					 <section type="Foot" level="3" pattern="1" />
 | 
				
			||||||
 <sql>USE 34 
 | 
					 <sql>USE 34 
 | 
				
			||||||
SELECT ((34.CODNUM="B01")(BETWEEN(33.DATADOC,#F_DATA_FROM,#F_DATA_TO))(BETWEEN(33.CODCF,#F_CODCF_FROM,#F_CODCF_TO))(BETWEEN(CODART,#F_CODARTI_FROM,#F_CODARTI_TO))(BETWEEN(CODAGG1,#F_CODCAUSA_FROM,#F_CODCAUSA_TO)))
 | 
					SELECT ((BETWEEN(33.DATADOC,#F_DATA_FROM,#F_DATA_TO))(BETWEEN(33.CODCF,#F_CODCF_FROM,#F_CODCF_TO))(BETWEEN(CODART,#F_CODARTI_FROM,#F_CODARTI_TO))(BETWEEN(CODAGG1,#F_CODCAUSA_FROM,#F_CODCAUSA_TO)))
 | 
				
			||||||
BY 33.CODCF 34.CODART 33.DATADOC
 | 
					BY 33.CODCF 34.CODART 33.DATADOC
 | 
				
			||||||
JOIN 33 TO 34 ALIAS 1000 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC 
 | 
					JOIN 33 TO 34 ALIAS 1000 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC 
 | 
				
			||||||
JOIN 20 TO 33 ALIAS 2000 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
					JOIN 20 TO 33 ALIAS 2000 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
				
			||||||
JOIN 47 TO 34 ALIAS 3000 INTO CODART==CODART</sql>
 | 
					JOIN 47 TO 34 ALIAS 3000 INTO CODART==CODART
 | 
				
			||||||
 | 
					FROM CODNUM=="B05"</sql>
 | 
				
			||||||
</report>
 | 
					</report>
 | 
				
			||||||
@ -26,6 +26,7 @@ BEGIN
 | 
				
			|||||||
  OUTPUT F_RAGSOC_DA RAGSOC
 | 
					  OUTPUT F_RAGSOC_DA RAGSOC
 | 
				
			||||||
  CHECKTYPE SEARCH
 | 
					  CHECKTYPE SEARCH
 | 
				
			||||||
  FIELD #F_CODCF_FROM
 | 
					  FIELD #F_CODCF_FROM
 | 
				
			||||||
 | 
					  MESSAGE COPY,F_CODCF_A|CHECK,F_CODCF_A
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_RAGSOC_DA 50 
 | 
					STRING F_RAGSOC_DA 50 
 | 
				
			||||||
@ -110,6 +111,7 @@ BEGIN
 | 
				
			|||||||
  OUTPUT F_DESART_DA DESCR  
 | 
					  OUTPUT F_DESART_DA DESCR  
 | 
				
			||||||
  CHECKTYPE SEARCH
 | 
					  CHECKTYPE SEARCH
 | 
				
			||||||
  FIELD #F_CODARTI_FROM
 | 
					  FIELD #F_CODARTI_FROM
 | 
				
			||||||
 | 
					  MESSAGE COPY,F_CODART_A|CHECK,F_CODART_A
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_DESART_DA 40 
 | 
					STRING F_DESART_DA 40 
 | 
				
			||||||
@ -172,6 +174,7 @@ BEGIN
 | 
				
			|||||||
  OUTPUT F_DESCAUS_DA S0
 | 
					  OUTPUT F_DESCAUS_DA S0
 | 
				
			||||||
  CHECKTYPE SEARCH
 | 
					  CHECKTYPE SEARCH
 | 
				
			||||||
  FIELD #F_CODCAUSA_FROM
 | 
					  FIELD #F_CODCAUSA_FROM
 | 
				
			||||||
 | 
					  MESSAGE COPY,F_CODCAUS_A|CHECK,F_CODCAUS_A
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING F_DESCAUS_DA 50
 | 
					STRING F_DESCAUS_DA 50
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										112
									
								
								lv/lv3800.cpp
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								lv/lv3800.cpp
									
									
									
									
									
								
							@ -45,7 +45,12 @@ void TInvia_clienti_skema::aggiungi_riga(const long codcf)
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  new_rec("");
 | 
					  new_rec("");
 | 
				
			||||||
  set("CODCF",  TVariant(codcf));
 | 
					  
 | 
				
			||||||
 | 
					  TString16 cod;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  cod.format("%06d", codcf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  set("CODCF",  cod);
 | 
				
			||||||
  set("RAGSOC", ragsoc);
 | 
					  set("RAGSOC", ragsoc);
 | 
				
			||||||
  set("CITTA",  localita);
 | 
					  set("CITTA",  localita);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -53,7 +58,19 @@ void TInvia_clienti_skema::aggiungi_riga(const long codcf)
 | 
				
			|||||||
TInvia_clienti_skema::TInvia_clienti_skema()
 | 
					TInvia_clienti_skema::TInvia_clienti_skema()
 | 
				
			||||||
                    : TAS400_recordset("AS400(122)")
 | 
					                    : TAS400_recordset("AS400(122)")
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  create_field("CODCF",     -1,  20,  _longzerofld, true);  //codice cliente
 | 
					/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FILE CLIENTI.TXT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Campo             Tipo            Posizione
 | 
				
			||||||
 | 
					-------------------------------------------
 | 
				
			||||||
 | 
					Codice Cliente    Alfanumerico    1-20
 | 
				
			||||||
 | 
					Ragione Sociale   Alfanumerico    21-70
 | 
				
			||||||
 | 
					Citta             Alfanumerico    71-120
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  create_field("CODCF",     -1,  20,  _alfafld, true);  //codice cliente
 | 
				
			||||||
  create_field("RAGSOC",    -1,  50,  _alfafld,     true);  //ragione sociale  
 | 
					  create_field("RAGSOC",    -1,  50,  _alfafld,     true);  //ragione sociale  
 | 
				
			||||||
  create_field("CITTA",     -1,  50,  _alfafld,     true);  //città
 | 
					  create_field("CITTA",     -1,  50,  _alfafld,     true);  //città
 | 
				
			||||||
  create_field("ACAPO",     -1,   2,  _alfafld,     true, TVariant("\r\n"));  //caratteri di a capo
 | 
					  create_field("ACAPO",     -1,   2,  _alfafld,     true, TVariant("\r\n"));  //caratteri di a capo
 | 
				
			||||||
@ -66,6 +83,9 @@ TInvia_clienti_skema::TInvia_clienti_skema()
 | 
				
			|||||||
//Classe TInvia_articoli_skema
 | 
					//Classe TInvia_articoli_skema
 | 
				
			||||||
class TInvia_articoli_skema: public TAS400_recordset
 | 
					class TInvia_articoli_skema: public TAS400_recordset
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  TString4 _umkg;  // Unità di misura dei Kg 
 | 
				
			||||||
 | 
					  TString4 _umgr;  // Unità di misura dei gr 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  void aggiungi_riga(const TString& codart);
 | 
					  void aggiungi_riga(const TString& codart);
 | 
				
			||||||
  TInvia_articoli_skema();
 | 
					  TInvia_articoli_skema();
 | 
				
			||||||
@ -74,36 +94,81 @@ public:
 | 
				
			|||||||
void TInvia_articoli_skema::aggiungi_riga(const TString& codart)
 | 
					void TInvia_articoli_skema::aggiungi_riga(const TString& codart)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  //preparo la cache su anamag
 | 
					  //preparo la cache su anamag
 | 
				
			||||||
  const TRectype& anamag = cache().get(LF_ANAMAG, codart);
 | 
					  TArticolo & anamag = cached_article(codart);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const TString80 desart = anamag.get(ANAMAG_DESCR);
 | 
					  const TString80 desart = anamag.get(ANAMAG_DESCR);
 | 
				
			||||||
  const TString80 tpart = anamag.get(ANAMAG_TIPOPARTE);
 | 
					  const TString80 tpart = anamag.get(ANAMAG_CODARTALT);
 | 
				
			||||||
  TString8  codlav; codlav.format("%05d", anamag.get(ANAMAG_CODLAV1));
 | 
					  TString8 codlav;
 | 
				
			||||||
  TString16 peso;   peso.format("%010d", anamag.get(ANAMAG_PESO));
 | 
					  codlav.format("%05d", anamag.get_int(ANAMAG_CODLAV1));
 | 
				
			||||||
 | 
					  real peso = anamag.get_real(ANAMAG_PESO);
 | 
				
			||||||
 | 
					  const TString4 ump  = anamag.get(ANAMAG_UMP);
 | 
				
			||||||
  const real lunghezza = anamag.get_real(ANAMAG_USER9);
 | 
					  const real lunghezza = anamag.get_real(ANAMAG_USER9);
 | 
				
			||||||
  const real larghezza = anamag.get_real(ANAMAG_USER10);
 | 
					  const real larghezza = anamag.get_real(ANAMAG_USER10);
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  if (ump.full())
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if (ump != _umkg)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      peso = anamag.convert_to_um(peso, _umkg, ump, false); // Converto in Kg
 | 
				
			||||||
 | 
					      peso.round(3);                                                    // Arrotondo al grammo 
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    peso = ZERO;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  new_rec("");
 | 
					  new_rec("");
 | 
				
			||||||
  set("CODART",    codart);
 | 
					  set("CODART",    codart);
 | 
				
			||||||
  set("DESART",    desart);
 | 
					  set("DESART",    desart);
 | 
				
			||||||
  set("CODLAV",    codlav);
 | 
					  set("CODLAV",    codlav);
 | 
				
			||||||
  set("TPART",     tpart);
 | 
					  set("TPART",     tpart);
 | 
				
			||||||
  set("PESO",      peso);
 | 
					  set("PESO",      peso.stringa(10, 3, '0'));
 | 
				
			||||||
  set("LUNGHEZZA", lunghezza);
 | 
					  set("LUNGHEZZA", lunghezza.string(4, 0));
 | 
				
			||||||
  set("LARGHEZZA", larghezza);
 | 
					  set("LARGHEZZA", larghezza.string(4, 0));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TInvia_articoli_skema::TInvia_articoli_skema()
 | 
					TInvia_articoli_skema::TInvia_articoli_skema()
 | 
				
			||||||
                     : TAS400_recordset("AS400(127)")
 | 
					                     : TAS400_recordset("AS400(115)")
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  FILE ARTICOLI.TXT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Campo                 Tipo                  Posizione
 | 
				
			||||||
 | 
					-----------------------------------------------------
 | 
				
			||||||
 | 
					Codice Articolo       Alfanumerico          1-20
 | 
				
			||||||
 | 
					Descrizione Articolo  Alfanumerico          21-70
 | 
				
			||||||
 | 
					Codice Lavaggio       Numerico intero
 | 
				
			||||||
 | 
					                      Allineato a destra.   71-75
 | 
				
			||||||
 | 
					Tipo Articolo         Alfanumerico          76-95
 | 
				
			||||||
 | 
					Peso (Kg)             Numerico
 | 
				
			||||||
 | 
					                      con 3 decimali
 | 
				
			||||||
 | 
					                      Allineato a destra
 | 
				
			||||||
 | 
					                      (formato 999999,999)   96-105
 | 
				
			||||||
 | 
					Lunghezza             Numerico
 | 
				
			||||||
 | 
					                      Allineato a destra
 | 
				
			||||||
 | 
					                      (formato 99999)       106-109
 | 
				
			||||||
 | 
					Larghezza             Numerico
 | 
				
			||||||
 | 
					                      Allineato a destra
 | 
				
			||||||
 | 
					                      (formato 99999)       110-113
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  create_field("CODART",     -1,  20,  _alfafld,    true);  //codice articolo
 | 
					  create_field("CODART",     -1,  20,  _alfafld,    true);  //codice articolo
 | 
				
			||||||
  create_field("DESART",     -1,  50,  _alfafld,    true);  //descrizione
 | 
					  create_field("DESART",     -1,  50,  _alfafld,    true);  //descrizione
 | 
				
			||||||
  create_field("CODALV",     -1,   5,  _intzerofld, true);  //codice lavaggio
 | 
					  create_field("CODLAV",     -1,   5,  _alfafld,    true);  //codice lavaggio
 | 
				
			||||||
  create_field("TPART",      -1,  20,  _alfafld,    true);  //tipo articolo
 | 
					  create_field("TPART",      -1,  20,  _alfafld,    true);  //tipo articolo
 | 
				
			||||||
  create_field("PESO",       -1,  20,  _alfafld,    true);  //peso
 | 
					  create_field("PESO",       -1,  10,  _alfafld,    true);  //peso
 | 
				
			||||||
  create_field("LUNGHEZZA",  -1,   5,  _realfld,    true);  //lunghezza
 | 
					  create_field("LUNGHEZZA",  -1,   4,  _alfafld,    true);  //lunghezza
 | 
				
			||||||
  create_field("LARGHEZZA",  -1,   5,  _realfld,    true);  //larghezza
 | 
					  create_field("LARGHEZZA",  -1,   4,  _alfafld,    true);  //larghezza
 | 
				
			||||||
  create_field("ACAPO",     -1,   2,  _alfafld,     true, TVariant("\r\n"));  //caratteri di a capo
 | 
					  create_field("ACAPO",     -1,   2,  _alfafld,     true, TVariant("\r\n"));  //caratteri di a capo
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  _umkg = ini_get_string(CONFIG_DITTA, "lv", "UmKg", "KG");
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  TISAM_recordset ums("USE %UMS SELECT (NUM(S7==#KG))&&(STR(R10==0.001))");
 | 
				
			||||||
 | 
					  ums.set_var("#KG", _umkg);
 | 
				
			||||||
 | 
					  if (ums.move_first())
 | 
				
			||||||
 | 
					    _umgr = ums.get("CODTAB").as_string();
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    _umgr = _umkg == "KG" ? "GR" : "";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                 //////////////////////////////////////
 | 
					                                 //////////////////////////////////////
 | 
				
			||||||
@ -133,7 +198,11 @@ void TInvia_dotazioni_skema::aggiungi_riga(const long codcf, const long codcont)
 | 
				
			|||||||
    const TString80 codart = rcont.get(LVRCONDV_CODART).as_string();
 | 
					    const TString80 codart = rcont.get(LVRCONDV_CODART).as_string();
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    new_rec("");
 | 
					    new_rec("");
 | 
				
			||||||
    set("CODCF",  TVariant(codcf));
 | 
					    TString16 cod;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cod.format("%06d", codcf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    set("CODCF",  cod);
 | 
				
			||||||
    set("CODART", codart);
 | 
					    set("CODART", codart);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -141,6 +210,17 @@ void TInvia_dotazioni_skema::aggiungi_riga(const long codcf, const long codcont)
 | 
				
			|||||||
TInvia_dotazioni_skema::TInvia_dotazioni_skema()
 | 
					TInvia_dotazioni_skema::TInvia_dotazioni_skema()
 | 
				
			||||||
                      : TAS400_recordset("AS400(42)")
 | 
					                      : TAS400_recordset("AS400(42)")
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					FILE DOTAZIONE.TXT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Campo                 Tipo                  Posizione
 | 
				
			||||||
 | 
					-----------------------------------------------------
 | 
				
			||||||
 | 
					Codice Cliente        Alfanumerico          1-20
 | 
				
			||||||
 | 
					Codice Articolo       Alfanumerico          21-40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  create_field("CODCF",     -1,  20,  _alfafld, true);  //codice cliente
 | 
					  create_field("CODCF",     -1,  20,  _alfafld, true);  //codice cliente
 | 
				
			||||||
  create_field("CODART",     -1,  20,  _alfafld, true);  //codice cliente
 | 
					  create_field("CODART",     -1,  20,  _alfafld, true);  //codice cliente
 | 
				
			||||||
  create_field("ACAPO",     -1,   2,  _alfafld,     true, TVariant("\r\n"));  //caratteri di a capo
 | 
					  create_field("ACAPO",     -1,   2,  _alfafld,     true, TVariant("\r\n"));  //caratteri di a capo
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user