Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@20971 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									cb07a3a233
								
							
						
					
					
						commit
						b373c2031e
					
				@ -371,7 +371,6 @@ bool THardy_tied_mask::on_field_event(TOperable_field& o, TField_event e, long j
 | 
			
		||||
    break;
 | 
			
		||||
  default:
 | 
			
		||||
    break;
 | 
			
		||||
  break;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
@ -412,7 +411,6 @@ void THardy_tied::main_loop()
 | 
			
		||||
  THardy_tied_mask mask;
 | 
			
		||||
  while (mask.run() == K_ENTER)
 | 
			
		||||
  {
 | 
			
		||||
    //elabora(mask);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										299
									
								
								ha/ha1100.cpp
									
									
									
									
									
								
							
							
						
						
									
										299
									
								
								ha/ha1100.cpp
									
									
									
									
									
								
							@ -2,15 +2,12 @@
 | 
			
		||||
#include <config.h>
 | 
			
		||||
#include <dongle.h>
 | 
			
		||||
#include <recarray.h>
 | 
			
		||||
#include <textset.h>
 | 
			
		||||
#include <utility.h>
 | 
			
		||||
 | 
			
		||||
#include <cfven.h>
 | 
			
		||||
#include <clifo.h>
 | 
			
		||||
#include <comuni.h>
 | 
			
		||||
#include "../mg/umart.h"
 | 
			
		||||
 | 
			
		||||
#include "../ve/condv.h"
 | 
			
		||||
#include "../ve/velib.h"
 | 
			
		||||
#include "halib.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class THardy_config : public TConfig
 | 
			
		||||
@ -40,69 +37,6 @@ THardy_config::THardy_config(const char* ini_name)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
//	Recordset specifici per i dati da trasferire
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
//classe generica per poter aggiungere pedissequamente i campi seguendo le tracce sulla documentazione
 | 
			
		||||
#define T_N "N"
 | 
			
		||||
#define T_2N "2N"
 | 
			
		||||
#define T_2Nv2N "2N,2N"
 | 
			
		||||
#define T_X "X"
 | 
			
		||||
 | 
			
		||||
class THardy_recordset : public TAS400_recordset
 | 
			
		||||
{
 | 
			
		||||
protected:
 | 
			
		||||
  void add_field(const char* name, const char* tipo, int pos, int len);
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	THardy_recordset(const char* query);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//questo è il metodo magico
 | 
			
		||||
void THardy_recordset::add_field(const char* name, const char* tipo, int pos, int len)
 | 
			
		||||
{
 | 
			
		||||
  const TFixed_string str_tipo(tipo);
 | 
			
		||||
  if (str_tipo.ends_with("N"))
 | 
			
		||||
  {
 | 
			
		||||
    create_field(name, pos-1, len, _intzerofld);
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  create_field(name, pos-1, len, _alfafld);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
THardy_recordset::THardy_recordset(const char* query) : TAS400_recordset(query)
 | 
			
		||||
{}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Clienti
 | 
			
		||||
//-------
 | 
			
		||||
class TEsporta_clienti_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
protected:
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_clienti_recordset();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
TEsporta_clienti_recordset::TEsporta_clienti_recordset()
 | 
			
		||||
: THardy_recordset("AS400(248)")
 | 
			
		||||
{
 | 
			
		||||
	add_field("CodiceTerminale", T_N, 1, 3);
 | 
			
		||||
  add_field("Segno", T_X, 4, 1);
 | 
			
		||||
  add_field(CLI_CODCF, T_X, 5, 6);
 | 
			
		||||
  add_field(CLI_RAGSOC, T_X, 11, 34);
 | 
			
		||||
  add_field(CLI_INDCF, T_X, 45, 34);
 | 
			
		||||
  add_field(CLI_LOCCF, T_X, 79, 20);
 | 
			
		||||
  add_field(CLI_CAPCF, T_X, 99, 5);
 | 
			
		||||
  add_field("Provincia", T_X, 104, 2);
 | 
			
		||||
  add_field(CLI_PAIV, T_X, 106, 11);
 | 
			
		||||
  add_field(CLI_CODPAG, T_X, 117, 1);
 | 
			
		||||
  add_field("CodiceListino", T_X, 118, 3);
 | 
			
		||||
  add_field("CodicePromozione", T_X, 121, 3);
 | 
			
		||||
  add_field("ScontoFineFattura", T_2Nv2N, 124, 4);
 | 
			
		||||
  //ne mancano ancora parecchi
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
@ -113,8 +47,17 @@ class TIni2Txt: public TSkeleton_application
 | 
			
		||||
  TFilename _output_dir;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
  //metodi di infimo livello
 | 
			
		||||
  TString4 ricava_segno(TConfig& ini);
 | 
			
		||||
 | 
			
		||||
  //metodi di medio livello
 | 
			
		||||
  void crea_nome_txt(const TString& prefisso, TFilename& output_path);
 | 
			
		||||
 | 
			
		||||
  //metodi di alto livello
 | 
			
		||||
  void genera_cliente_txt(TConfig& ini);
 | 
			
		||||
  void genera_riga_listino_txt(TConfig& ini);
 | 
			
		||||
  void genera_prodotto_txt(TConfig& ini);
 | 
			
		||||
 | 
			
		||||
  virtual void main_loop();
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
@ -159,31 +102,48 @@ void TIni2Txt::crea_nome_txt(const TString& prefisso, TFilename& output_path)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TIni2Txt::genera_cliente_txt(TConfig& ini)
 | 
			
		||||
TString4 TIni2Txt::ricava_segno(TConfig& ini)
 | 
			
		||||
{
 | 
			
		||||
  //recordset per i clienti
 | 
			
		||||
  TEsporta_clienti_recordset clienti;
 | 
			
		||||
  clienti.new_rec("");
 | 
			
		||||
 | 
			
		||||
  //controlla il tipo di transazione...
 | 
			
		||||
  TString4 segno = "+";
 | 
			
		||||
  const TString& action = ini.get("Action", "Transaction");
 | 
			
		||||
  if (action == "R")
 | 
			
		||||
    segno = "-";
 | 
			
		||||
 | 
			
		||||
  return segno;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
///////////////////////////////////////////////
 | 
			
		||||
//  metodi di alto livello
 | 
			
		||||
///////////////////////////////////////////////
 | 
			
		||||
void TIni2Txt::genera_cliente_txt(TConfig& ini)
 | 
			
		||||
{
 | 
			
		||||
  //recordset per i clienti
 | 
			
		||||
  TEsporta_clientiVAR_recordset clienti;
 | 
			
		||||
  clienti.new_rec("");
 | 
			
		||||
 | 
			
		||||
  //controlla il tipo di transazione...
 | 
			
		||||
  const TString4 segno = ricava_segno(ini);
 | 
			
		||||
 | 
			
		||||
  //...e poi si lancia a capofitto a riempire il recordset!
 | 
			
		||||
  //campi da clifo (20)
 | 
			
		||||
  //-------------------
 | 
			
		||||
  ini.set_paragraph("20");
 | 
			
		||||
 | 
			
		||||
  clienti.set("CodiceTerminale", 0L);
 | 
			
		||||
  clienti.set("Segno", segno);
 | 
			
		||||
  clienti.set(CLI_CODCF, ini.get_long(CLI_CODCF));
 | 
			
		||||
  clienti.set(CLI_RAGSOC, ini.get(CLI_RAGSOC));
 | 
			
		||||
  clienti.set(CLI_INDCF, ini.get(CLI_INDCF));
 | 
			
		||||
  clienti.set(CLI_LOCCF, ini.get(CLI_LOCCF));
 | 
			
		||||
  clienti.set(CLI_CAPCF, ini.get(CLI_CAPCF));
 | 
			
		||||
  const long codcf = ini.get_long(CLI_CODCF);
 | 
			
		||||
  //il codice terminale è il codagente legato al cliente
 | 
			
		||||
  clienti.set("CodiceTerminale", find_codag(codcf));
 | 
			
		||||
 | 
			
		||||
  clienti.set("Segno", segno);
 | 
			
		||||
  clienti.set(CLI_CODCF, codcf);
 | 
			
		||||
  clienti.set(CLI_RAGSOC, ini.get(CLI_RAGSOC));
 | 
			
		||||
  //l'indirizzo va numerato
 | 
			
		||||
  TString80 indcf = ini.get(CLI_INDCF);
 | 
			
		||||
  indcf << " " << ini.get(CLI_CIVCF);
 | 
			
		||||
  clienti.set(CLI_INDCF, indcf);
 | 
			
		||||
  //panegirico per comune e provincia
 | 
			
		||||
  const TString& statocf = ini.get(CLI_STATOCF);
 | 
			
		||||
  if (statocf.blank())
 | 
			
		||||
  {
 | 
			
		||||
@ -191,18 +151,23 @@ void TIni2Txt::genera_cliente_txt(TConfig& ini)
 | 
			
		||||
    TToken_string key;
 | 
			
		||||
    key.add(statocf);
 | 
			
		||||
    key.add(comcf);
 | 
			
		||||
    const TString& provcf = cache().get(LF_COMUNI, key, COM_PROVCOM);
 | 
			
		||||
    const TRectype& rec_comuni = cache().get(LF_COMUNI, key);
 | 
			
		||||
    TString80 dencom = rec_comuni.get(COM_DENCOM);
 | 
			
		||||
    //dencom.cut(20);     //il campo sul .txt è lungo 20!
 | 
			
		||||
    clienti.set("Localita", dencom);
 | 
			
		||||
    const TString& provcf = rec_comuni.get(COM_PROVCOM);
 | 
			
		||||
    clienti.set("Provincia", provcf);
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  clienti.set(CLI_CAPCF, ini.get(CLI_CAPCF));
 | 
			
		||||
 | 
			
		||||
  clienti.set(CLI_PAIV, ini.get(CLI_PAIV));
 | 
			
		||||
 | 
			
		||||
  const TString& codpag = ini.get(CLI_CODPAG);
 | 
			
		||||
  if (codpag.full())
 | 
			
		||||
  {
 | 
			
		||||
    const TString& tipo_pag = cache().get("%CPG", codpag, "S4");
 | 
			
		||||
    clienti.set(CLI_CODPAG, tipo_pag == "1" ? "1" : "2");
 | 
			
		||||
  }
 | 
			
		||||
  //attenzione alla lunghezza del codpag
 | 
			
		||||
  TString4 codpag = ini.get(CLI_CODPAG);
 | 
			
		||||
  //codpag.cut(2);  //il campo sul .txt è lungo 2!
 | 
			
		||||
  clienti.set(CLI_CODPAG, codpag);
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
  TString query;
 | 
			
		||||
  query << "USE CONDV";
 | 
			
		||||
@ -217,24 +182,40 @@ void TIni2Txt::genera_cliente_txt(TConfig& ini)
 | 
			
		||||
    clienti.set("CodiceListino", cod_contr);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  //clienti.set("CodicePromozione", );
 | 
			
		||||
  TString16 ntel = ini.get(CLI_PTEL);
 | 
			
		||||
  ntel << ini.get(CLI_TEL);
 | 
			
		||||
  //ntel.cut(10);
 | 
			
		||||
  clienti.set(CLI_TEL, ntel);
 | 
			
		||||
 | 
			
		||||
  clienti.set(CLI_CODCFFATT, ini.get(CLI_CODCFFATT));
 | 
			
		||||
 | 
			
		||||
  //panegirico del fido!
 | 
			
		||||
  //poichè il formato di output prevede comunque 2 decimali -> provvediamo a riempire eventuali buchi
 | 
			
		||||
  real fido = ini.get(CLI_FIDO);
 | 
			
		||||
  fido *= CENTO;
 | 
			
		||||
  fido.round();
 | 
			
		||||
  clienti.set(CLI_FIDO, fido);
 | 
			
		||||
 | 
			
		||||
  //no consegna = sospeso (forse)
 | 
			
		||||
  const TString& sospeso = ini.get_bool(CLI_SOSPESO) ? "S" : "";
 | 
			
		||||
  clienti.set("NoConsegna", sospeso);
 | 
			
		||||
 | 
			
		||||
  clienti.set(CLI_COFI, ini.get(CLI_COFI));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  //campi da cfven(17)
 | 
			
		||||
  //------------------
 | 
			
		||||
  ini.set_paragraph("17");
 | 
			
		||||
  const TString& str_sconto = ini.get(CFV_SCONTO);
 | 
			
		||||
  TString goodexp;
 | 
			
		||||
  real val_perc;
 | 
			
		||||
  if (scontoexpr2perc(str_sconto, false, goodexp, val_perc))
 | 
			
		||||
  {
 | 
			
		||||
    val_perc = CENTO - (val_perc * CENTO);
 | 
			
		||||
    val_perc *= CENTO;
 | 
			
		||||
    val_perc.round();
 | 
			
		||||
    clienti.set("ScontoFineFattura", val_perc);
 | 
			
		||||
  }
 | 
			
		||||
  clienti.set("ScontoFineFattura", find_sconto(str_sconto));
 | 
			
		||||
 | 
			
		||||
  //prepara il nome corretto del file .txt da generare
 | 
			
		||||
  
 | 
			
		||||
  TString4 assfis = ini.get(CFV_ASSFIS);
 | 
			
		||||
  //assfis.cut(2);    //il loro è lungo 2!
 | 
			
		||||
  clienti.set(CFV_ASSFIS, assfis);
 | 
			
		||||
 | 
			
		||||
  //prepara il nome corretto del file .txt e lo genera
 | 
			
		||||
  //--------------------------------------------------
 | 
			
		||||
  const TString prefisso = "clientivar";
 | 
			
		||||
  TFilename output_path;
 | 
			
		||||
  crea_nome_txt(prefisso, output_path);
 | 
			
		||||
@ -243,6 +224,118 @@ void TIni2Txt::genera_cliente_txt(TConfig& ini)
 | 
			
		||||
  clienti.save_as(output_path, fmt_text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TIni2Txt::genera_riga_listino_txt(TConfig& ini)
 | 
			
		||||
{
 | 
			
		||||
  TEsporta_listiniVAR_recordset riga_listino;
 | 
			
		||||
 | 
			
		||||
  const TString4 segno = ricava_segno(ini);
 | 
			
		||||
 | 
			
		||||
  //campi da condv (52)
 | 
			
		||||
  //-------------------
 | 
			
		||||
  //ini.set_paragraph("52");
 | 
			
		||||
 | 
			
		||||
  //campi da rcondv (53)
 | 
			
		||||
  //--------------------
 | 
			
		||||
  //ATTENZIONE!!! Ci sono N righe di tipo 53 per ogni testata, quindi dobbiamo fare il giro
 | 
			
		||||
  for (int r = 1;; r++)
 | 
			
		||||
  {
 | 
			
		||||
    TString8 paragraph;
 | 
			
		||||
    paragraph.format("%d,%d", LF_RCONDV, r);
 | 
			
		||||
    if (!ini.set_paragraph(paragraph))
 | 
			
		||||
      break;
 | 
			
		||||
 | 
			
		||||
    riga_listino.new_rec("");
 | 
			
		||||
 | 
			
		||||
    riga_listino.set("CodiceTerminale", 0L);  //nel caso del listino non si sa come comportarsi
 | 
			
		||||
    riga_listino.set("Segno", segno);
 | 
			
		||||
 | 
			
		||||
    riga_listino.set(RCONDV_COD, ini.get(RCONDV_COD));
 | 
			
		||||
    TString80 codart = ini.get(RCONDV_CODRIGA);
 | 
			
		||||
    //codart.cut(5);    //il codart è lungo 5 sul txt!
 | 
			
		||||
    riga_listino.set(RCONDV_CODRIGA, codart);
 | 
			
		||||
 | 
			
		||||
    //prezzo
 | 
			
		||||
    real prezzo = ini.get(RCONDV_PREZZO);
 | 
			
		||||
    if (prezzo.is_zero())
 | 
			
		||||
    {
 | 
			
		||||
      TToken_string key_umart;
 | 
			
		||||
      key_umart.add(codart);
 | 
			
		||||
      key_umart.add(1);
 | 
			
		||||
      const TRectype& rec_umart = cache().get(LF_UMART, key_umart);
 | 
			
		||||
      prezzo = rec_umart.get_real(UMART_PREZZO);
 | 
			
		||||
    }
 | 
			
		||||
    prezzo *= 1000;
 | 
			
		||||
    prezzo.round();
 | 
			
		||||
    riga_listino.set(RCONDV_PREZZO, prezzo.integer());
 | 
			
		||||
 | 
			
		||||
    //sconto
 | 
			
		||||
    const TString& str_sconto = ini.get(RCONDV_SCONTO);
 | 
			
		||||
    riga_listino.set(RCONDV_SCONTO, find_sconto(str_sconto));
 | 
			
		||||
 | 
			
		||||
  } //for(int r=1;;...
 | 
			
		||||
 | 
			
		||||
  //prepara il nome corretto del file .txt e lo genera
 | 
			
		||||
  //--------------------------------------------------
 | 
			
		||||
  const TString prefisso = "listvar";
 | 
			
		||||
  TFilename output_path;
 | 
			
		||||
  crea_nome_txt(prefisso, output_path);
 | 
			
		||||
 | 
			
		||||
  riga_listino.save_as(output_path, fmt_text); 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TIni2Txt::genera_prodotto_txt(TConfig& ini)
 | 
			
		||||
{
 | 
			
		||||
  TEsporta_prodottiVAR_recordset prodotto;
 | 
			
		||||
  prodotto.new_rec("");
 | 
			
		||||
 | 
			
		||||
  const TString4 segno = ricava_segno(ini);
 | 
			
		||||
 | 
			
		||||
  //campi da anamag (47)
 | 
			
		||||
  //-------------------
 | 
			
		||||
  ini.set_paragraph("47");
 | 
			
		||||
 | 
			
		||||
  prodotto.set("Segno", segno);
 | 
			
		||||
 | 
			
		||||
  TString80 codart = ini.get(ANAMAG_CODART);
 | 
			
		||||
  //codart.cut(5);  //solito problema della lunghezza ridotta
 | 
			
		||||
  prodotto.set(ANAMAG_CODART, codart);
 | 
			
		||||
 | 
			
		||||
  TString80 descr = ini.get(ANAMAG_DESCR);
 | 
			
		||||
  //descr.cut(30);
 | 
			
		||||
  prodotto.set(ANAMAG_DESCR, descr);
 | 
			
		||||
 | 
			
		||||
  TString4 codiva = ini.get(ANAMAG_CODIVA);
 | 
			
		||||
  //codiva.cut(2);  //solito problema della lungh ridotta
 | 
			
		||||
  prodotto.set(ANAMAG_CODIVA, codiva);
 | 
			
		||||
 | 
			
		||||
  //sconto
 | 
			
		||||
  const TString& str_sconto = ini.get(ANAMAG_SCONTO);
 | 
			
		||||
  prodotto.set(ANAMAG_SCONTO, find_sconto(str_sconto));
 | 
			
		||||
 | 
			
		||||
  //campi da umart (49) (per ora una sola riga)
 | 
			
		||||
  //-------------------------------------------
 | 
			
		||||
  ini.set_paragraph("49,1");
 | 
			
		||||
 | 
			
		||||
  real prezzo = ini.get(UMART_PREZZO);
 | 
			
		||||
  prezzo *= 1000;
 | 
			
		||||
  prezzo.round();
 | 
			
		||||
  prodotto.set(UMART_PREZZO, prezzo.integer());
 | 
			
		||||
 | 
			
		||||
  prodotto.set(UMART_UM, ini.get(UMART_UM));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  //prepara il nome corretto del file .txt da generare
 | 
			
		||||
  //--------------------------------------------------
 | 
			
		||||
  const TString prefisso = "prodottivar";
 | 
			
		||||
  TFilename output_path;
 | 
			
		||||
  crea_nome_txt(prefisso, output_path);
 | 
			
		||||
 | 
			
		||||
  prodotto.save_as(output_path, fmt_text);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TIni2Txt::main_loop()
 | 
			
		||||
{
 | 
			
		||||
  //stabilisce una volta per tutte ad inizio programma quale cavolo è la directory dove sbattere i .txt generati
 | 
			
		||||
@ -267,16 +360,18 @@ void TIni2Txt::main_loop()
 | 
			
		||||
    //sospesi
 | 
			
		||||
 | 
			
		||||
    //listino
 | 
			
		||||
    if (ini_paragraphs.find("52") >= 0)
 | 
			
		||||
      genera_riga_listino_txt(input_ini_file);
 | 
			
		||||
 | 
			
		||||
    //prodotti
 | 
			
		||||
    if (ini_paragraphs.find("47") >= 0)
 | 
			
		||||
      genera_prodotto_txt(input_ini_file);
 | 
			
		||||
 | 
			
		||||
    //barcode
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int main(int argc, char** argv)
 | 
			
		||||
int ha1100(int argc, char* argv[])
 | 
			
		||||
{
 | 
			
		||||
  TIni2Txt a;
 | 
			
		||||
  a.run(argc, argv, "Generazione .txt da .ini");
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										293
									
								
								ha/halib.cpp
									
									
									
									
									
								
							
							
						
						
									
										293
									
								
								ha/halib.cpp
									
									
									
									
									
								
							@ -40,3 +40,296 @@ TContratto_premi::TContratto_premi(char provv, int anno, const char* codnum, lon
 | 
			
		||||
TContratto_premi::TContratto_premi(const TRectype& rec_doc)
 | 
			
		||||
                : TDocumento(rec_doc)
 | 
			
		||||
{}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
//	Recordset specifici per i dati da trasferire
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
//questo è il metodo magico che vale per tutti
 | 
			
		||||
void THardy_recordset::add_field(const char* name, const char* tipo, int pos, int len)
 | 
			
		||||
{
 | 
			
		||||
  const TFixed_string str_tipo(tipo);
 | 
			
		||||
  if (str_tipo.ends_with("N"))
 | 
			
		||||
  {
 | 
			
		||||
    create_field(name, pos-1, len, _intzerofld);
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  create_field(name, pos-1, len, _alfafld);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void THardy_recordset::insert_field(const char* name, const char* tipo, int pos, int len)
 | 
			
		||||
{
 | 
			
		||||
  if (pos >= 1)
 | 
			
		||||
  {
 | 
			
		||||
    TArray& trc = (TArray&)*_trc.first_item();
 | 
			
		||||
    FOR_EACH_ARRAY_ITEM(trc, r, itm)
 | 
			
		||||
    {
 | 
			
		||||
      TAS400_column_info& fld = (TAS400_column_info&)*itm;
 | 
			
		||||
      if (fld._pos+1 >= pos)
 | 
			
		||||
      {
 | 
			
		||||
        fld._pos += len;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  add_field(name, tipo, pos, len);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//al costruttore viene passato come parametro la lunghezza del tracciato
 | 
			
		||||
THardy_recordset::THardy_recordset(const int rec_lenght) : TAS400_recordset("AS400()")
 | 
			
		||||
{
 | 
			
		||||
  TString16 query;
 | 
			
		||||
  query << "AS400(" << rec_lenght << ")";
 | 
			
		||||
  TFilename cazzone;
 | 
			
		||||
  parse_query(query, cazzone);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//------------------------------------------------------------------------------------
 | 
			
		||||
//Clienti
 | 
			
		||||
//-------
 | 
			
		||||
TEsporta_clienti_recordset::TEsporta_clienti_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
	add_field("CodiceTerminale",    T_N,    1,   3);    //x
 | 
			
		||||
  add_field(CLI_CODCF,            T_X,    4,   6);    //x
 | 
			
		||||
  add_field(CLI_RAGSOC,           T_X,    10,  34);   //x
 | 
			
		||||
  add_field(CLI_INDCF,            T_X,    44,  34);   //x
 | 
			
		||||
  add_field("Localita",           T_X,    78,  20);   //x
 | 
			
		||||
  add_field(CLI_CAPCF,            T_X,    98,  5);    //x
 | 
			
		||||
  add_field("Provincia",          T_X,    103, 2);    //x
 | 
			
		||||
  add_field(CLI_PAIV,             T_X,    105, 11);   //x
 | 
			
		||||
  add_field(CLI_CODPAG,           T_X,    116, 2);    //x
 | 
			
		||||
  add_field("CodiceListino",      T_X,    118, 3);    //x
 | 
			
		||||
  add_field("CodicePromozione",   T_X,    121, 3);
 | 
			
		||||
  add_field("ScontoFineFattura",  T_2Nv2N,124, 4);    //x
 | 
			
		||||
  add_field("Giro01",             T_N,    128, 3);
 | 
			
		||||
  add_field("Giro02",             T_N,    131, 3);
 | 
			
		||||
  add_field("Giro03",             T_N,    134, 3);
 | 
			
		||||
  add_field("Giro04",             T_N,    137, 3);
 | 
			
		||||
  add_field("Giro05",             T_N,    140, 3);
 | 
			
		||||
  add_field("Giro06",             T_N,    143, 3);
 | 
			
		||||
  add_field("TipoControllo",      T_X,    146, 1);
 | 
			
		||||
  add_field("FlDecodArt",         T_X,    147, 1);
 | 
			
		||||
  add_field("DecodeCodCli",       T_X,    148, 6);
 | 
			
		||||
  add_field(CLI_TEL,              T_X,    154, 10);   //x
 | 
			
		||||
  add_field(CFV_ASSFIS,           T_X,    164, 2);    //x
 | 
			
		||||
  add_field(CLI_CODCFFATT,        T_X,    166, 6);    //x
 | 
			
		||||
  add_field("TipoDoc",            T_X,    172, 1);
 | 
			
		||||
  add_field("NoConsegna",         T_X,    173, 1);    //x
 | 
			
		||||
  add_field("ScontoA",            T_2N,   174, 2);
 | 
			
		||||
  add_field("ScontoB",            T_2N,   176, 2);
 | 
			
		||||
  add_field("ScontoC",            T_2N,   178, 2);
 | 
			
		||||
  add_field("ScontoD",            T_2N,   180, 2);
 | 
			
		||||
  add_field("ScontoE",            T_2N,   182, 2);
 | 
			
		||||
  add_field("ScontoF",            T_2N,   184, 2);
 | 
			
		||||
  add_field("ScontoG",            T_2N,   186, 2);
 | 
			
		||||
  add_field("ScontoH",            T_2N,   188, 2);
 | 
			
		||||
  add_field("ScontoI",            T_2N,   190, 2);
 | 
			
		||||
  add_field("ScontoJ",            T_2N,   192, 2);
 | 
			
		||||
  add_field("ScontoK",            T_2N,   194, 2);
 | 
			
		||||
  add_field("ScontoL",            T_2N,   196, 2);
 | 
			
		||||
  add_field("ScontoM",            T_2N,   198, 2);
 | 
			
		||||
  add_field("ScontoN",            T_2N,   200, 2);
 | 
			
		||||
  add_field("ScontoO",            T_2N,   202, 2);
 | 
			
		||||
  add_field("ScontoP",            T_2N,   204, 2);
 | 
			
		||||
  add_field("ScontoQ",            T_2N,   206, 2);
 | 
			
		||||
  add_field("ScontoR",            T_2N,   208, 2);
 | 
			
		||||
  add_field("ScontoS",            T_2N,   210, 2);
 | 
			
		||||
  add_field("ScontoT",            T_2N,   212, 2);
 | 
			
		||||
  add_field(CLI_FIDO,             T_Nv2N, 214, 8);    //x
 | 
			
		||||
  add_field("CodcliGiro3",        T_X,    222, 6);
 | 
			
		||||
  add_field(CLI_COFI,             T_X,    228, 16);   //x
 | 
			
		||||
  add_field("Giro4",              T_N,    244, 6);
 | 
			
		||||
  add_field("FlPrezzoLibero",     T_N,    250, 1);
 | 
			
		||||
}
 | 
			
		||||
//..e variazioni clienti
 | 
			
		||||
TEsporta_clientiVAR_recordset::TEsporta_clientiVAR_recordset()
 | 
			
		||||
: TEsporta_clienti_recordset(251)
 | 
			
		||||
{
 | 
			
		||||
  insert_field("Segno", T_X, 4, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Righe Listini
 | 
			
		||||
//-------------
 | 
			
		||||
TEsporta_listini_recordset::TEsporta_listini_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodiceTerminale", T_N,    1,  3);    //x
 | 
			
		||||
  add_field(RCONDV_COD,        T_X,    4,  3);    //x
 | 
			
		||||
  add_field(RCONDV_CODRIGA,    T_X,    7,  5);    //x
 | 
			
		||||
  add_field(RCONDV_PREZZO,     T_Nv3N, 12, 7);    //x
 | 
			
		||||
  add_field(RCONDV_SCONTO,     T_2Nv2N,19, 4);    //x
 | 
			
		||||
  add_field("Sconto2",         T_2Nv2N,23, 4);
 | 
			
		||||
  add_field("Sconto3",         T_2Nv2N,27, 4);
 | 
			
		||||
  add_field("CasaMandante",    T_NS,   31, 6);
 | 
			
		||||
}
 | 
			
		||||
//..e variazioni listini
 | 
			
		||||
TEsporta_listiniVAR_recordset::TEsporta_listiniVAR_recordset()
 | 
			
		||||
: TEsporta_listini_recordset(37)
 | 
			
		||||
{
 | 
			
		||||
  insert_field("Segno", T_X, 4, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Righe Contratti
 | 
			
		||||
//---------------
 | 
			
		||||
TEsporta_contratti_recordset::TEsporta_contratti_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodiceTerminale", T_N,    1,  3);
 | 
			
		||||
  add_field(CONDV_CODCF,       T_X,    4,  6);
 | 
			
		||||
  add_field(RCONDV_CODRIGA,    T_X,    10, 5);
 | 
			
		||||
  add_field(RCONDV_PREZZO,     T_Nv3N, 15, 7);
 | 
			
		||||
  add_field(RCONDV_SCONTO,     T_2Nv2N,22, 4);
 | 
			
		||||
  add_field("Sconto2",         T_2Nv2N,26, 4);
 | 
			
		||||
  add_field("Sconto3",         T_2Nv2N,30, 4);
 | 
			
		||||
  add_field(CONDV_VALIN,       T_X,    34, 8);
 | 
			
		||||
  add_field(CONDV_VALFIN,      T_X,    42, 8);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Offerte
 | 
			
		||||
//-------
 | 
			
		||||
TEsporta_offerte_recordset::TEsporta_offerte_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field(CONDV_COD,         T_X,    1,  3);
 | 
			
		||||
  add_field(CONDV_COD,         T_X,    4,  3);
 | 
			
		||||
  add_field(CONDV_VALIN,       T_X,    7,  8);
 | 
			
		||||
  add_field(CONDV_VALFIN,      T_X,    15, 8);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Prodotti
 | 
			
		||||
//--------
 | 
			
		||||
TEsporta_prodotti_recordset::TEsporta_prodotti_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field(ANAMAG_CODART,  T_X,    1,  5);   //x
 | 
			
		||||
  add_field(ANAMAG_DESCR,   T_X,    6,  30);  //x
 | 
			
		||||
  add_field(UMART_PREZZO,   T_Nv3N, 36, 7);   //x
 | 
			
		||||
  add_field(ANAMAG_CODIVA,  T_N,    43, 2);   //x
 | 
			
		||||
  add_field(UMART_UM,       T_X,    45, 2);   //x
 | 
			
		||||
  add_field("NONusato",     T_X,    47, 1);
 | 
			
		||||
  add_field(ANAMAG_SCONTO,  T_2Nv2N,48, 4);   //x
 | 
			
		||||
  add_field("ScontoArt2",   T_2Nv2N,52, 4);
 | 
			
		||||
  add_field("Fascia",       T_X,    56, 1);
 | 
			
		||||
  add_field("PrezzoMinimo", T_Nv3N, 57, 7);
 | 
			
		||||
}
 | 
			
		||||
//..e variazioni prodottii
 | 
			
		||||
TEsporta_prodottiVAR_recordset::TEsporta_prodottiVAR_recordset()
 | 
			
		||||
: TEsporta_prodotti_recordset(64)
 | 
			
		||||
{
 | 
			
		||||
  insert_field("Segno", T_X, 1, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Agenti
 | 
			
		||||
//-------
 | 
			
		||||
TEsporta_agenti_recordset::TEsporta_agenti_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodiceTerminale", T_N,    1,  3);    //x
 | 
			
		||||
  add_field(AGE_CODAGE,        T_N,    4,  3);    //x
 | 
			
		||||
  add_field("Data",            T_X,    7,  6);
 | 
			
		||||
  add_field("Targa",           T_X,    13, 8);
 | 
			
		||||
  add_field("nDDT",            T_N,    21, 5);
 | 
			
		||||
  add_field("nFATT",           T_N,    26, 5);
 | 
			
		||||
  add_field("nBOLLA",          T_N,    31, 5);
 | 
			
		||||
  add_field(AGE_RAGSOC,        T_X,    36, 30);   //x
 | 
			
		||||
  add_field("nORD",            T_N,    66, 5);
 | 
			
		||||
  add_field("nSAGIT",          T_N,    71, 5);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Linee
 | 
			
		||||
//-----
 | 
			
		||||
TEsporta_linee_recordset::TEsporta_linee_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("Fascia",       T_X,    1, 1);
 | 
			
		||||
  add_field("Descrizione",  T_X,    2, 50);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//Rdoc (Carico) è una riga di un documento
 | 
			
		||||
//----------------
 | 
			
		||||
TEsporta_rmovmag_recordset::TEsporta_rmovmag_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodiceTerminale", T_N,   1,  3);   //x agente
 | 
			
		||||
  add_field(RDOC_CODART,       T_X,   4,  5);
 | 
			
		||||
  add_field(RDOC_QTA,          T_Nv2N,9,  7);
 | 
			
		||||
  add_field(RDOC_LIVELLO,      T_X,   16, 10);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Decodart (????)
 | 
			
		||||
//---------------
 | 
			
		||||
TEsporta_decodart_recordset::TEsporta_decodart_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodiceArticolo",  T_X,    1,  5);  //codart
 | 
			
		||||
  add_field("CodiceCliente",   T_NS,   6,  6);  //clifo
 | 
			
		||||
  add_field("CodiceArticolo2", T_X,    12, 6);  //codcorr
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Barcode
 | 
			
		||||
//---------------
 | 
			
		||||
TEsporta_barcode_recordset::TEsporta_barcode_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodiceBarcode",  T_X,    1,  20);  //codcorr
 | 
			
		||||
  add_field("CodiceArticolo", T_X,    21, 5);   //codart
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Attrezzature
 | 
			
		||||
//---------------
 | 
			
		||||
TEsporta_attrezzature_recordset::TEsporta_attrezzature_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodiceTerminale",  T_N,   1,  3);
 | 
			
		||||
  add_field("CodiceCliente",    T_X,   4,  6);
 | 
			
		||||
  add_field("CodiceArticolo",   T_X,   10, 5);
 | 
			
		||||
  add_field("MatricolaAttrezz", T_X,   15, 12);
 | 
			
		||||
  add_field("DescrAttrezz",     T_X,   27, 30);
 | 
			
		||||
  add_field("DataConsegna",     T_X,   57, 6);
 | 
			
		||||
  add_field("Quantita",         T_N,   63, 7);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Pagamenti
 | 
			
		||||
//---------------
 | 
			
		||||
TEsporta_pagamenti_recordset::TEsporta_pagamenti_recordset(int rec_length)
 | 
			
		||||
: THardy_recordset(rec_length)
 | 
			
		||||
{
 | 
			
		||||
  add_field("CodicePagamento",  T_X,   1,  2);
 | 
			
		||||
  add_field("DescrPagamento",   T_X,   3,  20);
 | 
			
		||||
  add_field("GiorniScadenza",   T_N,   23, 3);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
//	Metodi di utility
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
real find_sconto(const TString& str_sconto)
 | 
			
		||||
{
 | 
			
		||||
  TString goodexp;
 | 
			
		||||
  real val_perc;
 | 
			
		||||
  if (scontoexpr2perc(str_sconto, false, goodexp, val_perc))
 | 
			
		||||
  {
 | 
			
		||||
    val_perc = CENTO - (val_perc * CENTO);
 | 
			
		||||
    val_perc *= CENTO;
 | 
			
		||||
    val_perc.round();
 | 
			
		||||
  }
 | 
			
		||||
  return val_perc;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const TString& find_codag(const long codcf)
 | 
			
		||||
{
 | 
			
		||||
  TToken_string key_cfven;
 | 
			
		||||
  key_cfven.add("C");
 | 
			
		||||
  key_cfven.add(codcf);
 | 
			
		||||
  const TRectype& rec_cfven = cache().get(LF_CFVEN, key_cfven);
 | 
			
		||||
  TString8 codag = rec_cfven.get(CFV_CODAG);
 | 
			
		||||
  return codag.right(3);   //il loro codagente è lungo 3!!!
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										159
									
								
								ha/halib.h
									
									
									
									
									
								
							
							
						
						
									
										159
									
								
								ha/halib.h
									
									
									
									
									
								
							@ -1,7 +1,16 @@
 | 
			
		||||
#ifndef __TEXTSET_H
 | 
			
		||||
#include <textset.h>
 | 
			
		||||
#endif __TEXTSET_H
 | 
			
		||||
 | 
			
		||||
#ifndef __VELIB_H 
 | 
			
		||||
#include "../ve/velib.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "../mg/rmovmag.h"
 | 
			
		||||
#include "../pr/agenti.h"
 | 
			
		||||
#include "../ve/condv.h"
 | 
			
		||||
#include "../ve/rcondv.h"
 | 
			
		||||
 | 
			
		||||
//definizioni delle righe dei contratti premio Hardy (da includere nei .cpp)
 | 
			
		||||
#define HARDY_TIPORIGA_MERCE "H01"
 | 
			
		||||
#define HARDY_TIPORIGA_SOMMA "H02"
 | 
			
		||||
@ -32,3 +41,153 @@ public:
 | 
			
		||||
  TContratto_premi(char provv, int anno, const char* codnum, long ndoc);
 | 
			
		||||
  TContratto_premi(const TRectype& rec_doc);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
//	Recordset specifici per i dati da trasferire
 | 
			
		||||
/////////////////////////////////////////////////////////////
 | 
			
		||||
//classe generica per poter aggiungere pedissequamente i campi seguendo le tracce sulla documentazione
 | 
			
		||||
//tipologie di campo secondo il ricevente
 | 
			
		||||
#define T_N "N"
 | 
			
		||||
#define T_2N "2N"
 | 
			
		||||
#define T_Nv2N "N,2N"
 | 
			
		||||
#define T_Nv3N "N,3N"
 | 
			
		||||
#define T_2Nv2N "2N,2N"
 | 
			
		||||
#define T_X "X"
 | 
			
		||||
#define T_NS "NS"
 | 
			
		||||
 | 
			
		||||
class THardy_recordset : public TAS400_recordset
 | 
			
		||||
{
 | 
			
		||||
protected:
 | 
			
		||||
  void add_field(const char* name, const char* tipo, int pos, int len);
 | 
			
		||||
  void insert_field(const char* name, const char* tipo, int pos, int len);
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	THardy_recordset(const int rec_length);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Agenti
 | 
			
		||||
//-------
 | 
			
		||||
class TEsporta_agenti_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_agenti_recordset(int rec_length = 75);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Clienti (clifo + cfven)
 | 
			
		||||
//-----------------------
 | 
			
		||||
class TEsporta_clienti_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_clienti_recordset(int rec_length = 250);
 | 
			
		||||
};
 | 
			
		||||
//..e variazioni clienti!
 | 
			
		||||
class TEsporta_clientiVAR_recordset : public TEsporta_clienti_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_clientiVAR_recordset();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//Listini (condv + rcondv)
 | 
			
		||||
//------------------------
 | 
			
		||||
class TEsporta_listini_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_listini_recordset(int rec_length = 36);
 | 
			
		||||
};
 | 
			
		||||
//..e variazioni listini
 | 
			
		||||
class TEsporta_listiniVAR_recordset : public TEsporta_listini_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_listiniVAR_recordset();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//Contratti (Particolari) (condv + rcondv)
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
class TEsporta_contratti_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_contratti_recordset(int rec_length = 49);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//Offerte (Promo) (condv + rcondv)
 | 
			
		||||
//----------------------------------------
 | 
			
		||||
class TEsporta_offerte_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_offerte_recordset(int rec_length = 22);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//Prodotti (anamag + umart)
 | 
			
		||||
//-------------------------
 | 
			
		||||
class TEsporta_prodotti_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_prodotti_recordset(int rec_length = 63);
 | 
			
		||||
};
 | 
			
		||||
//..e variazioni prodotti
 | 
			
		||||
class TEsporta_prodottiVAR_recordset : public TEsporta_prodotti_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	TEsporta_prodottiVAR_recordset();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Linee
 | 
			
		||||
//-----
 | 
			
		||||
class TEsporta_linee_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
  TEsporta_linee_recordset(int rec_length = 51);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Rmovmag (Carico)
 | 
			
		||||
//----------------
 | 
			
		||||
class TEsporta_rmovmag_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
  TEsporta_rmovmag_recordset(int rec_length = 25);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//Decodart (?????)
 | 
			
		||||
//----------------
 | 
			
		||||
class TEsporta_decodart_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
  TEsporta_decodart_recordset(int rec_length = 17);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//Barcode (?????)
 | 
			
		||||
//---------------
 | 
			
		||||
class TEsporta_barcode_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
  TEsporta_barcode_recordset(int rec_length = 25);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//Attrezzature ()
 | 
			
		||||
//----------------
 | 
			
		||||
class TEsporta_attrezzature_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
  TEsporta_attrezzature_recordset(int rec_length = 69);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//Pagamenti ()
 | 
			
		||||
//-----------------
 | 
			
		||||
class TEsporta_pagamenti_recordset : public THardy_recordset
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
  TEsporta_pagamenti_recordset(int rec_length = 25);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
//metodi di utility
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
real find_sconto(const TString& str_sconto);
 | 
			
		||||
const TString& find_codag(const long codcf);
 | 
			
		||||
@ -10,3 +10,4 @@ Item_04 = "Generazione NAC", "ha0 -4", ""
 | 
			
		||||
Item_05 = "Elaborazione contratti premio pareggiati", "ha0 -3", "F"
 | 
			
		||||
Item_06 = "Gestione listini", "ve2 -4", ""
 | 
			
		||||
Item_07 = "Stampa listini", "ve3 -4 L", ""
 | 
			
		||||
Item_08 = "Esportazione archivi formato txt", "ha1 -0", "F"
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user