Corretti errori Gabri
git-svn-id: svn://10.65.10.50/trunk@2622 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6a79d80176
commit
f63419ff75
@ -16,7 +16,7 @@ END
|
||||
LIST F_TIPOCF 1 12
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo "
|
||||
FIELD LF_CLIFO->TIPOCF
|
||||
FIELD TIPOCF
|
||||
FLAGS "PG"
|
||||
KEY 1 2 4 5 6
|
||||
HELP "Indicare se cliente oppure fornitore"
|
||||
@ -29,7 +29,7 @@ END
|
||||
NUMBER F_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice "
|
||||
FIELD LF_CLIFO->CODCF
|
||||
FIELD CODCF
|
||||
FLAGS "GR"
|
||||
KEY 1
|
||||
USE LF_CLIFO KEY 1
|
||||
@ -56,7 +56,7 @@ END
|
||||
STRING F_RAGSOC 30
|
||||
BEGIN
|
||||
PROMPT 23 1 "Cognome / Rag. Soc."
|
||||
FIELD LF_CLIFO->RAGSOC[1,30]
|
||||
FIELD RAGSOC[1,30]
|
||||
KEY 2
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
@ -77,7 +77,7 @@ END
|
||||
STRING F_RAGSOCA 20
|
||||
BEGIN
|
||||
PROMPT 23 2 "Nome / Seconda parte Rag. Soc. "
|
||||
FIELD LF_CLIFO->RAGSOC[31,]
|
||||
FIELD RAGSOC[31,]
|
||||
KEY 2
|
||||
HELP "Seconda parte della ragione sociale o nome"
|
||||
MESSAGE COPY,6@
|
||||
@ -86,7 +86,7 @@ END
|
||||
STRING F_RICALT 30 20
|
||||
BEGIN
|
||||
PROMPT 2 4 "Ricerca Alt. "
|
||||
FIELD LF_CLIFO->RICALT
|
||||
FIELD RICALT
|
||||
KEY 6
|
||||
USE LF_CLIFO KEY 6
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
@ -101,7 +101,7 @@ END
|
||||
LIST F_STATOPAIV 2 21
|
||||
BEGIN
|
||||
PROMPT 42 4 "Stato CEE "
|
||||
FIELD LF_CLIFO->STATOPAIV
|
||||
FIELD STATOPAIV
|
||||
KEY 5
|
||||
HELP "Codice ISO dello stato"
|
||||
ITEM " |Italia o extra CEE"
|
||||
@ -122,7 +122,7 @@ END
|
||||
STRING F_COFI 16
|
||||
BEGIN
|
||||
PROMPT 2 5 "Codice fiscale "
|
||||
FIELD LF_CLIFO->COFI
|
||||
FIELD COFI
|
||||
FLAGS "U"
|
||||
KEY 4
|
||||
USE LF_CLIFO KEY 4
|
||||
@ -141,7 +141,7 @@ END
|
||||
STRING F_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 42 5 "Partita IVA "
|
||||
FIELD LF_CLIFO->PAIV
|
||||
FIELD PAIV
|
||||
KEY 5
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
@ -165,21 +165,21 @@ END
|
||||
STRING F_INDCF 35
|
||||
BEGIN
|
||||
PROMPT 2 7 "Indirizzo "
|
||||
FIELD LF_CLIFO->INDCF
|
||||
FIELD INDCF
|
||||
HELP "Indirizzo del recapito"
|
||||
END
|
||||
|
||||
STRING F_CIVCF 10
|
||||
BEGIN
|
||||
PROMPT 60 7 "N. "
|
||||
FIELD LF_CLIFO->CIVCF
|
||||
FIELD CIVCF
|
||||
HELP "Numero civico del recapito"
|
||||
END
|
||||
|
||||
NUMBER F_STATOCF 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Comune: Stato "
|
||||
FIELD LF_CLIFO->STATOCF
|
||||
FIELD STATOCF
|
||||
FLAGS "Z"
|
||||
USE %STA
|
||||
INPUT CODTAB F_STATOCF
|
||||
@ -205,7 +205,7 @@ END
|
||||
STRING F_COMCF 4
|
||||
BEGIN
|
||||
PROMPT 8 9 ":Codice "
|
||||
FIELD LF_CLIFO->COMCF
|
||||
FIELD COMCF
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO F_STATOCF SELECT
|
||||
@ -240,14 +240,14 @@ END
|
||||
STRING F_LOCALITACF 35
|
||||
BEGIN
|
||||
PROMPT 2 10 "Localita' "
|
||||
FIELD LF_CLIFO->LOCALITACF
|
||||
FIELD LOCALITACF
|
||||
HELP "Localita' del recapito"
|
||||
END
|
||||
|
||||
STRING F_CAPCF 5
|
||||
BEGIN
|
||||
PROMPT 53 10 "CAP "
|
||||
FIELD LF_CLIFO->CAPCF
|
||||
FIELD CAPCF
|
||||
HELP "Codice di avviamento postale del recapito"
|
||||
END
|
||||
|
||||
@ -260,7 +260,7 @@ END
|
||||
LIST F_TIPOPERS 1 12
|
||||
BEGIN
|
||||
PROMPT 2 12 "Tipo persona "
|
||||
FIELD LF_CLIFO->TIPOPERS
|
||||
FIELD TIPOPERS
|
||||
HELP "Tipo anagrafico del clinete/fornitore"
|
||||
ITEM "F|Fisica"
|
||||
MESSAGE COPY,F_TIPOAPER
|
||||
@ -271,7 +271,7 @@ END
|
||||
STRING F_CODSTAT 7
|
||||
BEGIN
|
||||
PROMPT 46 12 "Codice statistico "
|
||||
FIELD LF_CLIFO->CODSTAT
|
||||
FIELD CODSTAT
|
||||
USE %STT
|
||||
INPUT CODTAB F_CODSTAT
|
||||
DISPLAY "Codice statistico" CODTAB
|
||||
@ -284,7 +284,7 @@ END
|
||||
NUMBER F_ALLEG 1
|
||||
BEGIN
|
||||
PROMPT 2 13 "Inserimento in allegato "
|
||||
FIELD LF_CLIFO->ALLEG
|
||||
FIELD ALLEG
|
||||
SHEET "Codice|Descrizione@50"
|
||||
HELP "Codice per l'inserimento negli allegati IVA"
|
||||
INPUT F_ALLEG
|
||||
@ -300,7 +300,7 @@ END
|
||||
NUMBER F_CODALLEG 6
|
||||
BEGIN
|
||||
PROMPT 32 13 "Codice allegato "
|
||||
FIELD LF_CLIFO->CODALLEG
|
||||
FIELD CODALLEG
|
||||
FLAGS "R"
|
||||
COPY USE F_CODCF
|
||||
INPUT TIPOCF F_TIPOCF SELECT
|
||||
@ -322,7 +322,7 @@ END
|
||||
BOOLEAN F_OCCASIONALE
|
||||
BEGIN
|
||||
PROMPT 2 16 "Occasionale "
|
||||
FIELD LF_CLIFO->OCCAS
|
||||
FIELD OCCAS
|
||||
HELP "Indicare se si tratta di un C/F occasionale"
|
||||
MESSAGE TRUE "2",F_ALLEG
|
||||
END
|
||||
@ -330,7 +330,7 @@ END
|
||||
BOOLEAN F_SOSPESO
|
||||
BEGIN
|
||||
PROMPT 32 16 "Sospeso "
|
||||
FIELD LF_CLIFO->SOSPESO
|
||||
FIELD SOSPESO
|
||||
HELP "Indicare se il C/F e' movimentato ma non piu' utilizzabile"
|
||||
END
|
||||
|
||||
@ -381,70 +381,70 @@ END
|
||||
STRING F_PTEL 10
|
||||
BEGIN
|
||||
PROMPT 2 5 "Telefono "
|
||||
FIELD LF_CLIFO->PTEL
|
||||
FIELD PTEL
|
||||
HELP "Prefisso telefonico primo recapito"
|
||||
END
|
||||
|
||||
STRING F_TEL 30
|
||||
BEGIN
|
||||
PROMPT 43 5 ""
|
||||
FIELD LF_CLIFO->TEL
|
||||
FIELD TEL
|
||||
HELP "Numero telefonico primo recapito"
|
||||
END
|
||||
|
||||
STRING F_PTEL2 10
|
||||
BEGIN
|
||||
PROMPT 16 6 ""
|
||||
FIELD LF_CLIFO->PTEL2
|
||||
FIELD PTEL2
|
||||
HELP "Prefisso telefonico secondo recapito"
|
||||
END
|
||||
|
||||
STRING F_TEL2 30
|
||||
BEGIN
|
||||
PROMPT 43 6 ""
|
||||
FIELD LF_CLIFO->TEL2
|
||||
FIELD TEL2
|
||||
HELP "Numero telefonico secondo recapito"
|
||||
END
|
||||
|
||||
STRING F_PTEL3 10
|
||||
BEGIN
|
||||
PROMPT 16 7 ""
|
||||
FIELD LF_CLIFO->PTEL3
|
||||
FIELD PTEL3
|
||||
HELP "Prefisso telefonico terzo recapito"
|
||||
END
|
||||
|
||||
STRING F_TEL3 30
|
||||
BEGIN
|
||||
PROMPT 43 7 ""
|
||||
FIELD LF_CLIFO->TEL3
|
||||
FIELD TEL3
|
||||
HELP "Numero telefonico terzo recapito"
|
||||
END
|
||||
|
||||
STRING F_PFAX 10
|
||||
BEGIN
|
||||
PROMPT 2 8 "Fax "
|
||||
FIELD LF_CLIFO->PFAX
|
||||
FIELD PFAX
|
||||
HELP "Prefisso del numero di fax"
|
||||
END
|
||||
|
||||
STRING F_FAX 30
|
||||
BEGIN
|
||||
PROMPT 43 8 ""
|
||||
FIELD LF_CLIFO->FAX
|
||||
FIELD FAX
|
||||
HELP "Numero telefonico del fax"
|
||||
END
|
||||
|
||||
STRING F_PTELEX 10
|
||||
BEGIN
|
||||
PROMPT 2 9 "Telex "
|
||||
FIELD LF_CLIFO->PTELEX
|
||||
FIELD PTELEX
|
||||
HELP "Prefisso del numero di telex"
|
||||
END
|
||||
|
||||
STRING F_TELEX 30
|
||||
BEGIN
|
||||
PROMPT 43 9 ""
|
||||
FIELD LF_CLIFO->TELEX
|
||||
FIELD TELEX
|
||||
HELP "Numero telefonico del telex"
|
||||
END
|
||||
|
||||
@ -456,7 +456,7 @@ END
|
||||
LIST F_TIPOAPER 1 15
|
||||
BEGIN
|
||||
PROMPT 2 12 "Tipo "
|
||||
FIELD LF_CLIFO->TIPOAPER
|
||||
FIELD TIPOAPER
|
||||
FLAGS "D"
|
||||
ITEM "F|Fisica"
|
||||
ITEM "G|Giuridica"
|
||||
@ -465,7 +465,7 @@ END
|
||||
NUMBER F_CODANAGPER 5
|
||||
BEGIN
|
||||
PROMPT 61 12 "Codice "
|
||||
FIELD LF_CLIFO->CODANAGPER
|
||||
FIELD CODANAGPER
|
||||
FLAGS "R"
|
||||
GROUP 4
|
||||
USE LF_ANAG
|
||||
@ -505,7 +505,7 @@ END
|
||||
DATE F_DATANASC
|
||||
BEGIN
|
||||
PROMPT 2 16 "Data "
|
||||
FIELD LF_CLIFO->DATANASC
|
||||
FIELD DATANASC
|
||||
GROUP 5
|
||||
HELP "Data di nascita del cliente/fornitore"
|
||||
END
|
||||
@ -513,7 +513,7 @@ END
|
||||
NUMBER F_STATONASC 3
|
||||
BEGIN
|
||||
PROMPT 38 16 "Stato "
|
||||
FIELD LF_CLIFO->STATONASC
|
||||
FIELD STATONASC
|
||||
FLAGS "Z"
|
||||
GROUP 5
|
||||
COPY USE F_STATOCF
|
||||
@ -528,7 +528,7 @@ END
|
||||
STRING F_COMNASC 4
|
||||
BEGIN
|
||||
PROMPT 60 16 "Comune "
|
||||
FIELD LF_CLIFO->COMNASC
|
||||
FIELD COMNASC
|
||||
FLAGS "U"
|
||||
GROUP 5
|
||||
COPY USE F_COMCF
|
||||
@ -598,7 +598,7 @@ END
|
||||
NUMBER F_CODABI 5
|
||||
BEGIN
|
||||
PROMPT 2 4 "Codice ABI "
|
||||
FIELD LF_CLIFO->CODABI
|
||||
FIELD CODABI
|
||||
FLAGS "Z"
|
||||
USE %BAN
|
||||
INPUT CODTAB F_CODABI
|
||||
@ -615,7 +615,7 @@ END
|
||||
NUMBER F_CODBAN 5
|
||||
BEGIN
|
||||
PROMPT 56 4 "Codice CAB "
|
||||
FIELD LF_CLIFO->CODCAB
|
||||
FIELD CODCAB
|
||||
FLAGS "Z"
|
||||
COPY USE F_CODABI
|
||||
INPUT CODTAB[1,5] F_CODABI
|
||||
@ -646,7 +646,7 @@ FLAGS "UZ"
|
||||
PROMPT 2 6 "Valuta "
|
||||
FLAGS "UZ"
|
||||
>>>>>>> 1.23
|
||||
FIELD LF_CLIFO->CODVAL
|
||||
FIELD CODVAL
|
||||
USE %VAL
|
||||
INPUT CODTAB F_CODVAL
|
||||
DISPLAY "Codice valuta" CODTAB
|
||||
@ -670,7 +670,7 @@ END
|
||||
STRING F_CODLIN 1
|
||||
BEGIN
|
||||
PROMPT 2 7 "Lingua "
|
||||
FIELD LF_CLIFO->CODLIN
|
||||
FIELD CODLIN
|
||||
USE %LNG
|
||||
FLAGS "U"
|
||||
INPUT CODTAB F_CODLIN
|
||||
@ -696,7 +696,7 @@ END
|
||||
STRING F_CODPAG 4
|
||||
BEGIN
|
||||
PROMPT 2 8 "Pagamento "
|
||||
FIELD LF_CLIFO->CODPAG
|
||||
FIELD CODPAG
|
||||
FLAGS "U#"
|
||||
USE %CPG
|
||||
INPUT CODTAB F_CODPAG
|
||||
@ -722,7 +722,7 @@ END
|
||||
NUMBER F_FIDO 15
|
||||
BEGIN
|
||||
PROMPT 2 9 "Fido "
|
||||
FIELD LF_CLIFO->FIDO
|
||||
FIELD FIDO
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
HELP "Importo massimo fido del cliente/fornitore"
|
||||
@ -736,7 +736,7 @@ END
|
||||
NUMBER F_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 2 11 "Gruppo "
|
||||
FIELD LF_CLIFO->GRUPPO
|
||||
FIELD GRUPPO
|
||||
FLAGS "R"
|
||||
HELP "Codice del gruppo"
|
||||
END
|
||||
@ -744,7 +744,7 @@ END
|
||||
NUMBER F_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 27 11 "Conto "
|
||||
FIELD LF_CLIFO->CONTO
|
||||
FIELD CONTO
|
||||
FLAGS "R"
|
||||
USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
|
||||
INPUT GRUPPO F_GRUPPO
|
||||
@ -788,7 +788,7 @@ USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
|
||||
NUMBER F_GRUPPORIC 3
|
||||
BEGIN
|
||||
PROMPT 2 15 "Gruppo "
|
||||
FIELD LF_CLIFO->GRUPPORIC
|
||||
FIELD GRUPPORIC
|
||||
FLAGS "R"
|
||||
HELP "Gruppo di contropartita"
|
||||
END
|
||||
@ -796,7 +796,7 @@ USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
|
||||
NUMBER F_CONTORIC 3
|
||||
BEGIN
|
||||
PROMPT 27 15 "Conto "
|
||||
FIELD LF_CLIFO->CONTORIC
|
||||
FIELD CONTORIC
|
||||
FLAGS "R"
|
||||
HELP "Conto di contropartita"
|
||||
END
|
||||
@ -804,7 +804,7 @@ USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
|
||||
NUMBER F_SOTTOCRIC 6
|
||||
BEGIN
|
||||
PROMPT 47 15 "Sottoconto "
|
||||
FIELD LF_CLIFO->SOTTOCRIC
|
||||
FIELD SOTTOCRIC
|
||||
FLAGS "R"
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO F_GRUPPORIC
|
||||
|
@ -799,6 +799,7 @@ int TPrimanota_application::crea_somma_spese(TImporto& imp)
|
||||
bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
|
||||
{
|
||||
static TImporto old_spesa;
|
||||
static bool delete_l = FALSE;
|
||||
|
||||
CHECKD(r >= 0, "Chi e' quel ca$$one che notifica la riga ", r);
|
||||
|
||||
@ -806,6 +807,13 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
|
||||
|
||||
if (k == K_CTRL + K_DEL)
|
||||
{
|
||||
if (delete_l)
|
||||
{
|
||||
const int l = type2pos('L');
|
||||
CHECK(l >= 0, "Impossibile cancellare riga di tipo L");
|
||||
cg.destroy(l);
|
||||
delete_l = FALSE;
|
||||
}
|
||||
a.calcola_saldo(); // Ricalcola saldo dopo cancellazione
|
||||
return TRUE; // Ritorna subito, altrimenti crea riga vuota
|
||||
}
|
||||
@ -846,7 +854,7 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
|
||||
if (s < 0)
|
||||
a.crea_somma_spese(growth);
|
||||
else
|
||||
a.sub_cgs_imp(s, growth);
|
||||
delete_l = a.sub_cgs_imp(s, growth);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -854,8 +862,8 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
|
||||
if (a.iva() == nessuna_iva && !a.is_saldaconto())
|
||||
a.generazione_righe_cg(r);
|
||||
}
|
||||
if (k == K_ENTER)
|
||||
a.calcola_saldo();
|
||||
if (k == K_ENTER)
|
||||
a.calcola_saldo(); // Altrimenti ci pensa CTRL-DEL
|
||||
break;
|
||||
case K_CTRL+K_INS: // Post inserimento
|
||||
if (a.is_pagamento())
|
||||
@ -863,7 +871,7 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
|
||||
const char tipo = cg.mask().get(SK_TIPORIGA)[0];
|
||||
if (tipo == 'K' || tipo == 'G')
|
||||
{
|
||||
const int k = tipo == 'K' ? 1 : 10;
|
||||
const int k = tipo == 'K' ? 1 : RIGA_SPESE;
|
||||
TBill conto; a.causale().bill(k, conto);
|
||||
const TString80 desc(a.causale().desc_agg(k));
|
||||
const char sez = a.causale().sezione(k);
|
||||
|
@ -972,7 +972,7 @@ void TPrimanota_application::write_scadenze(const TMask& m)
|
||||
}
|
||||
|
||||
if (newgame != NULL) // Se non ho cancellato il numero partita ...
|
||||
{
|
||||
{
|
||||
newgame->write(); // Salva nuova partita
|
||||
delete newgame;
|
||||
}
|
||||
|
@ -828,7 +828,7 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
|
||||
row.add(descr, 4);
|
||||
|
||||
const bool blocked = scad.get_bool(SCAD_BLOCCATA);
|
||||
row.add(blocked ? "X" : " " , 13);
|
||||
row.add(blocked ? "X" : " ", 13);
|
||||
|
||||
const int lastp = scad.last();
|
||||
for (int pa = scad.first(); pa <= lastp; pa = scad.succ(pa))
|
||||
@ -971,6 +971,7 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
|
||||
{
|
||||
TToken_string& row = scadenze.row(scadenze.add(""));
|
||||
row.add("Ritenute professionali", 4);
|
||||
gm.add_importo(row, rit, FALSE);
|
||||
tot_lit += rit;
|
||||
}
|
||||
}
|
||||
@ -1293,8 +1294,9 @@ bool TGame_mask::edit_scadenza_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TSheet_field& ss = gm.scadenze();
|
||||
const int rs = ss.selected(); // Memorizza la riga corrente
|
||||
gm.fill_partite();
|
||||
ss.select(rs); // Riporta la selezione sulla riga corrente
|
||||
gm.fill_partite(); // Aggiorna elenco partite
|
||||
if (rs < ss.items()) // Se esiste ancora ...
|
||||
ss.select(rs); // ... riporta la selezione sulla riga corrente
|
||||
gm._changed = TRUE;
|
||||
}
|
||||
}
|
||||
@ -1569,11 +1571,8 @@ void TGame_mask::fill_partite()
|
||||
const TBill& k = gioco->conto();
|
||||
bool u = (k.tipo() > ' ' && k.sottoconto() == conto().sottoconto()) || k == conto();
|
||||
|
||||
#ifdef DBG
|
||||
if (u && !all && gioco->chiusa() && gioco->mov2rig(_numreg, _numrig) <= 0)
|
||||
u = error_box("Tentativo di visualizzare partita %d %s!",
|
||||
gioco->anno(), (const char*)gioco->numero());
|
||||
#endif
|
||||
if (u && !all && gioco->chiusa() && gioco->mov2rig(_numreg, _numrig) <= 0)
|
||||
u = FALSE;
|
||||
|
||||
if (u)
|
||||
update_partita(*gioco, -1);
|
||||
@ -1685,7 +1684,6 @@ bool TGame_mask::edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp) co
|
||||
|
||||
const TValuta val(somma);
|
||||
#ifdef __EXTRA__
|
||||
// val.get(m, E_VALUTA, E_DATACAMBIO, E_CAMBIO);
|
||||
p.modifica_pagamento(newpag, val, TRUE);
|
||||
#else
|
||||
if (somma.is_nota_credito())
|
||||
|
@ -51,6 +51,7 @@ END
|
||||
STRING 106 1
|
||||
BEGIN
|
||||
PROMPT 24 5 "Ulteriore classific. "
|
||||
FLAGS "U"
|
||||
USE %CLR
|
||||
INPUT CODTAB[1,1] 105 SELECT
|
||||
INPUT CODTAB[2,2] 106
|
||||
|
@ -804,7 +804,7 @@ const char* TPagamento::desc_tipo(int tipo, char ulc, bool* ok) const
|
||||
if (ok != NULL) *ok = TRUE;
|
||||
if (ulc > ' ')
|
||||
{
|
||||
const char key[] = { tipo+'0', ulc, '\0' };
|
||||
const char key[] = { tipo+'0', toupper(ulc), '\0' };
|
||||
TTable clr("%CLR");
|
||||
clr.put("CODTAB", key);
|
||||
|
||||
|
@ -533,16 +533,16 @@ bool TRiga_scadenze::modifica_pagamento(const TRectype& new_pag, const TValuta&
|
||||
sum.update(old_pag, new_pag, PART_IMPORTOVAL);
|
||||
sum.update(old_pag, new_pag, PART_RITENUTE);
|
||||
|
||||
// Aggiorna flags di chiusura
|
||||
chiusa(TRUE);
|
||||
partita().chiusa(TRUE);
|
||||
|
||||
const bool empty = new_pag.get_char(PAGSCA_ACCSAL) != 'S' &&
|
||||
new_pag.get_real(PAGSCA_IMPORTO).is_zero() &&
|
||||
new_pag.get_real(PAGSCA_RITENUTE).is_zero();
|
||||
if (empty)
|
||||
rows_array().destroy_row(nrigp);
|
||||
|
||||
// Aggiorna flags di chiusura
|
||||
chiusa(TRUE);
|
||||
partita().chiusa(TRUE);
|
||||
|
||||
return empty;
|
||||
}
|
||||
|
||||
@ -747,14 +747,14 @@ int TRiga_partite::ultima_rata_con_abbuoni_diffcam() const
|
||||
bool TRiga_partite::in_valuta() const
|
||||
{
|
||||
const TString& cod = get(PART_CODVAL);
|
||||
return cod.not_empty() && cod != "LIT";
|
||||
return cod.not_empty();
|
||||
}
|
||||
|
||||
// Calcola l'importo in lire o in valuta su di una riga di partita
|
||||
// E' possibile considerare o meno IMPORTO, ABBUONI e DIFFCAM
|
||||
TImporto TRiga_partite::importo(bool valuta, int mode) const
|
||||
{
|
||||
CHECKD(mode > 0 && mode < 16, "Bad importo mode ", mode);
|
||||
CHECKD(mode > 0x0 && mode <= 0xF, "Bad importo mode ", mode);
|
||||
const bool in_lire = !in_valuta();
|
||||
if (valuta && in_lire)
|
||||
valuta = FALSE;
|
||||
@ -766,13 +766,13 @@ TImporto TRiga_partite::importo(bool valuta, int mode) const
|
||||
i.set(sezione(), get_real(field));
|
||||
}
|
||||
|
||||
if (!is_fattura() && (mode & 0x6)) // Esistono abbuoni o differenze cambio?
|
||||
if (!is_fattura() && (mode & 0xE)) // Ci sono abbuoni, differenze cambio o ritenute?
|
||||
{
|
||||
if (valuta) // Desidero gli abbuoni in valuta
|
||||
{
|
||||
if (mode & 0x2)
|
||||
{
|
||||
TImporto abbuoni(get_char(PART_SEZABB), get_real(PART_ABBUONI));
|
||||
const TImporto abbuoni(get_char(PART_SEZABB), get_real(PART_ABBUONI));
|
||||
i += abbuoni;
|
||||
}
|
||||
// In valuta ignoro completamente le differenze cambio
|
||||
@ -1017,27 +1017,34 @@ int TPartita::write_saldo(bool re, TRectype* rec) const
|
||||
TLocalisamfile part(LF_PARTITE);
|
||||
TRectype& sld = part.curr();
|
||||
|
||||
sld = _part.key();
|
||||
sld.put(PART_NRIGA, (int)UNASSIGNED);
|
||||
sld.put(PART_SEZ, saldo.sezione());
|
||||
sld.put(PART_IMPORTO, saldo.valore());
|
||||
sld.put(PART_SEZABB, doc.sezione());
|
||||
sld.put(PART_ABBUONI, doc.valore());
|
||||
sld.put(PART_SEZDIFCAM, pag.sezione());
|
||||
sld.put(PART_DIFFCAM, pag.valore());
|
||||
sld.put(PART_REG, imp.sezione());
|
||||
sld.put(PART_IMPOSTA, imp.valore());
|
||||
sld = _part.key(); // Copia conto, anno e numero partita
|
||||
sld.put(PART_NRIGA, (int)UNASSIGNED); // Assegna magic line number
|
||||
sld.put(PART_SEZ, saldo.sezione()); // Sezione saldo
|
||||
sld.put(PART_IMPORTO, saldo.valore()); // Saldo
|
||||
sld.put(PART_SEZABB, doc.sezione()); // Sezione documenti
|
||||
sld.put(PART_ABBUONI, doc.valore()); // Documenti
|
||||
sld.put(PART_SEZDIFCAM, pag.sezione()); // Sezione pagamenti
|
||||
sld.put(PART_DIFFCAM, pag.valore()); // Pagamenti
|
||||
sld.put(PART_REG, imp.sezione()); // Sezione altri importi
|
||||
sld.put(PART_IMPOSTA, imp.valore()); // Altri importi
|
||||
|
||||
int r = prima_fattura();
|
||||
if (r <=0 ) r = first();
|
||||
int r = prima_fattura(); // Cerca la prima fattura ...
|
||||
if (r <= 0) r = first(); // ... o la prima riga valida
|
||||
const TRiga_partite& row = riga(r);
|
||||
sld.put(PART_NUMDOC, row.get(PART_NUMDOC));
|
||||
|
||||
sld.put(PART_NUMDOC, row.get(PART_NUMDOC)); // Copia estremi documento
|
||||
sld.put(PART_DATADOC, row.get(PART_DATADOC));
|
||||
sld.put(PART_DESCR, row.get(PART_DESCR));
|
||||
|
||||
const TValuta valuta(row); // Copia la valuta
|
||||
valuta.put(sld);
|
||||
|
||||
sld.put(PART_CHIUSA, row.get(PART_CHIUSA)); // Copia il flag di chiusura
|
||||
|
||||
if (rec != NULL)
|
||||
*rec = sld;
|
||||
|
||||
// Scrittura del record di saldo
|
||||
int err = re ? part.rewrite() : part.write();
|
||||
if (err != NOERR)
|
||||
err = re ? part.write() : part.rewrite();
|
||||
@ -1081,20 +1088,25 @@ int TPartita::read_saldo(TRectype& riga,
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
bool TPartita::write(bool re) const
|
||||
{
|
||||
if (ok())
|
||||
{
|
||||
for (int r = last(); r > 0; r = pred(r))
|
||||
{
|
||||
TRiga_partite& row = riga(r);
|
||||
if (row.get(PART_GRUPPOCL).empty())
|
||||
{
|
||||
((TPartita*)this)->chiusa(TRUE); // Aggiorna flag di chiusura (non si sa mai)
|
||||
|
||||
if (conto().tipo() > ' ')
|
||||
{
|
||||
// Aggiunge conti cliente/fornitore mancanti
|
||||
for (int r = last(); r > 0; r = pred(r))
|
||||
{
|
||||
row.put(PART_GRUPPOCL, conto().gruppo());
|
||||
row.put(PART_CONTOCL, conto().conto());
|
||||
}
|
||||
}
|
||||
TRiga_partite& row = riga(r);
|
||||
if (row.get(PART_GRUPPOCL).empty())
|
||||
{
|
||||
row.put(PART_GRUPPOCL, conto().gruppo());
|
||||
row.put(PART_CONTOCL, conto().conto());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const char cur_align = allineamento_corrente();
|
||||
const char req_align = allineamento_richiesto(conto().tipo());
|
||||
@ -1486,27 +1498,28 @@ bool TPartita::modifica_pagamento(const TRectype& new_pag, const TValuta& valuta
|
||||
}
|
||||
|
||||
|
||||
bool TPartita::chiusa(bool update)
|
||||
bool TPartita::chiusa(bool update) const
|
||||
{
|
||||
bool chiusa = FALSE;
|
||||
|
||||
bool chiusa = TRUE;
|
||||
const int ultima = last();
|
||||
if (ultima > 0)
|
||||
{
|
||||
const TRiga_partite& row = riga(ultima);
|
||||
chiusa = row.get_bool(PART_CHIUSA);
|
||||
}
|
||||
|
||||
if (update)
|
||||
{
|
||||
const TImporto saldo = calcola_saldo(TRUE); // Saldo in valuta
|
||||
chiusa = saldo.is_zero();
|
||||
for (int p = last(); p > 0; p = pred(p))
|
||||
for (int p = ultima; p > 0; p = pred(p))
|
||||
{
|
||||
TRiga_partite& part = riga(p);
|
||||
part.put(PART_CHIUSA, chiusa);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ultima > 0)
|
||||
{
|
||||
const TRiga_partite& row = riga(ultima);
|
||||
chiusa = row.get_bool(PART_CHIUSA);
|
||||
}
|
||||
}
|
||||
|
||||
return chiusa;
|
||||
}
|
||||
|
@ -284,7 +284,7 @@ public:
|
||||
bool utilizzata(int r) const; // Controlla se esistono pagamenti sommati alla riga r
|
||||
TRecord_array& unassigned() { return _unassigned; }
|
||||
|
||||
bool chiusa(bool update = FALSE);
|
||||
bool chiusa(bool update = FALSE) const;
|
||||
|
||||
const TBill& conto() const { return _conto; }
|
||||
int anno() const { return _anno; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user