Patch level : 12.0 848

Files correlati     : cg2.exe cg2100t.msk
Commento            :
- Modificati campi nela maschera per ricerca
- Modificato il riporta dati per riportare dati il codice cliente
This commit is contained in:
Simone Palacino 2019-07-03 11:10:58 +02:00
parent 7af5aaea1e
commit 8aafd83092
6 changed files with 79 additions and 14 deletions

View File

@ -1240,7 +1240,7 @@ int TPrimanota_application::read(TMask& m)
TBill c; c.get(r);
c.add_to(riga, 4, 0x7); // Conto 105-110
riga.add(r.get(RMI_NAVP));
riga.add(r.get(RMI_NAVP), cid2index(IVA_NOTAVARECF));
}
calcola_imp(); // Calcola totale imponibile ed imposte

View File

@ -34,30 +34,80 @@ PAGE "Fatture Ricevute SDI" -1 -1 77 20
NUMBER F_CODCLIFORS 6
BEGIN
PROMPT 1 1 "Codice fornitore"
FIELD CODCF
GROUP 1
USE LF_CLIFO
INPUT TIPOCF "F"
INPUT CODCF F_CODCLIFORS
DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Sospeso@C" SOSPESO
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Codice Fiscale@16" COFI
OUTPUT F_CODCLIFORS CODCF
OUTPUT F_STATOPAIVS STATOPAIV
OUTPUT F_PIVAS PAIV
OUTPUT F_COFIS COFI
OUTPUT F_RAGSOCS RAGSOC
CHECKTYPE REQUIRED
ADD RUN cg0 -1
FLAGS "D"
END
STRING F_COFIS 16
BEGIN
PROMPT 35 1 "Cod. Fiscale "
GROUP 1
USE LF_CLIFO KEY 4
INPUT TIPOCF "F"
INPUT COFI F_COFIS
DISPLAY "Codice fiscale@16" COFI
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Codice" CODCF
DISPLAY "Sospeso@C" SOSPESO
DISPLAY "Partita IVA@12" PAIV
COPY OUTPUT F_CODCLIFORS
CHECKTYPE NORMAL
ADD RUN cg0 -1
FLAGS "D"
END
STRING F_STATOPAIVS 2
BEGIN
PROMPT 1 2 "P. IVA"
USE %SCE
INPUT CODTAB F_STATOPAIVS
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_STATOPAIVS CODTAB
CHECKTYPE NORMAL
FLAGS "D"
END
STRING F_PIVAS 12
BEGIN
PROMPT 15 2 ""
GROUP 1
USE LF_CLIFO KEY 5
INPUT TIPOCF "F"
INPUT STATOPAIV F_STATOPAIVS
INPUT PAIV F_PIVAS
DISPLAY "Partita IVA@12" PAIV
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Codice" CODCF
DISPLAY "Sospeso@C" SOSPESO
DISPLAY "Codice Fiscale@16" COFI
COPY OUTPUT F_CODCLIFORS
CHECKTYPE NORMAL
ADD RUN cg0 -1
FLAGS "D"
END
STRING F_RAGSOCS 50
BEGIN
PROMPT 0 3 "Rag. Soc."
INPUT TIPOCF F_CLIFO SELECT
INPUT RAGSOC F_RAGSOCCF
FLAGS "D"
END

View File

@ -3891,11 +3891,22 @@ bool TPrimanota_application::write_scad_f1(const TMask& cg_msk, const shared_ptr
void TPrimanota_application::write_clifo(TMask& cg_msk, const shared_ptr<TPro_msk>& msk)
{
TLocalisamfile clifo(LF_CLIFO);
if (msk->get_codforn().empty())
{
clifo.setkey(5);
clifo.put(CLI_TIPOCF, "F");
clifo.put(CLI_PAIV, msk->get_piva());
clifo.read();
if (clifo.get(CLI_PAIV) == msk->get_piva())
}
else
{
clifo.setkey(1);
clifo.put(CLI_TIPOCF, "F");
clifo.put(CLI_CODCF, msk->get_codforn());
clifo.read();
}
if (clifo.get(CLI_PAIV) == msk->get_piva() && (cg_msk.get(F_CODCLIFOR).empty() || cg_msk.get(F_CODCLIFOR) != msk->get_codforn()))
{
cg_msk.set(F_CODCLIFOR, clifo.get(CLI_CODCF));
cg_msk.set(F_RAGSOCCF, clifo.get(CLI_RAGSOC));
@ -3929,7 +3940,7 @@ void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, const shared_ptr<TPr
cg_msk.set(F_NUMDOCEXT, msk->get_numdoc());
cg_msk.set(F_NUMDOC, msk->get_numdoc().right(7));
cg_msk.set(F_DATADOC, msk->get_datadoc());
if (!cg_msk.get(F_CODCLIFOR).full() && msk->get_numdoc().full())
if (msk->get_numdoc().full())
write_clifo(cg_msk, msk);
write_righe_iva_f1(cg_msk, msk);
set_totale(cg_msk, msk);
@ -4072,7 +4083,7 @@ bool TPro_msk::riporta_handler(TMask_field& f, KEY k)
//TProtocollo protocollo(TDate(row->get(2)).year(), row->get(9), row->get(10));
app()._pro_mask->set_doc(row->get(cid2index(F_NUMEROS)), row->get(cid2index(F_DATAS)),
row->get(cid2index(F_IMPTOTDOCS)), row->get(cid2index(F_RITENUTE)), "", row->get(cid2index(F_KEYFPPROS)),
row->get(cid2index(F_FISCIVACODS)));
msk.get(F_CODCLIFORS), row->get(cid2index(F_FISCIVACODS)));
if (f.dlg() == DLG_OK)
app()._pro_mask->_riporta = true;
else
@ -4192,7 +4203,7 @@ void TPro_msk::set_scadenze(const char* fpprokeys)
}
}
void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* piva)
void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* codforn, const char* piva)
{
_numero = numero;
_datadoc = datadoc;
@ -4200,6 +4211,7 @@ void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totd
_ritenute = ritenute;
_protfppro.sset(protfppro);
_fpprokeys = fpprokeys;
_codforn = codforn;
_piva = piva;
set_righeiva(fpprokeys);
set_scadenze(fpprokeys);
@ -4309,7 +4321,7 @@ void TPro_msk::abilita_piva(TMask* msk)
}
}
TPro_msk::TPro_msk(TMask& cg_msk) : TAutomask("cg2100t"), _riporta(false)
TPro_msk::TPro_msk(TMask& cg_msk) : TAutomask("cg2100t"), _riporta(false), _codforn("")
{
TMask::set_handler(DLG_CONFIG, fppro_handler);
TMask::set_handler(DLG_OK, riporta_handler);

View File

@ -415,6 +415,7 @@ private:
TProtocollo _protfppro;
TString _fpprokeys;
TString _piva;
TString _codforn;
vector<riga_iva_s> _righe_iva;
vector<scadenza_s> _scadenze;
bool _riporta;
@ -446,7 +447,7 @@ public:
void set_righeiva(const char* fpprokeys);
void set_scadenze(const char* fpprokeys);
void set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* piva);
void set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* codforn, const char* piva);
TString get_numdoc() const { return _numero; }
TDate get_datadoc() const { return _datadoc; }
@ -454,6 +455,7 @@ public:
real get_ritenute() { return _ritenute; }
TProtocollo& get_protocollo() { return _protfppro; }
TString get_fpprokeys() const { return _fpprokeys; }
TString get_codforn() const { return _codforn; }
TString get_piva() const { return _piva; }
const vector<riga_iva_s>& get_righeiva() { return _righe_iva; }
@ -462,6 +464,7 @@ public:
void add_scad(const TDate& date, const real& importo);
bool should_bring_back() const { return _riporta; }
static TString& query_fppro(const TString& codforn, const TString& date);
static TString& query_fppro(const TString& stato_piva, const TString& piva, const TString& date);
static TString& query_fppro(const TString& codforn, const TString& stato_piva, const TString& piva, const TString& where_str, const TString& date, const TString& keyprginvio, const TString& keyheaderfatt, const TString& keybodyfatt, bool order = true, bool piva_research = false);

View File

@ -399,9 +399,9 @@ const TCausale & TCache_causale::caus(const char* key, const int anno)
return (const TCausale &) *objptr(k);
}
const TCausale & cached_causale(const char * codcaus, int anno)
const TCausale & cached_causale(const char * codcaus, int year)
{
HIDDEN TCache_causale __cache_causale;
return __cache_causale.caus(codcaus, anno);
return __cache_causale.caus(codcaus, year);
}

View File

@ -82,7 +82,7 @@ public:
virtual ~TCausale() {}
};
const TCausale & cached_causale(const char * codcaus, const int year);
const TCausale & cached_causale(const char * codcaus, const int year = 0);
// Fatture
#define RIGA_IVA_DETRAIBILE 3