git-svn-id: svn://10.65.10.50/branches/R_10_00@23127 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
805d9691eb
commit
013ae1d657
@ -7,6 +7,7 @@ int main(int argc, char** argv)
|
||||
switch (a)
|
||||
{
|
||||
case 1: ps0883200(argc, argv); break;
|
||||
case 2: ps0883300(argc, argv); break;
|
||||
default: ps0883100(argc, argv); break;
|
||||
}
|
||||
return 0;
|
||||
|
@ -1,3 +1,4 @@
|
||||
int ps0883100(int argc, char* argv[]);
|
||||
int ps0883200(int argc, char* argv[]);
|
||||
int ps0883300(int argc, char* argv[]);
|
||||
|
@ -6,9 +6,14 @@ ENDPAGE
|
||||
|
||||
PAGE "Vettori" 0 2 0 0
|
||||
|
||||
STRING 101 2
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice IATA "
|
||||
PROMPT 1 1 "@bDati vettore"
|
||||
END
|
||||
|
||||
STRING 101 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice IATA "
|
||||
USE &PS0883VET
|
||||
INPUT CODTAB 101
|
||||
DISPLAY "Codice" CODTAB
|
||||
@ -24,7 +29,7 @@ END
|
||||
|
||||
STRING 102 50
|
||||
BEGIN
|
||||
PROMPT 1 2 "Descrizione "
|
||||
PROMPT 2 3 "Descrizione "
|
||||
USE &PS0883VET KEY 2
|
||||
INPUT S0 102
|
||||
DISPLAY "Descrizione@50" S0
|
||||
@ -38,7 +43,7 @@ END
|
||||
|
||||
NUMBER 103 6
|
||||
BEGIN
|
||||
PROMPT 1 4 "Codice cliente "
|
||||
PROMPT 2 4 "Codice cliente "
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 103
|
||||
@ -46,13 +51,14 @@ BEGIN
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT 103 CODCF
|
||||
OUTPUT 104 RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
FIELD I0
|
||||
END
|
||||
|
||||
STRING 104 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Ragione sociale "
|
||||
PROMPT 2 5 "Ragione sociale "
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC 104
|
||||
@ -60,6 +66,51 @@ BEGIN
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 103
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 8 "@bParametri fatturazione"
|
||||
END
|
||||
|
||||
STRING 105 20
|
||||
BEGIN
|
||||
PROMPT 2 9 "Codice articolo servizio standard "
|
||||
FIELD S4
|
||||
FLAGS "U"
|
||||
USE LF_RCONDV
|
||||
JOIN LF_ANAMAG INTO CODART==CODRIGA
|
||||
INPUT TIPO "C"
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 103 SELECT
|
||||
INPUT COD 101 SELECT
|
||||
INPUT TIPORIGA "A"
|
||||
INPUT CODRIGA 105
|
||||
DISPLAY "Codice@20" CODRIGA
|
||||
DISPLAY "Descrizione@50" LF_ANAMAG->DESCR
|
||||
DISPLAY "Gr.Mer." LF_ANAMAG->GRMERC
|
||||
OUTPUT 105 CODRIGA
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -4
|
||||
END
|
||||
|
||||
STRING 106 20
|
||||
BEGIN
|
||||
PROMPT 2 10 "Codice articolo BINGO sheet "
|
||||
FIELD S5
|
||||
FLAGS "U"
|
||||
COPY USE 105
|
||||
INPUT TIPO "C"
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 103 SELECT
|
||||
INPUT COD 101 SELECT
|
||||
INPUT TIPORIGA "A"
|
||||
INPUT CODRIGA 106
|
||||
COPY DISPLAY 105
|
||||
OUTPUT 106 CODRIGA
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -4
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
@ -246,8 +246,8 @@ Item_00_00 = 30004,Cambio &studio...
|
||||
Item_00_01 = 32001,Cambio &ditta...
|
||||
Item_00_02 = 30007,Cambio &utente...
|
||||
Item_00_03 = -1,Separator
|
||||
Item_00_04 = 30002,&Aspetto
|
||||
Item_00_05 = 30003,&Editors
|
||||
Item_00_04 = 30002,&Aspetto...
|
||||
Item_00_05 = 30003,&Editors...
|
||||
Item_00_06 = 30008,&Mail...
|
||||
Item_01 = 32350,&Preferiti
|
||||
Item_01_00 = 30005,&Aggiungi
|
||||
|
@ -1,3 +1,3 @@
|
||||
33
|
||||
0
|
||||
$doc|0|0|723|0|Documenti di vendita|||
|
||||
$doc|0|0|723|0|Testate documenti|||
|
||||
|
@ -1,3 +1,3 @@
|
||||
34
|
||||
0
|
||||
$rdoc|||595|0|Righe documenti di vendita|||
|
||||
$rdoc|||614|0|Righe documenti|||
|
||||
|
28
ve/f34.trr
28
ve/f34.trr
@ -1,5 +1,5 @@
|
||||
34
|
||||
65
|
||||
70
|
||||
CODNUM|1|4|0|Codice Numeriazione
|
||||
ANNO|2|4|0|Anno
|
||||
PROVV|1|1|0|Tipo numerazione <P>rovvisoria <D>efinitiva
|
||||
@ -21,13 +21,13 @@ PREZZO|4|18|5|Prezzo o valore
|
||||
PREZZOL|4|18|5|Prezzo o valore per documenti al lordo
|
||||
RIDPREZZO|4|18|5|Riduzione prezzo per scontrini
|
||||
UMQTA|1|2|0|Unita di misura
|
||||
QTA|4|15|5|Quantita'
|
||||
QTAEVASA|4|13|5|Quantita' evasa
|
||||
QTAGG1|4|13|5|1a quantita' aggiuntiva
|
||||
QTAGG2|4|13|5|2a quantita' aggiuntiva
|
||||
QTAGG3|4|13|5|3a quantita' aggiuntiva
|
||||
QTAGG4|4|13|5|4a quantita' aggiuntiva
|
||||
QTAGG5|4|13|5|5a quantita' aggiuntiva
|
||||
QTA|4|15|5|Quantità
|
||||
QTAEVASA|4|13|5|Quantità evasa
|
||||
QTAGG1|4|13|5|1a quantità aggiuntiva
|
||||
QTAGG2|4|13|5|2a quantità aggiuntiva
|
||||
QTAGG3|4|13|5|3a quantità aggiuntiva
|
||||
QTAGG4|4|13|5|4a quantità aggiuntiva
|
||||
QTAGG5|4|13|5|5a quantità aggiuntiva
|
||||
RIGAEVASA|8|1|0|Riga evasa
|
||||
TARA|4|15|2|Tara
|
||||
PNETTO|4|15|2|Peso netto
|
||||
@ -50,22 +50,27 @@ LINEA|1|5|0|Codice linea di produzione MRP
|
||||
IDRIGA|3|6|0|Identificatore univoco e immutabile riga documento
|
||||
DACODNUM|1|4|0|Numerazione del documento originale
|
||||
DAANNO|2|4|0|Anno del documento originale
|
||||
DAPROVV|1|1|0|Provvisorieta' del documento originale
|
||||
DAPROVV|1|1|0|Provvisorietà del documento originale
|
||||
DANDOC|3|7|0|Numero del documento originale
|
||||
DAIDRIGA|3|6|0|Identificatore riga originale
|
||||
ACODNUM|1|4|0|Numerazione del documento finale
|
||||
AANNO|2|4|0|Anno del documento finale
|
||||
APROVV|1|1|0|Provvisorietà del documento finale
|
||||
ANDOC|3|7|0|Numero del documento finale
|
||||
AIDRIGA|3|6|0|Identificatore riga finale
|
||||
CODCMS|1|20|0|Codice Commessa
|
||||
FASCMS|1|10|0|Fase Commessa
|
||||
CODCOSTO|1|20|0|Centro di costo
|
||||
CODAGG1|1|20|0|Codice aggiuntivo 1
|
||||
CODAGG2|1|20|0|Codice aggiuntivo 2
|
||||
PRIORITY|3|7|0|Priorita' MSP
|
||||
PRIORITY|3|7|0|Priorità MSP
|
||||
TIPODET|1|1|0|Tipo detraibilità
|
||||
RG1|11|10|0|Campo memo per formule e campi virtuali
|
||||
DATAINIATT|5|8|0|Data inizio attività
|
||||
DATAFINATT|5|8|0|Data fine attività
|
||||
IDRIGACOLL|3|6|0|Identificatore riga documento collegata
|
||||
TIPOCOLL|1|1|0|Tipo legame riga collegata
|
||||
7
|
||||
8
|
||||
CODNUM+ANNO+PROVV+NDOC+NRIGA|
|
||||
CODNUM+ANNO+PROVV+CODART+LIVELLO+CODMAG|X
|
||||
PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
||||
@ -73,3 +78,4 @@ DAPROVV+DAANNO+DACODNUM+DANDOC+DAIDRIGA|X
|
||||
CODART+ANNO+CODNUM+PROVV+NDOC|X
|
||||
CODCMS+CODCOSTO+PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
||||
CODCOSTO+CODCMS+PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
||||
APROVV+AANNO+ACODNUM+ANDOC+AIDRIGA|X
|
||||
|
@ -1215,7 +1215,6 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
TDoc_book book; // Destinazione dell'intera stampa
|
||||
TDoc_book* mail_book = NULL; // Destinazione della singola mail
|
||||
TLog_report mail_log(TR("Invio documenti per email"));
|
||||
TProgind pi(docs, TR("Elaborazione documenti..."), true, true);
|
||||
|
||||
bool attach_mail = mode==out_mail || mode==out_signed_mail;
|
||||
if (attach_mail && is_power_station())
|
||||
@ -1232,6 +1231,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
|
||||
const bool mail_requested = (mode == out_mail || mode == out_signed_mail);
|
||||
|
||||
TProgress_monitor pi(docs, TR("Elaborazione documenti..."));
|
||||
for (short loop = mail_requested ? 0 : 1; loop < 2; loop++)
|
||||
{
|
||||
const bool mail_loop = (loop == 0);
|
||||
@ -1239,7 +1239,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
|
||||
for (int i = 0; i < docs; i++)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
if (!pi.add_status())
|
||||
break;
|
||||
|
||||
doc.move_to(i);
|
||||
|
@ -399,26 +399,16 @@ TGestione_listini_semplice_mask::TGestione_listini_semplice_mask(const TString&
|
||||
_pos_um = sf_righe.cid2index(S_UM); //4
|
||||
|
||||
//inizializza il tipo di condv che serve ('L'istino, 'C'ontratto, 'O'fferta)
|
||||
char tipo = main_app().argv(2)[0];
|
||||
tipo = toupper(tipo);
|
||||
|
||||
switch (tipo)
|
||||
const char tipo = toupper(mask_name.right(1)[0]);
|
||||
if (tipo == 'L')
|
||||
{
|
||||
case 'C':
|
||||
break;
|
||||
case 'O':
|
||||
break;
|
||||
default: //il default è L
|
||||
{
|
||||
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
||||
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
||||
enable(FA_L_CATVEN, gesliscv);
|
||||
enable(FA_L_DESVEN, gesliscv);
|
||||
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
||||
if (!gesliscv)
|
||||
efield(FA_L_CATVEN).reset_key(1);
|
||||
}
|
||||
break;
|
||||
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
||||
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
||||
enable(FA_L_CATVEN, gesliscv);
|
||||
enable(FA_L_DESVEN, gesliscv);
|
||||
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
||||
if (!gesliscv)
|
||||
efield(FA_L_CATVEN).reset_key(1);
|
||||
}
|
||||
|
||||
}
|
||||
@ -830,7 +820,7 @@ void TGestione_listini_semplice::save_rows()
|
||||
const TString& TGestione_listini_semplice::find_descr(TToken_string& row)
|
||||
{
|
||||
const char tiporiga = row.get_char(0);
|
||||
const TString& codriga = row.get(1);
|
||||
const TFixed_string codriga = row.get(1);
|
||||
switch (tiporiga)
|
||||
{
|
||||
case 'A':
|
||||
@ -1112,12 +1102,12 @@ void TGestione_listini_semplice::init_modify_mode(TMask& m)
|
||||
|
||||
bool TGestione_listini_semplice::user_create()
|
||||
{
|
||||
//controlla se la chiave ha l'autorizzazione a questo programma
|
||||
/* Controlla se la chiave ha l'autorizzazione a questo programma
|
||||
Tdninst dninst;
|
||||
if (!dninst.can_I_run(true))
|
||||
return error_box(TR("Programma non autorizzato!"));
|
||||
return error_box(TR("Programma non autorizzato!")); */
|
||||
|
||||
//decide il tipo di condizione di vendita: 'L'istino, 'C'ontratto 'O'fferta
|
||||
//decide il tipo di condizione di vendita: 'L'istino, 'C'ontratto, 'O'fferta
|
||||
_tipo = 'L';
|
||||
_codice = 0L;
|
||||
if (argc() > 2) //se la chiamata ha un parametro ulteriore ('ve2 -4 c', ad esempio)..
|
||||
@ -1126,7 +1116,7 @@ bool TGestione_listini_semplice::user_create()
|
||||
if (trans.len() == 1) //se è lungo 1 -> chiamata da menu...
|
||||
{
|
||||
_tipo = trans[0];
|
||||
if (argc() > 3) // Es. Hardy: ve2 -4 c 210100
|
||||
if (argc() > 3) // Es. Hardy: ve2 -4 c 210100
|
||||
_codice = max(0, atol(argv(3)));
|
||||
}
|
||||
else
|
||||
@ -1137,13 +1127,17 @@ bool TGestione_listini_semplice::user_create()
|
||||
if (trans.exist())
|
||||
{
|
||||
TConfig ini(trans, "52");
|
||||
_tipo = ini.get_char("TIPO");
|
||||
if (_tipo == 'C')
|
||||
_codice = ini.get_char(CONDV_CODCF);
|
||||
_tipo = ini.get_char(CONDV_TIPO);
|
||||
if (_tipo < 'C')
|
||||
_tipo = ini.get_char(CONDV_TIPO, "53");
|
||||
_codice = ini.get_long(CONDV_CODCF);
|
||||
}
|
||||
}
|
||||
}
|
||||
_tipo = toupper(_tipo);
|
||||
if (_codice > 0 && _tipo < 'C')
|
||||
_tipo = 'C';
|
||||
else
|
||||
_tipo = toupper(_tipo);
|
||||
}
|
||||
|
||||
_rel = new TRelation(LF_CONDV);
|
||||
|
@ -65,7 +65,7 @@ BEGIN
|
||||
CHECKTYPE FORCED
|
||||
END
|
||||
|
||||
STRING FA_C_DESCF 50 41
|
||||
STRING FA_C_DESCF 50 40
|
||||
BEGIN
|
||||
PROMPT 35 1 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
@ -93,7 +93,7 @@ BEGIN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Valuta" CODVAL
|
||||
DISPLAY "Fine validita'" VALFIN
|
||||
DISPLAY "Fine validità" VALFIN
|
||||
OUTPUT FA_C_TIPOCF TIPOCF
|
||||
OUTPUT FA_C_CODCF CODCF
|
||||
OUTPUT FA_COD COD
|
||||
@ -114,7 +114,7 @@ BEGIN
|
||||
DISPLAY "Cod.CF" CODCF
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Valuta" CODVAL
|
||||
DISPLAY "Fine validita'" VALFIN
|
||||
DISPLAY "Fine validità" VALFIN
|
||||
COPY OUTPUT FA_COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
DATA FA_VALINI
|
||||
BEGIN
|
||||
PROMPT 1 3 "Inizio validita` "
|
||||
PROMPT 1 3 "Inizio validità "
|
||||
FIELD VALIN
|
||||
END
|
||||
|
||||
DATA FA_VALFIN
|
||||
BEGIN
|
||||
PROMPT 35 3 "Fine validita` "
|
||||
PROMPT 35 3 "Fine validità "
|
||||
FIELD VALFIN
|
||||
END
|
||||
|
||||
|
@ -600,6 +600,12 @@ public:
|
||||
const TRectype* find_original_rdoc() const;
|
||||
const TRectype* find_original_doc() const;
|
||||
|
||||
void set_final_rdoc_key(const TRectype& orig);
|
||||
void reset_final_rdoc_key();
|
||||
const TRectype* find_final_rdoc() const;
|
||||
const TRectype* find_final_doc() const;
|
||||
void update_rdoc_links(TRiga_documento& dest); // Update key links between rows
|
||||
|
||||
virtual TRiga_documento& operator =(const TRiga_documento& r) { return copy(r);}
|
||||
virtual TRectype& operator =(const TRectype & r);
|
||||
virtual TRectype& operator =(const char * r);
|
||||
|
@ -1391,7 +1391,7 @@ const TToken_string & TRiga_documento::get_original_rdoc_key() const
|
||||
return key;
|
||||
}
|
||||
|
||||
const TToken_string & TRiga_documento::get_rdoc_key() const
|
||||
const TToken_string& TRiga_documento::get_rdoc_key() const
|
||||
{
|
||||
TToken_string& key = get_tmp_string(32);
|
||||
key.add(get(RDOC_CODNUM));
|
||||
@ -1404,7 +1404,7 @@ const TToken_string & TRiga_documento::get_rdoc_key() const
|
||||
|
||||
void TRiga_documento::set_original_rdoc_key(const TRectype& orig, int depth)
|
||||
{
|
||||
CHECK(orig.num() == LF_RIGHEDOC, "Bad document row");
|
||||
CHECK(orig.num() == num(), "Bad document row");
|
||||
|
||||
switch (depth)
|
||||
{
|
||||
@ -1480,6 +1480,39 @@ const TRectype* TRiga_documento::find_original_doc() const
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void TRiga_documento::set_final_rdoc_key(const TRectype& dest)
|
||||
{
|
||||
CHECK(dest.num() == num(), "Bad document row");
|
||||
put(RDOC_ACODNUM, dest.get(RDOC_CODNUM));
|
||||
put(RDOC_AANNO, dest.get(RDOC_ANNO));
|
||||
put(RDOC_APROVV, dest.get(RDOC_PROVV));
|
||||
put(RDOC_ANDOC, dest.get(RDOC_NDOC));
|
||||
put(RDOC_AIDRIGA, dest.get(RDOC_IDRIGA));
|
||||
}
|
||||
|
||||
void TRiga_documento::reset_final_rdoc_key()
|
||||
{
|
||||
zero(RDOC_ACODNUM);
|
||||
zero(RDOC_AANNO);
|
||||
zero(RDOC_APROVV);
|
||||
zero(RDOC_ANDOC);
|
||||
zero(RDOC_AIDRIGA);
|
||||
}
|
||||
|
||||
void TRiga_documento::update_rdoc_links(TRiga_documento& dest)
|
||||
{
|
||||
if (dest.get_int(RDOC_ANNO) > 0)
|
||||
{
|
||||
set_final_rdoc_key(dest);
|
||||
dest.set_original_rdoc_key(*this, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
reset_final_rdoc_key();
|
||||
dest.reset_original_rdoc_key();
|
||||
}
|
||||
}
|
||||
|
||||
void TTipo_riga_documento::set_defaults(TSheet_field& s, int row) const
|
||||
{
|
||||
if (_defaults.items() == 0) // Carica lo string_array con i defaults
|
||||
|
@ -677,15 +677,17 @@ bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
||||
TDocumento& doc_dest = doc_out[d];
|
||||
|
||||
doc_dest.copy_contents(doc_src);
|
||||
const TString4 tipodoc = tipo_finale();
|
||||
const TString& tipodoc = tipo_finale();
|
||||
doc_dest.put(DOC_TIPODOC, tipodoc);
|
||||
const TString4 stato = stato_finale();
|
||||
const TString& stato = stato_finale();
|
||||
doc_dest.put(DOC_STATO, stato);
|
||||
|
||||
// Scancello tutti gli inutili riferimenti al documento origine
|
||||
if (!_preserve_original_rif)
|
||||
for (int r = doc_dest.physical_rows(); r > 0; r--)
|
||||
doc_dest[r].reset_original_rdoc_key();
|
||||
{
|
||||
FOR_EACH_PHYSICAL_RDOC(doc_dest, r, rdoc)
|
||||
rdoc->reset_original_rdoc_key();
|
||||
}
|
||||
|
||||
if (data_elab.ok())
|
||||
doc_dest.put(DOC_DATADOC, data_elab);
|
||||
|
13
ve/velib04.h
13
ve/velib04.h
@ -13,10 +13,6 @@
|
||||
#include "../cg/cg2101.h"
|
||||
#endif
|
||||
|
||||
#ifndef __RECARRAY_H
|
||||
#include <recarray.h>
|
||||
#endif
|
||||
|
||||
class TLista_documenti : public TObject // velib04
|
||||
{
|
||||
TArray _documenti;
|
||||
@ -204,9 +200,9 @@ public:
|
||||
|
||||
const TString& codice_numerazione_finale() const { return get("S6"); }
|
||||
const TString& applicazione_esterna() const { return get("S3"); }
|
||||
void set_params(const TParametri_elaborazione & parms) { _parms = parms;}
|
||||
bool is_document_ok(const TRectype & doc) const ;
|
||||
TParametri_elaborazione & params() { return _parms;}
|
||||
void set_params(const TParametri_elaborazione& parms) { _parms = parms;}
|
||||
bool is_document_ok(const TRectype& doc) const ;
|
||||
TParametri_elaborazione& params() { return _parms;}
|
||||
|
||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
const TDate& data_elab, bool interattivo = false);
|
||||
@ -267,14 +263,13 @@ protected:
|
||||
TToken_string & campi_riga, const TDate & dcons, const TDate & ddoc);
|
||||
void init();
|
||||
|
||||
virtual bool get_num_tip_out(const TDocumento& doc_out, TString& codnum, TString& tipodoc) const;
|
||||
|
||||
public:
|
||||
virtual bool raggruppa(TDocumento& din, TDocumento& dout);
|
||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
const TDate& data_elab, bool interattivo = false);
|
||||
|
||||
bool change_clifo() { return get_bool("B14"); }
|
||||
virtual bool get_num_tip_out(const TDocumento& doc_out, TString& codnum, TString& tipodoc) const;
|
||||
|
||||
TFatturazione_bolle(const char* cod);
|
||||
TFatturazione_bolle(const TRectype& rec);
|
||||
|
@ -107,7 +107,7 @@ void TFatturazione_bolle::create_row(TDocumento& doc_out, const TRiga_documento&
|
||||
}
|
||||
|
||||
void TFatturazione_bolle::elabora_riga(TRiga_documento& r, TDocumento& doc_out, bool usa_dcons, bool ragg_rig, bool ignora_desc,
|
||||
TToken_string & campi_riga, const TDate & dcons, const TDate & ddoc)
|
||||
TToken_string& campi_riga, const TDate & dcons, const TDate & ddoc)
|
||||
{
|
||||
const bool rindesc = r.sola_descrizione(); // La riga di input e' descrittiva
|
||||
if (ignora_desc && rindesc)
|
||||
@ -147,7 +147,7 @@ void TFatturazione_bolle::elabora_riga(TRiga_documento& r, TDocumento& doc_out,
|
||||
// se la riga non contiene solo una descrizione
|
||||
if (ragg_rig && !rindesc && da_raggruppare(rin)) // Se devo raggruppare le righe ...
|
||||
{
|
||||
FOR_EACH_PHYSICAL_RDOC(doc_out, r, rout) // ... cerca una riga compatibile
|
||||
FOR_EACH_PHYSICAL_RDOC(doc_out, nr, rout) // ... cerca una riga compatibile
|
||||
{
|
||||
if (rout->sola_descrizione()) // Ignora le righe descrittive
|
||||
continue;
|
||||
@ -155,13 +155,19 @@ void TFatturazione_bolle::elabora_riga(TRiga_documento& r, TDocumento& doc_out,
|
||||
if (rin.raggruppabile(*rout, campi_riga)) // Se esiste una riga compatibile ...
|
||||
{
|
||||
add_rows(*rout, rin);
|
||||
r.set_final_rdoc_key(*rout);
|
||||
elaborata = true; // Ricorda di averla gia' elaborata
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!elaborata) // Se la riga non e' stata gia' sommata ...
|
||||
{
|
||||
create_row(doc_out, rin);
|
||||
// Aggiorna collegamento alla riga di destinazione, cioè l'ultima del docuemnto di output
|
||||
TRiga_documento& riga_fatt = doc_out[doc_out.physical_rows()];
|
||||
r.update_rdoc_links(riga_fatt);
|
||||
}
|
||||
}
|
||||
|
||||
bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
||||
|
@ -1417,6 +1417,12 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
||||
}
|
||||
mov_rec.put(MOV_DATACOMPI, dataintra);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Imposta nelle fatture di vendita normali il flag di split payment
|
||||
if (mov_rec.get_char(MOV_SPLITPAY) <= ' ')
|
||||
mov_rec.put(MOV_SPLITPAY, is_split_payment(mov_rec) ? 'S': 'N');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2800,7 +2806,7 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
||||
|
||||
TGeneric_distrib d(anticipo.get_num(), ndec);
|
||||
d.add(totimponibili.get_num());
|
||||
d.add(imposte);
|
||||
d.add(imposte_effettive);
|
||||
d.add(totspese.get_num());
|
||||
|
||||
const TCurrency_documento pagtotimponibili(totimponibili.get_num() - d.get(), doc);
|
||||
@ -2829,9 +2835,9 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
||||
}
|
||||
else
|
||||
{
|
||||
pag.set_total( pagtotimponibili, pagtotimposte, pagtotspese);
|
||||
pag.set_total(pagtotimponibili, pagtotimposte, pagtotspese);
|
||||
}
|
||||
pag.set_rate_auto( );
|
||||
pag.set_rate_auto();
|
||||
}
|
||||
else
|
||||
pag.zap_rate();
|
||||
@ -2865,7 +2871,6 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
||||
|
||||
const int nr = pag.n_rate();
|
||||
|
||||
/*
|
||||
real imponibile, imponibile_val;
|
||||
for (int i = nr-1; i >= 0; i--)
|
||||
{
|
||||
@ -2873,9 +2878,9 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
||||
imponibile_val += pag.tval_rata(i);
|
||||
imponibile += pag.tlit_rata(i);
|
||||
}
|
||||
*/
|
||||
partita.put(PART_IMPORTO, pag.imponibile(false));
|
||||
partita.put(PART_IMPORTOVAL, in_valuta ? pag.imponibile(true) : ZERO);
|
||||
|
||||
partita.put(PART_IMPORTO, imponibile);
|
||||
partita.put(PART_IMPORTOVAL, in_valuta ? imponibile_val : ZERO);
|
||||
partita.put(PART_IMPOSTA, pag.imposta(in_valuta));
|
||||
partita.put(PART_SPESE, totspese.get_num());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user