Correzione MI3583: aggiunta gestione del codice pagamento
per note di credito (extracontabili e non) da trasferire alla posizione 113-114. git-svn-id: svn://10.65.10.50/trunk@4279 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c8efc69326
commit
c3ef2f940e
@ -19,11 +19,12 @@ private:
|
||||
TTransfer_file _tras_file;
|
||||
|
||||
TString _trasf,_control_rec;
|
||||
long _ditta_tab, _ditta_tras;
|
||||
long _ditta_tab, _ditta_tras, _ditta_orig;
|
||||
bool _disable,_ditte_uguali,_salta_hnd,_messaggio;
|
||||
|
||||
public:
|
||||
bool user_create();
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual void init_query_mode(TMask&);
|
||||
virtual void init_modify_mode(TMask&);
|
||||
virtual void init_insert_mode(TMask&);
|
||||
@ -153,7 +154,7 @@ bool Tabinv_application::ditta_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (k == K_TAB)
|
||||
if (k == K_TAB && f.focusdirty())
|
||||
{
|
||||
TLocalisamfile ditte (LF_NDITTE);
|
||||
|
||||
@ -166,6 +167,7 @@ bool Tabinv_application::ditta_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TString ragsoc = ditte.get(NDT_RAGSOC);
|
||||
f.mask().set(F_RAGSOC, ragsoc);
|
||||
prefix().set_codditta(ditta);
|
||||
}
|
||||
else
|
||||
f.mask().set(F_RAGSOC, "");
|
||||
@ -729,10 +731,11 @@ bool Tabinv_application::user_create()
|
||||
Tab_application::user_create();
|
||||
|
||||
_msk = get_mask();
|
||||
_tabname = get_tabname();
|
||||
|
||||
_tabname = get_tabname();
|
||||
_ditta_orig = -1;
|
||||
if (_tabname == "%IND")
|
||||
{
|
||||
_ditta_orig = prefix().get_codditta();
|
||||
_msk->set_handler(nascosto_handler);
|
||||
_msk->set_handler(F_STATO, stato_invio);
|
||||
_msk->set_handler(F_DITTAINV, ditta_handler);
|
||||
@ -759,6 +762,13 @@ bool Tabinv_application::user_create()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Tabinv_application::user_destroy()
|
||||
{
|
||||
Tab_application::user_destroy();
|
||||
if (_ditta_orig > -1) prefix().set_codditta(_ditta_orig);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
cg6500(int argc, char* argv[])
|
||||
{
|
||||
Tabinv_application* a = new Tabinv_application;
|
||||
|
@ -755,14 +755,16 @@ bool TInv_cont::tabella_ditta()
|
||||
_flag_bollato = ind.get_bool("B7");
|
||||
|
||||
// Compila l'array contenente le causali di corrispondenza per l'invio extracontabile
|
||||
dep = "";
|
||||
TString s5(ind.get("S5"));
|
||||
_tab_cau.destroy();
|
||||
_tab_cau.add(s5.mid(0,3));
|
||||
_tab_cau.add(s5.mid(3,3));
|
||||
_tab_cau.add(s5.mid(6,3));
|
||||
_tab_cau.add(dep); // corrisponde al tipo dell'abbuono.
|
||||
_tab_cau.add(s5.mid(9,3));
|
||||
_tab_cau.add(s5.mid(12,3));
|
||||
_tab_cau.add(s5.mid(16,3));
|
||||
_cpg_nc = ind.get("S7"); // condizione pagamento (rimessa diretta) per le note di credito
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ class TInv_cont : public TApplication
|
||||
char _scelta;
|
||||
|
||||
TString _control_rec, _header, _trasf, _std, _stato, _marker, _nome_simbolico;
|
||||
TString _files, _codcaus, _numdoc, _reg, _codpag, _tipodoc, _codcausm, _sigle;
|
||||
TString _files, _codcaus, _numdoc, _reg, _codpag, _tipodoc, _codcausm, _sigle,_cpg_nc;
|
||||
TString _ocfpi, _ragsococc, _indocc, _capocc, _localocc, _provocc, _codvali, _codval;
|
||||
bool _esiste_ditta, _esiste_record, _inviato, _flag_bollato;
|
||||
long _ditta, _protiva, _uprotiva, _codcf, _numrec, _tot_rec;
|
||||
|
@ -97,15 +97,17 @@ bool TLista_archivi::tabella_ditta()
|
||||
_files << "B";
|
||||
|
||||
// Compila l'array contenente le causali di corrispondenza per l'invio extracontabile
|
||||
dep = "";
|
||||
TString s5(ind.get("S5"));
|
||||
_tab_cau.destroy();
|
||||
_tab_cau.add(s5.mid(0,3));
|
||||
_tab_cau.add(s5.mid(3,3));
|
||||
_tab_cau.add(s5.mid(6,3));
|
||||
_tab_cau.add(dep); // corrisponde al tipo dell'abbuono.
|
||||
_tab_cau.add(s5.mid(9,3));
|
||||
_tab_cau.add(s5.mid(12,3));
|
||||
_tab_cau.add(s5.mid(16,3));
|
||||
|
||||
_cpg_nc = ind.get("S7"); // condizione pagamento (rimessa diretta) per le note di credito
|
||||
_cpg_nc.trim();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -962,6 +964,7 @@ void TLista_archivi::controlla_fatture(char file)
|
||||
int nriga = _part->get_int (PART_NRIGA);
|
||||
long nreg = _part->get_long(PART_NREG);
|
||||
int numrig = _part->get_int (PART_NUMRIG);
|
||||
int tipomov = _part->get_int (PART_TIPOMOV);
|
||||
|
||||
if (nriga == 9999) continue;
|
||||
|
||||
@ -973,12 +976,19 @@ void TLista_archivi::controlla_fatture(char file)
|
||||
else
|
||||
if (nreg == 0 && codcaus.empty()) // Allora fa parte del saldaconto extracontabile: si controlli la tabella di corrispondenza relativa al tipo mov.
|
||||
{
|
||||
if (((TString&) _tab_cau[_part->get_int(PART_TIPOMOV)-1]).trim().empty())
|
||||
TString& s = (TString&) _tab_cau[tipomov-1];
|
||||
s.trim();
|
||||
if (s.empty())
|
||||
{
|
||||
errore = TRUE;
|
||||
stampa.add(" - Rilevato un movimento extracontabile senza causale. Compilare tabella di corrispondenza");
|
||||
}
|
||||
}
|
||||
if (tipomov == 2 && _cpg_nc.empty())
|
||||
{
|
||||
errore = TRUE;
|
||||
stampa.add(" - Rilevata una nota di credito senza codice pagamento. Compilare tabella di corrispondenza");
|
||||
}
|
||||
if (numrig > 99)
|
||||
{
|
||||
errore = TRUE;
|
||||
|
@ -31,7 +31,7 @@ class TLista_archivi : public TApplication
|
||||
TLocalisamfile* _pagsca;
|
||||
TArray _tab_cau; // tabella di corrispondenza causali per invio saldaconto extracontabile a sistema
|
||||
|
||||
TString _files, _ragsoc;
|
||||
TString _files, _ragsoc,_cpg_nc;
|
||||
TDate _datalimite;
|
||||
long _ditta;
|
||||
bool _errore_grave;
|
||||
|
@ -1655,7 +1655,12 @@ void TInv_cont::partita2trasfer(TString& record, bool crea_record_riferimento)
|
||||
record.overwrite(str,106); //Data cambio
|
||||
|
||||
if (tipomov != 1)
|
||||
{
|
||||
{
|
||||
if (tipomov == 2) // Note di credito sia contabili che extracontabili
|
||||
{
|
||||
str.format("%2s",(const char*) _cpg_nc);
|
||||
record.overwrite(str,112);
|
||||
}
|
||||
int tipopag = _tpart->get_int (PART_TIPOPAG);
|
||||
str.format("%d", tipopag);
|
||||
record.overwrite(str,114); //Tipo pagamento
|
||||
@ -1664,7 +1669,7 @@ void TInv_cont::partita2trasfer(TString& record, bool crea_record_riferimento)
|
||||
str = riconverti(datapag,FALSE);
|
||||
str.format("%06s", (const char*) str);
|
||||
record.overwrite(str,140); //Data pagamento
|
||||
}
|
||||
}
|
||||
|
||||
TString sez = _tpart->get(PART_SEZ);
|
||||
str.format("%s", (const char*) sez);
|
||||
|
Loading…
x
Reference in New Issue
Block a user