Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Importazione movimeti di magazzino da 36 git-svn-id: svn://10.65.10.50/trunk@6961 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									65d6a471e9
								
							
						
					
					
						commit
						4b6b88e9dd
					
				| @ -33,6 +33,30 @@ public: | |||||||
| 
 | 
 | ||||||
| bool TMask36::on_field_event(TOperable_field& o, TField_event e, long jolly) | bool TMask36::on_field_event(TOperable_field& o, TField_event e, long jolly) | ||||||
| { | { | ||||||
|  |   switch(o.dlg()) | ||||||
|  |   { | ||||||
|  |   case 100:  | ||||||
|  |     if (e == fe_modify || e == fe_close) | ||||||
|  |     { | ||||||
|  |       if (!fexist(o.get())) | ||||||
|  |         return error_box("Directory non valida"); | ||||||
|  |     } | ||||||
|  |     break; | ||||||
|  |   case 101:  | ||||||
|  |   case 102:  | ||||||
|  |   case 103:  | ||||||
|  |   case 104:  | ||||||
|  |   case 105:  | ||||||
|  |     if (e == fe_modify || e == fe_close) | ||||||
|  |     { | ||||||
|  |       TFilename name = get(100); | ||||||
|  |       name.add(o.get()); | ||||||
|  |       if (!name.exist()) | ||||||
|  |         return error_box("File non valido"); | ||||||
|  |     } | ||||||
|  |     break; | ||||||
|  |   default : break; | ||||||
|  |   } | ||||||
|   return TRUE; |   return TRUE; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -90,14 +114,20 @@ protected: | |||||||
|   virtual const char* extra_modules() const { return "*"; }  // Non e' un modulo normale
 |   virtual const char* extra_modules() const { return "*"; }  // Non e' un modulo normale
 | ||||||
| 
 | 
 | ||||||
| public: | public: | ||||||
|  |   void mask2ini(TMask& m, bool load = FALSE); | ||||||
|  |   void ini2mask(TMask& m) { mask2ini(m, TRUE); } | ||||||
|  |    | ||||||
|   const TString& cap2com(const TString& cap, const TString& name) const; |   const TString& cap2com(const TString& cap, const TString& name) const; | ||||||
|   void split_indir(const TString& indir, TString& via, TString& civ) const; |   void split_indir(const TString& indir, TString& via, TString& civ) const; | ||||||
|   void mettilavirgola(TFile_text& file, TRecord_text& curr, const char* field, int len, int comma); |   void mettilavirgola(TFile_text& file, TRecord_text& curr, const char* field, int len, int comma); | ||||||
|   void permille(TFile_text& file, TRecord_text& curr, const char* field); |   void permille(TFile_text& file, TRecord_text& curr, const char* field); | ||||||
|   void machedata(TFile_text& file, TRecord_text& curr, const char* field); |   void machedata(TFile_text& file, TRecord_text& curr, const char* field); | ||||||
|  | 
 | ||||||
|   void import_tables(const TFilename& name, TBrowsefile_field& bf); |   void import_tables(const TFilename& name, TBrowsefile_field& bf); | ||||||
|   void import_clifo(const TFilename& name, TBrowsefile_field& bf); |   void import_clifor(const TFilename& name, TBrowsefile_field& bf); | ||||||
|   void import_anaart(const TFilename& name, TBrowsefile_field& bf); |   void import_anaart(const TFilename& name, TBrowsefile_field& bf); | ||||||
|  |   void import_movmag(const TFilename& name, TBrowsefile_field& bf); | ||||||
|  |   void import_rigmag(const TFilename& name, TBrowsefile_field& bf); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const TString& TTrasfer36::cap2com(const TString& cap, const TString& name) const | const TString& TTrasfer36::cap2com(const TString& cap, const TString& name) const | ||||||
| @ -362,7 +392,7 @@ void TTrasfer36::machedata(TFile_text& file, TRecord_text& curr, const char* fie | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void TTrasfer36::import_clifo(const TFilename& name, TBrowsefile_field& bf) | void TTrasfer36::import_clifor(const TFilename& name, TBrowsefile_field& bf) | ||||||
| { | { | ||||||
|   TAssoc_array missing_firm; |   TAssoc_array missing_firm; | ||||||
|   TString msg; |   TString msg; | ||||||
| @ -637,10 +667,181 @@ void TTrasfer36::import_anaart(const TFilename& name, TBrowsefile_field& bf) | |||||||
|   bf.add_line(""); |   bf.add_line(""); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void TTrasfer36::import_movmag(const TFilename& name, TBrowsefile_field& bf) | ||||||
|  | { | ||||||
|  |   TString msg, str; | ||||||
|  |   msg = "Importazione Movimenti magazzino"; | ||||||
|  |   TProgind pi(::fsize(name), msg, TRUE, TRUE); | ||||||
|  |   TFile_text file(name, "ibm36mag.ini"); | ||||||
|  | 
 | ||||||
|  |   long valid = 0; | ||||||
|  | 
 | ||||||
|  |   msg.insert("@b", 0); | ||||||
|  |   bf.add_line(msg); | ||||||
|  |   bf.add_line(""); | ||||||
|  | 
 | ||||||
|  |   TRelation movmag(LF_MOVMAG); | ||||||
|  |   TRectype& tesmag = movmag.curr(); | ||||||
|  |    | ||||||
|  |   TRecord_text curr; | ||||||
|  |   while (file.read(curr) == NOERR) | ||||||
|  |   { | ||||||
|  |     pi.setstatus(file.read_file()->tellg()); | ||||||
|  |     if (pi.iscancelled()) | ||||||
|  |       break; | ||||||
|  | 
 | ||||||
|  |     const char stato_record = file.get_field(curr, "STATO RECORD")[0]; | ||||||
|  |     if (stato_record == 'A') | ||||||
|  |       continue; | ||||||
|  |      | ||||||
|  |     tesmag.zero(); | ||||||
|  | 
 | ||||||
|  |     str = file.get_field(curr, "CODICE ESERCIZIO").right(1); | ||||||
|  |     str[0] -= 5; | ||||||
|  |     TString16 numreg = file.get_field(curr, "NUMERO REGISTRAZIONE"); | ||||||
|  |     numreg.right_just(6, '0'); | ||||||
|  |     numreg.insert(str, 0); | ||||||
|  |     tesmag.put("NUMREG", numreg); | ||||||
|  | 
 | ||||||
|  |     str = file.get_field(curr, "TIPO CODICE"); | ||||||
|  |     const char* tipocf = (str == "2") ? "F" : "C"; | ||||||
|  |     file.add_field(curr, "TIPO CODICE", tipocf); | ||||||
|  | 
 | ||||||
|  |     machedata(file, curr, "DATA REGISTRAZIONE"); | ||||||
|  |     const TString& datacomp = file.get_field(curr, "DATA REGISTRAZIONE"); | ||||||
|  |     movmag.curr().put("DATACOMP", datacomp); | ||||||
|  | 
 | ||||||
|  |     const int err = file.autosave(movmag, curr); | ||||||
|  |     if (err != NOERR) | ||||||
|  |     { | ||||||
|  |       msg = "! Errore di scrittura sul file LF_MOVMAG: "; | ||||||
|  |       msg << err; | ||||||
|  |       bf.add_line(msg); | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |       valid++; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Messaggio finale di elaborazione
 | ||||||
|  |   msg = "Record importati: "; | ||||||
|  |   msg << valid; | ||||||
|  |   bf.add_line(msg); | ||||||
|  |   bf.add_line(""); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void TTrasfer36::import_rigmag(const TFilename& name, TBrowsefile_field& bf) | ||||||
|  | { | ||||||
|  |   TString msg, str; | ||||||
|  |   msg = "Importazione righe magazzino"; | ||||||
|  |   TProgind pi(::fsize(name), msg, TRUE, TRUE); | ||||||
|  |   TFile_text file(name, "ibm36rig.ini"); | ||||||
|  | 
 | ||||||
|  |   long valid = 0; | ||||||
|  | 
 | ||||||
|  |   msg.insert("@b", 0); | ||||||
|  |   bf.add_line(msg); | ||||||
|  |   bf.add_line(""); | ||||||
|  | 
 | ||||||
|  |   TRelation rmovmag(LF_RMOVMAG); | ||||||
|  |   TRectype& rigamag = rmovmag.curr(); | ||||||
|  | 
 | ||||||
|  |   TString last_numreg; | ||||||
|  |   int num_rig = 0; | ||||||
|  |    | ||||||
|  |   TRecord_text curr; | ||||||
|  |   while (file.read(curr) == NOERR) | ||||||
|  |   { | ||||||
|  |     pi.setstatus(file.read_file()->tellg()); | ||||||
|  |     if (pi.iscancelled()) | ||||||
|  |       break; | ||||||
|  | 
 | ||||||
|  |     const int tipo_record = curr.type()[0] - '0'; | ||||||
|  |     if (tipo_record == 1 || tipo_record == 2) | ||||||
|  |     { | ||||||
|  |       const char stato_record = file.get_field(curr, "STATO RECORD")[0]; | ||||||
|  |       if (stato_record == 'A') | ||||||
|  |         continue; | ||||||
|  | 
 | ||||||
|  |       TString16 numreg = file.get_field(curr, "NUMERO REGISTRAZIONE"); | ||||||
|  |       if (numreg != last_numreg) | ||||||
|  |       { | ||||||
|  |         last_numreg = numreg; | ||||||
|  |         num_rig = 1; | ||||||
|  |       } | ||||||
|  |       else | ||||||
|  |         num_rig++; | ||||||
|  | 
 | ||||||
|  |       rigamag.zero(); | ||||||
|  | 
 | ||||||
|  |       str = file.get_field(curr, "CODICE ESERCIZIO").right(1); | ||||||
|  |       str[0] -= 5; | ||||||
|  |       numreg.right_just(6, '0'); | ||||||
|  |       numreg.insert(str, 0); | ||||||
|  |       rigamag.put("NUMREG", numreg); | ||||||
|  |       rigamag.put("NRIG", num_rig); | ||||||
|  | 
 | ||||||
|  |       if (num_rig == 1) | ||||||
|  |       { | ||||||
|  |         TLocalisamfile movmag(LF_MOVMAG); | ||||||
|  |         movmag.put("NUMREG", numreg); | ||||||
|  |         if (movmag.read() != NOERR) | ||||||
|  |         { | ||||||
|  |           msg = "!Le righe del movimento "; | ||||||
|  |           msg << numreg << " non hanno una testata"; | ||||||
|  |           bf.add_line(msg); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |           | ||||||
|  |       mettilavirgola(file, curr, "QUANT", 11, 3); | ||||||
|  |       mettilavirgola(file, curr, "PREZZO", 11, 2); | ||||||
|  |        | ||||||
|  |       if (tipo_record == 2) | ||||||
|  |         rigamag.put("AUTOMATICA", "A");  | ||||||
|  |        | ||||||
|  |       const int err = file.autosave(rmovmag, curr); | ||||||
|  |       if (err != NOERR) | ||||||
|  |       { | ||||||
|  |         msg = "! Errore di scrittura sul file LF_RMOVMAG: "; | ||||||
|  |         msg << err; | ||||||
|  |         bf.add_line(msg); | ||||||
|  |       } | ||||||
|  |       else | ||||||
|  |         valid++; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // Messaggio finale di elaborazione
 | ||||||
|  |   msg = "Record importati: "; | ||||||
|  |   msg << valid; | ||||||
|  |   bf.add_line(msg); | ||||||
|  |   bf.add_line(""); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void TTrasfer36::mask2ini(TMask& m, bool load) | ||||||
|  | { | ||||||
|  |   TConfig cfg(CONFIG_DITTA, "ibm36"); | ||||||
|  |   TString16 id; | ||||||
|  |    | ||||||
|  |   for (int f = m.fields()-1; f >= 0; f--) | ||||||
|  |   { | ||||||
|  |     TMask_field& fld = m.fld(f); | ||||||
|  |     if (fld.is_edit()) | ||||||
|  |     { | ||||||
|  |       id.format("%d", fld.dlg()); | ||||||
|  |       if (load) | ||||||
|  |         fld.set(cfg.get(id)); | ||||||
|  |       else | ||||||
|  |         cfg.set(id, fld.get()); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void TTrasfer36::main_loop() | void TTrasfer36::main_loop() | ||||||
| { | { | ||||||
|   TMask36 m; |   TMask36 m; | ||||||
|   TBrowsefile_field& bf = (TBrowsefile_field&)m.field(201); |   ini2mask(m); | ||||||
|  | 
 | ||||||
|  |   TBrowsefile_field& bf = (TBrowsefile_field&)m.field(300); | ||||||
| 
 | 
 | ||||||
|   TViswin& vw = bf.vis_win(); |   TViswin& vw = bf.vis_win(); | ||||||
|   vw.show_rulers(FALSE); |   vw.show_rulers(FALSE); | ||||||
| @ -648,21 +849,28 @@ void TTrasfer36::main_loop() | |||||||
|   while (m.run() == K_ENTER) |   while (m.run() == K_ENTER) | ||||||
|   { |   { | ||||||
|     vw.destroy_lines(); |     vw.destroy_lines(); | ||||||
|     TFilename name; |  | ||||||
| 
 |  | ||||||
|     name = m.get(101); |  | ||||||
|     if (name.not_empty()) |  | ||||||
|       import_tables(name, bf); |  | ||||||
| 
 |  | ||||||
|     name = m.get(102); |  | ||||||
|     if (name.not_empty()) |  | ||||||
|       import_clifo(name, bf); |  | ||||||
| 
 |  | ||||||
|     name = m.get(103); |  | ||||||
|     if (name.not_empty()) |  | ||||||
|       import_anaart(name, bf); |  | ||||||
|      |      | ||||||
|  |     const TFilename dir = m.get(100); | ||||||
|  |     for (short id = 101; id <= 105; id++) | ||||||
|  |     { | ||||||
|  |       const TMask_field& fld = m.field(id); | ||||||
|  |       if (fld.enabled() && !fld.empty()) | ||||||
|  |       { | ||||||
|  |         TFilename name = dir; | ||||||
|  |         name.add(fld.get()); | ||||||
|  |         switch(fld.dlg()) | ||||||
|  |         { | ||||||
|  |         case 101: import_tables(name, bf); break; | ||||||
|  |         case 102: import_clifor(name, bf); break; | ||||||
|  |         case 103: import_anaart(name, bf); break; | ||||||
|  |         case 104: import_movmag(name, bf); break; | ||||||
|  |         case 105: import_rigmag(name, bf); break; | ||||||
|  |         default : break; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|     vw.goto_top(); |     vw.goto_top(); | ||||||
|  |     mask2ini(m); | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -14,27 +14,75 @@ ENDPAGE | |||||||
| 
 | 
 | ||||||
| PAGE "Trasferimento da IBM 36" -1 -1 68 8 | PAGE "Trasferimento da IBM 36" -1 -1 68 8 | ||||||
| 
 | 
 | ||||||
| STRING 101 50 | STRING 100 50 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 1 "Tabelle " |   PROMPT 1 1 "Directory   " | ||||||
|   FSELECT "" |   CHECKTYPE REQUIRED | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING 102 50 | BOOLEAN 201 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 2 "Cli/For " |   PROMPT 1 2 "Tabelle  " | ||||||
|   FSELECT "" |   MESSAGE FALSE DISABLE,101 | ||||||
|  |   MESSAGE TRUE ENABLE,101 | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| STRING 103 50 | STRING 101 16 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 1 3 "Ana.Art " |   PROMPT 13 2 "" | ||||||
|   FSELECT "" |  | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| BROWSEFILE 201 -3 -1 | BOOLEAN 202 | ||||||
| BEGIN | BEGIN | ||||||
|   PROMPT 0 4 "" |   PROMPT 35 2 "Cli/For  " | ||||||
|  |   MESSAGE FALSE DISABLE,102 | ||||||
|  |   MESSAGE TRUE ENABLE,102 | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | STRING 102 16 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 47 2 "" | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN 203 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 3 "Ana.Art  " | ||||||
|  |   MESSAGE FALSE DISABLE,103 | ||||||
|  |   MESSAGE TRUE ENABLE,103 | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | STRING 103 16 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 13 3 "" | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN 204 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 1 4 "Ana.Mag." | ||||||
|  |   MESSAGE FALSE DISABLE,104 | ||||||
|  |   MESSAGE TRUE ENABLE,104 | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | STRING 104 16 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 13 4 "" | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BOOLEAN 205 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 35 4 "Rig.Mag." | ||||||
|  |   MESSAGE FALSE DISABLE,105 | ||||||
|  |   MESSAGE TRUE ENABLE,105 | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | STRING 105 16 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 47 4 "" | ||||||
|  | END | ||||||
|  | 
 | ||||||
|  | BROWSEFILE 300 -3 -1 | ||||||
|  | BEGIN | ||||||
|  |   PROMPT 0 5 "" | ||||||
|   FLAGS "R" |   FLAGS "R" | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -292,11 +292,6 @@ LENGTH(16) = 9 | |||||||
| LENGTH(17) = 5 | LENGTH(17) = 5 | ||||||
| LENGTH(18) = 51 | LENGTH(18) = 51 | ||||||
| LENGTH(19) = 2 | LENGTH(19) = 2 | ||||||
| LENGTH(20) = 30 |  | ||||||
| LENGTH(21) = 8 |  | ||||||
| LENGTH(22) = 20 |  | ||||||
| LENGTH(23) = 2 |  | ||||||
| LENGTH(24) = 3 |  | ||||||
| 
 | 
 | ||||||
| NAME(0) = ANNULLATO | NAME(0) = ANNULLATO | ||||||
| NAME(1) = TIPOCF | NAME(1) = TIPOCF | ||||||
| @ -317,10 +312,6 @@ NAME(15) = DATA INVIO ULTIMO SOLLECITO | |||||||
| NAME(16) = FIDO | NAME(16) = FIDO | ||||||
| NAME(17) = PERCENTUALE SCONTO RIGA | NAME(17) = PERCENTUALE SCONTO RIGA | ||||||
| NAME(19) = TITOLO ONORIFICO | NAME(19) = TITOLO ONORIFICO | ||||||
| NAME(21) = DATA DI NASCITA |  | ||||||
| NAME(22) = LUOGO DI NASCITA |  | ||||||
| NAME(23) = PROVINCIA DI NASCITA |  | ||||||
| NAME(24) = NAZIONE DI NASCITA |  | ||||||
| 
 | 
 | ||||||
| POSITION(0) = 0 | POSITION(0) = 0 | ||||||
| POSITION(1) = 1 | POSITION(1) = 1 | ||||||
| @ -331,22 +322,17 @@ POSITION(5) = 14 | |||||||
| POSITION(6) = 15 | POSITION(6) = 15 | ||||||
| POSITION(7) = 17 | POSITION(7) = 17 | ||||||
| POSITION(8) = 19 | POSITION(8) = 19 | ||||||
| POSITION(9) = 22 | POSITION(9) = 24 | ||||||
| POSITION(10) = 25 | POSITION(10) = 27 | ||||||
| POSITION(11) = 26 | POSITION(11) = 28 | ||||||
| POSITION(12) = 38 | POSITION(12) = 40 | ||||||
| POSITION(13) = 40 | POSITION(13) = 42 | ||||||
| POSITION(14) = 41 | POSITION(14) = 43 | ||||||
| POSITION(15) = 47 | POSITION(15) = 49 | ||||||
| POSITION(16) = 53 | POSITION(16) = 55 | ||||||
| POSITION(17) = 58 | POSITION(17) = 64 | ||||||
| POSITION(18) = 61 | POSITION(18) = 69 | ||||||
| POSITION(19) = 112 | POSITION(19) = 71 | ||||||
| POSITION(20) = 114 |  | ||||||
| POSITION(21) = 144 |  | ||||||
| POSITION(22) = 152 |  | ||||||
| POSITION(23) = 172 |  | ||||||
| POSITION(24) = 174 |  | ||||||
| 
 | 
 | ||||||
| FIELD(1) = TIPOCF | FIELD(1) = TIPOCF | ||||||
| FIELD(3) = CODCF | FIELD(3) = CODCF | ||||||
| @ -356,6 +342,7 @@ FIELD(7) = 17->CODSCC | |||||||
| FIELD(8) = 17->SCONTO | FIELD(8) = 17->SCONTO | ||||||
| FIELD(9) = 17->CODMAG | FIELD(9) = 17->CODMAG | ||||||
| FIELD(10) = 17->CODDEP | FIELD(10) = 17->CODDEP | ||||||
|  | FIELD(11) = 17->CODSP1 | ||||||
| FIELD(12) = 17->PROFSOLL | FIELD(12) = 17->PROFSOLL | ||||||
| FIELD(13) = 17->MAXSOLL | FIELD(13) = 17->MAXSOLL | ||||||
| FIELD(14) = 17->DATAESC | FIELD(14) = 17->DATAESC | ||||||
|  | |||||||
							
								
								
									
										58
									
								
								ibm36/ibm36mag.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										58
									
								
								ibm36/ibm36mag.ini
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,58 @@ | |||||||
|  | [MAIN] | ||||||
|  | TYPELEN = 0 | ||||||
|  | TYPEPOS = 0 | ||||||
|  | 
 | ||||||
|  | [RECORD] | ||||||
|  | 
 | ||||||
|  | NAME(0) = STATO RECORD | ||||||
|  | POSITION(0) = 0 | ||||||
|  | LENGTH(0) = 1 | ||||||
|  | 
 | ||||||
|  | NAME(1) = CODICE ESERCIZIO | ||||||
|  | POSITION(1) = 1 | ||||||
|  | LENGTH(1) = 2 | ||||||
|  | FIELD(1) = ANNOES | ||||||
|  | 
 | ||||||
|  | NAME(2) = NUMERO REGISTRAZIONE | ||||||
|  | POSITION(2) = 3 | ||||||
|  | LENGTH(2) = 6 | ||||||
|  | 
 | ||||||
|  | NAME(3) = DATA REGISTRAZIONE | ||||||
|  | POSITION(3) = 9 | ||||||
|  | LENGTH(3) = 6 | ||||||
|  | FIELD(3) = DATAREG | ||||||
|  | 
 | ||||||
|  | NAME(4) = TIPO DOCUMENTO | ||||||
|  | 
 | ||||||
|  | NAME(5) = ANNO DOCUMENTO | ||||||
|  | 
 | ||||||
|  | NAME(6) = NUMERO DOCUMENTO | ||||||
|  | 
 | ||||||
|  | NAME(7) = DATA DOCUMENTO | ||||||
|  | 
 | ||||||
|  | NAME(8) = TIPO CODICE | ||||||
|  | POSITION(8) = 30 | ||||||
|  | LENGTH(8) = 1 | ||||||
|  | FIELD(8) = TIPOCF | ||||||
|  | 
 | ||||||
|  | NAME(9) = CODICE CLIFO | ||||||
|  | POSITION(9) = 31 | ||||||
|  | LENGTH(9) = 6 | ||||||
|  | FIELD(9) = CODCF | ||||||
|  | 
 | ||||||
|  | NAME(10) = CODICE VALUTA | ||||||
|  | 
 | ||||||
|  | NAME(11) = CAMBIO | ||||||
|  | 
 | ||||||
|  | NAME(12) = TIPO DOUMENTO | ||||||
|  | 
 | ||||||
|  | NAME(13) = DATA DOCUMENTO | ||||||
|  | POSITION(13) = 53 | ||||||
|  | LENGTH(13) = 6 | ||||||
|  | FIELD(13) = EX_DATADOC | ||||||
|  | 
 | ||||||
|  | NAME(14) = NUMERO DOCUMENTO | ||||||
|  | POSITION(14) = 59 | ||||||
|  | LENGTH(14) = 7 | ||||||
|  | FIELD(14) = EX_NUMDOC | ||||||
|  | 
 | ||||||
							
								
								
									
										115
									
								
								ibm36/ibm36rig.ini
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										115
									
								
								ibm36/ibm36rig.ini
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,115 @@ | |||||||
|  | [MAIN] | ||||||
|  | TYPEPOS = 13 | ||||||
|  | TYPELEN = 1 | ||||||
|  | 
 | ||||||
|  | [RECORD 1] | ||||||
|  | 
 | ||||||
|  | NAME(0) = STATO RECORD | ||||||
|  | POSITION(0) = 0 | ||||||
|  | LENGTH(0) = 1 | ||||||
|  | 
 | ||||||
|  | NAME(1) = CODICE ESERCIZIO | ||||||
|  | POSITION(1) = 1 | ||||||
|  | LENGTH(1) = 2 | ||||||
|  | 
 | ||||||
|  | NAME(2) = NUMERO REGISTRAZIONE | ||||||
|  | POSITION(2) = 3 | ||||||
|  | LENGTH(2) = 6 | ||||||
|  | 
 | ||||||
|  | NAME(3) = NUMERO RIGA | ||||||
|  | POSITION(3) = 9 | ||||||
|  | LENGTH(3) = 4 | ||||||
|  | 
 | ||||||
|  | NAME(4) = TIPO RECORD | ||||||
|  | POSITION(4) = 13 | ||||||
|  | LENGTH(4) = 1 | ||||||
|  | 
 | ||||||
|  | NAME(5) = CODICE ARTICOLO | ||||||
|  | POSITION(5) = 14 | ||||||
|  | LENGTH(5) = 10 | ||||||
|  | FIELD(5) = CODART | ||||||
|  | 
 | ||||||
|  | NAME(6) = DATA REGISTRAZIONE | ||||||
|  | POSITION(6) = 33 | ||||||
|  | LENGTH(6) = 6 | ||||||
|  | 
 | ||||||
|  | NAME(7) = CODICE MAGAZZINO | ||||||
|  | POSITION(7) = 39 | ||||||
|  | LENGTH(7) = 3 | ||||||
|  | FIELD(7) = CODMAG | ||||||
|  | 
 | ||||||
|  | NAME(8) = CAUSALE MAGAZZINO | ||||||
|  | POSITION(8) = 42 | ||||||
|  | LENGTH(8) = 2 | ||||||
|  | FIELD(8) = CAUS | ||||||
|  | 
 | ||||||
|  | NAME(9) = UNITA DI MISURA | ||||||
|  | POSITION(9) = 76 | ||||||
|  | LENGTH(9) = 2 | ||||||
|  | FIELD(9) = UM | ||||||
|  | 
 | ||||||
|  | NAME(10) = QUANT | ||||||
|  | POSITION(10) = 80 | ||||||
|  | LENGTH(10) = 11 | ||||||
|  | FIELD(10) = QUANT | ||||||
|  | 
 | ||||||
|  | NAME(11) = PREZZO | ||||||
|  | POSITION(11) = 102 | ||||||
|  | LENGTH(11) = 11 | ||||||
|  | FIELD(11) = PREZZO | ||||||
|  | 
 | ||||||
|  | [RECORD 2] | ||||||
|  | 
 | ||||||
|  | NAME(0) = STATO RECORD | ||||||
|  | POSITION(0) = 0 | ||||||
|  | LENGTH(0) = 1 | ||||||
|  | 
 | ||||||
|  | NAME(1) = CODICE ESERCIZIO | ||||||
|  | POSITION(1) = 1 | ||||||
|  | LENGTH(1) = 2 | ||||||
|  | 
 | ||||||
|  | NAME(2) = NUMERO REGISTRAZIONE | ||||||
|  | POSITION(2) = 3 | ||||||
|  | LENGTH(2) = 6 | ||||||
|  | 
 | ||||||
|  | NAME(3) = NUMERO RIGA | ||||||
|  | POSITION(3) = 9 | ||||||
|  | LENGTH(3) = 4 | ||||||
|  | 
 | ||||||
|  | NAME(4) = TIPO RECORD | ||||||
|  | POSITION(4) = 13 | ||||||
|  | LENGTH(4) = 1 | ||||||
|  | 
 | ||||||
|  | NAME(5) = CODICE ARTICOLO | ||||||
|  | POSITION(5) = 14 | ||||||
|  | LENGTH(5) = 10 | ||||||
|  | FIELD(5) = CODART | ||||||
|  | 
 | ||||||
|  | NAME(6) = DATA REGISTRAZIONE | ||||||
|  | POSITION(6) = 33 | ||||||
|  | LENGTH(6) = 6 | ||||||
|  | 
 | ||||||
|  | NAME(7) = CODICE MAGAZZINO | ||||||
|  | POSITION(7) = 39 | ||||||
|  | LENGTH(7) = 3 | ||||||
|  | FIELD(7) = CODMAG | ||||||
|  | 
 | ||||||
|  | NAME(8) = CAUSALE MAGAZZINO | ||||||
|  | POSITION(8) = 42 | ||||||
|  | LENGTH(8) = 2 | ||||||
|  | FIELD(8) = CAUS | ||||||
|  | 
 | ||||||
|  | NAME(9) = UNITA DI MISURA | ||||||
|  | POSITION(9) = 76 | ||||||
|  | LENGTH(9) = 2 | ||||||
|  | FIELD(9) = UM | ||||||
|  | 
 | ||||||
|  | NAME(10) = QUANT | ||||||
|  | POSITION(10) = 80 | ||||||
|  | LENGTH(10) = 11 | ||||||
|  | FIELD(10) = QUANT | ||||||
|  | 
 | ||||||
|  | NAME(11) = PREZZO | ||||||
|  | POSITION(11) = 102 | ||||||
|  | LENGTH(11) = 11 | ||||||
|  | FIELD(11) = PREZZO | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user