Correzione di valanghe di errori
git-svn-id: svn://10.65.10.50/trunk@425 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
57dc5f4f18
commit
41ce0a9012
586
cg/cg0500a.uml
586
cg/cg0500a.uml
@ -1,293 +1,293 @@
|
||||
#include "cg0500.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "" -1 -1 77 20
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
END
|
||||
|
||||
STRING F_COD_CAUS 3
|
||||
BEGIN
|
||||
PROMPT 3 1 "Codice "
|
||||
FIELD LF_CAUSALI->CODCAUS
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_COD_CAUS
|
||||
DISPLAY "Cod. causale" CODCAUS
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
DISPLAY "Tipo documento" TIPODOC
|
||||
DISPLAY "Codice registro" REG
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
OUTPUT F_COD_CAUS CODCAUS
|
||||
OUTPUT F_DESCR DESCR
|
||||
HELP "Codice causale"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCR 40
|
||||
BEGIN
|
||||
PROMPT 17 1 "Descrizione "
|
||||
FIELD LF_CAUSALI->DESCR
|
||||
COPY USE F_COD_CAUS
|
||||
INPUT CODCAUS F_COD_CAUS
|
||||
INPUT DESCR F_DESCR
|
||||
DISPLAY "Cod. causale" CODCAUS
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
DISPLAY "Tipo documento" TIPODOC
|
||||
DISPLAY "Codice registro" REG
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
OUTPUT F_COD_CAUS CODCAUS
|
||||
OUTPUT F_DESCR DESCR
|
||||
HELP "Descrizione della causale"
|
||||
END
|
||||
|
||||
STRING F_TIPO_DOC 2
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo doc. "
|
||||
FIELD LF_CAUSALI->TIPODOC
|
||||
FLAGS "U"
|
||||
USE %TPD
|
||||
INPUT CODTAB F_TIPO_DOC
|
||||
DISPLAY "Tipo " CODTAB
|
||||
DISPLAY "Descrizione @50 " S0
|
||||
OUTPUT F_TIPO_DOC CODTAB
|
||||
HELP "Tipo documento"
|
||||
CHECKTYPE NORMAL
|
||||
// MESSAGE SHOW, 2@
|
||||
// MESSAGE EMPTY HIDE, 2@
|
||||
END
|
||||
|
||||
STRING F_COD_REG 3
|
||||
BEGIN
|
||||
PROMPT 23 4 "Cod. reg. "
|
||||
FIELD LF_CAUSALI->REG
|
||||
USE REG
|
||||
INPUT CODTAB[1,4] F_ANNOES
|
||||
INPUT CODTAB[5,7] F_COD_REG
|
||||
DISPLAY "Anno" CODTAB[1,4]
|
||||
DISPLAY "Codice registro " CODTAB[5,7]
|
||||
DISPLAY "Tipo" I0
|
||||
DISPLAY "Registro corrispettivi" B0
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT F_ANNOES CODTAB[1,4]
|
||||
OUTPUT F_COD_REG CODTAB[5,7]
|
||||
OUTPUT F_TIPO_REG I0
|
||||
OUTPUT F_CORRISP B0
|
||||
HELP "Inserire il codice registro"
|
||||
WARNING "Non trovo il registro"
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "DU"
|
||||
END
|
||||
|
||||
// Questo rimane sempre nascosto
|
||||
STRING F_TIPO_MOV 2
|
||||
BEGIN
|
||||
PROMPT 68 4 ""
|
||||
FIELD LF_CAUSALI->TIPOMOV
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
// Viene mostrato questo se TPD non vuoto e diverso da IN AN PG
|
||||
LISTBOX F_TIPO_MOV_1 1 20
|
||||
BEGIN
|
||||
PROMPT 44 4 "Tipo mov. "
|
||||
FIELD LF_CAUSALI->TIPOMOV
|
||||
HELP "Tipo movimento"
|
||||
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV
|
||||
// GROUP 2
|
||||
END
|
||||
|
||||
// Viene mostrato questo se TPD vuoto o uguale a IN AN PG
|
||||
LISTBOX F_TIPO_MOV_2 1 20
|
||||
BEGIN
|
||||
PROMPT 44 4 "Tipo mov. "
|
||||
FIELD LF_CAUSALI->TIPOMOV
|
||||
HELP "Inserire il tipo movimento"
|
||||
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_ANNOES 4
|
||||
BEGIN
|
||||
PROMPT 2 6 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_TIPO_REG 4
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BOOLEAN F_CORRISP
|
||||
BEGIN
|
||||
PROMPT 33 5 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SHEET_GCS
|
||||
BEGIN
|
||||
PROMPT 0 7 ""
|
||||
ITEM "Tipo conto@21"
|
||||
ITEM "C/F"
|
||||
ITEM "Gr.@3"
|
||||
ITEM "Co.@3"
|
||||
ITEM "Sottoc.@6"
|
||||
ITEM "D/A@1"
|
||||
ITEM "Descrizione conto@50"
|
||||
ITEM "Descr. agg.@5"
|
||||
ITEM "Iva"
|
||||
ITEM "Cod.Iva@4"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "" -1 -1 77 20
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 "@BCampi obbligatori in immissione documenti"
|
||||
END
|
||||
|
||||
BOOLEAN F_DATA_DOC
|
||||
BEGIN
|
||||
PROMPT 2 1 "Data documento"
|
||||
FIELD LF_CAUSALI->DATADOC
|
||||
HELP ""
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
BOOLEAN F_NUM_DOC
|
||||
BEGIN
|
||||
PROMPT 34 1 "Numero documento"
|
||||
FIELD LF_CAUSALI->NUMDOC
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
BOOLEAN F_AUTO_FAT
|
||||
BEGIN
|
||||
PROMPT 2 4 "Autofattura art.34"
|
||||
FIELD LF_CAUSALI->AUTOFATT
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_ALLEGAT
|
||||
BEGIN
|
||||
PROMPT 34 4 "Doc. non va in allegati fine anno"
|
||||
FIELD LF_CAUSALI->ALLEG
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_FAT_RITARDO
|
||||
BEGIN
|
||||
PROMPT 2 6 "Fattura in ritardo"
|
||||
FIELD LF_CAUSALI->RITFATT
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_COD_CAUS_IM 3
|
||||
BEGIN
|
||||
PROMPT 34 6 "Codice causale per l'incasso immediato "
|
||||
FLAGS "U"
|
||||
FIELD LF_CAUSALI->CODCAUSIM
|
||||
COPY USE F_COD_CAUS
|
||||
INPUT CODCAUS F_COD_CAUS_IM
|
||||
COPY DISPLAY F_COD_CAUS
|
||||
OUTPUT F_COD_CAUS_IM CODCAUS
|
||||
CHECKTYPE NORMAL
|
||||
// MESSAGE CLEAR, F_M_770
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_OP_INTRACOM
|
||||
BEGIN
|
||||
PROMPT 2 8 "Operazione intracomunitaria"
|
||||
FIELD LF_CAUSALI->INTRACOM
|
||||
// MESSAGE TRUE "X", F_MOV_VALU | DISABLE, F_MOV_VALU
|
||||
// MESSAGE FALSE "", F_MOV_VALU | ENABLE, F_MOV_VALU
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_VALINTRA
|
||||
BEGIN
|
||||
PROMPT 34 8 "Gestione valuta per operazioni intrac."
|
||||
FIELD LF_CAUSALI->VALINTRA
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_MOV_VALU
|
||||
BEGIN
|
||||
PROMPT 2 10 "Movimento in valuta"
|
||||
FIELD LF_CAUSALI->MOVVAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_MOV_SEZ
|
||||
BEGIN
|
||||
PROMPT 34 10 "Movimento solo sezionale"
|
||||
FIELD LF_CAUSALI->MOVSEZ
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
LISTBOX F_OP_FINE_ANNO 1 10
|
||||
BEGIN
|
||||
PROMPT 2 12 "Operazioni di fine anno "
|
||||
ITEM " | "
|
||||
ITEM "C|Chiusura"
|
||||
ITEM "A|Apertura"
|
||||
FIELD LF_CAUSALI->MOVAP
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
|
||||
LISTBOX F_COLL_CESP 1 40
|
||||
BEGIN
|
||||
PROMPT 2 14 "Collegamento cespiti "
|
||||
FIELD LF_CAUSALI->COLLCESP
|
||||
HELP "Inserire il tipo di collegamento cespiti"
|
||||
ITEM " |Nessuno"
|
||||
ITEM "A|Acquisto cespite"
|
||||
ITEM "B|Rettifica acquisto"
|
||||
ITEM "C|Sostenimento costi"
|
||||
ITEM "E|Eliminazione dal processo produttivo"
|
||||
ITEM "M|Rivalutazione monetaria"
|
||||
ITEM "P|Reinvestimento plusvalenze"
|
||||
ITEM "R|Rivalutazione economica"
|
||||
ITEM "T|Trasferimento"
|
||||
ITEM "V|Vendita cespite"
|
||||
ITEM "Z|Rettifica vendita"
|
||||
END
|
||||
|
||||
LISTBOX F_M_770 1 40
|
||||
BEGIN
|
||||
PROMPT 2 16 "Collegamento Mod.770 "
|
||||
FIELD LF_CAUSALI->M770
|
||||
HELP "Inserire il tipo di collegamento Mod.770"
|
||||
ITEM " |Nessuno" // MESSAGE ENABLE,F_COD_CAUS_IM
|
||||
ITEM "1|Ricevuta e/o pagamento fattura percip." // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "2|Versamento ritenute percip." // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "3|Versamento ritenute dipendente" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "4|Versamento contributi dipendente" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "5|Compensi non soggetti" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "6|Ritenute per operazioni occasionali" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
#include "cg0500b.uml"
|
||||
#include "cg0500.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "" -1 -1 77 20
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
END
|
||||
|
||||
STRING F_COD_CAUS 3
|
||||
BEGIN
|
||||
PROMPT 3 1 "Codice "
|
||||
FIELD LF_CAUSALI->CODCAUS
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_COD_CAUS
|
||||
DISPLAY "Cod. causale" CODCAUS
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
DISPLAY "Tipo documento" TIPODOC
|
||||
DISPLAY "Codice registro" REG
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
OUTPUT F_COD_CAUS CODCAUS
|
||||
OUTPUT F_DESCR DESCR
|
||||
HELP "Codice causale"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCR 40
|
||||
BEGIN
|
||||
PROMPT 17 1 "Descrizione "
|
||||
FIELD LF_CAUSALI->DESCR
|
||||
COPY USE F_COD_CAUS
|
||||
INPUT CODCAUS F_COD_CAUS
|
||||
INPUT DESCR F_DESCR
|
||||
DISPLAY "Cod. causale" CODCAUS
|
||||
DISPLAY "Descrizione @50" DESCR
|
||||
DISPLAY "Tipo documento" TIPODOC
|
||||
DISPLAY "Codice registro" REG
|
||||
DISPLAY "Tipo movimento" TIPOMOV
|
||||
OUTPUT F_COD_CAUS CODCAUS
|
||||
OUTPUT F_DESCR DESCR
|
||||
HELP "Descrizione della causale"
|
||||
END
|
||||
|
||||
STRING F_TIPO_DOC 2
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo doc. "
|
||||
FIELD LF_CAUSALI->TIPODOC
|
||||
FLAGS "U"
|
||||
USE %TPD
|
||||
INPUT CODTAB F_TIPO_DOC
|
||||
DISPLAY "Tipo " CODTAB
|
||||
DISPLAY "Descrizione @50 " S0
|
||||
OUTPUT F_TIPO_DOC CODTAB
|
||||
HELP "Tipo documento"
|
||||
CHECKTYPE NORMAL
|
||||
// MESSAGE SHOW, 2@
|
||||
// MESSAGE EMPTY HIDE, 2@
|
||||
END
|
||||
|
||||
STRING F_COD_REG 3
|
||||
BEGIN
|
||||
PROMPT 23 4 "Cod. reg. "
|
||||
FIELD LF_CAUSALI->REG
|
||||
USE REG
|
||||
INPUT CODTAB[1,4] F_ANNOES
|
||||
INPUT CODTAB[5,7] F_COD_REG
|
||||
DISPLAY "Anno" CODTAB[1,4]
|
||||
DISPLAY "Codice registro " CODTAB[5,7]
|
||||
DISPLAY "Tipo" I0
|
||||
DISPLAY "Registro corrispettivi" B0
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT F_ANNOES CODTAB[1,4]
|
||||
OUTPUT F_COD_REG CODTAB[5,7]
|
||||
OUTPUT F_TIPO_REG I0
|
||||
OUTPUT F_CORRISP B0
|
||||
HELP "Inserire il codice registro"
|
||||
WARNING "Non trovo il registro"
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "DU"
|
||||
END
|
||||
|
||||
// Questo rimane sempre nascosto
|
||||
STRING F_TIPO_MOV 2
|
||||
BEGIN
|
||||
PROMPT 68 4 ""
|
||||
FIELD LF_CAUSALI->TIPOMOV
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
// Viene mostrato questo se TPD non vuoto e diverso da IN AN PG
|
||||
LISTBOX F_TIPO_MOV_1 1 20
|
||||
BEGIN
|
||||
PROMPT 44 4 "Tipo mov. "
|
||||
FIELD LF_CAUSALI->TIPOMOV
|
||||
HELP "Tipo movimento"
|
||||
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV
|
||||
// GROUP 2
|
||||
END
|
||||
|
||||
// Viene mostrato questo se TPD vuoto o uguale a IN AN PG
|
||||
LISTBOX F_TIPO_MOV_2 1 20
|
||||
BEGIN
|
||||
PROMPT 44 4 "Tipo mov. "
|
||||
FIELD LF_CAUSALI->TIPOMOV
|
||||
HELP "Inserire il tipo movimento"
|
||||
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV
|
||||
ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_ANNOES 4
|
||||
BEGIN
|
||||
PROMPT 2 6 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_TIPO_REG 4
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BOOLEAN F_CORRISP
|
||||
BEGIN
|
||||
PROMPT 33 5 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SHEET_GCS
|
||||
BEGIN
|
||||
PROMPT 0 7 ""
|
||||
ITEM "Tipo conto@21F"
|
||||
ITEM "C/F"
|
||||
ITEM "Gr.@3"
|
||||
ITEM "Co.@3"
|
||||
ITEM "Sottoc.@6"
|
||||
ITEM "D/A@1"
|
||||
ITEM "Descrizione conto@50"
|
||||
ITEM "Descr. agg.@5"
|
||||
ITEM "Iva"
|
||||
ITEM "Cod.Iva@4"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "" -1 -1 77 20
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 0 "@BCampi obbligatori in immissione documenti"
|
||||
END
|
||||
|
||||
BOOLEAN F_DATA_DOC
|
||||
BEGIN
|
||||
PROMPT 2 1 "Data documento"
|
||||
FIELD LF_CAUSALI->DATADOC
|
||||
HELP ""
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
BOOLEAN F_NUM_DOC
|
||||
BEGIN
|
||||
PROMPT 34 1 "Numero documento"
|
||||
FIELD LF_CAUSALI->NUMDOC
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
BOOLEAN F_AUTO_FAT
|
||||
BEGIN
|
||||
PROMPT 2 4 "Autofattura art.34"
|
||||
FIELD LF_CAUSALI->AUTOFATT
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_ALLEGAT
|
||||
BEGIN
|
||||
PROMPT 34 4 "Doc. non va in allegati fine anno"
|
||||
FIELD LF_CAUSALI->ALLEG
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_FAT_RITARDO
|
||||
BEGIN
|
||||
PROMPT 2 6 "Fattura in ritardo"
|
||||
FIELD LF_CAUSALI->RITFATT
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_COD_CAUS_IM 3
|
||||
BEGIN
|
||||
PROMPT 34 6 "Codice causale per l'incasso immediato "
|
||||
FLAGS "U"
|
||||
FIELD LF_CAUSALI->CODCAUSIM
|
||||
COPY USE F_COD_CAUS
|
||||
INPUT CODCAUS F_COD_CAUS_IM
|
||||
COPY DISPLAY F_COD_CAUS
|
||||
OUTPUT F_COD_CAUS_IM CODCAUS
|
||||
CHECKTYPE NORMAL
|
||||
// MESSAGE CLEAR, F_M_770
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_OP_INTRACOM
|
||||
BEGIN
|
||||
PROMPT 2 8 "Operazione intracomunitaria"
|
||||
FIELD LF_CAUSALI->INTRACOM
|
||||
// MESSAGE TRUE "X", F_MOV_VALU | DISABLE, F_MOV_VALU
|
||||
// MESSAGE FALSE "", F_MOV_VALU | ENABLE, F_MOV_VALU
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_VALINTRA
|
||||
BEGIN
|
||||
PROMPT 34 8 "Gestione valuta per operazioni intrac."
|
||||
FIELD LF_CAUSALI->VALINTRA
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_MOV_VALU
|
||||
BEGIN
|
||||
PROMPT 2 10 "Movimento in valuta"
|
||||
FIELD LF_CAUSALI->MOVVAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_MOV_SEZ
|
||||
BEGIN
|
||||
PROMPT 34 10 "Movimento solo sezionale"
|
||||
FIELD LF_CAUSALI->MOVSEZ
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
LISTBOX F_OP_FINE_ANNO 1 10
|
||||
BEGIN
|
||||
PROMPT 2 12 "Operazioni di fine anno "
|
||||
ITEM " | "
|
||||
ITEM "C|Chiusura"
|
||||
ITEM "A|Apertura"
|
||||
FIELD LF_CAUSALI->MOVAP
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
|
||||
LISTBOX F_COLL_CESP 1 40
|
||||
BEGIN
|
||||
PROMPT 2 14 "Collegamento cespiti "
|
||||
FIELD LF_CAUSALI->COLLCESP
|
||||
HELP "Inserire il tipo di collegamento cespiti"
|
||||
ITEM " |Nessuno"
|
||||
ITEM "A|Acquisto cespite"
|
||||
ITEM "B|Rettifica acquisto"
|
||||
ITEM "C|Sostenimento costi"
|
||||
ITEM "E|Eliminazione dal processo produttivo"
|
||||
ITEM "M|Rivalutazione monetaria"
|
||||
ITEM "P|Reinvestimento plusvalenze"
|
||||
ITEM "R|Rivalutazione economica"
|
||||
ITEM "T|Trasferimento"
|
||||
ITEM "V|Vendita cespite"
|
||||
ITEM "Z|Rettifica vendita"
|
||||
END
|
||||
|
||||
LISTBOX F_M_770 1 40
|
||||
BEGIN
|
||||
PROMPT 2 16 "Collegamento Mod.770 "
|
||||
FIELD LF_CAUSALI->M770
|
||||
HELP "Inserire il tipo di collegamento Mod.770"
|
||||
ITEM " |Nessuno" // MESSAGE ENABLE,F_COD_CAUS_IM
|
||||
ITEM "1|Ricevuta e/o pagamento fattura percip." // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "2|Versamento ritenute percip." // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "3|Versamento ritenute dipendente" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "4|Versamento contributi dipendente" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "5|Compensi non soggetti" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
ITEM "6|Ritenute per operazioni occasionali" // MESSAGE CLEAR,F_COD_CAUS_IM
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
#include "cg0500b.uml"
|
||||
|
490
cg/cg0500b.uml
490
cg/cg0500b.uml
@ -1,245 +1,245 @@
|
||||
#include "cg0500.h"
|
||||
|
||||
PAGE "" -1 -1 68 11
|
||||
|
||||
STRING 101 22
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tipo "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LISTBOX 102 1 11
|
||||
BEGIN
|
||||
PROMPT 33 1 "C/F "
|
||||
ITEM " |Conto" MESSAGE SHOW,105|HIDE,205|HIDE,305|SHOW,107|HIDE,207|HIDE,307
|
||||
ITEM "C|Cliente" MESSAGE SHOW,205|HIDE,105|HIDE,305|SHOW,207|HIDE,107|HIDE,307
|
||||
ITEM "F|Fornitore" MESSAGE SHOW,305|HIDE,105|HIDE,205|SHOW,307|HIDE,107|HIDE,207
|
||||
FLAGS "DGU"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER 103 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Gruppo "
|
||||
FIELD LF_RCAUSALI->GRUPPO
|
||||
USE LF_PCON KEY 1 SELECT (CONTO="")
|
||||
INPUT GRUPPO 103
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo C/F" TMCF
|
||||
CHECKTYPE NORMAL
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
// OUTPUT 102 TMCF
|
||||
WARNING "Gruppo assente"
|
||||
// CHECKTYPE REQUIRED
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
NUMBER 104 3
|
||||
BEGIN
|
||||
PROMPT 15 3 "Conto "
|
||||
FIELD LF_RCAUSALI->CONTO
|
||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO=""
|
||||
INPUT GRUPPO 103
|
||||
INPUT CONTO 104
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo C/F" TMCF
|
||||
CHECKTYPE NORMAL
|
||||
OUTPUT 102 TMCF
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
MESSAGE DIRTY,105|DIRTY,205|DIRTY,305
|
||||
WARNING "Conto inesistente o mancante"
|
||||
ADD RUN CG0 -0
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Sottoconto NORMALE
|
||||
NUMBER 105 6
|
||||
BEGIN
|
||||
PROMPT 29 3 "Sottoconto "
|
||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||
USE LF_PCON
|
||||
INPUT GRUPPO 103
|
||||
INPUT CONTO 104
|
||||
INPUT SOTTOCONTO 105
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo C/F" TMCF
|
||||
OUTPUT 105 SOTTOCONTO
|
||||
OUTPUT 102 TMCF
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN CG0 -0
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Inserire il sottoconto"
|
||||
WARNING "Sottoconto inesistente"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
|
||||
// Sottoconto CLIENTI
|
||||
NUMBER 205 6
|
||||
BEGIN
|
||||
PROMPT 29 3 "Cliente "
|
||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 205
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
DISPLAY "Ragione sociale cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 205 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Sottoconto FORNITORI
|
||||
NUMBER 305 6
|
||||
BEGIN
|
||||
PROMPT 29 3 "Fornitore "
|
||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 305
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
DISPLAY "Ragione sociale fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 305 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTBOX 106 5
|
||||
BEGIN
|
||||
PROMPT 51 3 "Sezione "
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
FIELD LF_RCAUSALI->SEZIONE
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
// Descrizione normale
|
||||
STRING 107 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Descrizione "
|
||||
FIELD LF_RCAUSALI->DESC
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR 107
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
OUTPUT 105 SOTTOCONTO
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN CG0 -0
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Descrizione CLIENTE
|
||||
STRING 207 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Rag.sociale "
|
||||
FIELD LF_RCAUSALI->DESC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 205
|
||||
DISPLAY "Tipo C/F" TIPOCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
OUTPUT 205 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Descrizione FORNITORE
|
||||
STRING 307 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Rag.sociale "
|
||||
FIELD LF_RCAUSALI->DESC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 305
|
||||
DISPLAY "Tipo C/F" TIPOCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
OUTPUT 305 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 108 3
|
||||
BEGIN
|
||||
PROMPT 1 7 "Descrizione aggiuntiva "
|
||||
FIELD LF_RCAUSALI->CODDESC
|
||||
USE %DPN
|
||||
INPUT CODTAB 108
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT 108 CODTAB
|
||||
FLAGS "R"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN 109
|
||||
BEGIN
|
||||
PROMPT 34 7 "Riga iva "
|
||||
FIELD LF_RCAUSALI->RIGAIVA
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING 110 4
|
||||
BEGIN
|
||||
USE %IVA
|
||||
PROMPT 48 7 "Codice iva "
|
||||
INPUT CODTAB 110
|
||||
FIELD LF_RCAUSALI->CODIVA
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT 110 CODTAB
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 "Azzera"
|
||||
MESSAGE RESET,1@
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "cg0500.h"
|
||||
|
||||
PAGE "" -1 -1 68 11
|
||||
|
||||
STRING 101 22
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tipo "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LISTBOX 102 1 11
|
||||
BEGIN
|
||||
PROMPT 33 1 "C/F "
|
||||
ITEM " |Conto" MESSAGE SHOW,105|HIDE,205|HIDE,305|SHOW,107|HIDE,207|HIDE,307
|
||||
ITEM "C|Cliente" MESSAGE SHOW,205|HIDE,105|HIDE,305|SHOW,207|HIDE,107|HIDE,307
|
||||
ITEM "F|Fornitore" MESSAGE SHOW,305|HIDE,105|HIDE,205|SHOW,307|HIDE,107|HIDE,207
|
||||
FLAGS "DGU"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER 103 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "Gruppo "
|
||||
FIELD LF_RCAUSALI->GRUPPO
|
||||
USE LF_PCON KEY 1 SELECT (CONTO="")
|
||||
INPUT GRUPPO 103
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo C/F" TMCF
|
||||
CHECKTYPE NORMAL
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
// OUTPUT 102 TMCF
|
||||
WARNING "Gruppo assente"
|
||||
// CHECKTYPE REQUIRED
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
NUMBER 104 3
|
||||
BEGIN
|
||||
PROMPT 15 3 "Conto "
|
||||
FIELD LF_RCAUSALI->CONTO
|
||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO=""
|
||||
INPUT GRUPPO 103
|
||||
INPUT CONTO 104
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo C/F" TMCF
|
||||
CHECKTYPE NORMAL
|
||||
OUTPUT 102 TMCF
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
MESSAGE DIRTY,105|DIRTY,205|DIRTY,305
|
||||
WARNING "Conto inesistente o mancante"
|
||||
ADD RUN CG0 -0
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Sottoconto NORMALE
|
||||
NUMBER 105 6
|
||||
BEGIN
|
||||
PROMPT 29 3 "Sottoconto "
|
||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||
USE LF_PCON
|
||||
INPUT GRUPPO 103
|
||||
INPUT CONTO 104
|
||||
INPUT SOTTOCONTO 105
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo C/F" TMCF
|
||||
OUTPUT 105 SOTTOCONTO
|
||||
OUTPUT 102 TMCF
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN CG0 -0
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Inserire il sottoconto"
|
||||
WARNING "Sottoconto inesistente"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
|
||||
// Sottoconto CLIENTI
|
||||
NUMBER 205 6
|
||||
BEGIN
|
||||
PROMPT 29 3 "Cliente "
|
||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 205
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
DISPLAY "Ragione sociale cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 205 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Sottoconto FORNITORI
|
||||
NUMBER 305 6
|
||||
BEGIN
|
||||
PROMPT 29 3 "Fornitore "
|
||||
FIELD LF_RCAUSALI->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 305
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
DISPLAY "Ragione sociale fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 305 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN CG0 -1
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTBOX 106 5
|
||||
BEGIN
|
||||
PROMPT 51 3 "Sezione "
|
||||
ITEM " | "
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
FIELD LF_RCAUSALI->SEZIONE
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
// Descrizione normale
|
||||
STRING 107 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Descrizione "
|
||||
FIELD LF_RCAUSALI->DESC
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR 107
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
OUTPUT 105 SOTTOCONTO
|
||||
OUTPUT 104 CONTO
|
||||
OUTPUT 103 GRUPPO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN CG0 -0
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Descrizione CLIENTE
|
||||
STRING 207 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Rag.sociale "
|
||||
FIELD LF_RCAUSALI->DESC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 205
|
||||
DISPLAY "Tipo C/F" TIPOCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
OUTPUT 205 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
// Descrizione FORNITORE
|
||||
STRING 307 50
|
||||
BEGIN
|
||||
PROMPT 1 5 "Rag.sociale "
|
||||
FIELD LF_RCAUSALI->DESC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 305
|
||||
DISPLAY "Tipo C/F" TIPOCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" CODCF
|
||||
OUTPUT 305 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 108 3
|
||||
BEGIN
|
||||
PROMPT 1 7 "Descrizione aggiuntiva "
|
||||
FIELD LF_RCAUSALI->CODDESC
|
||||
USE %DPN
|
||||
INPUT CODTAB 108
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT 108 CODTAB
|
||||
FLAGS "R"
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN 109
|
||||
BEGIN
|
||||
PROMPT 34 7 "Riga iva "
|
||||
FIELD LF_RCAUSALI->RIGAIVA
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING 110 4
|
||||
BEGIN
|
||||
USE %IVA
|
||||
PROMPT 48 7 "Codice iva "
|
||||
INPUT CODTAB 110
|
||||
FIELD LF_RCAUSALI->CODIVA
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione @50" S0
|
||||
OUTPUT 110 CODTAB
|
||||
FLAGS "D"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 "Azzera"
|
||||
MESSAGE RESET,1@
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
201
cg/cg2100.cpp
201
cg/cg2100.cpp
@ -76,8 +76,8 @@ TMask* TPrimanota_application::load_mask(int n)
|
||||
ism.set_handler(102, codiva_handler);
|
||||
ism.set_handler(104, imposta_handler);
|
||||
ism.set_handler(109, suspended_handler);
|
||||
ism.set_handler(209, suspended_handler);
|
||||
ism.set_handler(309, suspended_handler);
|
||||
ism.set_handler(209, sheet_clifo_handler);
|
||||
ism.set_handler(309, sheet_clifo_handler);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
@ -99,14 +99,14 @@ if (n == 1 || n == 2)
|
||||
TMask& cgm = cg.sheet_mask();
|
||||
cgm.set_handler(101, dareavere_handler);
|
||||
cgm.set_handler(102, dareavere_handler);
|
||||
cgm.set_handler(106, suspended_handler);
|
||||
cgm.set_handler(105, cg_conto_handler);
|
||||
cgm.set_handler(206, cg_clifo_handler);
|
||||
cgm.set_handler(306, cg_clifo_handler);
|
||||
cgm.set_handler(106, suspended_handler);
|
||||
cgm.set_handler(206, sheet_clifo_handler);
|
||||
cgm.set_handler(306, sheet_clifo_handler);
|
||||
cgm.set_handler(112, suspended_handler);
|
||||
cgm.set_handler(113, suspended_handler);
|
||||
cgm.set_handler(213, cg_clifo_handler);
|
||||
cgm.set_handler(313, cg_clifo_handler);
|
||||
cgm.set_handler(213, sheet_clifo_handler);
|
||||
cgm.set_handler(313, sheet_clifo_handler);
|
||||
}
|
||||
|
||||
return _msk[n] = m;
|
||||
@ -165,8 +165,11 @@ bool TPrimanota_application::user_destroy()
|
||||
// Certified 99%
|
||||
bool TPrimanota_application::read_caus(const char* cod, int year)
|
||||
{
|
||||
const bool ok = _causale.read(cod, year);
|
||||
|
||||
bool ok = TRUE;
|
||||
|
||||
if (cod != NULL)
|
||||
ok = _causale.read(cod, year);
|
||||
|
||||
bool nob = FALSE, dob = FALSE, sal = FALSE;
|
||||
TipoIVA iva = nessuna_iva;
|
||||
|
||||
@ -176,26 +179,29 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
|
||||
dob = _causale.data_doc();
|
||||
sal = gestione_saldaconto() && _causale.saldaconto();
|
||||
iva = _causale.iva();
|
||||
}
|
||||
}
|
||||
|
||||
TMask* m = _msk[iva == nessuna_iva ? 1 : 2];
|
||||
if (m == NULL) return TRUE;
|
||||
|
||||
m->efield(F_NUMDOC).check_type(nob ? CHECK_REQUIRED : CHECK_NORMAL); // Num. doc. obbligatorio
|
||||
m->efield(F_DATADOC).check_type(dob ? CHECK_REQUIRED : CHECK_NORMAL); // Data doc. obbligatoria
|
||||
|
||||
TMask& m = *_msk[iva == nessuna_iva ? 1: 2];
|
||||
m.efield(F_NUMDOC).check_type(nob ? CHECK_REQUIRED : CHECK_NORMAL); // Num. doc. obbligatorio
|
||||
m.efield(F_DATADOC).check_type(dob ? CHECK_REQUIRED : CHECK_NORMAL); // Data doc. obbligatoria
|
||||
|
||||
if (iva != nessuna_iva)
|
||||
{
|
||||
const CheckType ct = sal ? CHECK_REQUIRED : CHECK_NORMAL;
|
||||
m.efield(F_CODPAG).check_type(ct); // Cod. pag. obbligatorio
|
||||
m.show(F_ANNORIF, sal);
|
||||
m.show(F_NUMRIF, sal);
|
||||
m->efield(F_CODPAG).check_type(ct); // Cod. pag. obbligatorio
|
||||
m->show(F_ANNORIF, sal);
|
||||
m->show(F_NUMRIF, sal);
|
||||
if (sal)
|
||||
{
|
||||
TString80 val;
|
||||
if (riferimento_partita())
|
||||
val = m.get(F_NUMDOC);
|
||||
val = m->get(F_NUMDOC);
|
||||
else
|
||||
val.format("%ld", _causale.reg().protocol());
|
||||
m.set(F_NUMRIF, val);
|
||||
m->set(F_NUMRIF, val);
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
@ -252,14 +258,12 @@ TMask* TPrimanota_application::get_mask(int mode)
|
||||
default:
|
||||
return load_mask(0);
|
||||
}
|
||||
|
||||
TCausale c(caus, annoiva);
|
||||
|
||||
giornale().read(annoes);
|
||||
causale().read(caus, annoiva);
|
||||
_iva = causale().iva();
|
||||
|
||||
TMask* m = load_mask(_iva == nessuna_iva ? 1 : 2);
|
||||
giornale().read(annoes);
|
||||
read_caus(caus, annoiva);
|
||||
return m;
|
||||
return load_mask(_iva == nessuna_iva ? 1 : 2);
|
||||
}
|
||||
|
||||
|
||||
@ -275,6 +279,7 @@ void TPrimanota_application::init_mask(TMask& m)
|
||||
{
|
||||
disable_menu_item(M_FILE_PRINT);
|
||||
|
||||
read_caus(NULL, 0); // Setta campi obbligatori
|
||||
fill_sheet(m);
|
||||
|
||||
if (_iva != nessuna_iva)
|
||||
@ -413,22 +418,21 @@ void TPrimanota_application::init_insert_mode(TMask& m)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nriga >= 3 && nriga <= 9)
|
||||
if (nriga >= 2 && nriga <= 9)
|
||||
continue; // Conti per IVA detraibile e non, ritenute sociali e fiscali
|
||||
|
||||
const bool rigaiva = rcaus->get_bool(RCA_RIGAIVA);
|
||||
if (nriga == 2 || rigaiva)
|
||||
if (rigaiva)
|
||||
{
|
||||
const TString16 codiva(rcaus->get(RCA_CODIVA));
|
||||
set_ivas_row(-1,codiva,tc,desc);
|
||||
}
|
||||
else
|
||||
{
|
||||
const char tipo = nriga < 2 ? 'T' : ' ';
|
||||
set_cgs_row(-1,zero,tc,desc,tipo);
|
||||
|
||||
if (nriga == 1 && tc.tipo() > ' ' && tc.sottoconto() > 0)
|
||||
const char tipo = nriga == 1 ? 'T' : ' ';
|
||||
if (nriga == 1 && tc.tipo() > ' ' && tc.sottoconto() != 0)
|
||||
m.set(tc.tipo() == 'C' ? F_CLIENTE : F_FORNITORE, tc.sottoconto());
|
||||
set_cgs_row(-1,zero,tc,desc,tipo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -438,6 +442,8 @@ void TPrimanota_application::init_insert_mode(TMask& m)
|
||||
void TPrimanota_application::init_modify_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
if (iva() != nessuna_iva)
|
||||
m.hide(F_CODIVA);
|
||||
}
|
||||
|
||||
|
||||
@ -556,7 +562,16 @@ int TPrimanota_application::read(TMask& m)
|
||||
|
||||
riga.add(r.get("CODIVA")); // IVA 102
|
||||
riga.add(r.get("TIPODET")); // Detrazione 103
|
||||
riga.add(r.get("IMPOSTA")); // Imposta 104
|
||||
|
||||
|
||||
real imposta(r.get("IMPOSTA"));
|
||||
if (to_swap) imposta = -imposta;
|
||||
if (imponibile.sign() != imposta.sign())
|
||||
{
|
||||
warning_box("Registrazione con imponibile e imposta discordi: correzione effettuata");
|
||||
imposta = -imposta;
|
||||
}
|
||||
riga.add(imposta.string()); // Imposta 104
|
||||
|
||||
TBill c; get_conto(r, c);
|
||||
if (c.ok())
|
||||
@ -694,7 +709,16 @@ void TPrimanota_application::mask2rel(const TMask& m)
|
||||
|
||||
r.put("CODIVA", row.get());
|
||||
r.put("TIPODET", row.get());
|
||||
r.put("IMPOSTA", row.get());
|
||||
|
||||
real imposta(row.get());
|
||||
if (to_swap) imposta = -imposta;
|
||||
if (imponibile.sign() != imposta.sign())
|
||||
{
|
||||
yesnofatal_box("Registrazione di imponibile e imposta discordi");
|
||||
imposta = -imposta;
|
||||
}
|
||||
r.put("IMPOSTA", imposta);
|
||||
|
||||
r.put("TIPOCR", row.get());
|
||||
|
||||
const TBill c(row, -1, 0x1);
|
||||
@ -718,7 +742,7 @@ int TPrimanota_application::write(const TMask& m)
|
||||
{
|
||||
_saldi.registra();
|
||||
|
||||
if (iva() == iva_vendite && !gestione_saldaconto())
|
||||
if (iva() != nessuna_iva && !gestione_saldaconto())
|
||||
{
|
||||
const TString16 causimm(_causale.causale_inc_imm());
|
||||
if (causimm.not_empty())
|
||||
@ -753,55 +777,112 @@ bool TPrimanota_application::remove()
|
||||
}
|
||||
|
||||
|
||||
HIDDEN bool incasso_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
TImporto tot(m.get(I_SEZIONE1)[0], (real)m.get(F_TOTALE));
|
||||
|
||||
for (int i = 2; i < 5; i++)
|
||||
{
|
||||
const int sid = i == 2 ? I_SEZIONE2 : (i == 3 ? I_SEZIONE3 : I_SEZIONE4);
|
||||
const real val(m.get(sid+1));
|
||||
const TImporto imp(m.get(sid)[0], val);
|
||||
tot += imp;
|
||||
}
|
||||
if (tot.valore() != ZERO)
|
||||
return f.error_box("Il movimento e' sbilaciato di %s", tot.valore().string("."));
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
void TPrimanota_application::genera_incasso(const char* causimm)
|
||||
{
|
||||
TMask m("cg2100i");
|
||||
if (iva() == iva_acquisti) m.set_caption("Movimento di pagamento immediato");
|
||||
|
||||
m.set_handler(F_DATAREG, datareg_handler);
|
||||
m.set_handler(F_DATACOMP, datacomp_handler);
|
||||
m.set_handler(F_TOTALE, incasso_handler);
|
||||
|
||||
TFilename tmp; tmp.temp(); // File temporaneo di scambio
|
||||
_msk[2]->set_workfile(tmp);
|
||||
_msk[2]->save(); // Copia la maschera principale ...
|
||||
m.set_workfile(tmp);
|
||||
m.load(); // ... nella maschera di incasso
|
||||
::remove(tmp); // Cancella file temporaneo
|
||||
TCausale caus(causimm); // Causale da usare
|
||||
|
||||
const TCausale caus(causimm); // Causale da usare
|
||||
TBill conto; caus.bill(2, conto); // Conto della seconda riga della causale
|
||||
if (caus.data_doc()) m.efield(F_DATADOC).check_type(CHECK_REQUIRED);
|
||||
if (caus.num_doc()) m.efield(F_NUMDOC).check_type(CHECK_REQUIRED);
|
||||
|
||||
m.set(F_NUMREG, ++_lastreg); // Incrementa numero di registrazione
|
||||
m.set(F_CODCAUS, causimm); // Cambia causale e ...
|
||||
m.set(F_TIPODOC, caus.tipo_doc()); // relativo tipo documento
|
||||
TBill conto; caus.bill(1, conto); // Conto della seconda riga della causale
|
||||
|
||||
m.set(F_DATAREG, curr_mask().get(F_DATAREG));
|
||||
m.set(F_DATACOMP, curr_mask().get(F_DATACOMP));
|
||||
m.set(F_DATADOC, curr_mask().get(F_DATADOC));
|
||||
m.set(F_NUMREG, ++_lastreg); // Incrementa numero di registrazione
|
||||
m.set(F_DESCR, caus.desc_agg(1)); // Descrizione
|
||||
m.set(F_CODCAUS, causimm); // Cambia causale
|
||||
m.set(F_DESCRCAUS, caus.descrizione());
|
||||
|
||||
m.set(I_SEZIONE1, caus.sezione_clifo() == 'D' ? "D" : "A");
|
||||
m.set(F_TOTALE, curr_mask().get(F_TOTALE));
|
||||
m.set(F_CLIFO, clifo() == 'C' ? "C" : "F");
|
||||
m.set(F_GRUPPOCLIFO, conto.gruppo());
|
||||
m.set(F_CONTOCLIFO, conto.conto());
|
||||
|
||||
const short clifo_id = clifo() == 'C' ? F_CLIENTE : F_FORNITORE;
|
||||
m.set(clifo_id, curr_mask().get(clifo_id));
|
||||
|
||||
caus.bill(2, conto);
|
||||
m.set(I_SEZIONE2, caus.sezione_clifo() == 'D' ? "A" : "D");
|
||||
m.set(I_IMPORTO2, curr_mask().get(F_TOTALE));
|
||||
m.set(I_GRUPPO2, conto.gruppo());
|
||||
m.set(I_CONTO2, conto.conto());
|
||||
m.set(I_SOTTOCONTO2, conto.sottoconto());
|
||||
|
||||
if (m.run() == K_SAVE)
|
||||
{
|
||||
TMovimentoPN inc; // Nuovo movimento di incasso immediato
|
||||
|
||||
TRectype r(_rel->cg(0)); // Copia la prima riga contabile
|
||||
m.autosave(&inc);
|
||||
inc.lfile().put("TIPODOC", caus.tipo_doc()); // Tipo documento
|
||||
inc.lfile().put("REG", caus.reg().name()); // Registro
|
||||
|
||||
inc.lfile().put("REG", ""); // Annulla eventuale registro IVA
|
||||
|
||||
const real imp(m.get(F_TOTALE));
|
||||
const char sez = r.get_char("SEZIONE");
|
||||
|
||||
TRectype& r = inc.cg(0);
|
||||
r.zero();
|
||||
r.put("NUMREG", _lastreg);
|
||||
r.put("NUMRIG", 1);
|
||||
r.put("IMPORTO", imp);
|
||||
r.put("SEZIONE", sez == 'A' ? 'D' : 'A');
|
||||
r.put("SEZIONE", m.get(I_SEZIONE1));
|
||||
r.put("IMPORTO", m.get(F_TOTALE));
|
||||
r.put("TIPOC", m.get(F_CLIFO));
|
||||
r.put("GRUPPO", m.get_int(F_GRUPPOCLIFO));
|
||||
r.put("CONTO", m.get_int(F_CONTOCLIFO));
|
||||
r.put("SOTTOCONTO", m.get_long(F_CLIENTE));
|
||||
r.put("ROWTYPE", ' ');
|
||||
r.put("GRUPPO", m.get(F_GRUPPOCLIFO));
|
||||
r.put("CONTO", m.get(F_CONTOCLIFO));
|
||||
r.put("SOTTOCONTO", m.get(clifo_id));
|
||||
r.put("DESCR", m.get(F_DESCR));
|
||||
r.put("RCONTR", 2);
|
||||
r.put("ROWTYPE", " ");
|
||||
|
||||
inc.cg(0) = r;
|
||||
for (int i = 2; i < 5; i++)
|
||||
{
|
||||
const int sid = i == 2 ? I_SEZIONE2 : (i == 3 ? I_SEZIONE3 : I_SEZIONE4);
|
||||
const char* imp = m.get(sid+1);
|
||||
if (*imp == '\0') break;
|
||||
|
||||
r.put("NUMRIG", 2);
|
||||
r.put("SEZIONE", sez);
|
||||
inc.cg(1) = r;
|
||||
TRectype& r = inc.cg(i-1);
|
||||
r.zero();
|
||||
r.put("IMPORTO", imp);
|
||||
r.put("NUMREG", _lastreg);
|
||||
r.put("NUMRIG", i);
|
||||
r.put("SEZIONE", m.get(sid));
|
||||
r.put("TIPOC", ' ');
|
||||
r.put("GRUPPO", m.get(sid+2));
|
||||
r.put("CONTO", m.get(sid+3));
|
||||
r.put("SOTTOCONTO", m.get(sid+4));
|
||||
r.put("ROWTYPE", " ");
|
||||
if (i == 2)
|
||||
{
|
||||
r.put("DESCR", caus.desc_agg(2));
|
||||
r.put("RCONTR", 1);
|
||||
}
|
||||
}
|
||||
|
||||
while (inc.write() == _isreinsert) // In caso di riscrittura
|
||||
inc.lfile().put("NUMREG", ++_lastreg); // Incrementa numero registrazione
|
||||
|
184
cg/cg2100.h
184
cg/cg2100.h
@ -1,81 +1,103 @@
|
||||
#ifndef __CG2100_H
|
||||
#define __CG2100_H
|
||||
|
||||
#define F_CODDITTA 101
|
||||
#define F_RAGSOC 102
|
||||
#define F_DATAREG 103
|
||||
#define F_NUMREG 104
|
||||
#define F_CODCAUS 105
|
||||
#define F_DESCRCAUS 106
|
||||
#define F_DOCUMENTO 107
|
||||
#define F_TIPODOC 108
|
||||
#define F_CODREG 109
|
||||
#define F_PROTIVA 110
|
||||
#define F_RIEPILOGO 111
|
||||
#define F_DESCR 112
|
||||
#define F_DATADOC 113
|
||||
#define F_NUMDOC 114
|
||||
#define F_ANNOES 115
|
||||
#define F_DATACOMP 116
|
||||
#define F_ANNOIVA 117
|
||||
#define F_CLIFO 150
|
||||
#define F_CLIENTE 151
|
||||
#define F_RAGSOCCLIENTE 152
|
||||
#define F_STATOPAIV 153
|
||||
#define F_PIVACLIENTE 154
|
||||
#define F_FORNITORE 161
|
||||
#define F_RAGSOCFORNITORE 162
|
||||
#define F_PIVAFORNITORE 164
|
||||
#define F_GRUPPOCLIFO 172
|
||||
#define F_CONTOCLIFO 173
|
||||
#define F_GRUPPORIC 174
|
||||
#define F_CONTORIC 175
|
||||
#define F_SOTTOCONTORIC 176
|
||||
#define F_TOTALE 118
|
||||
#define F_CODIVA 119
|
||||
#define F_RITFIS 120
|
||||
#define F_RITSOC 121
|
||||
#define F_CODPAG 122
|
||||
#define F_ANNORIF 123
|
||||
#define F_NUMRIF 124
|
||||
#define F_VALUTA 126
|
||||
#define F_CAMBIO 127
|
||||
#define F_VISVAL 128
|
||||
#define F_PROVVISORIO 129
|
||||
#define F_OCCASIONALE 130
|
||||
#define F_OCCASEDIT 131
|
||||
#define F_SOLAIVA 132
|
||||
#define F_CORRLIRE 133
|
||||
#define F_CORRVALUTA 134
|
||||
#define F_DATA74TER 135
|
||||
#define F_DESCAGG 136
|
||||
#define F_DARE 137
|
||||
#define F_AVERE 138
|
||||
#define F_IMPONIBILI 139
|
||||
#define F_IMPOSTE 140
|
||||
#define F_SHEETCG 300
|
||||
#define F_SHEETIVA 301
|
||||
|
||||
// Campi ripetuti sulla seconda pagina
|
||||
#define H_DATAREG 201
|
||||
#define H_NUMREG 202
|
||||
#define H_CODCAUS 203
|
||||
#define H_DESCRCAUS 204
|
||||
#define H_ANNOES 205
|
||||
|
||||
// Maschera clienti/fornitori occasionali
|
||||
#define O_CODICE 100
|
||||
#define O_RAGSOC 101
|
||||
#define O_STATO 102
|
||||
#define O_COMUNE 103
|
||||
#define O_DENCOM 104
|
||||
#define O_CAP 105
|
||||
#define O_INDIRIZZO 106
|
||||
#define O_NUMERO 107
|
||||
#define O_SESSO 110
|
||||
#define O_DATANAS 111
|
||||
#define O_STATONAS 112
|
||||
#define O_COMUNENAS 113
|
||||
#define O_DENCOMNAS 114
|
||||
|
||||
#endif
|
||||
#ifndef __CG2100_H
|
||||
#define __CG2100_H
|
||||
|
||||
#define F_CODDITTA 101
|
||||
#define F_RAGSOC 102
|
||||
#define F_DATAREG 103
|
||||
#define F_NUMREG 104
|
||||
#define F_CODCAUS 105
|
||||
#define F_DESCRCAUS 106
|
||||
#define F_DOCUMENTO 107
|
||||
#define F_TIPODOC 108
|
||||
#define F_CODREG 109
|
||||
#define F_PROTIVA 110
|
||||
#define F_RIEPILOGO 111
|
||||
#define F_DESCR 112
|
||||
#define F_DATADOC 113
|
||||
#define F_NUMDOC 114
|
||||
#define F_ANNOES 115
|
||||
#define F_DATACOMP 116
|
||||
#define F_ANNOIVA 117
|
||||
#define F_CLIFO 150
|
||||
#define F_CLIENTE 151
|
||||
#define F_RAGSOCCLIENTE 152
|
||||
#define F_STATOPAIV 153
|
||||
#define F_PIVACLIENTE 154
|
||||
#define F_FORNITORE 161
|
||||
#define F_RAGSOCFORNITORE 162
|
||||
#define F_PIVAFORNITORE 164
|
||||
#define F_GRUPPOCLIFO 172
|
||||
#define F_CONTOCLIFO 173
|
||||
#define F_GRUPPORIC 174
|
||||
#define F_CONTORIC 175
|
||||
#define F_SOTTOCONTORIC 176
|
||||
#define F_TOTALE 118
|
||||
#define F_CODIVA 119
|
||||
#define F_RITFIS 120
|
||||
#define F_RITSOC 121
|
||||
#define F_CODPAG 122
|
||||
#define F_ANNORIF 123
|
||||
#define F_NUMRIF 124
|
||||
#define F_VALUTA 126
|
||||
#define F_CAMBIO 127
|
||||
#define F_VISVAL 128
|
||||
#define F_PROVVISORIO 129
|
||||
#define F_OCCASIONALE 130
|
||||
#define F_OCCASEDIT 131
|
||||
#define F_SOLAIVA 132
|
||||
#define F_CORRLIRE 133
|
||||
#define F_CORRVALUTA 134
|
||||
#define F_DATA74TER 135
|
||||
#define F_DESCAGG 136
|
||||
#define F_DARE 137
|
||||
#define F_AVERE 138
|
||||
#define F_IMPONIBILI 139
|
||||
#define F_IMPOSTE 140
|
||||
#define F_SHEETCG 300
|
||||
#define F_SHEETIVA 301
|
||||
|
||||
// Campi ripetuti sulla seconda pagina
|
||||
#define H_DATAREG 201
|
||||
#define H_NUMREG 202
|
||||
#define H_CODCAUS 203
|
||||
#define H_DESCRCAUS 204
|
||||
#define H_ANNOES 205
|
||||
|
||||
// Maschera clienti/fornitori occasionali
|
||||
#define O_CODICE 100
|
||||
#define O_RAGSOC 101
|
||||
#define O_STATO 102
|
||||
#define O_COMUNE 103
|
||||
#define O_DENCOM 104
|
||||
#define O_CAP 105
|
||||
#define O_INDIRIZZO 106
|
||||
#define O_NUMERO 107
|
||||
#define O_SESSO 110
|
||||
#define O_DATANAS 111
|
||||
#define O_STATONAS 112
|
||||
#define O_COMUNENAS 113
|
||||
#define O_DENCOMNAS 114
|
||||
|
||||
// Maschera incasso/pagamento immediato
|
||||
#define I_SEZIONE1 201
|
||||
#define I_IMPORTO1 202
|
||||
|
||||
#define I_SEZIONE2 203
|
||||
#define I_IMPORTO2 204
|
||||
#define I_GRUPPO2 205
|
||||
#define I_CONTO2 206
|
||||
#define I_SOTTOCONTO2 207
|
||||
|
||||
#define I_SEZIONE3 208
|
||||
#define I_IMPORTO3 209
|
||||
#define I_GRUPPO3 210
|
||||
#define I_CONTO3 211
|
||||
#define I_SOTTOCONTO3 212
|
||||
|
||||
#define I_SEZIONE4 213
|
||||
#define I_IMPORTO4 214
|
||||
#define I_GRUPPO4 215
|
||||
#define I_CONTO4 216
|
||||
#define I_SOTTOCONTO4 217
|
||||
|
||||
#endif
|
||||
|
1198
cg/cg2100c.uml
1198
cg/cg2100c.uml
File diff suppressed because it is too large
Load Diff
502
cg/cg2100i.uml
502
cg/cg2100i.uml
@ -1,188 +1,314 @@
|
||||
#include "cg2100.h"
|
||||
|
||||
PAGE "Movimento di incasso immediato" -1 -1 78 12
|
||||
|
||||
NUMBER F_NUMREG 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Operazione n. "
|
||||
FIELD LF_MOV->NUMREG
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
DATE F_DATAREG
|
||||
BEGIN
|
||||
PROMPT 43 1 "Data di registrazione "
|
||||
FIELD LF_MOV->DATAREG
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_NUMDOC 6
|
||||
BEGIN
|
||||
PROMPT 1 2 "Documento n. "
|
||||
FIELD LF_MOV->NUMDOC
|
||||
END
|
||||
|
||||
DATE F_DATACOMP
|
||||
BEGIN
|
||||
PROMPT 43 2 "Data di competenza "
|
||||
FIELD LF_MOV->DATACOMP
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_ANNOES 4
|
||||
BEGIN
|
||||
PROMPT 1 3 "Esercizio "
|
||||
FIELD LF_MOV->ANNOES
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TIPODOC 2
|
||||
BEGIN
|
||||
PROMPT 24 3 "Tipo documento "
|
||||
FIELD LF_MOV->TIPODOC
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE F_DATADOC
|
||||
BEGIN
|
||||
PROMPT 43 3 "Data del documento "
|
||||
FIELD LF_MOV->DATADOC
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Specificare la data del documento"
|
||||
END
|
||||
|
||||
STRING F_DESCR 50 50
|
||||
BEGIN
|
||||
PROMPT 1 4 "Descrizione documento "
|
||||
FIELD LF_MOV->DESCR
|
||||
END
|
||||
|
||||
STRING F_CODCAUS 3
|
||||
BEGIN
|
||||
PROMPT 1 5 "Causale "
|
||||
FIELD LF_MOV->CODCAUS
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_CODCAUS
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo" TIPODOC
|
||||
OUTPUT F_CODCAUS CODCAUS
|
||||
OUTPUT F_DESCRCAUS DESCR
|
||||
OUTPUT F_TIPODOC TIPODOC
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCRCAUS 50
|
||||
BEGIN
|
||||
PROMPT 25 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_CLIFO 1
|
||||
BEGIN
|
||||
PROMPT 0 7 ""
|
||||
ITEM "C|Cliente" MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "F|Fornitore" MESSAGE HIDE,1@|SHOW,2@
|
||||
FIELD LF_MOV->TIPO
|
||||
FLAGS "GH"
|
||||
END
|
||||
|
||||
NUMBER F_CLIENTE 5
|
||||
BEGIN
|
||||
PROMPT 1 7 "Cliente "
|
||||
FIELD LF_MOV->CODCF
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CLIENTE
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
OUTPUT F_CLIFO TIPOCF
|
||||
OUTPUT F_CLIENTE CODCF
|
||||
OUTPUT F_RAGSOCCLIENTE RAGSOC
|
||||
OUTPUT F_GRUPPOCLIFO GRUPPO
|
||||
OUTPUT F_CONTOCLIFO CONTO
|
||||
MESSAGE COPY,F_FORNITORE
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -1
|
||||
END
|
||||
|
||||
NUMBER F_FORNITORE 5
|
||||
BEGIN
|
||||
PROMPT 1 7 "Fornitore "
|
||||
FIELD LF_MOV->CODCF
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_FORNITORE
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
OUTPUT F_CLIFO TIPOCF
|
||||
OUTPUT F_FORNITORE CODCF
|
||||
OUTPUT F_RAGSOCFORNITORE RAGSOC
|
||||
OUTPUT F_GRUPPOCLIFO GRUPPO
|
||||
OUTPUT F_CONTOCLIFO CONTO
|
||||
MESSAGE COPY,F_CLIENTE
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -1
|
||||
END
|
||||
|
||||
STRING F_RAGSOCFORNITORE 50
|
||||
BEGIN
|
||||
PROMPT 25 7 ""
|
||||
GROUP 2
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_RAGSOCFORNITORE
|
||||
COPY DISPLAY F_FORNITORE
|
||||
COPY OUTPUT F_FORNITORE
|
||||
END
|
||||
|
||||
STRING F_RAGSOCCLIENTE 50
|
||||
BEGIN
|
||||
PROMPT 25 7 ""
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_RAGSOCCLIENTE
|
||||
COPY DISPLAY F_CLIENTE
|
||||
COPY OUTPUT F_CLIENTE
|
||||
ADD RUN cg0 -1
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPOCLIFO 3
|
||||
BEGIN
|
||||
PROMPT 1 8 "Gruppo "
|
||||
END
|
||||
|
||||
NUMBER F_CONTOCLIFO 3
|
||||
BEGIN
|
||||
PROMPT 16 8 "Conto "
|
||||
END
|
||||
|
||||
NUMBER F_TOTALE 15
|
||||
BEGIN
|
||||
PROMPT 1 9 "Totale documento "
|
||||
FIELD LF_MOV->TOTDOC
|
||||
PICTURE "."
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
BUTTON DLG_SAVEREC 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 "~Registra"
|
||||
MESSAGE EXIT,K_SAVE
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
|
||||
#include "cg2100.h"
|
||||
|
||||
PAGE "Movimento di incasso immediato" -1 -1 75 13
|
||||
|
||||
DATE F_DATAREG
|
||||
BEGIN
|
||||
PROMPT 1 1 "Data di registrazione "
|
||||
FIELD LF_MOV->DATAREG
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_ANNOIVA,7,10
|
||||
END
|
||||
|
||||
NUMBER F_ANNOIVA 4
|
||||
BEGIN
|
||||
FLAGS "H"
|
||||
FIELD LF_MOV->ANNOIVA
|
||||
END
|
||||
|
||||
NUMBER F_NUMREG 6
|
||||
BEGIN
|
||||
PROMPT 52 1 "Operazione n. "
|
||||
FIELD LF_MOV->NUMREG
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
DATE F_DATACOMP
|
||||
BEGIN
|
||||
PROMPT 1 2 "Data di competenza "
|
||||
FIELD LF_MOV->DATACOMP
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_ANNOES 4
|
||||
BEGIN
|
||||
PROMPT 52 2 "Esercizio "
|
||||
FIELD LF_MOV->ANNOES
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE F_DATADOC
|
||||
BEGIN
|
||||
PROMPT 1 3 "Data del documento "
|
||||
FIELD LF_MOV->DATADOC
|
||||
WARNING "Specificare la data del documento"
|
||||
END
|
||||
|
||||
STRING F_NUMDOC 7
|
||||
BEGIN
|
||||
PROMPT 52 3 "Documento n. "
|
||||
FIELD LF_MOV->NUMDOC
|
||||
WARNING "Specificare il numero documento"
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 1 4 "Descrizione documento "
|
||||
FIELD LF_MOV->DESCR
|
||||
END
|
||||
|
||||
STRING F_CODCAUS 3
|
||||
BEGIN
|
||||
PROMPT 1 5 "Causale "
|
||||
FIELD LF_MOV->CODCAUS
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_CODCAUS
|
||||
DISPLAY "Codice" CODCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo" TIPODOC
|
||||
OUTPUT F_CODCAUS CODCAUS
|
||||
OUTPUT F_DESCRCAUS DESCR
|
||||
OUTPUT F_TIPODOC TIPODOC
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCRCAUS 50
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST I_SEZIONE1 1 8
|
||||
BEGIN
|
||||
PROMPT 1 7 "Riga 1 "
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
|
||||
NUMBER F_TOTALE 15
|
||||
BEGIN
|
||||
PROMPT 18 7 ""
|
||||
FIELD LF_MOV->TOTDOC
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,I_IMPORTO2
|
||||
END
|
||||
|
||||
LIST F_CLIFO 1 12
|
||||
BEGIN
|
||||
PROMPT 37 7 ""
|
||||
ITEM "C|Cliente" MESSAGE HIDE,F_FORNITORE|SHOW,F_CLIENTE
|
||||
ITEM "F|Fornitore" MESSAGE HIDE,F_CLIENTE|SHOW,F_FORNITORE
|
||||
FIELD LF_MOV->TIPO
|
||||
FLAGS "GD"
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPOCLIFO 3
|
||||
BEGIN
|
||||
PROMPT 51 7 ""
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Gruppo assente"
|
||||
END
|
||||
|
||||
NUMBER F_CONTOCLIFO 3
|
||||
BEGIN
|
||||
PROMPT 57 7 ""
|
||||
USE LF_PCON SELECT TMCF==#F_CLIFO
|
||||
INPUT GRUPPO F_GRUPPOCLIFO
|
||||
INPUT CONTO F_CONTOCLIFO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPOCLIFO GRUPPO
|
||||
OUTPUT F_CONTOCLIFO CONTO
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Conto assente"
|
||||
END
|
||||
|
||||
NUMBER F_CLIENTE 6
|
||||
BEGIN
|
||||
PROMPT 65 7 ""
|
||||
FIELD LF_MOV->CODCF
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CLIENTE
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
OUTPUT F_CLIENTE CODCF
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_FORNITORE 6
|
||||
BEGIN
|
||||
PROMPT 65 7 ""
|
||||
FIELD LF_MOV->CODCF
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_FORNITORE
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
OUTPUT F_FORNITORE CODCF
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
|
||||
LIST I_SEZIONE2 1 8
|
||||
BEGIN
|
||||
PROMPT 1 8 "Riga 2 "
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
|
||||
NUMBER I_IMPORTO2 15
|
||||
BEGIN
|
||||
PROMPT 18 8 ""
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
LIST DLG_NULL 1 12
|
||||
BEGIN
|
||||
PROMPT 37 8 ""
|
||||
ITEM " |Conto"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER I_GRUPPO2 3
|
||||
BEGIN
|
||||
PROMPT 51 8 ""
|
||||
END
|
||||
|
||||
NUMBER I_CONTO2 3
|
||||
BEGIN
|
||||
PROMPT 57 8 ""
|
||||
END
|
||||
|
||||
NUMBER I_SOTTOCONTO2 6
|
||||
BEGIN
|
||||
PROMPT 65 8 ""
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO I_GRUPPO2
|
||||
INPUT CONTO I_CONTO2
|
||||
INPUT SOTTOCONTO I_SOTTOCONTO2
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT I_GRUPPO2 GRUPPO
|
||||
OUTPUT I_CONTO2 CONTO
|
||||
OUTPUT I_SOTTOCONTO2 SOTTOCONTO
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST I_SEZIONE3 1 8
|
||||
BEGIN
|
||||
PROMPT 1 9 "Riga 2 "
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
|
||||
NUMBER I_IMPORTO3 15
|
||||
BEGIN
|
||||
PROMPT 18 9 ""
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
LIST DLG_NULL 1 12
|
||||
BEGIN
|
||||
PROMPT 37 9 ""
|
||||
ITEM " |Conto"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER I_GRUPPO3 3
|
||||
BEGIN
|
||||
PROMPT 51 9 ""
|
||||
END
|
||||
|
||||
NUMBER I_CONTO3 3
|
||||
BEGIN
|
||||
PROMPT 57 9 ""
|
||||
END
|
||||
|
||||
NUMBER I_SOTTOCONTO3 6
|
||||
BEGIN
|
||||
PROMPT 65 9 ""
|
||||
COPY USE I_SOTTOCONTO2
|
||||
INPUT GRUPPO I_GRUPPO3
|
||||
INPUT CONTO I_CONTO3
|
||||
INPUT SOTTOCONTO I_SOTTOCONTO3
|
||||
COPY DISPLAY I_SOTTOCONTO2
|
||||
OUTPUT I_GRUPPO3 GRUPPO
|
||||
OUTPUT I_CONTO3 CONTO
|
||||
OUTPUT I_SOTTOCONTO3 SOTTOCONTO
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 1 I_IMPORTO3
|
||||
END
|
||||
|
||||
LIST I_SEZIONE4 1 8
|
||||
BEGIN
|
||||
PROMPT 1 10 "Riga 4 "
|
||||
ITEM "D|Dare"
|
||||
ITEM "A|Avere"
|
||||
END
|
||||
|
||||
NUMBER I_IMPORTO4 15
|
||||
BEGIN
|
||||
PROMPT 18 10 ""
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
LIST DLG_NULL 1 12
|
||||
BEGIN
|
||||
PROMPT 37 10 ""
|
||||
ITEM " |Conto"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER I_GRUPPO4 3
|
||||
BEGIN
|
||||
PROMPT 51 10 ""
|
||||
END
|
||||
|
||||
NUMBER I_CONTO4 3
|
||||
BEGIN
|
||||
PROMPT 57 10 ""
|
||||
END
|
||||
|
||||
NUMBER I_SOTTOCONTO4 6
|
||||
BEGIN
|
||||
PROMPT 65 10 ""
|
||||
COPY USE I_SOTTOCONTO2
|
||||
INPUT GRUPPO I_GRUPPO4
|
||||
INPUT CONTO I_CONTO4
|
||||
INPUT SOTTOCONTO I_SOTTOCONTO4
|
||||
COPY DISPLAY I_SOTTOCONTO2
|
||||
OUTPUT I_GRUPPO4 GRUPPO
|
||||
OUTPUT I_CONTO4 CONTO
|
||||
OUTPUT I_SOTTOCONTO4 SOTTOCONTO
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 1 I_IMPORTO4
|
||||
END
|
||||
|
||||
|
||||
BUTTON DLG_SAVEREC 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 "~Registra"
|
||||
MESSAGE EXIT,K_SAVE
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
|
||||
|
@ -465,7 +465,6 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if ((k == K_TAB && !f.mask().is_running()) || k == K_ENTER)
|
||||
{
|
||||
TSheet_field& cg = app().cgs();
|
||||
const real saldo = app().calcola_saldo();
|
||||
|
||||
if (k == K_ENTER)
|
||||
@ -476,6 +475,7 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
|
||||
return f.error_box("Il movimento e' sbilanciato di %s lire.", ss);
|
||||
}
|
||||
|
||||
TSheet_field& cg = app().cgs();
|
||||
bool empty = TRUE;
|
||||
const int max = cg.items();
|
||||
for (int i = 0; i < max; i++)
|
||||
@ -484,11 +484,11 @@ bool TPrimanota_application::cg_handler(TMask_field& f, KEY k)
|
||||
if (!im.valore().is_zero())
|
||||
{
|
||||
const TBill c(cg.row(i), 3, 0x0);
|
||||
if (!c.empty() && !c.ok())
|
||||
return error_box("Il conto della riga %d non e' completo", i+1);
|
||||
if (!c.ok())
|
||||
return f.error_box("Il conto della riga %d non e' completo", i+1);
|
||||
const TBill co(cg.row(i), 10, 0x0);
|
||||
if (!co.empty() && !co.ok())
|
||||
return error_box("La contropartita della riga %d non e' completa", i+1);
|
||||
if (!c.empty() && !co.ok())
|
||||
return f.error_box("La contropartita della riga %d non e' completa", i+1);
|
||||
empty = FALSE;
|
||||
}
|
||||
}
|
||||
@ -616,7 +616,19 @@ bool TPrimanota_application::codiva_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_TAB && f.dirty())
|
||||
{
|
||||
TMask_field& i = f.mask().field(101);
|
||||
TMask& m = f.mask();
|
||||
|
||||
TCodiceIVA iva(f.get());
|
||||
TBill b; app().IVA2bill(iva, b);
|
||||
const char tipo[2] = { b.tipo(), '\0' };
|
||||
m.set(106, tipo);
|
||||
m.set(107, b.gruppo());
|
||||
m.set(108, b.conto());
|
||||
const short id = b.tipo() == 'C' ? 209 : (b.tipo() == 'F' ? 309 : 109);
|
||||
m.set(id, b.sottoconto());
|
||||
m.set(id+1, b.descrizione());
|
||||
|
||||
TMask_field& i = m.field(101);
|
||||
i.set_dirty();
|
||||
return imponibile_handler(i, key);
|
||||
} else
|
||||
@ -844,6 +856,19 @@ bool TPrimanota_application::iva_handler(TMask_field& f, KEY k)
|
||||
return error_box("La somma del totale documento e delle ritenute (%s) e' diverso dalla "
|
||||
"somma degli imponibili e delle imposte (%s)", (const char*)t, (const char*)i);
|
||||
}
|
||||
|
||||
TSheet_field& iva = app().ivas();
|
||||
for (int i = 0; i < iva.items(); i++)
|
||||
{
|
||||
TToken_string& row = iva.row(i);
|
||||
const real im(row.get(0));
|
||||
if (!im.is_zero())
|
||||
{
|
||||
const TBill c(row, 6, 0x0);
|
||||
if (!c.ok())
|
||||
return f.error_box("Il conto della riga iva %d non e' completo", i+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
@ -869,12 +894,12 @@ bool TPrimanota_application::cg_conto_handler(TMask_field& f, KEY key)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TPrimanota_application::cg_clifo_handler(TMask_field& f, KEY k)
|
||||
bool TPrimanota_application::sheet_clifo_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (!suspended_handler(f, k))
|
||||
return FALSE;
|
||||
|
||||
if (k == K_TAB)
|
||||
if (k == K_TAB || k == K_ENTER)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const short cid = 100 + (f.dlg() % 100) -1;
|
||||
@ -1203,44 +1228,59 @@ bool TPrimanota_application::clifo_handler(TMask_field& f, KEY key)
|
||||
}
|
||||
|
||||
|
||||
bool TPrimanota_application::IVA2bill(const TCodiceIVA& iva, TBill& bill)
|
||||
{
|
||||
const TCausale& cau = causale();
|
||||
const TString& tipo = iva.tipo();
|
||||
|
||||
if (tipo.not_empty())
|
||||
{
|
||||
if (tipo == "ES") cau.bill(5, bill); else
|
||||
if (tipo == "NI") cau.bill(6, bill); else
|
||||
if (tipo == "NS") cau.bill(7, bill);
|
||||
}
|
||||
if (!bill.ok() && !cau.corrispettivi())
|
||||
{
|
||||
const TMask& m = curr_mask();
|
||||
bill.set(m.get_int(F_GRUPPORIC), m.get_int(F_CONTORIC), m.get_long(F_SOTTOCONTORIC));
|
||||
}
|
||||
if (!bill.ok())
|
||||
cau.bill(2, bill);
|
||||
|
||||
return bill.ok();
|
||||
}
|
||||
|
||||
|
||||
// Handler of the F_CODIVA
|
||||
// Certified 99%
|
||||
bool TPrimanota_application::main_codiva_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_TAB && f.focusdirty() && f.get().not_empty())
|
||||
if (key == K_TAB && f.get().not_empty())
|
||||
{
|
||||
TToken_string& row = app().ivas().row(0);
|
||||
const real imp(row.get(0));
|
||||
const real imp(app().ivas().row(1).get(0)); // Se il totale non e' stato spezzato
|
||||
if (imp == ZERO)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
iva_notify(0, K_SPACE);
|
||||
|
||||
const bool corr = app().causale().corrispettivi();
|
||||
const TCodiceIVA iva(f.get());
|
||||
const bool corr = app().causale().corrispettivi();
|
||||
real tot = app().totale_documento();
|
||||
real imposta;
|
||||
if (!corr)
|
||||
imposta = app().scorpora(tot, iva.percentuale());
|
||||
|
||||
TToken_string& row = app().ivas().row(0);
|
||||
row.add(tot.string(), 0); // imponibile
|
||||
row.add(iva.codice(), 1); // codice IVA
|
||||
row.add(imposta.string(), 3); // imposta
|
||||
|
||||
TBill bill; // Conto della prima riga IVA
|
||||
const TString& tipo = iva.tipo();
|
||||
if (tipo.not_empty())
|
||||
if (iva.codice() != row.get(1))
|
||||
{
|
||||
if (tipo == "ES") app().causale().bill(5, bill); else
|
||||
if (tipo == "NI") app().causale().bill(6, bill); else
|
||||
if (tipo == "NS") app().causale().bill(7, bill);
|
||||
}
|
||||
if (!bill.ok() && !corr)
|
||||
bill.set(m.get_int(F_GRUPPORIC), m.get_int(F_CONTORIC), m.get_long(F_SOTTOCONTORIC));
|
||||
if (!bill.ok())
|
||||
app().causale().bill(2, bill);
|
||||
bill.add_to(row, 4, 0x7);
|
||||
|
||||
row.add(iva.codice(), 1); // Aggiorna codice IVA
|
||||
TBill bill; // Aggiorna conto della prima riga IVA
|
||||
app().IVA2bill(iva, bill);
|
||||
bill.add_to(row, 4, 0x7);
|
||||
}
|
||||
app().ivas().force_update(0);
|
||||
|
||||
iva_notify(0, K_ENTER);
|
||||
@ -1255,7 +1295,10 @@ bool TPrimanota_application::totale_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
if (key == K_TAB && f.focusdirty())
|
||||
{
|
||||
app().add_cgs_tot(f.mask());
|
||||
f.mask().field(F_CODIVA).on_hit();
|
||||
}
|
||||
|
||||
if (key == K_ENTER && f.get().empty())
|
||||
ok = f.yesno_box("Totale documento nullo: continuare ugualmente?");
|
||||
|
340
cg/cg2102.h
340
cg/cg2102.h
@ -1,170 +1,170 @@
|
||||
#ifndef __CG2102_H
|
||||
#define __CG2102_H
|
||||
|
||||
#ifndef __MSKSHEET_H
|
||||
#include <msksheet.h>
|
||||
#endif
|
||||
|
||||
#ifndef __RELAPP_H
|
||||
#include <relapp.h>
|
||||
#endif
|
||||
|
||||
#ifndef __CGLIB_H
|
||||
#include "cglib.h"
|
||||
#endif
|
||||
|
||||
#ifndef __CG2101_H
|
||||
#include "cg2101.h"
|
||||
#endif
|
||||
|
||||
#ifndef __CG2103_H
|
||||
#include "cg2103.h"
|
||||
#endif
|
||||
|
||||
class TPrimanota_application : public TRelation_application
|
||||
{
|
||||
TMovimentoPN* _rel;
|
||||
TLocalisamfile* _tabcom;
|
||||
TLocalisamfile* _tab;
|
||||
TLocalisamfile* _caus;
|
||||
TLocalisamfile* _rcaus;
|
||||
TLocalisamfile* _clifo;
|
||||
TLocalisamfile* _pcon;
|
||||
TLocalisamfile* _attiv;
|
||||
TLocalisamfile* _saldo;
|
||||
TLocalisamfile* _comuni;
|
||||
TLocalisamfile* _occas;
|
||||
TLocalisamfile* _nditte;
|
||||
|
||||
TCausale _causale; // Causale corrente
|
||||
TLibro_giornale _giornale; // Libro giornale corrente
|
||||
TipoIVA _iva; // Tipo di IVA corrente
|
||||
bool _ges_val, _ges_sal; // Gestione valuta e saldaconto
|
||||
bool _rif_par; // Riferimento parita (NUM_DOC | PROTIVA)
|
||||
|
||||
TSaldo_agg _saldi; // Saldi da aggiornare
|
||||
|
||||
TMask* _msk[4]; // Maschere di query, cg, iva
|
||||
long _lastreg; // Numero ultima registrazione
|
||||
int _mode; // Modo maschera corrente
|
||||
|
||||
void* _app_data;
|
||||
|
||||
static bool suspended_handler(TMask_field& f, KEY k);
|
||||
static bool num_handler(TMask_field& f, KEY key);
|
||||
static bool caus_query_handler(TMask_field& f, KEY key);
|
||||
static bool caus_modify_handler(TMask_field& f, KEY key);
|
||||
static bool datareg_handler(TMask_field& f, KEY key);
|
||||
static bool datacomp_handler(TMask_field& f, KEY key);
|
||||
static bool data74ter_handler(TMask_field& f, KEY key);
|
||||
static bool reg_handler(TMask_field& f, KEY key);
|
||||
static bool protiva_handler(TMask_field& f, KEY key);
|
||||
static bool clifo_handler(TMask_field& f, KEY key);
|
||||
static bool totale_handler(TMask_field& f, KEY key);
|
||||
static bool ritfis_handler(TMask_field& f, KEY key);
|
||||
static bool ritsoc_handler(TMask_field& f, KEY key);
|
||||
static bool main_codiva_handler(TMask_field& f, KEY key);
|
||||
static bool visval_handler(TMask_field& f, KEY key);
|
||||
static bool occas_code_handler(TMask_field& f, KEY key);
|
||||
static bool occas_handler(TMask_field& f, KEY key);
|
||||
static bool solaiva_handler(TMask_field& f, KEY key);
|
||||
static bool descr_handler(TMask_field& f, KEY k);
|
||||
|
||||
static bool imponibile_handler(TMask_field& f, KEY key);
|
||||
static bool codiva_handler(TMask_field& f, KEY key);
|
||||
static bool imposta_handler(TMask_field& f, KEY key);
|
||||
static bool dareavere_handler(TMask_field& f, KEY k);
|
||||
static bool cg_conto_handler(TMask_field& f, KEY key);
|
||||
static bool cg_clifo_handler(TMask_field& f, KEY k);
|
||||
|
||||
static bool iva_notify(int r, KEY key);
|
||||
static bool iva_handler(TMask_field& f, KEY key);
|
||||
static bool cg_notify(int r, KEY key);
|
||||
static bool cg_handler(TMask_field& f, KEY key);
|
||||
static bool pag_notify(int r, KEY key);
|
||||
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual void print();
|
||||
virtual bool changing_mask(int mode);
|
||||
virtual TMask* get_mask(int mode);
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual void init_query_mode(TMask& m);
|
||||
virtual void init_insert_mode(TMask& m);
|
||||
virtual void init_modify_mode(TMask& m);
|
||||
virtual const char* get_next_key();
|
||||
virtual int read(TMask& m);
|
||||
virtual int write(const TMask& m);
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual bool remove();
|
||||
|
||||
void genera_incasso(const char* causimm);
|
||||
void aggiorna_scadenzario(const TMask& m);
|
||||
|
||||
TMask* load_mask(int n);
|
||||
TMask& occas_mask() { return *load_mask(3); }
|
||||
|
||||
bool get_conto(const TRectype& r, TBill& c) const;
|
||||
void put_conto(TRectype& r, const TBill& c) const;
|
||||
|
||||
void mask2rel(const TMask& m);
|
||||
|
||||
TipoIVA iva() const { return _iva; }
|
||||
char clifo() const { return iva() == iva_vendite ? 'C' : 'F'; }
|
||||
bool gestione_valuta() const { return _ges_val; }
|
||||
bool gestione_saldaconto() const { return _ges_sal; }
|
||||
bool riferimento_partita() const { return _rif_par; }
|
||||
|
||||
void fill_sheet(TMask& m) const;
|
||||
void read_firm_params();
|
||||
void init_mask(TMask& m);
|
||||
|
||||
TSheet_field& cgs() const;
|
||||
TSheet_field& ivas() const;
|
||||
|
||||
static int bill2pos(const TBill& conto, char tipo);
|
||||
static TipoIVA reg2IVA(const char* registro, int anno);
|
||||
static TipoIVA cau2IVA(const char* causale, int anno);
|
||||
static int type2pos(char tipo);
|
||||
static const real& cod2IVA(const TMask& m);
|
||||
static real scorpora(real& imponibile, const real& percentuale);
|
||||
static bool detraibile(TToken_string& row);
|
||||
|
||||
int bill2contr(const TBill& c, char sezione) const;
|
||||
int bill_used(const TBill& conto) const;
|
||||
int det_used(char detraib) const;
|
||||
|
||||
bool read_caus(const char* cod, int year);
|
||||
TCausale& causale() { return _causale; }
|
||||
TLibro_giornale& giornale() { return _giornale; }
|
||||
|
||||
bool test_swap(bool ritsoc);
|
||||
TImporto real2imp(const real& r, char tipo);
|
||||
real totale_documento();
|
||||
|
||||
void set_cgs_imp(int n, const TImporto& importo);
|
||||
TImporto get_cgs_imp(int n);
|
||||
TImporto add_cgs_imp(int n, const TImporto& importo);
|
||||
TImporto sub_cgs_imp(int n, const real& imp);
|
||||
|
||||
void cgs_pack();
|
||||
real calcola_saldo() const;
|
||||
real calcola_imp() const;
|
||||
|
||||
void set_ivas_row(int n, const char* codiva, TBill& tc, const char* desc);
|
||||
int set_cgs_row(int n, const TImporto& importo, TBill& conto, const char* desc, char tipo);
|
||||
void reset_cgs_row(int n);
|
||||
void disable_cgs_cells(int n, char tipo);
|
||||
void add_cgs_tot(TMask& m);
|
||||
void add_cgs_rit(bool fisc);
|
||||
|
||||
void* get_app_data() { return _app_data; }
|
||||
void set_app_data(void* v) { _app_data = v; }
|
||||
|
||||
public:
|
||||
TPrimanota_application();
|
||||
};
|
||||
|
||||
#endif
|
||||
#ifndef __CG2102_H
|
||||
#define __CG2102_H
|
||||
|
||||
#ifndef __MSKSHEET_H
|
||||
#include <msksheet.h>
|
||||
#endif
|
||||
|
||||
#ifndef __RELAPP_H
|
||||
#include <relapp.h>
|
||||
#endif
|
||||
|
||||
#ifndef __CGLIB_H
|
||||
#include "cglib.h"
|
||||
#endif
|
||||
|
||||
#ifndef __CG2101_H
|
||||
#include "cg2101.h"
|
||||
#endif
|
||||
|
||||
#ifndef __CG2103_H
|
||||
#include "cg2103.h"
|
||||
#endif
|
||||
|
||||
class TPrimanota_application : public TRelation_application
|
||||
{
|
||||
TMovimentoPN* _rel;
|
||||
TLocalisamfile* _tabcom;
|
||||
TLocalisamfile* _tab;
|
||||
TLocalisamfile* _caus;
|
||||
TLocalisamfile* _rcaus;
|
||||
TLocalisamfile* _clifo;
|
||||
TLocalisamfile* _pcon;
|
||||
TLocalisamfile* _attiv;
|
||||
TLocalisamfile* _saldo;
|
||||
TLocalisamfile* _comuni;
|
||||
TLocalisamfile* _occas;
|
||||
TLocalisamfile* _nditte;
|
||||
|
||||
TCausale _causale; // Causale corrente
|
||||
TLibro_giornale _giornale; // Libro giornale corrente
|
||||
TipoIVA _iva; // Tipo di IVA corrente
|
||||
bool _ges_val, _ges_sal; // Gestione valuta e saldaconto
|
||||
bool _rif_par; // Riferimento parita (NUM_DOC | PROTIVA)
|
||||
|
||||
TSaldo_agg _saldi; // Saldi da aggiornare
|
||||
|
||||
TMask* _msk[4]; // Maschere di query, cg, iva
|
||||
long _lastreg; // Numero ultima registrazione
|
||||
int _mode; // Modo maschera corrente
|
||||
|
||||
void* _app_data;
|
||||
|
||||
static bool suspended_handler(TMask_field& f, KEY k);
|
||||
static bool num_handler(TMask_field& f, KEY key);
|
||||
static bool caus_query_handler(TMask_field& f, KEY key);
|
||||
static bool caus_modify_handler(TMask_field& f, KEY key);
|
||||
static bool datareg_handler(TMask_field& f, KEY key);
|
||||
static bool datacomp_handler(TMask_field& f, KEY key);
|
||||
static bool data74ter_handler(TMask_field& f, KEY key);
|
||||
static bool reg_handler(TMask_field& f, KEY key);
|
||||
static bool protiva_handler(TMask_field& f, KEY key);
|
||||
static bool clifo_handler(TMask_field& f, KEY key);
|
||||
static bool totale_handler(TMask_field& f, KEY key);
|
||||
static bool ritfis_handler(TMask_field& f, KEY key);
|
||||
static bool ritsoc_handler(TMask_field& f, KEY key);
|
||||
static bool main_codiva_handler(TMask_field& f, KEY key);
|
||||
static bool visval_handler(TMask_field& f, KEY key);
|
||||
static bool occas_code_handler(TMask_field& f, KEY key);
|
||||
static bool occas_handler(TMask_field& f, KEY key);
|
||||
static bool solaiva_handler(TMask_field& f, KEY key);
|
||||
static bool descr_handler(TMask_field& f, KEY k);
|
||||
|
||||
static bool sheet_clifo_handler(TMask_field& f, KEY k);
|
||||
static bool imponibile_handler(TMask_field& f, KEY key);
|
||||
static bool codiva_handler(TMask_field& f, KEY key);
|
||||
static bool imposta_handler(TMask_field& f, KEY key);
|
||||
static bool dareavere_handler(TMask_field& f, KEY k);
|
||||
static bool cg_conto_handler(TMask_field& f, KEY key);
|
||||
|
||||
static bool iva_notify(int r, KEY key);
|
||||
static bool iva_handler(TMask_field& f, KEY key);
|
||||
static bool cg_notify(int r, KEY key);
|
||||
static bool cg_handler(TMask_field& f, KEY key);
|
||||
static bool pag_notify(int r, KEY key);
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual void print();
|
||||
virtual bool changing_mask(int mode);
|
||||
virtual TMask* get_mask(int mode);
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual void init_query_mode(TMask& m);
|
||||
virtual void init_insert_mode(TMask& m);
|
||||
virtual void init_modify_mode(TMask& m);
|
||||
virtual const char* get_next_key();
|
||||
virtual int read(TMask& m);
|
||||
virtual int write(const TMask& m);
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual bool remove();
|
||||
|
||||
void genera_incasso(const char* causimm);
|
||||
void aggiorna_scadenzario(const TMask& m);
|
||||
|
||||
TMask* load_mask(int n);
|
||||
TMask& occas_mask() { return *load_mask(3); }
|
||||
|
||||
bool get_conto(const TRectype& r, TBill& c) const;
|
||||
void put_conto(TRectype& r, const TBill& c) const;
|
||||
|
||||
void mask2rel(const TMask& m);
|
||||
|
||||
TipoIVA iva() const { return _iva; }
|
||||
char clifo() const { return iva() == iva_vendite ? 'C' : 'F'; }
|
||||
bool gestione_valuta() const { return _ges_val; }
|
||||
bool gestione_saldaconto() const { return _ges_sal; }
|
||||
bool riferimento_partita() const { return _rif_par; }
|
||||
|
||||
void fill_sheet(TMask& m) const;
|
||||
void read_firm_params();
|
||||
void init_mask(TMask& m);
|
||||
|
||||
TSheet_field& cgs() const;
|
||||
TSheet_field& ivas() const;
|
||||
|
||||
static int bill2pos(const TBill& conto, char tipo);
|
||||
static TipoIVA reg2IVA(const char* registro, int anno);
|
||||
static TipoIVA cau2IVA(const char* causale, int anno);
|
||||
static int type2pos(char tipo);
|
||||
static const real& cod2IVA(const TMask& m);
|
||||
static real scorpora(real& imponibile, const real& percentuale);
|
||||
static bool detraibile(TToken_string& row);
|
||||
|
||||
bool IVA2bill(const TCodiceIVA& iva, TBill& bill);
|
||||
int bill2contr(const TBill& c, char sezione) const;
|
||||
int bill_used(const TBill& conto) const;
|
||||
int det_used(char detraib) const;
|
||||
|
||||
bool read_caus(const char* cod, int year);
|
||||
TCausale& causale() { return _causale; }
|
||||
TLibro_giornale& giornale() { return _giornale; }
|
||||
|
||||
bool test_swap(bool ritsoc);
|
||||
TImporto real2imp(const real& r, char tipo);
|
||||
real totale_documento();
|
||||
|
||||
void set_cgs_imp(int n, const TImporto& importo);
|
||||
TImporto get_cgs_imp(int n);
|
||||
TImporto add_cgs_imp(int n, const TImporto& importo);
|
||||
TImporto sub_cgs_imp(int n, const real& imp);
|
||||
|
||||
void cgs_pack();
|
||||
real calcola_saldo() const;
|
||||
real calcola_imp() const;
|
||||
|
||||
void set_ivas_row(int n, const char* codiva, TBill& tc, const char* desc);
|
||||
int set_cgs_row(int n, const TImporto& importo, TBill& conto, const char* desc, char tipo);
|
||||
void reset_cgs_row(int n);
|
||||
void disable_cgs_cells(int n, char tipo);
|
||||
void add_cgs_tot(TMask& m);
|
||||
void add_cgs_rit(bool fisc);
|
||||
|
||||
void* get_app_data() { return _app_data; }
|
||||
void set_app_data(void* v) { _app_data = v; }
|
||||
|
||||
public:
|
||||
TPrimanota_application();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -342,6 +342,12 @@ const char* TCausale::desc_agg(int num) const
|
||||
return da.get("S0");
|
||||
}
|
||||
|
||||
const char* TCausale::descrizione() const
|
||||
{ return _rec.ok() ? _rec.get(CAU_DESCR) : ""; }
|
||||
|
||||
const char* TCausale::codice() const
|
||||
{ return _rec.ok() ? _rec.get(CAU_CODCAUS) : ""; }
|
||||
|
||||
|
||||
bool TCausale::data_doc() const
|
||||
{ return _rec.ok() ? _rec.get_bool("DATADOC") : FALSE; }
|
||||
|
295
cg/cg2103.h
295
cg/cg2103.h
@ -1,146 +1,149 @@
|
||||
#ifndef __CG2103_H
|
||||
#define __CG2103_H
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include <isam.h>
|
||||
#endif
|
||||
|
||||
#ifndef __CONTO_H
|
||||
#include "conto.h"
|
||||
#endif
|
||||
|
||||
enum TipoIVA
|
||||
{
|
||||
iva_errata = -1,
|
||||
nessuna_iva = 0,
|
||||
iva_vendite = 1,
|
||||
iva_acquisti = 2,
|
||||
iva_generica = 9
|
||||
};
|
||||
|
||||
const char* iva2name(TipoIVA i);
|
||||
|
||||
class TRegistro : public TObject
|
||||
{
|
||||
bool read_att();
|
||||
|
||||
protected:
|
||||
enum TipoRegistro { libro_giornale = 5 };
|
||||
TRectype _rec, _att;
|
||||
|
||||
public:
|
||||
bool read(const char* code, int year);
|
||||
TRegistro& operator =(const TRegistro& r);
|
||||
|
||||
virtual bool ok() const { return !_rec.empty(); }
|
||||
|
||||
int tipo() const;
|
||||
TipoIVA iva() const;
|
||||
bool corrispettivi() const;
|
||||
const TString& name() const;
|
||||
int year() const;
|
||||
TDate last_reg() const { return _rec.get_date("D2"); }
|
||||
TDate last_print() const { return _rec.get_date("D3"); }
|
||||
long protocol() const { return _rec.get_long("I5"); }
|
||||
const TString& attivita() const { return _rec.get("S8"); }
|
||||
|
||||
bool agenzia_viaggi();
|
||||
const TString& tipo_attivita();
|
||||
bool attivita_mista() { return tipo_attivita()[0] == 'M'; }
|
||||
|
||||
bool update(long uprotiva, const TDate& lastreg);
|
||||
|
||||
TRegistro(const char* code = "", int year = 0);
|
||||
virtual ~TRegistro() {}
|
||||
};
|
||||
|
||||
|
||||
class TLibro_giornale : public TRegistro
|
||||
{
|
||||
public:
|
||||
bool read(int year);
|
||||
TDate global_last_print() const;
|
||||
|
||||
TLibro_giornale(int year = 0);
|
||||
virtual ~TLibro_giornale() {}
|
||||
};
|
||||
|
||||
|
||||
class TCausale : public TArray
|
||||
{
|
||||
TRectype _rec;
|
||||
TRegistro _reg;
|
||||
|
||||
TipoIVA _iva;
|
||||
bool _corrisp;
|
||||
char _sezione_clifo, _sezione_ritsoc;
|
||||
|
||||
protected:
|
||||
const TRectype& row(int num) const;
|
||||
|
||||
public:
|
||||
TBill& bill(int num, TBill& c) const;
|
||||
const char* desc_agg(int num) const;
|
||||
|
||||
bool data_doc() const;
|
||||
bool num_doc() const;
|
||||
bool apertura() const;
|
||||
bool sezionale() const;
|
||||
bool valuta() const;
|
||||
bool intra() const;
|
||||
bool corrval() const;
|
||||
const char* causale_inc_imm() const;
|
||||
const char* tipo_doc() const;
|
||||
|
||||
TRegistro& reg() const { return (TRegistro&)_reg; }
|
||||
TipoIVA iva() const;
|
||||
bool corrispettivi() const;
|
||||
bool saldaconto() const;
|
||||
|
||||
virtual bool ok() const;
|
||||
bool similar(const TCausale& c) const;
|
||||
|
||||
char sezione(int riga) const;
|
||||
char sezione_clifo();
|
||||
char sezione_ritsoc();
|
||||
|
||||
bool read(const char* cod, int year);
|
||||
|
||||
TCausale(const char* code = "", int year = 0);
|
||||
virtual ~TCausale() {}
|
||||
};
|
||||
|
||||
class TCodiceIVA : public TRectype
|
||||
{
|
||||
public:
|
||||
TCodiceIVA(const char* codice = NULL);
|
||||
bool read(const char* codice);
|
||||
bool ok() const { return !empty(); }
|
||||
const TString& codice() const { return get("CODTAB"); }
|
||||
real percentuale() const { return get_real("R0"); }
|
||||
const TString& tipo() const { return get("S1"); }
|
||||
};
|
||||
|
||||
class TImporto : public TObject
|
||||
{
|
||||
char _sezione;
|
||||
real _valore;
|
||||
|
||||
public:
|
||||
char sezione() const { return _sezione; }
|
||||
const real& valore() const { return _valore; }
|
||||
|
||||
const TImporto& operator=(const TImporto& i) { return set(i.sezione(), i.valore()); }
|
||||
const TImporto& operator=(TToken_string& sv);
|
||||
const TImporto& operator+=(const TImporto& i);
|
||||
const TImporto& operator-=(const TImporto& i);
|
||||
const TImporto& swap_section();
|
||||
|
||||
const TImporto& set(char s, const real& v);
|
||||
const TImporto& add_to(TToken_string& s) const;
|
||||
|
||||
TImporto(char s = 'D', const real& v = ZERO) { set(s, v); }
|
||||
TImporto(const TImporto& i) : _sezione(i._sezione), _valore(i._valore) {}
|
||||
};
|
||||
|
||||
#endif
|
||||
#ifndef __CG2103_H
|
||||
#define __CG2103_H
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include <isam.h>
|
||||
#endif
|
||||
|
||||
#ifndef __CONTO_H
|
||||
#include "conto.h"
|
||||
#endif
|
||||
|
||||
enum TipoIVA
|
||||
{
|
||||
iva_errata = -1,
|
||||
nessuna_iva = 0,
|
||||
iva_vendite = 1,
|
||||
iva_acquisti = 2,
|
||||
iva_generica = 9
|
||||
};
|
||||
|
||||
const char* iva2name(TipoIVA i);
|
||||
|
||||
class TRegistro : public TObject
|
||||
{
|
||||
bool read_att();
|
||||
|
||||
protected:
|
||||
enum TipoRegistro { libro_giornale = 5 };
|
||||
TRectype _rec, _att;
|
||||
|
||||
public:
|
||||
bool read(const char* code, int year);
|
||||
TRegistro& operator =(const TRegistro& r);
|
||||
|
||||
virtual bool ok() const { return !_rec.empty(); }
|
||||
|
||||
int tipo() const;
|
||||
TipoIVA iva() const;
|
||||
bool corrispettivi() const;
|
||||
const TString& name() const;
|
||||
int year() const;
|
||||
TDate last_reg() const { return _rec.get_date("D2"); }
|
||||
TDate last_print() const { return _rec.get_date("D3"); }
|
||||
long protocol() const { return _rec.get_long("I5"); }
|
||||
const TString& attivita() const { return _rec.get("S8"); }
|
||||
|
||||
bool agenzia_viaggi();
|
||||
const TString& tipo_attivita();
|
||||
bool attivita_mista() { return tipo_attivita()[0] == 'M'; }
|
||||
|
||||
bool update(long uprotiva, const TDate& lastreg);
|
||||
|
||||
TRegistro(const char* code = "", int year = 0);
|
||||
virtual ~TRegistro() {}
|
||||
};
|
||||
|
||||
|
||||
class TLibro_giornale : public TRegistro
|
||||
{
|
||||
public:
|
||||
bool read(int year);
|
||||
TDate global_last_print() const;
|
||||
|
||||
TLibro_giornale(int year = 0);
|
||||
virtual ~TLibro_giornale() {}
|
||||
};
|
||||
|
||||
|
||||
class TCausale : public TArray
|
||||
{
|
||||
TRectype _rec;
|
||||
TRegistro _reg;
|
||||
|
||||
TipoIVA _iva;
|
||||
bool _corrisp;
|
||||
char _sezione_clifo, _sezione_ritsoc;
|
||||
|
||||
protected:
|
||||
const TRectype& row(int num) const;
|
||||
|
||||
public:
|
||||
TBill& bill(int num, TBill& c) const;
|
||||
|
||||
const char* codice() const;
|
||||
const char* descrizione() const;
|
||||
const char* desc_agg(int num) const;
|
||||
|
||||
bool data_doc() const;
|
||||
bool num_doc() const;
|
||||
bool apertura() const;
|
||||
bool sezionale() const;
|
||||
bool valuta() const;
|
||||
bool intra() const;
|
||||
bool corrval() const;
|
||||
const char* causale_inc_imm() const;
|
||||
const char* tipo_doc() const;
|
||||
|
||||
TRegistro& reg() const { return (TRegistro&)_reg; }
|
||||
TipoIVA iva() const;
|
||||
bool corrispettivi() const;
|
||||
bool saldaconto() const;
|
||||
|
||||
virtual bool ok() const;
|
||||
bool similar(const TCausale& c) const;
|
||||
|
||||
char sezione(int riga) const;
|
||||
char sezione_clifo();
|
||||
char sezione_ritsoc();
|
||||
|
||||
bool read(const char* cod, int year);
|
||||
|
||||
TCausale(const char* code = "", int year = 0);
|
||||
virtual ~TCausale() {}
|
||||
};
|
||||
|
||||
class TCodiceIVA : public TRectype
|
||||
{
|
||||
public:
|
||||
TCodiceIVA(const char* codice = NULL);
|
||||
bool read(const char* codice);
|
||||
bool ok() const { return !empty(); }
|
||||
const TString& codice() const { return get("CODTAB"); }
|
||||
real percentuale() const { return get_real("R0"); }
|
||||
const TString& tipo() const { return get("S1"); }
|
||||
};
|
||||
|
||||
class TImporto : public TObject
|
||||
{
|
||||
char _sezione;
|
||||
real _valore;
|
||||
|
||||
public:
|
||||
char sezione() const { return _sezione; }
|
||||
const real& valore() const { return _valore; }
|
||||
|
||||
const TImporto& operator=(const TImporto& i) { return set(i.sezione(), i.valore()); }
|
||||
const TImporto& operator=(TToken_string& sv);
|
||||
const TImporto& operator+=(const TImporto& i);
|
||||
const TImporto& operator-=(const TImporto& i);
|
||||
const TImporto& swap_section();
|
||||
|
||||
const TImporto& set(char s, const real& v);
|
||||
const TImporto& add_to(TToken_string& s) const;
|
||||
|
||||
TImporto(char s = 'D', const real& v = ZERO) { set(s, v); }
|
||||
TImporto(const TImporto& i) : _sezione(i._sezione), _valore(i._valore) {}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
693
cg/cg21cg.uml
693
cg/cg21cg.uml
@ -1,348 +1,345 @@
|
||||
PAGE "RIGA PRIMA NOTA" -1 -1 67 16
|
||||
|
||||
GROUPBOX DLG_NULL 66 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "Descrizione"
|
||||
END
|
||||
|
||||
STRING 108 5
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
FLAGS "U"
|
||||
USE %DPN
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT 108 CODTAB
|
||||
OUTPUT 109 S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING 109 50
|
||||
BEGIN
|
||||
PROMPT 14 2 ""
|
||||
FIELD DESCR
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 66 5
|
||||
BEGIN
|
||||
PROMPT 1 4 "Conto principale"
|
||||
END
|
||||
|
||||
NUMBER 101 15
|
||||
BEGIN
|
||||
PROMPT 2 5 "Dare "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER 102 15
|
||||
BEGIN
|
||||
PROMPT 44 5 "Avere "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
LIST 103 1 12
|
||||
BEGIN
|
||||
PROMPT 2 6 "Tipo "
|
||||
FLAGS "U"
|
||||
ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306|SHOW,107|HIDE,207|HIDE,307
|
||||
ITEM "C|Cliente" MESSAGE SHOW,206|HIDE,106|HIDE,306|SHOW,207|HIDE,107|HIDE,307
|
||||
ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206|SHOW,307|HIDE,107|HIDE,207
|
||||
END
|
||||
|
||||
NUMBER 104 3
|
||||
BEGIN
|
||||
PROMPT 20 6 "Gruppo "
|
||||
END
|
||||
|
||||
NUMBER 105 3
|
||||
BEGIN
|
||||
PROMPT 32 6 "Conto "
|
||||
FIELD LF_PCON->CONTO
|
||||
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
|
||||
INPUT GRUPPO 104
|
||||
INPUT CONTO 105
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT 103 TMCF
|
||||
OUTPUT 104 GRUPPO
|
||||
OUTPUT 105 CONTO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN CG0 -0
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 2 101 102
|
||||
MESSAGE DIRTY,106|DIRTY,206|DIRTY,306
|
||||
WARNING "Conto inesistente o mancante sulla riga contabile"
|
||||
END
|
||||
|
||||
NUMBER 106 6
|
||||
BEGIN
|
||||
PROMPT 45 6 "Sottoconto "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO 104
|
||||
INPUT CONTO 105
|
||||
INPUT SOTTOCONTO 106
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT 106 SOTTOCONTO
|
||||
OUTPUT 104 GRUPPO
|
||||
OUTPUT 105 CONTO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN cg0 -0
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 2 101 102
|
||||
WARNING "Sottoconto inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
NUMBER 206 6
|
||||
BEGIN
|
||||
PROMPT 45 6 "Cliente "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 206
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 206 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
MESSAGE COPY,106
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 2 101 102
|
||||
WARNING "Cliente inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
NUMBER 306 6
|
||||
BEGIN
|
||||
PROMPT 45 6 "Fornitore "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 306
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 306 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
MESSAGE COPY,106
|
||||
ADD RUN cg0 -1
|
||||
MESSAGE COPY,106
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 2 101 102
|
||||
WARNING "Fornitore inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 107 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Descriz. "
|
||||
FIELD LF_PCON->DESCR
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR 107
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
COPY OUTPUT 106
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Sottoconto inesistente o mancante sulla riga contabile"
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING 207 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Cliente "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC 207
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 206
|
||||
MESSAGE COPY,107
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Cliente inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 307 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Fornitore "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC 307
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 306
|
||||
MESSAGE COPY,107
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Fornitore inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 66 4
|
||||
BEGIN
|
||||
PROMPT 1 9 "Contropartita"
|
||||
END
|
||||
|
||||
LIST 110 1 12
|
||||
BEGIN
|
||||
PROMPT 2 10 "Tipo "
|
||||
FLAGS "U"
|
||||
ITEM " |Conto" MESSAGE SHOW,113|HIDE,213|HIDE,313|SHOW,114|HIDE,214|HIDE,314
|
||||
ITEM "C|Cliente" MESSAGE SHOW,213|HIDE,113|HIDE,313|SHOW,214|HIDE,114|HIDE,314
|
||||
ITEM "F|Fornitore" MESSAGE SHOW,313|HIDE,113|HIDE,213|SHOW,314|HIDE,114|HIDE,214
|
||||
END
|
||||
|
||||
NUMBER 111 3
|
||||
BEGIN
|
||||
PROMPT 20 10 "Gruppo "
|
||||
END
|
||||
|
||||
NUMBER 112 3
|
||||
BEGIN
|
||||
PROMPT 32 10 "Conto "
|
||||
FIELD LF_PCON->CONTO
|
||||
COPY USE 105
|
||||
INPUT GRUPPO 111
|
||||
INPUT CONTO 112
|
||||
COPY DISPLAY 105
|
||||
OUTPUT 110 TMCF
|
||||
OUTPUT 111 GRUPPO
|
||||
OUTPUT 112 CONTO
|
||||
OUTPUT 114 DESCR
|
||||
ADD RUN CG0 -0
|
||||
MESSAGE DIRTY,113|DIRTY,213|DIRTY,313
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 3 113 213 313
|
||||
END
|
||||
|
||||
NUMBER 113 6
|
||||
BEGIN
|
||||
PROMPT 45 10 "Sottoconto "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
COPY USE 106
|
||||
COPY INPUT 112
|
||||
INPUT SOTTOCONTO 113
|
||||
COPY DISPLAY 106
|
||||
OUTPUT 113 SOTTOCONTO
|
||||
OUTPUT 111 GRUPPO
|
||||
OUTPUT 112 CONTO
|
||||
OUTPUT 114 DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER 213 6
|
||||
BEGIN
|
||||
PROMPT 45 10 "Cliente "
|
||||
FIELD LF_CLIFO->CODCF
|
||||
COPY USE 206
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 213
|
||||
COPY DISPLAY 206
|
||||
OUTPUT 213 CODCF
|
||||
OUTPUT 214 RAGSOC
|
||||
MESSAGE COPY,113
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER 313 6
|
||||
BEGIN
|
||||
PROMPT 45 10 "Fornitore "
|
||||
FIELD LF_CLIFO->CODCF
|
||||
COPY USE 306
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 313
|
||||
COPY DISPLAY 306
|
||||
OUTPUT 313 CODCF
|
||||
OUTPUT 314 RAGSOC
|
||||
MESSAGE COPY,113
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING 114 50
|
||||
BEGIN
|
||||
PROMPT 2 11 "Descriz. "
|
||||
FIELD LF_PCON->DESCR
|
||||
COPY USE 107
|
||||
INPUT DESCR 114
|
||||
COPY DISPLAY 107
|
||||
COPY OUTPUT 113
|
||||
ADD RUN cg0 -0
|
||||
WARNING "Conto inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 214 50
|
||||
BEGIN
|
||||
PROMPT 2 11 "Cliente "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
COPY USE 207
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC 214
|
||||
COPY DISPLAY 207
|
||||
COPY OUTPUT 213
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Cliente inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 314 50
|
||||
BEGIN
|
||||
PROMPT 2 11 "Fornitore "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
COPY USE 307
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC 314
|
||||
COPY DISPLAY 307
|
||||
COPY OUTPUT 313
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Fornitore inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
LIST 115 20
|
||||
BEGIN
|
||||
PROMPT 2 13 "Tipo riga "
|
||||
ITEM " |Sola contabilita'"
|
||||
ITEM "C|Gestione saldaconto"
|
||||
ITEM "D|IVA detraibile"
|
||||
ITEM "F|Ritenute fiscali"
|
||||
ITEM "I|Riga di IVA"
|
||||
ITEM "N|IVA non detraibile"
|
||||
ITEM "S|Ritenute sociali"
|
||||
ITEM "T|Totale documento"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 "Elimina"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "RIGA PRIMA NOTA" -1 -1 67 16
|
||||
|
||||
GROUPBOX DLG_NULL 66 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "Descrizione"
|
||||
END
|
||||
|
||||
STRING 108 5
|
||||
BEGIN
|
||||
PROMPT 2 2 ""
|
||||
FLAGS "U"
|
||||
USE %DPN
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT 108 CODTAB
|
||||
OUTPUT 109 S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING 109 50
|
||||
BEGIN
|
||||
PROMPT 14 2 ""
|
||||
FIELD DESCR
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 66 5
|
||||
BEGIN
|
||||
PROMPT 1 4 "Conto principale"
|
||||
END
|
||||
|
||||
NUMBER 101 15
|
||||
BEGIN
|
||||
PROMPT 2 5 "Dare "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER 102 15
|
||||
BEGIN
|
||||
PROMPT 44 5 "Avere "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
LIST 103 1 12
|
||||
BEGIN
|
||||
PROMPT 2 6 "Tipo "
|
||||
FLAGS "U"
|
||||
ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306|SHOW,107|HIDE,207|HIDE,307
|
||||
ITEM "C|Cliente" MESSAGE SHOW,206|HIDE,106|HIDE,306|SHOW,207|HIDE,107|HIDE,307
|
||||
ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206|SHOW,307|HIDE,107|HIDE,207
|
||||
END
|
||||
|
||||
NUMBER 104 3
|
||||
BEGIN
|
||||
PROMPT 20 6 "Gruppo "
|
||||
END
|
||||
|
||||
NUMBER 105 3
|
||||
BEGIN
|
||||
PROMPT 32 6 "Conto "
|
||||
FIELD LF_PCON->CONTO
|
||||
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
|
||||
INPUT GRUPPO 104
|
||||
INPUT CONTO 105
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT 103 TMCF
|
||||
OUTPUT 104 GRUPPO
|
||||
OUTPUT 105 CONTO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN CG0 -0
|
||||
CHECKTYPE NORMAL
|
||||
MESSAGE DIRTY,106|DIRTY,206|DIRTY,306
|
||||
WARNING "Conto inesistente o mancante sulla riga contabile"
|
||||
END
|
||||
|
||||
NUMBER 106 6
|
||||
BEGIN
|
||||
PROMPT 45 6 "Sottoconto "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO 104
|
||||
INPUT CONTO 105
|
||||
INPUT SOTTOCONTO 106
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT 106 SOTTOCONTO
|
||||
OUTPUT 104 GRUPPO
|
||||
OUTPUT 105 CONTO
|
||||
OUTPUT 107 DESCR
|
||||
ADD RUN cg0 -0
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Sottoconto inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
NUMBER 206 6
|
||||
BEGIN
|
||||
PROMPT 45 6 "Cliente "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 206
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 206 CODCF
|
||||
OUTPUT 207 RAGSOC
|
||||
MESSAGE COPY,106
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Cliente inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
NUMBER 306 6
|
||||
BEGIN
|
||||
PROMPT 45 6 "Fornitore "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 306
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 306 CODCF
|
||||
OUTPUT 307 RAGSOC
|
||||
MESSAGE COPY,106
|
||||
ADD RUN cg0 -1
|
||||
MESSAGE COPY,106
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Fornitore inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 107 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Descriz. "
|
||||
FIELD LF_PCON->DESCR
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR 107
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
COPY OUTPUT 106
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Sottoconto inesistente o mancante sulla riga contabile"
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING 207 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Cliente "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC 207
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 206
|
||||
MESSAGE COPY,107
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Cliente inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 307 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Fornitore "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC 307
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 306
|
||||
MESSAGE COPY,107
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Fornitore inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 66 4
|
||||
BEGIN
|
||||
PROMPT 1 9 "Contropartita"
|
||||
END
|
||||
|
||||
LIST 110 1 12
|
||||
BEGIN
|
||||
PROMPT 2 10 "Tipo "
|
||||
FLAGS "U"
|
||||
ITEM " |Conto" MESSAGE SHOW,113|HIDE,213|HIDE,313|SHOW,114|HIDE,214|HIDE,314
|
||||
ITEM "C|Cliente" MESSAGE SHOW,213|HIDE,113|HIDE,313|SHOW,214|HIDE,114|HIDE,314
|
||||
ITEM "F|Fornitore" MESSAGE SHOW,313|HIDE,113|HIDE,213|SHOW,314|HIDE,114|HIDE,214
|
||||
END
|
||||
|
||||
NUMBER 111 3
|
||||
BEGIN
|
||||
PROMPT 20 10 "Gruppo "
|
||||
END
|
||||
|
||||
NUMBER 112 3
|
||||
BEGIN
|
||||
PROMPT 32 10 "Conto "
|
||||
FIELD LF_PCON->CONTO
|
||||
COPY USE 105
|
||||
INPUT GRUPPO 111
|
||||
INPUT CONTO 112
|
||||
COPY DISPLAY 105
|
||||
OUTPUT 110 TMCF
|
||||
OUTPUT 111 GRUPPO
|
||||
OUTPUT 112 CONTO
|
||||
OUTPUT 114 DESCR
|
||||
ADD RUN CG0 -0
|
||||
MESSAGE DIRTY,113|DIRTY,213|DIRTY,313
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 3 113 213 313
|
||||
END
|
||||
|
||||
NUMBER 113 6
|
||||
BEGIN
|
||||
PROMPT 45 10 "Sottoconto "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
COPY USE 106
|
||||
COPY INPUT 112
|
||||
INPUT SOTTOCONTO 113
|
||||
COPY DISPLAY 106
|
||||
OUTPUT 113 SOTTOCONTO
|
||||
OUTPUT 111 GRUPPO
|
||||
OUTPUT 112 CONTO
|
||||
OUTPUT 114 DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER 213 6
|
||||
BEGIN
|
||||
PROMPT 45 10 "Cliente "
|
||||
FIELD LF_CLIFO->CODCF
|
||||
COPY USE 206
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 213
|
||||
COPY DISPLAY 206
|
||||
OUTPUT 213 CODCF
|
||||
OUTPUT 214 RAGSOC
|
||||
MESSAGE COPY,113
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER 313 6
|
||||
BEGIN
|
||||
PROMPT 45 10 "Fornitore "
|
||||
FIELD LF_CLIFO->CODCF
|
||||
COPY USE 306
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 313
|
||||
COPY DISPLAY 306
|
||||
OUTPUT 313 CODCF
|
||||
OUTPUT 314 RAGSOC
|
||||
MESSAGE COPY,113
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING 114 50
|
||||
BEGIN
|
||||
PROMPT 2 11 "Descriz. "
|
||||
FIELD LF_PCON->DESCR
|
||||
COPY USE 107
|
||||
INPUT DESCR 114
|
||||
COPY DISPLAY 107
|
||||
COPY OUTPUT 113
|
||||
ADD RUN cg0 -0
|
||||
WARNING "Conto inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 214 50
|
||||
BEGIN
|
||||
PROMPT 2 11 "Cliente "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
COPY USE 207
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC 214
|
||||
COPY DISPLAY 207
|
||||
COPY OUTPUT 213
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Cliente inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
STRING 314 50
|
||||
BEGIN
|
||||
PROMPT 2 11 "Fornitore "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
COPY USE 307
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC 314
|
||||
COPY DISPLAY 307
|
||||
COPY OUTPUT 313
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Fornitore inesistente sulla riga contabile"
|
||||
END
|
||||
|
||||
LIST 115 20
|
||||
BEGIN
|
||||
PROMPT 2 13 "Tipo riga "
|
||||
ITEM " |Sola contabilita'"
|
||||
ITEM "C|Gestione saldaconto"
|
||||
ITEM "D|IVA detraibile"
|
||||
ITEM "F|Ritenute fiscali"
|
||||
ITEM "I|Riga di IVA"
|
||||
ITEM "N|IVA non detraibile"
|
||||
ITEM "S|Ritenute sociali"
|
||||
ITEM "T|Totale documento"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 "Elimina"
|
||||
MESSAGE EXIT,K_DEL
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
|
512
cg/cg21iva.uml
512
cg/cg21iva.uml
@ -1,256 +1,256 @@
|
||||
PAGE "RIGA IVA" -1 -1 70 13
|
||||
|
||||
GROUPBOX DLG_NULL 67 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Conto"
|
||||
END
|
||||
|
||||
LIST 106 1 12
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo "
|
||||
FIELD TMCF
|
||||
ITEM " |Conto"
|
||||
MESSAGE SHOW,109|HIDE,209|HIDE,309|SHOW,110|HIDE,210|HIDE,310
|
||||
ITEM "C|Cliente"
|
||||
MESSAGE SHOW,209|HIDE,109|HIDE,309|SHOW,210|HIDE,110|HIDE,310
|
||||
ITEM "F|Fornitore"
|
||||
MESSAGE SHOW,309|HIDE,109|HIDE,209|SHOW,310|HIDE,110|HIDE,210
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
NUMBER 107 3
|
||||
BEGIN
|
||||
PROMPT 21 2 "Gruppo "
|
||||
FIELD GRUPPO
|
||||
END
|
||||
|
||||
NUMBER 108 3
|
||||
BEGIN
|
||||
PROMPT 33 2 "Conto "
|
||||
FIELD CONTO
|
||||
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
|
||||
INPUT GRUPPO 107
|
||||
INPUT CONTO 108
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo" TMCF
|
||||
OUTPUT 106 TMCF
|
||||
OUTPUT 107 GRUPPO
|
||||
OUTPUT 108 CONTO
|
||||
OUTPUT 110 DESCR
|
||||
OUTPUT 105 TIPOSPRIC
|
||||
ADD RUN cg0 -0
|
||||
MESSAGE DIRTY,109|DIRTY,209|DIRTY,309
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Conto inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
|
||||
NUMBER 109 6
|
||||
BEGIN
|
||||
PROMPT 46 2 "Sottoconto "
|
||||
FIELD SOTTOCONTO
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO 107
|
||||
INPUT CONTO 108
|
||||
INPUT SOTTOCONTO 109
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT 109 SOTTOCONTO
|
||||
OUTPUT 105 TIPOSPRIC
|
||||
OUTPUT 107 GRUPPO
|
||||
OUTPUT 108 CONTO
|
||||
OUTPUT 110 DESCR
|
||||
ADD RUN cg0 -0
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
WARNING "Sottoconto inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
|
||||
NUMBER 209 6
|
||||
BEGIN
|
||||
PROMPT 46 2 "Cliente "
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 209
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 209 CODCF
|
||||
OUTPUT 210 RAGSOC
|
||||
OUTPUT 105 ""
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
MESSAGE COPY,109
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
WARNING "Cliente inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
NUMBER 309 6
|
||||
BEGIN
|
||||
PROMPT 46 2 "Fornitore "
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 309
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
OUTPUT 107 GRUPPO
|
||||
OUTPUT 108 CONTO
|
||||
OUTPUT 309 CODCF
|
||||
OUTPUT 310 RAGSOC
|
||||
OUTPUT 105 ""
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
MESSAGE COPY,109|RESET,105
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
WARNING "Fornitore inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
STRING 110 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descriz. "
|
||||
FIELD LF_PCON->DESCR
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR 110
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
COPY OUTPUT 109
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING 210 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Cliente "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC 210
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 209
|
||||
MESSAGE COPY,110
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING 310 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Fornitore "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC 310
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 309
|
||||
MESSAGE COPY,110
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
LIST 105 1 53
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo C/R "
|
||||
ITEM " |0 - Acquisti o vendite in genere"
|
||||
ITEM "1|1 - Acquisti beni per rivendita"
|
||||
ITEM "2|2 - Acquisti beni ammortizzabili"
|
||||
ITEM "3|3 - Acquisti beni ammortizzabili con detr. 6%"
|
||||
ITEM "4|4 - Vendita beni strumentali art. 17"
|
||||
ITEM "5|5 - Beni per rivendita da non ventilare"
|
||||
ITEM "8|8 - Altri beni strumentali acquistati in leasing"
|
||||
FLAGS "D"
|
||||
HELP "Specifica il tipo Costo/Ricavo del conto"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 67 5
|
||||
BEGIN
|
||||
PROMPT 1 6 "Imposta"
|
||||
END
|
||||
|
||||
STRING 102 4
|
||||
BEGIN
|
||||
PROMPT 2 7 "IVA "
|
||||
FLAGS "U"
|
||||
USE %IVA
|
||||
INPUT CODTAB 102
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "%@6" R0
|
||||
DISPLAY "Tipo" S1
|
||||
OUTPUT 102 CODTAB
|
||||
OUTPUT 211 S0
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
END
|
||||
|
||||
STRING 211 50
|
||||
BEGIN
|
||||
PROMPT 15 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER 103 1
|
||||
BEGIN
|
||||
PROMPT 2 9 "Det. "
|
||||
SHEET "Codice|Descrizione@53"
|
||||
INPUT 103
|
||||
ITEM " |Regime normale"
|
||||
ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti"
|
||||
ITEM "3|IVA indicata per il solo calcolo di ventilazione"
|
||||
ITEM "9|IVA non detraibile per l'articolo 19"
|
||||
OUTPUT 103
|
||||
OUTPUT 213
|
||||
END
|
||||
|
||||
STRING 213 53
|
||||
BEGIN
|
||||
PROMPT 12 9 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
NUMBER 101 15
|
||||
BEGIN
|
||||
PROMPT 2 8 "Imponibile "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER 104 15
|
||||
BEGIN
|
||||
PROMPT 40 8 "Imposta "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 "Elimina"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
PAGE "RIGA IVA" -1 -1 70 13
|
||||
|
||||
GROUPBOX DLG_NULL 67 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Conto"
|
||||
END
|
||||
|
||||
LIST 106 1 12
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo "
|
||||
FIELD TMCF
|
||||
ITEM " |Conto"
|
||||
MESSAGE SHOW,109|HIDE,209|HIDE,309|SHOW,110|HIDE,210|HIDE,310
|
||||
ITEM "C|Cliente"
|
||||
MESSAGE SHOW,209|HIDE,109|HIDE,309|SHOW,210|HIDE,110|HIDE,310
|
||||
ITEM "F|Fornitore"
|
||||
MESSAGE SHOW,309|HIDE,109|HIDE,209|SHOW,310|HIDE,110|HIDE,210
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
NUMBER 107 3
|
||||
BEGIN
|
||||
PROMPT 21 2 "Gruppo "
|
||||
FIELD GRUPPO
|
||||
END
|
||||
|
||||
NUMBER 108 3
|
||||
BEGIN
|
||||
PROMPT 33 2 "Conto "
|
||||
FIELD CONTO
|
||||
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
|
||||
INPUT GRUPPO 107
|
||||
INPUT CONTO 108
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Tipo" TMCF
|
||||
OUTPUT 106 TMCF
|
||||
OUTPUT 107 GRUPPO
|
||||
OUTPUT 108 CONTO
|
||||
OUTPUT 110 DESCR
|
||||
OUTPUT 105 TIPOSPRIC
|
||||
ADD RUN cg0 -0
|
||||
MESSAGE DIRTY,109|DIRTY,209|DIRTY,309
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Conto inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
|
||||
NUMBER 109 6
|
||||
BEGIN
|
||||
PROMPT 46 2 "Sottoconto "
|
||||
FIELD SOTTOCONTO
|
||||
USE LF_PCON SELECT SOTTOCONTO!=""
|
||||
INPUT GRUPPO 107
|
||||
INPUT CONTO 108
|
||||
INPUT SOTTOCONTO 109
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT 109 SOTTOCONTO
|
||||
OUTPUT 105 TIPOSPRIC
|
||||
OUTPUT 107 GRUPPO
|
||||
OUTPUT 108 CONTO
|
||||
OUTPUT 110 DESCR
|
||||
ADD RUN cg0 -0
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
WARNING "Sottoconto inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
|
||||
NUMBER 209 6
|
||||
BEGIN
|
||||
PROMPT 46 2 "Cliente "
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF 209
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
OUTPUT 209 CODCF
|
||||
OUTPUT 210 RAGSOC
|
||||
OUTPUT 105 ""
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
MESSAGE COPY,109
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
WARNING "Cliente inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
NUMBER 309 6
|
||||
BEGIN
|
||||
PROMPT 46 2 "Fornitore "
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF 309
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
OUTPUT 107 GRUPPO
|
||||
OUTPUT 108 CONTO
|
||||
OUTPUT 309 CODCF
|
||||
OUTPUT 310 RAGSOC
|
||||
OUTPUT 105 ""
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
MESSAGE COPY,109|RESET,105
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
WARNING "Fornitore inesistente nella riga IVA"
|
||||
END
|
||||
|
||||
STRING 110 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descriz. "
|
||||
FIELD LF_PCON->DESCR
|
||||
USE LF_PCON KEY 2
|
||||
INPUT DESCR 110
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
COPY OUTPUT 109
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING 210 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Cliente "
|
||||
FIELD LF_CLIFO->RAGSOC
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC 210
|
||||
DISPLAY "Ragione Sociale Cliente@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 209
|
||||
MESSAGE COPY,110
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING 310 50
|
||||
BEGIN
|
||||
PROMPT 2 3 "Fornitore "
|
||||
FIELD LF_PCON->SOTTOCONTO
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC 310
|
||||
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Codice" CODCF
|
||||
COPY OUTPUT 309
|
||||
MESSAGE COPY,110
|
||||
ADD RUN cg0 -1
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
LIST 105 1 53
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo C/R "
|
||||
ITEM " |0 - Acquisti o vendite in genere"
|
||||
ITEM "1|1 - Acquisti beni per rivendita"
|
||||
ITEM "2|2 - Acquisti beni ammortizzabili"
|
||||
ITEM "3|3 - Acquisti beni ammortizzabili con detr. 6%"
|
||||
ITEM "4|4 - Vendita beni strumentali art. 17"
|
||||
ITEM "5|5 - Beni per rivendita da non ventilare"
|
||||
ITEM "8|8 - Altri beni strumentali acquistati in leasing"
|
||||
FLAGS "D"
|
||||
HELP "Specifica il tipo Costo/Ricavo del conto"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 67 5
|
||||
BEGIN
|
||||
PROMPT 1 6 "Imposta"
|
||||
END
|
||||
|
||||
STRING 102 4
|
||||
BEGIN
|
||||
PROMPT 2 7 "IVA "
|
||||
FLAGS "U"
|
||||
USE %IVA
|
||||
INPUT CODTAB 102
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "%@6" R0
|
||||
DISPLAY "Tipo" S1
|
||||
OUTPUT 102 CODTAB
|
||||
OUTPUT 211 S0
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 1 101
|
||||
END
|
||||
|
||||
STRING 211 50
|
||||
BEGIN
|
||||
PROMPT 15 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER 103 1
|
||||
BEGIN
|
||||
PROMPT 2 9 "Det. "
|
||||
SHEET "Codice|Descrizione@53"
|
||||
INPUT 103
|
||||
ITEM " |Regime normale"
|
||||
ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti"
|
||||
ITEM "3|IVA indicata per il solo calcolo di ventilazione"
|
||||
ITEM "9|IVA non detraibile per l'articolo 19"
|
||||
OUTPUT 103
|
||||
OUTPUT 213
|
||||
END
|
||||
|
||||
STRING 213 53
|
||||
BEGIN
|
||||
PROMPT 12 9 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
NUMBER 101 15
|
||||
BEGIN
|
||||
PROMPT 2 8 "Imponibile "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
NUMBER 104 15
|
||||
BEGIN
|
||||
PROMPT 40 8 "Imposta "
|
||||
FLAGS "RV"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 "Elimina"
|
||||
MESSAGE EXIT,K_DEL
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -426,7 +426,7 @@ void TApplication::about() const
|
||||
{
|
||||
#include <prassi.ver>
|
||||
const TFilename n(__argv[0]);
|
||||
message_box("PRASSI Versione Beta %3.1f\nProgramma %s\nLibreria del %s",
|
||||
message_box("PRASSI Versione Beta %4.2f\nProgramma %s\nLibreria del %s",
|
||||
VERSION, (const char*)n.name(), __DATE__);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// $Id: maskfld.cpp,v 1.32 1994-10-19 13:56:40 alex Exp $
|
||||
// $Id: maskfld.cpp,v 1.33 1994-10-19 15:00:23 guy Exp $
|
||||
#include <xvt.h>
|
||||
|
||||
#include <applicat.h>
|
||||
@ -1558,7 +1558,7 @@ const TBrowse* TEdit_field::get_browse(TScanner& scanner) const
|
||||
const TBrowse* b = (const TBrowse*)f.browse();
|
||||
#ifdef DBG
|
||||
if (b == NULL)
|
||||
error_box("La USE del campo %d non puo' essere copiata nel campo %d", id, dlg());
|
||||
error_box("La USE del campo %d e' nulla e non puo' essere copiata nel campo %d", id, dlg());
|
||||
#endif
|
||||
return b;
|
||||
}
|
||||
|
@ -118,6 +118,7 @@ TSpreadsheet::TSpreadsheet(short x, short y, short dx, short dy,
|
||||
const int NUMBER_WIDTH = 3;
|
||||
const int MAX_COL = 32;
|
||||
int m_width[MAX_COL], v_width[MAX_COL];
|
||||
int fixed_columns = 1; // Number of fixed columns
|
||||
|
||||
init();
|
||||
|
||||
@ -139,7 +140,10 @@ TSpreadsheet::TSpreadsheet(short x, short y, short dx, short dy,
|
||||
int m, v;
|
||||
if (at >= 0)
|
||||
{
|
||||
m = atoi(testa.mid(at+1));
|
||||
const TString& wi = testa.mid(at+1);
|
||||
if (wi[wi.len()-1] == 'F')
|
||||
fixed_columns++;
|
||||
m = atoi(wi);
|
||||
testa.cut(at);
|
||||
v = max(at, m+(f->has_query() ? 1 : 0));
|
||||
}
|
||||
@ -186,7 +190,7 @@ TSpreadsheet::TSpreadsheet(short x, short y, short dx, short dy,
|
||||
listdef->v.list->movable_columns = TRUE;
|
||||
listdef->v.list->scroll_bar = TRUE;
|
||||
listdef->v.list->scroll_bar_button = TRUE;
|
||||
listdef->v.list->fixed_columns = 1;
|
||||
listdef->v.list->fixed_columns = fixed_columns;
|
||||
listdef->v.list->width = rct.right-rct.left;
|
||||
listdef->v.list->min_cell_height = CHARY;
|
||||
listdef->v.list->min_heading_height = CHARY;
|
||||
@ -562,8 +566,8 @@ break;
|
||||
{
|
||||
TMask_field* c = _edit_field; // Save field, it could turn out to be NULL on error
|
||||
const char* nuo = c->picture_data(xi_get_text(xiev->v.xi_obj, NULL, -1), TRUE);
|
||||
c->set(nuo); // Set new mask value
|
||||
c->set_dirty(); // Get it dirty!
|
||||
c->set(nuo); // Set new mask value
|
||||
c->set_dirty(); // Get it dirty!
|
||||
if (c->on_key(c->is_edit() ? K_TAB : K_SPACE) == FALSE) // Test it
|
||||
{
|
||||
xiev->refused = TRUE;
|
||||
|
@ -1 +1 @@
|
||||
#define VERSION 1.10
|
||||
#define VERSION 1.11
|
||||
|
@ -441,16 +441,19 @@ HIDDEN bool _mtcheck_val(TEdit_field& f, KEY)
|
||||
}
|
||||
|
||||
|
||||
HIDDEN bool _reqif_val(TEdit_field& f, KEY)
|
||||
HIDDEN bool _reqif_val(TEdit_field& f, KEY k)
|
||||
{
|
||||
if (f.get().not_empty()) return TRUE;
|
||||
const int nparms = get_val_param_num();
|
||||
for (int i = 0 ; i < nparms; i++)
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
const char* s = get_val_param(i);
|
||||
if (*s == '\0') break;
|
||||
if (f.mask().get(atoi(s)).not_empty()) return FALSE;
|
||||
}
|
||||
if (f.get().not_empty()) return TRUE;
|
||||
const int nparms = get_val_param_num();
|
||||
for (int i = 0 ; i < nparms; i++)
|
||||
{
|
||||
const short id = atoi(get_val_param(i));
|
||||
if (id > 0 && f.mask().get(id).not_empty())
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user