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:
parent
b4af83c226
commit
f84ff12a1a
@ -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;
|
||||
|
@ -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")
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user