Patch level :2.0 p@rtners new implementation

Files correlati     :cg3.exe cg3100b.msk
Ricompilazione Demo : [ ]
Commento            :
CM20081
Implementare un nuovo filtro per codice IVA sulla lista fatture clifor.


git-svn-id: svn://10.65.10.50/trunk@11756 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2004-02-12 09:56:35 +00:00
parent b4af83c226
commit f84ff12a1a
4 changed files with 91 additions and 8 deletions

View File

@ -15,7 +15,7 @@ int main(int argc,char** argv)
case 5 : cg3600(argc,argv) ; break; // Visualizzazione mastrini
case 6 : cg3700(argc,argv) ; break; // Lista fatture
case 7 : cg3800(argc,argv) ; break; // Lista fatture doppie
default: cg3100(argc,argv) ; break; // Lista movimenti
default: cg3100(argc,argv) ; break; // Lista movimenti[1]/fatture[2]
}
exit(0);
return 0;

View File

@ -71,7 +71,7 @@ class TListaMov_application : public TPrintapp
liste _tipo_lista;
word _flags;
char _tipoc;
TString _cdc, _fsc;
TString _cdc, _fsc, _dacodiva, _acodiva;
bool _cdc_only, _print_cdc;
TDecoder _simbval, _descdoc;
@ -89,6 +89,9 @@ protected:
void filtra_cursore_provvisori(TCursor* cur) const;
void imposta_parametri_stampa(const TMask& msk);
void set_cdc_header(int& soh);
bool codiva_filter(const TRelation* rel) const;
bool rmoviva_filter(const TRectype& rmoviva) const;
public:
@ -499,6 +502,32 @@ bool cdc_filter(const TRelation* rel)
return ok;
}
bool TListaMov_application::rmoviva_filter(const TRectype& rmoviva) const
{
const TString& codiva = rmoviva.get(RMI_CODIVA);
if (_dacodiva.not_empty() && codiva < _dacodiva)
return false;
if (_acodiva.not_empty() && codiva > _acodiva)
return false;
return true;
}
bool TListaMov_application::codiva_filter(const TRelation* rel) const
{
bool ok = _dacodiva.empty() && _acodiva.empty(); // Test su range codici iva
if (!ok)
{
const TRectype& mov = rel->curr(LF_MOV);
TRectype rmoviva(LF_RMOVIVA);
rmoviva.put(RMI_NUMREG, mov.get(MOV_NUMREG));
TRecord_array righe(rmoviva, RMI_NUMRIG);
for (int i = 1; !ok && i <= righe.rows(); i++)
ok = rmoviva_filter(righe[i]);
}
return ok;
}
bool TListaMov_application::filter_func_fatture (const TRelation* rel)
{
const TRectype& mov = rel->curr(LF_MOV);
@ -534,6 +563,10 @@ bool TListaMov_application::filter_func_fatture (const TRelation* rel)
to.put(MOV_CODCF, app()._codice_fin);
bool ok = mov >= from && mov <= to;
if (ok)
ok = app().codiva_filter(rel);
if (ok && app().cdc().not_empty())
ok = cdc_filter(rel);
@ -2043,6 +2076,8 @@ void TListaMov_application::imposta_parametri_stampa(const TMask& msk)
_annoes = msk.get_int(F_ANNO);
_causale_ini = msk.get(F_DACODCAUS);
_causale_fin = msk.get(F_ACODCAUS);
_dacodiva = msk.get(F_DACODIVA);
_acodiva = msk.get(F_ACODIVA);
if (tipo=="C" || tipo=="F")
{

View File

@ -44,6 +44,10 @@
#define F_ACODCAUS 141
#define F_ADESCRCAUS 142
#define F_COMPETENZA 143
#define F_DACODIVA 144
#define F_DES_DACODIVA 145
#define F_ACODIVA 146
#define F_DES_ACODIVA 147
#define ST_DATA 0x0001
#define ST_NUMERO 0x0002

View File

@ -216,18 +216,18 @@ END
BOOLEAN F_CAMBIO
BEGIN
PROMPT 2 12 "Cambio pagina per cliente/fornitore "
PROMPT 2 11 "Cambio pagina per cliente/fornitore "
HELP "Indicare se cambiare pagina nel passaggio da cliente/fornitore a cliente/fornitore"
END
BOOLEAN F_SEPARATOR
BEGIN
PROMPT 2 13 "Non stampare i separatori delle migliaia"
PROMPT 2 12 "Non stampare i separatori delle migliaia"
END
STRING F_DACODCAUS 3
BEGIN
PROMPT 2 15 "Da causale: "
PROMPT 2 13 "Da causale: "
FLAGS "ZU"
USE LF_CAUSALI SELECT REG!=""
INPUT CODCAUS F_DACODCAUS
@ -241,13 +241,13 @@ END
STRING F_DADESCRCAUS 50
BEGIN
PROMPT 22 15 ""
PROMPT 22 13 ""
FLAGS "D"
END
STRING F_ACODCAUS 3
BEGIN
PROMPT 2 16 "A causale: "
PROMPT 2 14 "A causale: "
FLAGS "ZU"
USE LF_CAUSALI SELECT REG!=""
INPUT CODCAUS F_ACODCAUS
@ -263,10 +263,54 @@ END
STRING F_ADESCRCAUS 50
BEGIN
PROMPT 22 16 ""
PROMPT 22 14 ""
FLAGS "D"
END
STRING F_DACODIVA 4
BEGIN
PROMPT 2 15 "Da codice IVA "
USE %IVA KEY 1
FLAGS "U"
INPUT CODTAB F_DACODIVA
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_DACODIVA CODTAB
OUTPUT F_DES_DACODIVA S0
CHECKTYPE NORMAL
END
STRING F_DES_DACODIVA 50 45
BEGIN
PROMPT 25 15 ""
USE %IVA KEY 2
INPUT S0 F_DES_DACODIVA
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_DACODIVA
END
STRING F_ACODIVA 4
BEGIN
PROMPT 2 16 "A codice IVA "
COPY USE F_DACODIVA
FLAGS "U"
INPUT CODTAB F_ACODIVA
COPY DISPLAY F_DACODIVA
OUTPUT F_ACODIVA CODTAB
OUTPUT F_DES_ACODIVA S0
CHECKTYPE NORMAL
END
STRING F_DES_ACODIVA 50 45
BEGIN
PROMPT 25 16 ""
COPY USE F_DES_DACODIVA
INPUT S0 F_DES_ACODIVA
COPY DISPLAY F_DES_DACODIVA
COPY OUTPUT F_ACODIVA
END
GROUPBOX DLG_NULL 71 5
BEGIN
PROMPT 2 18 "@bCDC / Commesse"