Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@21167 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c98dcef404
commit
e0762200f6
@ -1,5 +1,6 @@
|
||||
#include <automask.h>
|
||||
#include <confapp.h>
|
||||
#include <relation.h>
|
||||
|
||||
#include "ha0200a.h"
|
||||
|
||||
@ -43,6 +44,8 @@ class TConf_Hardy : public TConfig_application
|
||||
protected:
|
||||
virtual TMask* create_mask(const TFilename& f);
|
||||
virtual TMask* get_mask();
|
||||
virtual void load_mask();
|
||||
virtual void save_mask(bool tosave);
|
||||
|
||||
public:
|
||||
virtual bool preprocess_config (TMask& mask, TConfig& config);
|
||||
@ -76,6 +79,86 @@ bool TConf_Hardy::postprocess_config (TMask& mask, TConfig& config)
|
||||
return true;
|
||||
}
|
||||
|
||||
//questa serve per caricare gli sheet della maschera
|
||||
void TConf_Hardy::load_mask()
|
||||
{
|
||||
TMask* m = get_mask();
|
||||
if (m != NULL)
|
||||
{
|
||||
TConfig_application::load_mask();
|
||||
//dopo aver caricato la maschera principale, fa il giro sugli sheet presenti
|
||||
FOR_EACH_MASK_SHEET((*m), i, s)
|
||||
{
|
||||
s->destroy();
|
||||
//carica la maschera del singolo sheet
|
||||
TMask& sm = s->sheet_mask();
|
||||
|
||||
bool found = true;
|
||||
for (int r = 0; found; r++)
|
||||
{
|
||||
//giro sui campi della maschera di sheet
|
||||
FOR_EACH_MASK_FIELD(sm, j, f)
|
||||
{
|
||||
const TFieldref* fr = f->field();
|
||||
//deve caricare solo i campi che hanno un field
|
||||
if(fr != NULL)
|
||||
{
|
||||
const TString& value = get_config()->get(fr->name(), NULL, r);
|
||||
if (value.empty() && f->dlg() == 101)
|
||||
{
|
||||
found = false;
|
||||
break;
|
||||
}
|
||||
s->row(r).add(value, s->cid2index(f->dlg()));
|
||||
}
|
||||
}
|
||||
if (found)
|
||||
s->check_row(r, 1);
|
||||
}
|
||||
s->force_update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//questa serve per salvare gli sheet della maschera (tipo quello con i codici iva)
|
||||
void TConf_Hardy::save_mask(bool tosave)
|
||||
{
|
||||
TConfig* cnf = get_config();
|
||||
if (!tosave || cnf == NULL)
|
||||
return;
|
||||
|
||||
TConfig_application::save_mask(tosave);
|
||||
|
||||
TAssoc_array& v = cnf->list_variables("ha");
|
||||
FOR_EACH_ASSOC_STRING(v, h, k, str)
|
||||
{
|
||||
const TFixed_string name = k;
|
||||
if (name.find('(') > 0 && !name.starts_with("IVA"))
|
||||
v.remove(name);
|
||||
}
|
||||
|
||||
TConf_Hardy_mask& m = (TConf_Hardy_mask&) *get_mask();
|
||||
|
||||
FOR_EACH_MASK_SHEET(m, i, s)
|
||||
{
|
||||
TMask& sm = s->sheet_mask();
|
||||
FOR_EACH_SHEET_ROW(*s, j, row)
|
||||
{
|
||||
FOR_EACH_MASK_FIELD(sm, k, f)
|
||||
{
|
||||
const TFieldref* fr = f->field();
|
||||
if (fr != NULL)
|
||||
{
|
||||
const char* value = row->get(s->cid2index(f->dlg()));
|
||||
cnf->set(fr->name(), value, NULL, true, j);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cnf->set_paragraph("ha");
|
||||
}
|
||||
|
||||
bool TConf_Hardy::user_create( )
|
||||
{
|
||||
TConfig cfg(CONFIG_DITTA, "ha");
|
||||
|
@ -42,3 +42,12 @@
|
||||
#define F_IN_TIPODOC_B 262
|
||||
#define F_IN_TIPODOC_O 263
|
||||
#define F_IN_TIPODOC_V 264
|
||||
|
||||
//comuni inportazione-esportazione
|
||||
#define F_CODICI_IVA 270
|
||||
|
||||
//------------------------------
|
||||
//campi sheet aliqute-codici iva
|
||||
#define S_ALIQUOTA_IVA 101
|
||||
#define S_CAMPO_CODIVA 102
|
||||
#define S_CAMPO_CODIVA_DES 103
|
||||
|
@ -391,7 +391,7 @@ BEGIN
|
||||
FIELD "TipoBarcode"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 9
|
||||
GROUPBOX DLG_NULL 76 12
|
||||
BEGIN
|
||||
PROMPT 1 8 "@bImportazione"
|
||||
END
|
||||
@ -469,6 +469,79 @@ BEGIN
|
||||
PROMPT 2 14 "ed al codice terminale, secondo la regola: 'TipoDocumento'+'CodiceTerminale. Es. 'F'+'001' -> F001"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 15 "@bCodici IVA Campo da utilizzare in base alle aliquote"
|
||||
END
|
||||
|
||||
SPREADSHEET F_CODICI_IVA 74 3
|
||||
BEGIN
|
||||
PROMPT 2 16 ""
|
||||
ITEM "%IVA@6"
|
||||
ITEM "Cod.IVA"
|
||||
ITEM "Descrizione"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
ENDMASK
|
||||
|
||||
//---------------------------------------------------
|
||||
//maschera di riga dello sheet 2 (Codici iva)
|
||||
|
||||
PAGE "Riga" -1 -1 64 4
|
||||
|
||||
NUMBER S_ALIQUOTA_IVA 6 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "% IVA@6"
|
||||
FLAGS "U"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD IVAaliquota
|
||||
END
|
||||
|
||||
STRING S_CAMPO_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 1 2 "Cod. IVA Campo "
|
||||
USE %IVA
|
||||
INPUT CODTAB S_CAMPO_CODIVA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT S_CAMPO_CODIVA CODTAB
|
||||
OUTPUT S_CAMPO_CODIVA_DES S0
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD IVAcodice
|
||||
END
|
||||
|
||||
STRING S_CAMPO_CODIVA_DES 50
|
||||
BEGIN
|
||||
PROMPT 25 2 ""
|
||||
USE %IVA KEY 2
|
||||
INPUT S0 S_CAMPO_CODIVA_DES
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT S_CAMPO_CODIVA
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -58,6 +58,8 @@ protected:
|
||||
void get_part_key(TConfig& ini, TToken_string& key) const;
|
||||
bool find_part_key(TConfig& ini, const TString_array& ini_paragraphs,
|
||||
const int logicnum, const TToken_string& key) const;
|
||||
void fill_anagrafica_cliente(TConfig& ini, TEsporta_clienti_recordset& clienti,
|
||||
const bool is_fatt);
|
||||
|
||||
//metodi di alto livello
|
||||
void genera_cliente_var_txt(TConfig& ini);
|
||||
@ -120,7 +122,41 @@ TString4 TIni2Txt::ricava_segno(TConfig& ini)
|
||||
}
|
||||
|
||||
|
||||
void TIni2Txt::fill_anagrafica_cliente(TConfig& ini, TEsporta_clienti_recordset& clienti,
|
||||
const bool is_fatt)
|
||||
{
|
||||
clienti.set_fatt("RagioneSociale", ini.get(CLI_RAGSOC), is_fatt);
|
||||
//l'indirizzo va numerato
|
||||
TString80 indcf = ini.get(CLI_INDCF);
|
||||
indcf << " " << ini.get(CLI_CIVCF);
|
||||
clienti.set_fatt("Indirizzo", indcf, is_fatt);
|
||||
const TString80 localitacf = ini.get(CLI_LOCCF);
|
||||
clienti.set_fatt("Localita", localitacf, is_fatt);
|
||||
//panegirico per comune e provincia
|
||||
const TString& statocf = ini.get(CLI_STATOCF);
|
||||
if (statocf.blank())
|
||||
{
|
||||
const TString& comcf = ini.get(CLI_COMCF);
|
||||
TToken_string key;
|
||||
key.add(statocf);
|
||||
key.add(comcf);
|
||||
const TRectype& rec_comuni = cache().get(LF_COMUNI, key);
|
||||
//se la località è vuota ci mettiamo la descrizione del comune
|
||||
if (localitacf.blank())
|
||||
{
|
||||
TString80 dencom = rec_comuni.get(COM_DENCOM);
|
||||
clienti.set_fatt("Localita", dencom, is_fatt);
|
||||
}
|
||||
const TString& provcf = rec_comuni.get(COM_PROVCOM);
|
||||
clienti.set_fatt("Provincia", provcf, is_fatt);
|
||||
}
|
||||
|
||||
clienti.set_fatt("CAP", ini.get(CLI_CAPCF), is_fatt);
|
||||
|
||||
clienti.set_fatt("PartitaIVA", ini.get(CLI_PAIV), is_fatt);
|
||||
|
||||
clienti.set_fatt("CodiceFiscale", ini.get(CLI_COFI), is_fatt);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////
|
||||
// metodi di alto livello
|
||||
@ -144,42 +180,20 @@ void TIni2Txt::genera_cliente_var_txt(TConfig& ini)
|
||||
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);
|
||||
const TString80 localitacf = ini.get(CLI_LOCCF);
|
||||
clienti.set("Localita", localitacf);
|
||||
//panegirico per comune e provincia
|
||||
const TString& statocf = ini.get(CLI_STATOCF);
|
||||
if (statocf.blank())
|
||||
{
|
||||
const TString& comcf = ini.get(CLI_COMCF);
|
||||
TToken_string key;
|
||||
key.add(statocf);
|
||||
key.add(comcf);
|
||||
const TRectype& rec_comuni = cache().get(LF_COMUNI, key);
|
||||
//se la località è vuota ci mettiamo la descrizione del comune
|
||||
if (localitacf.blank())
|
||||
{
|
||||
TString80 dencom = rec_comuni.get(COM_DENCOM);
|
||||
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("CodiceCliente", codcf);
|
||||
|
||||
//riempie tutti i campi dell'anagrafica cliente
|
||||
fill_anagrafica_cliente(ini, clienti, false);
|
||||
//e poi, se serve, i campi del cliente in allegato
|
||||
const long codalleg = ini.get_long(CLI_CODALLEG);
|
||||
if (codalleg > 0)
|
||||
fill_anagrafica_cliente(ini, clienti, true);
|
||||
|
||||
clienti.set(CLI_PAIV, ini.get(CLI_PAIV));
|
||||
|
||||
//attenzione alla lunghezza del codpag
|
||||
TString4 codpag = ini.get(CLI_CODPAG);
|
||||
clienti.set(CLI_CODPAG, codpag.right(2)); //il campo sul .txt è lungo 2 e vuole i caratteri a destra!
|
||||
clienti.set("CodicePagamento", codpag.right(2)); //il campo sul .txt è lungo 2 e vuole i caratteri a destra!
|
||||
|
||||
|
||||
TString query;
|
||||
query << "USE CONDV";
|
||||
query << "\nFROM TIPO=C TIPOCF=C CODCF=#CODCF";
|
||||
@ -193,15 +207,10 @@ void TIni2Txt::genera_cliente_var_txt(TConfig& ini)
|
||||
clienti.set("CodiceListino", cod_contr);
|
||||
}
|
||||
|
||||
//casotto sulla decodifica articoli
|
||||
//"FlDecodArt"
|
||||
//"DecodeCodCli"
|
||||
|
||||
TString16 ntel = ini.get(CLI_PTEL);
|
||||
ntel << ini.get(CLI_TEL);
|
||||
clienti.set(CLI_TEL, ntel);
|
||||
clienti.set("NumeroTelefono", ntel);
|
||||
|
||||
clienti.set(CLI_CODCFFATT, ini.get(CLI_CODCFFATT));
|
||||
clienti.set("TipoDoc", "F");
|
||||
|
||||
//panegirico del fido!
|
||||
@ -209,14 +218,12 @@ void TIni2Txt::genera_cliente_var_txt(TConfig& ini)
|
||||
real fido = ini.get(CLI_FIDO);
|
||||
fido *= CENTO;
|
||||
fido.round();
|
||||
clienti.set(CLI_FIDO, fido);
|
||||
clienti.set("Fido", fido);
|
||||
|
||||
//no consegna = sospeso (forse, anzi NO! non ci va)
|
||||
//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)
|
||||
//------------------
|
||||
@ -226,8 +233,7 @@ void TIni2Txt::genera_cliente_var_txt(TConfig& ini)
|
||||
|
||||
|
||||
TString4 assfis = ini.get(CFV_ASSFIS);
|
||||
//assfis.cut(2); //il loro è lungo 2!
|
||||
clienti.set(CFV_ASSFIS, assfis);
|
||||
clienti.set("EsenteIVA", assfis);
|
||||
|
||||
//prepara il nome corretto del file .txt e lo genera
|
||||
//--------------------------------------------------
|
||||
|
118
ha/ha1200.cpp
118
ha/ha1200.cpp
@ -52,7 +52,7 @@ protected:
|
||||
void elabora(const TMask& mask);
|
||||
|
||||
void genera_agenti_txt();
|
||||
void genera_clienti_txt();
|
||||
void genera_clienti_txt(const long da_codcli);
|
||||
void genera_sospesi_txt();
|
||||
void genera_righelistini_txt();
|
||||
void genera_contratti_txt();
|
||||
@ -64,6 +64,8 @@ protected:
|
||||
void genera_tabpag_txt();
|
||||
void genera_carico_txt();
|
||||
|
||||
void fill_anagrafica_cliente(const TISAM_recordset& archivio_clienti,
|
||||
TEsporta_clienti_recordset& clienti, const bool is_fatt = false);
|
||||
TFilename genera_path(const TString& prefisso);
|
||||
|
||||
public:
|
||||
@ -113,15 +115,56 @@ void TFile2Txt::genera_agenti_txt()
|
||||
}
|
||||
|
||||
|
||||
//clienti: i commenti del metodo sono nella genera_cliente_txt() della ha1100 (che è la mamma di questo)
|
||||
void TFile2Txt::genera_clienti_txt()
|
||||
void TFile2Txt::fill_anagrafica_cliente(const TISAM_recordset& archivio_clienti,
|
||||
TEsporta_clienti_recordset& clienti, const bool is_fatt)
|
||||
{
|
||||
|
||||
clienti.set_fatt("RagioneSociale", archivio_clienti.get(CLI_RAGSOC), is_fatt);
|
||||
|
||||
TString80 indcf = archivio_clienti.get(CLI_INDCF).as_string();
|
||||
indcf << " " << archivio_clienti.get(CLI_CIVCF).as_string();
|
||||
|
||||
clienti.set_fatt("Indirizzo", indcf, is_fatt);
|
||||
|
||||
const TString80 localitacf = archivio_clienti.get(CLI_LOCCF).as_string();
|
||||
clienti.set_fatt("Localita", localitacf, is_fatt);
|
||||
|
||||
const TString& statocf = archivio_clienti.get(CLI_STATOCF).as_string();
|
||||
if (statocf.blank())
|
||||
{
|
||||
const TString& comcf = archivio_clienti.get(CLI_COMCF).as_string();
|
||||
TToken_string key;
|
||||
key.add(statocf);
|
||||
key.add(comcf);
|
||||
const TRectype& rec_comuni = cache().get(LF_COMUNI, key);
|
||||
if (localitacf.blank())
|
||||
{
|
||||
TString80 dencom = rec_comuni.get(COM_DENCOM);
|
||||
clienti.set_fatt("Localita", dencom, is_fatt);
|
||||
}
|
||||
const TString& provcf = rec_comuni.get(COM_PROVCOM);
|
||||
clienti.set_fatt("Provincia", provcf, is_fatt);
|
||||
}
|
||||
|
||||
clienti.set_fatt("CAP", archivio_clienti.get(CLI_CAPCF), is_fatt);
|
||||
|
||||
clienti.set_fatt("PartitaIVA", archivio_clienti.get(CLI_PAIV), is_fatt);
|
||||
clienti.set_fatt("CodiceFiscale", archivio_clienti.get(CLI_COFI), is_fatt);
|
||||
}
|
||||
|
||||
//clienti: i commenti del metodo sono nella genera_cliente_txt() della ha1100 (che è la mamma di questo)
|
||||
void TFile2Txt::genera_clienti_txt(const long da_codcli)
|
||||
{
|
||||
//controlla se c'è un codice selezionato da cui partire
|
||||
|
||||
TEsporta_clienti_recordset clienti;
|
||||
|
||||
TString query;
|
||||
query << "USE CLIFO";
|
||||
query << "\nJOIN CFVEN INTO TIPOCF=TIPOCF CODCF=CODCF";
|
||||
query << "\nFROM TIPOCF=C";
|
||||
if (da_codcli > 0L)
|
||||
query << " CODCF=" << da_codcli;
|
||||
query << "\nTO TIPOCF=C";
|
||||
|
||||
TISAM_recordset archivio_clienti(query);
|
||||
@ -139,38 +182,30 @@ void TFile2Txt::genera_clienti_txt()
|
||||
codage = codage.right(3);
|
||||
clienti.set("CodiceTerminale", codage);
|
||||
|
||||
clienti.set(CLI_CODCF, archivio_clienti.get(CLI_CODCF));
|
||||
clienti.set(CLI_RAGSOC, archivio_clienti.get(CLI_RAGSOC));
|
||||
clienti.set("CodiceCliente", archivio_clienti.get(CLI_CODCF));
|
||||
|
||||
TString80 indcf = archivio_clienti.get(CLI_INDCF).as_string();
|
||||
indcf << " " << archivio_clienti.get(CLI_CIVCF).as_string();
|
||||
clienti.set(CLI_INDCF, indcf);
|
||||
const TString80 localitacf = archivio_clienti.get(CLI_LOCCF).as_string();
|
||||
clienti.set("Localita", localitacf);
|
||||
//riempie l'anagrafica del cliente principale
|
||||
fill_anagrafica_cliente(archivio_clienti, clienti, false);
|
||||
|
||||
const TString& statocf = archivio_clienti.get(CLI_STATOCF).as_string();
|
||||
if (statocf.blank())
|
||||
//riempie l'anagrafica del cliente in allegato (se c'è)
|
||||
const long codalleg = archivio_clienti.get(CLI_CODALLEG).as_int();
|
||||
if (codalleg > 0)
|
||||
{
|
||||
const TString& comcf = archivio_clienti.get(CLI_COMCF).as_string();
|
||||
TToken_string key;
|
||||
key.add(statocf);
|
||||
key.add(comcf);
|
||||
const TRectype& rec_comuni = cache().get(LF_COMUNI, key);
|
||||
if (localitacf.blank())
|
||||
{
|
||||
TString80 dencom = rec_comuni.get(COM_DENCOM);
|
||||
clienti.set("Localita", dencom);
|
||||
}
|
||||
const TString& provcf = rec_comuni.get(COM_PROVCOM);
|
||||
clienti.set("Provincia", provcf);
|
||||
TString queryna;
|
||||
queryna << "USE CLIFO";
|
||||
queryna << "\nJOIN CFVEN INTO TIPOCF=TIPOCF CODCF=CODCF";
|
||||
queryna << "\nFROM TIPOCF=C CODCF=#CODALLEG";
|
||||
queryna << "\nTO TIPOCF=C CODCF=#CODALLEG";
|
||||
|
||||
TISAM_recordset cliente_allegato(queryna);
|
||||
cliente_allegato.set_var("#CODALLEG", codalleg);
|
||||
|
||||
fill_anagrafica_cliente(cliente_allegato, clienti, true);
|
||||
}
|
||||
|
||||
clienti.set(CLI_CAPCF, archivio_clienti.get(CLI_CAPCF));
|
||||
|
||||
clienti.set(CLI_PAIV, archivio_clienti.get(CLI_PAIV));
|
||||
|
||||
TString4 codpag = archivio_clienti.get(CLI_CODPAG).as_string();
|
||||
clienti.set(CLI_CODPAG, codpag.right(2));
|
||||
clienti.set("CodicePagamento", codpag.right(2));
|
||||
|
||||
TString query;
|
||||
query << "USE CONDV";
|
||||
@ -185,13 +220,15 @@ void TFile2Txt::genera_clienti_txt()
|
||||
clienti.set("CodiceListino", cod_contr);
|
||||
}
|
||||
|
||||
//casotto sulla decodifica articoli
|
||||
//"FlDecodArt"
|
||||
//"DecodeCodCli"
|
||||
|
||||
TString16 ntel = archivio_clienti.get(CLI_PTEL).as_string();
|
||||
const TString& str_sconto = archivio_clienti.get(CFV_SCONTO).as_string();
|
||||
clienti.set("ScontoFineFattura", find_sconto(str_sconto));
|
||||
|
||||
TString80 ntel = archivio_clienti.get(CLI_PTEL).as_string();
|
||||
ntel << archivio_clienti.get(CLI_TEL).as_string();
|
||||
clienti.set(CLI_TEL, ntel);
|
||||
clienti.set("NumeroTelefono", ntel);
|
||||
|
||||
clienti.set("EsenteIVA", archivio_clienti.get(CFV_ASSFIS));
|
||||
|
||||
clienti.set(CLI_CODCFFATT, archivio_clienti.get(CLI_CODCFFATT));
|
||||
clienti.set("TipoDoc", "F");
|
||||
@ -199,7 +236,7 @@ void TFile2Txt::genera_clienti_txt()
|
||||
real fido = archivio_clienti.get(CLI_FIDO).as_real();
|
||||
fido *= CENTO;
|
||||
fido.round();
|
||||
clienti.set(CLI_FIDO, fido);
|
||||
clienti.set("Fido", fido);
|
||||
|
||||
/*const bool sospeso = archivio_clienti.get(CLI_SOSPESO).as_bool();
|
||||
TString4 s;
|
||||
@ -207,12 +244,6 @@ void TFile2Txt::genera_clienti_txt()
|
||||
s='S';
|
||||
clienti.set("NoConsegna", TVariant(s));*/
|
||||
|
||||
clienti.set(CLI_COFI, archivio_clienti.get(CLI_COFI));
|
||||
|
||||
const TString& str_sconto = archivio_clienti.get(CFV_SCONTO).as_string();
|
||||
clienti.set("ScontoFineFattura", find_sconto(str_sconto));
|
||||
|
||||
clienti.set(CFV_ASSFIS, archivio_clienti.get(CFV_ASSFIS));
|
||||
}
|
||||
|
||||
TFilename output_path = genera_path("clienti");
|
||||
@ -571,7 +602,10 @@ void TFile2Txt::elabora(const TMask& mask)
|
||||
genera_agenti_txt();
|
||||
|
||||
if (mask.get_bool(F_CLIENTI))
|
||||
genera_clienti_txt();
|
||||
{
|
||||
const long da_codcli = mask.get_long(F_DA_CODCLI);
|
||||
genera_clienti_txt(da_codcli);
|
||||
}
|
||||
|
||||
if (mask.get_bool(F_SOSPESI))
|
||||
genera_sospesi_txt();
|
||||
@ -609,6 +643,8 @@ void TFile2Txt::main_loop()
|
||||
{
|
||||
TFile2Txt_mask mask;
|
||||
_output_dir = mask.get(F_PATH);
|
||||
if (!_output_dir.exist())
|
||||
error_box("Non esiste la cartella di destinazione indicata!");
|
||||
while (mask.run() == K_ENTER)
|
||||
{
|
||||
elabora(mask);
|
||||
|
@ -12,3 +12,5 @@
|
||||
#define F_ATTREZZA 211
|
||||
#define F_TABPAG 212
|
||||
#define F_CARICO 213
|
||||
|
||||
#define F_DA_CODCLI 220
|
||||
|
@ -25,6 +25,19 @@ BEGIN
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_DA_CODCLI 6
|
||||
BEGIN
|
||||
PROMPT 12 4 "Dal: "
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_DA_CODCLI
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_DA_CODCLI CODCF
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_SOSPESI
|
||||
BEGIN
|
||||
PROMPT 2 5 "Sospesi"
|
||||
@ -51,43 +64,43 @@ END
|
||||
|
||||
BOOLEAN F_PRODOTTI
|
||||
BEGIN
|
||||
PROMPT 20 3 "Prodotti"
|
||||
PROMPT 28 3 "Prodotti"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_LINEE
|
||||
BEGIN
|
||||
PROMPT 20 4 "Linee"
|
||||
PROMPT 28 4 "Linee"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_BARCODE
|
||||
BEGIN
|
||||
PROMPT 20 5 "Barcode"
|
||||
PROMPT 28 5 "Barcode"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_DECODART
|
||||
BEGIN
|
||||
PROMPT 20 6 "Codici articolo alternativi"
|
||||
PROMPT 28 6 "Codici articolo alternativi"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_ATTREZZA
|
||||
BEGIN
|
||||
PROMPT 45 3 "Attrezzature"
|
||||
PROMPT 53 3 "Attrezzature"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_TABPAG
|
||||
BEGIN
|
||||
PROMPT 45 4 "Condizioni pagamento"
|
||||
PROMPT 53 4 "Condizioni pagamento"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_CARICO
|
||||
BEGIN
|
||||
PROMPT 45 5 "Documenti di carico"
|
||||
PROMPT 53 5 "Documenti di carico"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
|
@ -467,7 +467,23 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
|
||||
//3x) iva
|
||||
const int aliquota_iva = recset.get("AliquotaIva").as_int();
|
||||
//rigadoc.put(RDOC_CODIVA, codiva);
|
||||
TString4 codiva;
|
||||
//il codice lo si trova nella configurazione del modulo Ha (c'è un magico sheet apposito)
|
||||
TConfig config(CONFIG_DITTA, "ha");
|
||||
TString curr_name;
|
||||
for (int j = 0; ; j++)
|
||||
{
|
||||
const real curr_aliq_iva = config.get("IVAaliquota", NULL, j);
|
||||
if (curr_aliq_iva == ZERO)
|
||||
break;
|
||||
if (curr_aliq_iva.integer() == aliquota_iva)
|
||||
{
|
||||
codiva = config.get("IVAcodice", NULL, j);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
rigadoc.put(RDOC_CODIVA, codiva);
|
||||
|
||||
rigadoc.put(RDOC_LIVELLO, recset.get("CodiceLotto").as_string());
|
||||
}
|
||||
|
@ -888,8 +888,13 @@ bool THardy_clienti::trasferisci_clienti()
|
||||
ini.list_variables(lista_campi, true, "CLIENTI", true);
|
||||
|
||||
TSystemisamfile clienti(LF_CLIFO);
|
||||
clienti.open(_lock);
|
||||
clienti.open(_lock);
|
||||
TRectype& rec = clienti.curr();
|
||||
|
||||
TSystemisamfile cfven(LF_CFVEN);
|
||||
cfven.open(_lock);
|
||||
TRectype& cfv_rec = cfven.curr();
|
||||
|
||||
THardy_iterator hi(this);
|
||||
while (++hi)
|
||||
{
|
||||
@ -928,6 +933,16 @@ bool THardy_clienti::trasferisci_clienti()
|
||||
msg << TR("Inserito cliente ") << " '" << key << '\'' << TR("con codice ") << codcf ;
|
||||
log(msg);
|
||||
}
|
||||
|
||||
//Adesso tocca all'agente che va messo in cfven
|
||||
cfv_rec.zero();
|
||||
cfv_rec.put(CFV_TIPOCF, "C");
|
||||
cfv_rec.put(CFV_CODCF, codcf);
|
||||
const TString4 codzona = get_str("IdZona");
|
||||
cfv_rec.put(CFV_CODZONA, codzona);
|
||||
const TString4 codag = get_str("IdAgente1"); //agente principale
|
||||
cfv_rec.put(CFV_CODAG, codag);
|
||||
test_write(cfven);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -936,6 +951,7 @@ bool THardy_clienti::trasferisci_clienti()
|
||||
log(msg);
|
||||
}
|
||||
}
|
||||
cfven.close();
|
||||
clienti.close();
|
||||
return write_enabled();
|
||||
}
|
||||
@ -1059,9 +1075,9 @@ bool THardy_clienti::trasferisci_destinazioni()
|
||||
return write_enabled();
|
||||
}
|
||||
|
||||
long THardy_fornitori::get_codcf(const TString &key)
|
||||
long THardy_fornitori::get_codcf(const TString &key) const
|
||||
{
|
||||
long codcf = atoi(key.mid(3,6));
|
||||
long codcf = atol(key.mid(3,6));
|
||||
return codcf;
|
||||
}
|
||||
|
||||
@ -1124,10 +1140,12 @@ bool THardy_fornitori::trasferisci()
|
||||
return write_enabled();
|
||||
}
|
||||
|
||||
TString& THardy_agenti::get_codage(const TString& key)
|
||||
const TString& THardy_agenti::get_codage(const TString& key) const
|
||||
{
|
||||
TString16 codage(key);
|
||||
return codage.right_just(5,'0');
|
||||
TString& codage = get_tmp_string();
|
||||
codage = key;
|
||||
codage.right_just(5,'0');
|
||||
return codage;
|
||||
}
|
||||
|
||||
bool THardy_agenti::trasferisci()
|
||||
@ -1149,7 +1167,7 @@ bool THardy_agenti::trasferisci()
|
||||
while (++hi)
|
||||
{
|
||||
const TString16 key = get_str("IdAgente");
|
||||
TString8 codage = get_codage(key);
|
||||
const TString8 codage = get_codage(key);
|
||||
if (codage > 0)
|
||||
{
|
||||
rec.zero();
|
||||
|
@ -209,7 +209,7 @@ public:
|
||||
class THardy_fornitori : public THardy_transfer
|
||||
{
|
||||
protected:
|
||||
long get_codcf(const TString& key);
|
||||
long get_codcf(const TString& key) const;
|
||||
public:
|
||||
virtual bool trasferisci();
|
||||
};
|
||||
@ -217,7 +217,7 @@ public:
|
||||
class THardy_agenti : public THardy_transfer
|
||||
{
|
||||
protected:
|
||||
TString& get_codage(const TString& key);
|
||||
const TString& get_codage(const TString& key) const;
|
||||
public:
|
||||
virtual bool trasferisci();
|
||||
};
|
||||
|
253
ha/halib.cpp
253
ha/halib.cpp
@ -100,96 +100,113 @@ THardy_recordset::THardy_recordset(const int rec_lenght) : TAS400_recordset("AS4
|
||||
}
|
||||
|
||||
|
||||
|
||||
//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("NonUsato", 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);
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
//Clienti
|
||||
//-------
|
||||
|
||||
void TEsporta_clienti_recordset::set_fatt(const char* fld_name, const TVariant& value, const bool is_fatt)
|
||||
{
|
||||
TString80 new_fld_name = fld_name;
|
||||
if (is_fatt)
|
||||
new_fld_name << "Fatt";
|
||||
|
||||
THardy_recordset::set(new_fld_name, value);
|
||||
}
|
||||
|
||||
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_N, 4, 6); //x
|
||||
add_field(CLI_RAGSOC, T_X, 10, 34); //x
|
||||
add_field(CLI_INDCF, T_X, 44, 34); //x
|
||||
add_field("CodiceCliente", T_N, 4, 6); //x
|
||||
add_field("RagioneSociale", T_X, 10, 34); //x
|
||||
add_field("Indirizzo", T_X, 44, 34); //x
|
||||
add_field("Localita", T_X, 78, 20); //x
|
||||
add_field(CLI_CAPCF, T_X, 98, 5); //x
|
||||
add_field("CAP", 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_N, 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);
|
||||
add_field("PartitaIVA", T_X, 105, 11); //x
|
||||
add_field("CodiceFiscale", T_X, 116, 16); //x
|
||||
add_field("RagioneSocialeFatt", T_X, 132, 34); //x da qui i dati di codalleg
|
||||
add_field("IndirizzoFatt", T_X, 166, 34); //x
|
||||
add_field("LocalitaFatt", T_X, 200, 20); //x
|
||||
add_field("CAPFatt", T_X, 220, 5); //x
|
||||
add_field("ProvinciaFatt", T_X, 225, 2); //x
|
||||
add_field("PartitaIVAFatt", T_X, 227, 11); //x
|
||||
add_field("CodiceFiscaleFatt", T_X, 238, 16); //x //fine dati di codalleg
|
||||
add_field("CodicePagamento", T_X, 254, 2); //x
|
||||
add_field("CodiceListino", T_X, 256, 3); //x
|
||||
add_field("CodicePromozione", T_X, 259, 3);
|
||||
add_field("ScontoFineFattura", T_2Nv2N,262, 4); //x
|
||||
add_field("Giro01", T_N, 266, 3);
|
||||
add_field("Giro02", T_N, 269, 3);
|
||||
add_field("Giro03", T_N, 272, 3);
|
||||
add_field("Giro04", T_N, 275, 3);
|
||||
add_field("Giro05", T_N, 278, 3);
|
||||
add_field("Giro06", T_N, 281, 3);
|
||||
add_field("NumeroTelefono", T_X, 284, 10); //x
|
||||
add_field("EsenteIVA", T_X, 294, 2); //x
|
||||
add_field("TipoDoc", T_X, 296, 1);
|
||||
add_field("NoConsegna", T_X, 297, 1); //x
|
||||
add_field("Fido", T_Nv2N, 298, 8); //x
|
||||
|
||||
add_eol_field();
|
||||
}
|
||||
//..e variazioni clienti
|
||||
TEsporta_clientiVAR_recordset::TEsporta_clientiVAR_recordset()
|
||||
: TEsporta_clienti_recordset(253)
|
||||
: TEsporta_clienti_recordset(308)
|
||||
{
|
||||
insert_field("Segno", T_X, 4, 1); //x
|
||||
}
|
||||
|
||||
|
||||
//Sospesi
|
||||
//-------
|
||||
TEsporta_sospesi_recordset::TEsporta_sospesi_recordset(int rec_length)
|
||||
//Prodotti
|
||||
//--------
|
||||
TEsporta_prodotti_recordset::TEsporta_prodotti_recordset(int rec_length)
|
||||
: THardy_recordset(rec_length)
|
||||
{
|
||||
add_field("CodiceTerminale", T_N, 1, 3); //x
|
||||
add_field("CodiceCliente", T_N, 4, 6); //x
|
||||
add_field("NumeroFattura", T_X, 10, 12); //x
|
||||
add_field("DataFattura", T_X, 22, 6); //x
|
||||
add_field("ImportoResiduo", T_Nv2N, 28, 9); //x
|
||||
add_field("ImpOriginalDoc", T_N, 37, 9); //x
|
||||
add_field("DataScadenza", T_X, 46, 6); //x
|
||||
add_field("Partita", T_X, 52, 15); //x
|
||||
add_field("TipoDocumento", T_X, 67, 1); //x
|
||||
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 //attenzione che è una aliquota!
|
||||
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);
|
||||
add_eol_field();
|
||||
}
|
||||
//..e variazioni sospesi
|
||||
TEsporta_sospesiVAR_recordset::TEsporta_sospesiVAR_recordset()
|
||||
: TEsporta_sospesi_recordset(70)
|
||||
//..e variazioni prodotti
|
||||
TEsporta_prodottiVAR_recordset::TEsporta_prodottiVAR_recordset()
|
||||
: TEsporta_prodotti_recordset(66)
|
||||
{
|
||||
insert_field("Segno", T_X, 4, 1); //x
|
||||
insert_field("Segno", T_X, 1, 1); //x
|
||||
}
|
||||
|
||||
//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);
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
|
||||
@ -215,6 +232,20 @@ TEsporta_listiniVAR_recordset::TEsporta_listiniVAR_recordset()
|
||||
insert_field("Segno", T_X, 4, 1); //x
|
||||
}
|
||||
|
||||
|
||||
//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);
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
|
||||
//Righe Contratti
|
||||
//---------------
|
||||
TEsporta_contratti_recordset::TEsporta_contratti_recordset(int rec_length)
|
||||
@ -232,71 +263,6 @@ TEsporta_contratti_recordset::TEsporta_contratti_recordset(int rec_length)
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
//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);
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
//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);
|
||||
add_eol_field();
|
||||
}
|
||||
//..e variazioni prodotti
|
||||
TEsporta_prodottiVAR_recordset::TEsporta_prodottiVAR_recordset()
|
||||
: TEsporta_prodotti_recordset(66)
|
||||
{
|
||||
insert_field("Segno", T_X, 1, 1); //x
|
||||
}
|
||||
|
||||
|
||||
//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);
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
|
||||
//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);
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
//Rdoc (Carico) è una riga di un documento
|
||||
//----------------
|
||||
@ -310,6 +276,29 @@ TEsporta_carico_recordset::TEsporta_carico_recordset(int rec_length)
|
||||
add_eol_field();
|
||||
}
|
||||
|
||||
//Sospesi
|
||||
//-------
|
||||
TEsporta_sospesi_recordset::TEsporta_sospesi_recordset(int rec_length)
|
||||
: THardy_recordset(rec_length)
|
||||
{
|
||||
add_field("CodiceTerminale", T_N, 1, 3); //x
|
||||
add_field("CodiceCliente", T_N, 4, 6); //x
|
||||
add_field("NumeroFattura", T_X, 10, 12); //x
|
||||
add_field("DataFattura", T_X, 22, 6); //x
|
||||
add_field("ImportoResiduo", T_Nv2N, 28, 9); //x
|
||||
add_field("ImpOriginalDoc", T_N, 37, 9); //x
|
||||
add_field("DataScadenza", T_X, 46, 6); //x
|
||||
add_field("Partita", T_X, 52, 15); //x
|
||||
add_field("TipoDocumento", T_X, 67, 1); //x
|
||||
add_eol_field();
|
||||
}
|
||||
//..e variazioni sospesi
|
||||
TEsporta_sospesiVAR_recordset::TEsporta_sospesiVAR_recordset()
|
||||
: TEsporta_sospesi_recordset(70)
|
||||
{
|
||||
insert_field("Segno", T_X, 4, 1); //x
|
||||
}
|
||||
|
||||
|
||||
//Decodart ()
|
||||
//---------------
|
||||
|
@ -91,7 +91,8 @@ public:
|
||||
class TEsporta_clienti_recordset : public THardy_recordset
|
||||
{
|
||||
public:
|
||||
TEsporta_clienti_recordset(int rec_length = 252);
|
||||
void set_fatt(const char* fld_name, const TVariant& value, const bool is_fatt);
|
||||
TEsporta_clienti_recordset(int rec_length = 307);
|
||||
};
|
||||
//..e variazioni clienti!
|
||||
class TEsporta_clientiVAR_recordset : public TEsporta_clienti_recordset
|
||||
|
Loading…
x
Reference in New Issue
Block a user