diff --git a/src/m770/770100.cpp b/src/m770/770100.cpp index bcbe92312..92124b0f0 100755 --- a/src/m770/770100.cpp +++ b/src/m770/770100.cpp @@ -674,7 +674,7 @@ bool TSchedaPercipienti::user_create() HR("@1|Data@11|Compenso@16|Ritenuta@16|"), 0, NULL_WIN, 5); - set_search_field(F_CODANAGRPERC); + set_search_field(H_NPROG); // simulo una chiamata da contabilità (lo lascio per eventuali prove) /* real totdocla = 1000000; @@ -1764,11 +1764,11 @@ Pag_struct& TSchedaPercipienti::from_sheet_to_struct(TToken_string& t, Pag_struc if ((pos = token_pos("COD10")) != -1) s.cod10 = t.get(pos); - // set imorti restituiti al netto della ritenuta + // set importi restituiti al netto della ritenuta if ((pos = token_pos("SPESERIMB")) != -1) s.speserimb = t.get_real(pos); - // set imorti restituiti al netto della ritenuta + // set importi restituiti al netto della ritenuta if ((pos = token_pos("RITRIMB")) != -1) s.ritrimb = t.get_real(pos); diff --git a/src/m770/770100a.h b/src/m770/770100a.h index 1a901e21c..670f3b652 100755 --- a/src/m770/770100a.h +++ b/src/m770/770100a.h @@ -6,6 +6,7 @@ #define F_TIPOA 151 #define F_CODANAGR 152 #define F_NPROG 153 +#define H_NPROG 154 // m70100a #define F_RAGDITTA 200 diff --git a/src/m770/770100a.uml b/src/m770/770100a.uml index 9bed912ec..ed6d5e5d0 100755 --- a/src/m770/770100a.uml +++ b/src/m770/770100a.uml @@ -171,7 +171,6 @@ BEGIN GROUP 1 END - NUMBER F_NPROG 6 BEGIN PROMPT 1 11 "@bScheda numero " @@ -199,6 +198,37 @@ BEGIN OUTPUT F_NPROG NPROG END +NUMBER H_NPROG 6 +BEGIN + PROMPT 30 11 " " + CHECKTYPE NORMAL + FLAGS "DG" + USE LF_SCPERC + JOIN LF_ANAG INTO TIPOA=TIPOA CODANAGR=CODANAGR + JOIN %CA7 INTO CODTAB=CODCAUS + INPUT CODDITTA F_CODDITTA + INPUT TIPOA F_TIPOA + INPUT CODANAGR F_CODANAGR + INPUT NPROG H_NPROG + DISPLAY "Tipo" TIPOA + DISPLAY "Codice" CODANAGR + DISPLAY "Denominazione@50" LF_ANAG->RAGSOC + DISPLAY "Numero@7" NPROG + DISPLAY "Data\nDocumento@10" DATADOC + DISPLAY "Numero\nDocumento@8" NUMDOC + DISPLAY "Causale" CODCAUS + DISPLAY "Quadro" %CA7->S1 + DISPLAY "Causale\nQuadro@6" CAUSQUA + DISPLAY "Ritenute\noperate@15V" RITOPE + DISPLAY "Ritenute\nversate@15V" RITVER + DISPLAY "Compenso@15V" COMPENSO + + OUTPUT F_TIPOA TIPOA + OUTPUT F_CODANAGR CODANAGR + OUTPUT H_NPROG NPROG + OUTPUT F_NPROG NPROG +END + BUTTON F_GESTPERC 28 2 BEGIN PROMPT -12 -1 "Fatture da ricevere" diff --git a/src/m770/770100f.uml b/src/m770/770100f.uml index 46532ab1f..7a18b12bb 100755 --- a/src/m770/770100f.uml +++ b/src/m770/770100f.uml @@ -136,8 +136,8 @@ BEGIN ITEM "B|redditi assoggettati in parte al contributo 10%" ITEM "C|redditi non assoggettati al contributo 10%" OUTPUT 111 - FIELD LF_RPAG->COD10 - VALIDATE REQIF_FUNC 3 101 102 103 +// FIELD LF_RPAG->COD10 +// VALIDATE REQIF_FUNC 3 101 102 103 WARNING "Il codice contributo Inps deve essere indicato" END diff --git a/src/m770/770102.cpp b/src/m770/770102.cpp index 120ad3eb7..52c8c2bab 100755 --- a/src/m770/770102.cpp +++ b/src/m770/770102.cpp @@ -1,7 +1,8 @@ #include "770100a.h" #include "770101.h" #include "770102.h" -#include +#include +#include void TSchedaPercipienti::init_mask(TMask& m, bool inserimento) { @@ -117,23 +118,37 @@ bool TSchedaPercipienti::vers_notify(TSheet_field& s, int r, KEY k) bool TSchedaPercipienti::pags_notify(TSheet_field& s, int r, KEY k) { - switch(k) - { - - // Inserimento riga - case K_INS: - // Impedisce inserimento di nuove righe - return FALSE; + switch (k) + { - // Inizio modifica riga - case K_SPACE: - { - break; - } + // Inserimento riga + case K_INS: + // Impedisce inserimento di nuove righe + return FALSE; - // Fine modifica di una riga - case K_ENTER: - break; + // Inizio modifica riga + case K_SPACE: + { + break; + } + + // Fine modifica di una riga + case K_ENTER: + { + TEdit_field & fld = s.mask().efield(F_CODCAUS); + TMask & row_mask = s.sheet_mask(); + const TRectype & ca7 = cache().get("%CA7", fld.get()); + + if (ca7.get_bool("B4") == false && row_mask.get(111).blank()) + { + row_mask.set(111, "C"); + s.set_row_cell(111, "C", s.selected()); + } + if (row_mask.get(101).full() && (row_mask.get(102).full() || row_mask.get(111).blank()) && + row_mask.get(111).blank()) + return error_box("Il codice contributo Inps deve essere indicato"); + } + break; default: break;