Patch level : 1102
Files correlati : ha0.exe ha0300a.msk Ricompilazione Demo : [ ] Commento : Aggiunta gestione cliente di fatturazione alla gestione contratti ed alla generazione NAC git-svn-id: svn://10.65.10.50/branches/R_10_00@22448 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
eb6532d6e7
commit
b788b164bd
@ -359,7 +359,7 @@ void TDocumenti_premio::write_rows(const TMask& m)
|
|||||||
for (int i = sm.fields()-1; i >= 0; i--) //giro su tutti i campi della maschera di riga...
|
for (int i = sm.fields()-1; i >= 0; i--) //giro su tutti i campi della maschera di riga...
|
||||||
{
|
{
|
||||||
TMask_field& mf = sm.fld(i); //aggiunge solo quelli che hanno un field
|
TMask_field& mf = sm.fld(i); //aggiunge solo quelli che hanno un field
|
||||||
if ((mf.field() != NULL) && (mf.dlg() > 100)) //> 100 per evitare errori sui campi dlg_null
|
if ((mf.dlg() > 100) && (mf.field() != NULL)) //> 100 per evitare errori sui campi dlg_null
|
||||||
{
|
{
|
||||||
const int idx = sheet.cid2index(mf.dlg());
|
const int idx = sheet.cid2index(mf.dlg());
|
||||||
mf.field()->write(row->get(idx), rec);
|
mf.field()->write(row->get(idx), rec);
|
||||||
@ -386,11 +386,10 @@ void TDocumenti_premio::write_rows(const TMask& m)
|
|||||||
|
|
||||||
//panegirico sul codice iva (che ci va sennò col cavolo che si riesce a contabilizzare il contratto)
|
//panegirico sul codice iva (che ci va sennò col cavolo che si riesce a contabilizzare il contratto)
|
||||||
TString80 codspp;
|
TString80 codspp;
|
||||||
TConfig config(CONFIG_DITTA, "ha");
|
|
||||||
switch (tipo_contr)
|
switch (tipo_contr)
|
||||||
{
|
{
|
||||||
case 'A': codspp = config.get("CoAntSpe"); break;
|
case 'A': codspp = ini_get_string(CONFIG_DITTA, "ha", "CoAntSpe"); break;
|
||||||
case 'R': codspp = config.get("CoRifaSpe"); break;
|
case 'R': codspp = ini_get_string(CONFIG_DITTA, "ha", "CoRifaSpe"); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
last_rec.put(RDOC_CODART, codspp);
|
last_rec.put(RDOC_CODART, codspp);
|
||||||
@ -399,7 +398,7 @@ void TDocumenti_premio::write_rows(const TMask& m)
|
|||||||
TCli_for clifo(m.get(F_TIPOCF)[0], m.get_long(F_CODCF));
|
TCli_for clifo(m.get(F_TIPOCF)[0], m.get_long(F_CODCF));
|
||||||
TString4 codiva(clifo.vendite().get(CFV_ASSFIS));
|
TString4 codiva(clifo.vendite().get(CFV_ASSFIS));
|
||||||
//per i restanti 1E+6 - 1 clienti...
|
//per i restanti 1E+6 - 1 clienti...
|
||||||
if (!codiva.full())
|
if (codiva.blank())
|
||||||
codiva = cache().get("SPP", codspp, "S3");
|
codiva = cache().get("SPP", codspp, "S3");
|
||||||
last_rec.put(RDOC_CODIVA, codiva);
|
last_rec.put(RDOC_CODIVA, codiva);
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
#define F_TIPOCF 205
|
#define F_TIPOCF 205
|
||||||
#define F_CODCF 206
|
#define F_CODCF 206
|
||||||
#define F_DESCF 207
|
#define F_DESCF 207
|
||||||
|
#define F_CODCFATT 208
|
||||||
|
#define F_DESCFATT 209
|
||||||
|
|
||||||
#define F_CODCONTR 210
|
#define F_CODCONTR 210
|
||||||
#define F_DESCONTR 211
|
#define F_DESCONTR 211
|
||||||
|
@ -13,9 +13,14 @@ BEGIN
|
|||||||
PROMPT 1 0 ""
|
PROMPT 1 0 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
RADIOBUTTON F_TIPOCONTR 1 76
|
TEXT DLG_NULL
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 0 "@bTipo contratto"
|
PROMPT 1 1 "@bTipo contratto"
|
||||||
|
END
|
||||||
|
|
||||||
|
RADIOBUTTON F_TIPOCONTR 1 70
|
||||||
|
BEGIN
|
||||||
|
PROMPT 16 0 ""
|
||||||
ITEM "A|Anticipo"
|
ITEM "A|Anticipo"
|
||||||
MESSAGE CLEAR,F_DATAFCOMP|ENABLE,1@|CLEAR,F_CODLIS|REQUIRED,F_CODCONTR
|
MESSAGE CLEAR,F_DATAFCOMP|ENABLE,1@|CLEAR,F_CODLIS|REQUIRED,F_CODCONTR
|
||||||
ITEM "P|Posticipo"
|
ITEM "P|Posticipo"
|
||||||
@ -61,10 +66,9 @@ END
|
|||||||
|
|
||||||
NUMBER F_CODCF 6
|
NUMBER F_CODCF 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Cliente "
|
PROMPT 2 2 "Cliente "
|
||||||
WARNING "Cliente assente"
|
WARNING "Cliente assente"
|
||||||
HELP "Codice del cliente del documento"
|
HELP "Codice del cliente del documento"
|
||||||
FLAGS "R"
|
|
||||||
FIELD CODCF
|
FIELD CODCF
|
||||||
USE LF_CLIFO KEY 1
|
USE LF_CLIFO KEY 1
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
@ -83,7 +87,7 @@ STRING F_DESCF 50
|
|||||||
BEGIN
|
BEGIN
|
||||||
WARNING "Cliente assente"
|
WARNING "Cliente assente"
|
||||||
HELP "Ragione sociale del cliente del documento"
|
HELP "Ragione sociale del cliente del documento"
|
||||||
PROMPT 24 3 ""
|
PROMPT 24 2 ""
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT RAGSOC F_DESCF
|
INPUT RAGSOC F_DESCF
|
||||||
@ -96,6 +100,37 @@ BEGIN
|
|||||||
ADD RUN cg0 -1 C
|
ADD RUN cg0 -1 C
|
||||||
END
|
END
|
||||||
|
|
||||||
|
NUMBER F_CODCFATT 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 3 "Cli. fatt."
|
||||||
|
WARNING "Inserire un codice >= 200000"
|
||||||
|
HELP "Codice del cliente cui fatturare >= 200000"
|
||||||
|
FIELD DOC2
|
||||||
|
COPY USE F_CODCF
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT CODCF F_CODCFATT
|
||||||
|
COPY DISPLAY F_CODCF
|
||||||
|
OUTPUT F_CODCFATT CODCF
|
||||||
|
OUTPUT F_DESCFATT RAGSOC
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
ADD RUN cg0 -1 C
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCFATT 50
|
||||||
|
BEGIN
|
||||||
|
WARNING "Cliente assente"
|
||||||
|
HELP "Ragione sociale del cliente cui fatturare"
|
||||||
|
PROMPT 24 3 ""
|
||||||
|
COPY USE F_DESCF
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT RAGSOC F_DESCFATT
|
||||||
|
COPY DISPLAY F_DESCF
|
||||||
|
COPY OUTPUT F_CODCFATT
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
ADD RUN cg0 -1 C
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
LIST F_PROVV 1
|
LIST F_PROVV 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 140 101 ""
|
PROMPT 140 101 ""
|
||||||
@ -129,7 +164,7 @@ BEGIN
|
|||||||
INPUT ANNO F_ANNO SELECT
|
INPUT ANNO F_ANNO SELECT
|
||||||
INPUT NDOC F_NDOC
|
INPUT NDOC F_NDOC
|
||||||
DISPLAY "Numero" NDOC
|
DISPLAY "Numero" NDOC
|
||||||
DISPLAY "Data doc." DATADOC
|
DISPLAY "Data doc.@10" DATADOC
|
||||||
DISPLAY "Inizio@10" DATACOMP
|
DISPLAY "Inizio@10" DATACOMP
|
||||||
DISPLAY "Fine@10" DATAFCOMP
|
DISPLAY "Fine@10" DATAFCOMP
|
||||||
DISPLAY "Tipo" TIPODOC
|
DISPLAY "Tipo" TIPODOC
|
||||||
|
@ -23,19 +23,9 @@ protected:
|
|||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
THardy_elab_docs_mask();
|
THardy_elab_docs_mask() : TAutomask ("ha0500a") {}
|
||||||
~THardy_elab_docs_mask();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
THardy_elab_docs_mask::THardy_elab_docs_mask() : TAutomask ("ha0500a")
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
THardy_elab_docs_mask::~THardy_elab_docs_mask()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool THardy_elab_docs_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool THardy_elab_docs_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
{
|
{
|
||||||
switch (o.dlg())
|
switch (o.dlg())
|
||||||
@ -498,7 +488,7 @@ bool THardy_elab_docs::genera_nac(const TMask& mask, TArray& contratti_cliente,
|
|||||||
{
|
{
|
||||||
TContratto_premi& contratto = *(TContratto_premi*)riga;
|
TContratto_premi& contratto = *(TContratto_premi*)riga;
|
||||||
const long ndoc = contratto.numero(); //il numdoc del contratto serve nelle segnalazioni
|
const long ndoc = contratto.numero(); //il numdoc del contratto serve nelle segnalazioni
|
||||||
const long codcf = contratto.codcf(); //il codice cliente ci serve nella generazione della NAC..
|
const long codcf = contratto.codcf_fatt(); //il codice cliente ci serve nella generazione della NAC..
|
||||||
const char tipo_contratto = contratto.tipo_contratto(); //..e pure il tipo di contratto in esame!
|
const char tipo_contratto = contratto.tipo_contratto(); //..e pure il tipo di contratto in esame!
|
||||||
|
|
||||||
//segnaliamo l'elaborazione del contratto sul log
|
//segnaliamo l'elaborazione del contratto sul log
|
||||||
@ -672,7 +662,7 @@ bool THardy_elab_docs::genera_nac(const TMask& mask, TArray& contratti_cliente,
|
|||||||
real reso_storico = rdoc->get_real(RCA_2_RESO_STORICO);
|
real reso_storico = rdoc->get_real(RCA_2_RESO_STORICO);
|
||||||
reso_storico += rdoc->get_real(RCA_2_RESO_CORRENTE);
|
reso_storico += rdoc->get_real(RCA_2_RESO_CORRENTE);
|
||||||
rdoc->put(RCA_2_RESO_STORICO, reso_storico);
|
rdoc->put(RCA_2_RESO_STORICO, reso_storico);
|
||||||
//se il contratto è andato a pareggio avverte dilegentemente l'operatore
|
//se il contratto è andato a pareggio avverte diligentemente l'operatore
|
||||||
if (reso_storico >= anticipato)
|
if (reso_storico >= anticipato)
|
||||||
log_msg << " -- Contratto pareggiato!";
|
log_msg << " -- Contratto pareggiato!";
|
||||||
|
|
||||||
|
@ -32,6 +32,13 @@ char TContratto_premi::tipo_contratto() const
|
|||||||
return 'P';
|
return 'P';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long TContratto_premi::codcf_fatt() const
|
||||||
|
{
|
||||||
|
long cod = get_long(DOC_DOC2);
|
||||||
|
if (cod <= 0)
|
||||||
|
cod = codcf();
|
||||||
|
return cod;
|
||||||
|
}
|
||||||
|
|
||||||
TContratto_premi::TContratto_premi(char provv, int anno, const char* codnum, long ndoc)
|
TContratto_premi::TContratto_premi(char provv, int anno, const char* codnum, long ndoc)
|
||||||
: TDocumento(provv, anno, codnum, ndoc)
|
: TDocumento(provv, anno, codnum, ndoc)
|
||||||
|
@ -37,6 +37,7 @@ static TString4 _tipo_ant, _tipo_post, _tipo_rifa;
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
char tipo_contratto() const;
|
char tipo_contratto() const;
|
||||||
|
long codcf_fatt() const;
|
||||||
|
|
||||||
TContratto_premi(char provv, int anno, const char* codnum, long ndoc);
|
TContratto_premi(char provv, int anno, const char* codnum, long ndoc);
|
||||||
TContratto_premi(const TRectype& rec_doc);
|
TContratto_premi(const TRectype& rec_doc);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user