In prima nota ho corretto il calcolo del tipo attivita' (errore 1119),

il segno degli imponibili e del totale documento (errore 1123).
Nelle stampe dei registri (cg4300 e cg4400) ho tolto l'azzeramento dei
due campi da ditta e a ditta (errore 0190)


git-svn-id: svn://10.65.10.50/trunk@429 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1994-10-20 13:31:04 +00:00
parent 4c0a8b0899
commit d8283b4f7b
15 changed files with 2530 additions and 2494 deletions

View File

@ -1,293 +1,293 @@
#include "cg0500.h" #include "cg0500.h"
TOOLBAR "" 0 20 0 2 TOOLBAR "" 0 20 0 2
#include <toolbar.h> #include <toolbar.h>
ENDPAGE ENDPAGE
PAGE "" -1 -1 77 20 PAGE "" -1 -1 77 20
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
STRING F_COD_CAUS 3 STRING F_COD_CAUS 3
BEGIN BEGIN
PROMPT 3 1 "Codice " PROMPT 3 1 "Codice "
FIELD LF_CAUSALI->CODCAUS FIELD LF_CAUSALI->CODCAUS
KEY 1 KEY 1
FLAGS "U" FLAGS "U"
USE LF_CAUSALI USE LF_CAUSALI
INPUT CODCAUS F_COD_CAUS INPUT CODCAUS F_COD_CAUS
DISPLAY "Cod. causale" CODCAUS DISPLAY "Cod. causale" CODCAUS
DISPLAY "Descrizione @50" DESCR DISPLAY "Descrizione @50" DESCR
DISPLAY "Tipo documento" TIPODOC DISPLAY "Tipo documento" TIPODOC
DISPLAY "Codice registro" REG DISPLAY "Codice registro" REG
DISPLAY "Tipo movimento" TIPOMOV DISPLAY "Tipo movimento" TIPOMOV
OUTPUT F_COD_CAUS CODCAUS OUTPUT F_COD_CAUS CODCAUS
OUTPUT F_DESCR DESCR OUTPUT F_DESCR DESCR
HELP "Codice causale" HELP "Codice causale"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
STRING F_DESCR 40 STRING F_DESCR 40
BEGIN BEGIN
PROMPT 17 1 "Descrizione " PROMPT 17 1 "Descrizione "
FIELD LF_CAUSALI->DESCR FIELD LF_CAUSALI->DESCR
COPY USE F_COD_CAUS COPY USE F_COD_CAUS
INPUT CODCAUS F_COD_CAUS INPUT CODCAUS F_COD_CAUS
INPUT DESCR F_DESCR INPUT DESCR F_DESCR
DISPLAY "Cod. causale" CODCAUS DISPLAY "Cod. causale" CODCAUS
DISPLAY "Descrizione @50" DESCR DISPLAY "Descrizione @50" DESCR
DISPLAY "Tipo documento" TIPODOC DISPLAY "Tipo documento" TIPODOC
DISPLAY "Codice registro" REG DISPLAY "Codice registro" REG
DISPLAY "Tipo movimento" TIPOMOV DISPLAY "Tipo movimento" TIPOMOV
OUTPUT F_COD_CAUS CODCAUS OUTPUT F_COD_CAUS CODCAUS
OUTPUT F_DESCR DESCR OUTPUT F_DESCR DESCR
HELP "Descrizione della causale" HELP "Descrizione della causale"
END END
STRING F_TIPO_DOC 2 STRING F_TIPO_DOC 2
BEGIN BEGIN
PROMPT 2 4 "Tipo doc. " PROMPT 2 4 "Tipo doc. "
FIELD LF_CAUSALI->TIPODOC FIELD LF_CAUSALI->TIPODOC
FLAGS "U" FLAGS "U"
USE %TPD USE %TPD
INPUT CODTAB F_TIPO_DOC INPUT CODTAB F_TIPO_DOC
DISPLAY "Tipo " CODTAB DISPLAY "Tipo " CODTAB
DISPLAY "Descrizione @50 " S0 DISPLAY "Descrizione @50 " S0
OUTPUT F_TIPO_DOC CODTAB OUTPUT F_TIPO_DOC CODTAB
HELP "Tipo documento" HELP "Tipo documento"
CHECKTYPE NORMAL CHECKTYPE NORMAL
// MESSAGE SHOW, 2@ // MESSAGE SHOW, 2@
// MESSAGE EMPTY HIDE, 2@ // MESSAGE EMPTY HIDE, 2@
END END
STRING F_COD_REG 3 STRING F_COD_REG 3
BEGIN BEGIN
PROMPT 23 4 "Cod. reg. " PROMPT 23 4 "Cod. reg. "
FIELD LF_CAUSALI->REG FIELD LF_CAUSALI->REG
USE REG USE REG
INPUT CODTAB[1,4] F_ANNOES INPUT CODTAB[1,4] F_ANNOES
INPUT CODTAB[5,7] F_COD_REG INPUT CODTAB[5,7] F_COD_REG
DISPLAY "Anno" CODTAB[1,4] DISPLAY "Anno" CODTAB[1,4]
DISPLAY "Codice registro " CODTAB[5,7] DISPLAY "Codice registro " CODTAB[5,7]
DISPLAY "Tipo" I0 DISPLAY "Tipo" I0
DISPLAY "Registro corrispettivi" B0 DISPLAY "Registro corrispettivi" B0
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
OUTPUT F_ANNOES CODTAB[1,4] OUTPUT F_ANNOES CODTAB[1,4]
OUTPUT F_COD_REG CODTAB[5,7] OUTPUT F_COD_REG CODTAB[5,7]
OUTPUT F_TIPO_REG I0 OUTPUT F_TIPO_REG I0
OUTPUT F_CORRISP B0 OUTPUT F_CORRISP B0
HELP "Inserire il codice registro" HELP "Inserire il codice registro"
WARNING "Non trovo il registro" WARNING "Non trovo il registro"
CHECKTYPE NORMAL CHECKTYPE NORMAL
FLAGS "DU" FLAGS "DU"
END END
// Questo rimane sempre nascosto // Questo rimane sempre nascosto
STRING F_TIPO_MOV 2 STRING F_TIPO_MOV 2
BEGIN BEGIN
PROMPT 68 4 "" PROMPT 68 4 ""
FIELD LF_CAUSALI->TIPOMOV FIELD LF_CAUSALI->TIPOMOV
FLAGS "H" FLAGS "H"
END END
// Viene mostrato questo se TPD non vuoto e diverso da IN AN PG // Viene mostrato questo se TPD non vuoto e diverso da IN AN PG
LISTBOX F_TIPO_MOV_1 1 20 LISTBOX F_TIPO_MOV_1 1 20
BEGIN BEGIN
PROMPT 44 4 "Tipo mov. " PROMPT 44 4 "Tipo mov. "
FIELD LF_CAUSALI->TIPOMOV FIELD LF_CAUSALI->TIPOMOV
HELP "Tipo movimento" HELP "Tipo movimento"
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV ITEM "1|Fattura" MESSAGE COPY,F_TIPO_MOV
ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV ITEM "2|Nota credito" MESSAGE COPY,F_TIPO_MOV
// GROUP 2 // GROUP 2
END END
// Viene mostrato questo se TPD vuoto o uguale a IN AN PG // Viene mostrato questo se TPD vuoto o uguale a IN AN PG
LISTBOX F_TIPO_MOV_2 1 20 LISTBOX F_TIPO_MOV_2 1 20
BEGIN BEGIN
PROMPT 44 4 "Tipo mov. " PROMPT 44 4 "Tipo mov. "
FIELD LF_CAUSALI->TIPOMOV FIELD LF_CAUSALI->TIPOMOV
HELP "Inserire il tipo movimento" HELP "Inserire il tipo movimento"
ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV ITEM " |Nessuno" MESSAGE COPY,F_TIPO_MOV
ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV ITEM "3|Incasso/pagamento " MESSAGE COPY,F_TIPO_MOV
ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV ITEM "5|Insoluto" MESSAGE COPY,F_TIPO_MOV
ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV ITEM "6|Pagamento insoluto" MESSAGE COPY,F_TIPO_MOV
FLAGS "H" FLAGS "H"
END END
STRING F_ANNOES 4 STRING F_ANNOES 4
BEGIN BEGIN
PROMPT 2 6 "" PROMPT 2 6 ""
FLAGS "H" FLAGS "H"
END END
STRING F_TIPO_REG 4 STRING F_TIPO_REG 4
BEGIN BEGIN
PROMPT 23 5 "" PROMPT 23 5 ""
FLAGS "H" FLAGS "H"
END END
BOOLEAN F_CORRISP BOOLEAN F_CORRISP
BEGIN BEGIN
PROMPT 33 5 "" PROMPT 33 5 ""
FLAGS "H" FLAGS "H"
END END
SPREADSHEET F_SHEET_GCS SPREADSHEET F_SHEET_GCS
BEGIN BEGIN
PROMPT 0 7 "" PROMPT 0 7 ""
ITEM "Tipo conto@21F" ITEM "Tipo conto@21F"
ITEM "C/F" ITEM "C/F"
ITEM "Gr.@3" ITEM "Gr.@3"
ITEM "Co.@3" ITEM "Co.@3"
ITEM "Sottoc.@6" ITEM "Sottoc.@6"
ITEM "D/A@1" ITEM "D/A@1"
ITEM "Descrizione conto@50" ITEM "Descrizione conto@50"
ITEM "Descr. agg.@5" ITEM "Descr. agg.@5"
ITEM "Iva" ITEM "Iva"
ITEM "Cod.Iva@4" ITEM "Cod.Iva@4"
END END
ENDPAGE ENDPAGE
PAGE "" -1 -1 77 20 PAGE "" -1 -1 77 20
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 0 "@BCampi obbligatori in immissione documenti" PROMPT 1 0 "@BCampi obbligatori in immissione documenti"
END END
BOOLEAN F_DATA_DOC BOOLEAN F_DATA_DOC
BEGIN BEGIN
PROMPT 2 1 "Data documento" PROMPT 2 1 "Data documento"
FIELD LF_CAUSALI->DATADOC FIELD LF_CAUSALI->DATADOC
HELP "" HELP ""
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
BOOLEAN F_NUM_DOC BOOLEAN F_NUM_DOC
BEGIN BEGIN
PROMPT 34 1 "Numero documento" PROMPT 34 1 "Numero documento"
FIELD LF_CAUSALI->NUMDOC FIELD LF_CAUSALI->NUMDOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
BOOLEAN F_AUTO_FAT BOOLEAN F_AUTO_FAT
BEGIN BEGIN
PROMPT 2 4 "Autofattura art.34" PROMPT 2 4 "Autofattura art.34"
FIELD LF_CAUSALI->AUTOFATT FIELD LF_CAUSALI->AUTOFATT
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP 2 GROUP 2
END END
BOOLEAN F_ALLEGAT BOOLEAN F_ALLEGAT
BEGIN BEGIN
PROMPT 34 4 "Doc. non va in allegati fine anno" PROMPT 34 4 "Doc. non va in allegati fine anno"
FIELD LF_CAUSALI->ALLEG FIELD LF_CAUSALI->ALLEG
GROUP 2 GROUP 2
END END
BOOLEAN F_FAT_RITARDO BOOLEAN F_FAT_RITARDO
BEGIN BEGIN
PROMPT 2 6 "Fattura in ritardo" PROMPT 2 6 "Fattura in ritardo"
FIELD LF_CAUSALI->RITFATT FIELD LF_CAUSALI->RITFATT
GROUP 2 GROUP 2
END END
STRING F_COD_CAUS_IM 3 STRING F_COD_CAUS_IM 3
BEGIN BEGIN
PROMPT 34 6 "Codice causale per l'incasso immediato " PROMPT 34 6 "Codice causale per l'incasso immediato "
FLAGS "U" FLAGS "U"
FIELD LF_CAUSALI->CODCAUSIM FIELD LF_CAUSALI->CODCAUSIM
COPY USE F_COD_CAUS COPY USE F_COD_CAUS
INPUT CODCAUS F_COD_CAUS_IM INPUT CODCAUS F_COD_CAUS_IM
COPY DISPLAY F_COD_CAUS COPY DISPLAY F_COD_CAUS
OUTPUT F_COD_CAUS_IM CODCAUS OUTPUT F_COD_CAUS_IM CODCAUS
CHECKTYPE NORMAL CHECKTYPE NORMAL
// MESSAGE CLEAR, F_M_770 // MESSAGE CLEAR, F_M_770
GROUP 2 GROUP 2
END END
BOOLEAN F_OP_INTRACOM BOOLEAN F_OP_INTRACOM
BEGIN BEGIN
PROMPT 2 8 "Operazione intracomunitaria" PROMPT 2 8 "Operazione intracomunitaria"
FIELD LF_CAUSALI->INTRACOM FIELD LF_CAUSALI->INTRACOM
// MESSAGE TRUE "X", F_MOV_VALU | DISABLE, F_MOV_VALU // MESSAGE TRUE "X", F_MOV_VALU | DISABLE, F_MOV_VALU
// MESSAGE FALSE "", F_MOV_VALU | ENABLE, F_MOV_VALU // MESSAGE FALSE "", F_MOV_VALU | ENABLE, F_MOV_VALU
GROUP 2 GROUP 2
END END
BOOLEAN F_VALINTRA BOOLEAN F_VALINTRA
BEGIN BEGIN
PROMPT 34 8 "Gestione valuta per operazioni intrac." PROMPT 34 8 "Gestione valuta per operazioni intrac."
FIELD LF_CAUSALI->VALINTRA FIELD LF_CAUSALI->VALINTRA
GROUP 2 GROUP 2
END END
BOOLEAN F_MOV_VALU BOOLEAN F_MOV_VALU
BEGIN BEGIN
PROMPT 2 10 "Movimento in valuta" PROMPT 2 10 "Movimento in valuta"
FIELD LF_CAUSALI->MOVVAL FIELD LF_CAUSALI->MOVVAL
GROUP 2 GROUP 2
END END
BOOLEAN F_MOV_SEZ BOOLEAN F_MOV_SEZ
BEGIN BEGIN
PROMPT 34 10 "Movimento solo sezionale" PROMPT 34 10 "Movimento solo sezionale"
FIELD LF_CAUSALI->MOVSEZ FIELD LF_CAUSALI->MOVSEZ
FLAGS "H" FLAGS "H"
END END
LISTBOX F_OP_FINE_ANNO 1 10 LISTBOX F_OP_FINE_ANNO 1 10
BEGIN BEGIN
PROMPT 2 12 "Operazioni di fine anno " PROMPT 2 12 "Operazioni di fine anno "
ITEM " | " ITEM " | "
ITEM "C|Chiusura" ITEM "C|Chiusura"
ITEM "A|Apertura" ITEM "A|Apertura"
FIELD LF_CAUSALI->MOVAP FIELD LF_CAUSALI->MOVAP
FLAGS "H" FLAGS "H"
END END
LISTBOX F_COLL_CESP 1 40 LISTBOX F_COLL_CESP 1 40
BEGIN BEGIN
PROMPT 2 14 "Collegamento cespiti " PROMPT 2 14 "Collegamento cespiti "
FIELD LF_CAUSALI->COLLCESP FIELD LF_CAUSALI->COLLCESP
HELP "Inserire il tipo di collegamento cespiti" HELP "Inserire il tipo di collegamento cespiti"
ITEM " |Nessuno" ITEM " |Nessuno"
ITEM "A|Acquisto cespite" ITEM "A|Acquisto cespite"
ITEM "B|Rettifica acquisto" ITEM "B|Rettifica acquisto"
ITEM "C|Sostenimento costi" ITEM "C|Sostenimento costi"
ITEM "E|Eliminazione dal processo produttivo" ITEM "E|Eliminazione dal processo produttivo"
ITEM "M|Rivalutazione monetaria" ITEM "M|Rivalutazione monetaria"
ITEM "P|Reinvestimento plusvalenze" ITEM "P|Reinvestimento plusvalenze"
ITEM "R|Rivalutazione economica" ITEM "R|Rivalutazione economica"
ITEM "T|Trasferimento" ITEM "T|Trasferimento"
ITEM "V|Vendita cespite" ITEM "V|Vendita cespite"
ITEM "Z|Rettifica vendita" ITEM "Z|Rettifica vendita"
END END
LISTBOX F_M_770 1 40 LISTBOX F_M_770 1 40
BEGIN BEGIN
PROMPT 2 16 "Collegamento Mod.770 " PROMPT 2 16 "Collegamento Mod.770 "
FIELD LF_CAUSALI->M770 FIELD LF_CAUSALI->M770
HELP "Inserire il tipo di collegamento Mod.770" HELP "Inserire il tipo di collegamento Mod.770"
ITEM " |Nessuno" // MESSAGE ENABLE,F_COD_CAUS_IM ITEM " |Nessuno" // MESSAGE ENABLE,F_COD_CAUS_IM
ITEM "1|Ricevuta e/o pagamento fattura percip." // MESSAGE CLEAR,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 "2|Versamento ritenute percip." // MESSAGE CLEAR,F_COD_CAUS_IM
ITEM "3|Versamento ritenute dipendente" // 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 "4|Versamento contributi dipendente" // MESSAGE CLEAR,F_COD_CAUS_IM
ITEM "5|Compensi non soggetti" // 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 ITEM "6|Ritenute per operazioni occasionali" // MESSAGE CLEAR,F_COD_CAUS_IM
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK
#include "cg0500b.uml" #include "cg0500b.uml"

View File

@ -1,245 +1,245 @@
#include "cg0500.h" #include "cg0500.h"
PAGE "" -1 -1 68 11 PAGE "" -1 -1 68 11
STRING 101 22 STRING 101 22
BEGIN BEGIN
PROMPT 1 1 "Tipo " PROMPT 1 1 "Tipo "
FLAGS "D" FLAGS "D"
END END
LISTBOX 102 1 11 LISTBOX 102 1 11
BEGIN BEGIN
PROMPT 33 1 "C/F " PROMPT 33 1 "C/F "
ITEM " |Conto" MESSAGE SHOW,105|HIDE,205|HIDE,305|SHOW,107|HIDE,207|HIDE,307 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 "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 ITEM "F|Fornitore" MESSAGE SHOW,305|HIDE,105|HIDE,205|SHOW,307|HIDE,107|HIDE,207
FLAGS "DGU" FLAGS "DGU"
GROUP 1 GROUP 1
END END
NUMBER 103 3 NUMBER 103 3
BEGIN BEGIN
PROMPT 1 3 "Gruppo " PROMPT 1 3 "Gruppo "
FIELD LF_RCAUSALI->GRUPPO FIELD LF_RCAUSALI->GRUPPO
USE LF_PCON KEY 1 SELECT (CONTO="") USE LF_PCON KEY 1 SELECT (CONTO="")
INPUT GRUPPO 103 INPUT GRUPPO 103
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Tipo C/F" TMCF DISPLAY "Tipo C/F" TMCF
CHECKTYPE NORMAL CHECKTYPE NORMAL
OUTPUT 103 GRUPPO OUTPUT 103 GRUPPO
OUTPUT 107 DESCR OUTPUT 107 DESCR
// OUTPUT 102 TMCF // OUTPUT 102 TMCF
WARNING "Gruppo assente" WARNING "Gruppo assente"
// CHECKTYPE REQUIRED // CHECKTYPE REQUIRED
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP 1 GROUP 1
ADD RUN CG0 -0 ADD RUN CG0 -0
END END
NUMBER 104 3 NUMBER 104 3
BEGIN BEGIN
PROMPT 15 3 "Conto " PROMPT 15 3 "Conto "
FIELD LF_RCAUSALI->CONTO FIELD LF_RCAUSALI->CONTO
USE LF_PCON KEY 1 SELECT SOTTOCONTO="" USE LF_PCON KEY 1 SELECT SOTTOCONTO=""
INPUT GRUPPO 103 INPUT GRUPPO 103
INPUT CONTO 104 INPUT CONTO 104
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Tipo C/F" TMCF DISPLAY "Tipo C/F" TMCF
CHECKTYPE NORMAL CHECKTYPE NORMAL
OUTPUT 102 TMCF OUTPUT 102 TMCF
OUTPUT 104 CONTO OUTPUT 104 CONTO
OUTPUT 103 GRUPPO OUTPUT 103 GRUPPO
OUTPUT 107 DESCR OUTPUT 107 DESCR
MESSAGE DIRTY,105|DIRTY,205|DIRTY,305 MESSAGE DIRTY,105|DIRTY,205|DIRTY,305
WARNING "Conto inesistente o mancante" WARNING "Conto inesistente o mancante"
ADD RUN CG0 -0 ADD RUN CG0 -0
GROUP 1 GROUP 1
END END
// Sottoconto NORMALE // Sottoconto NORMALE
NUMBER 105 6 NUMBER 105 6
BEGIN BEGIN
PROMPT 29 3 "Sottoconto " PROMPT 29 3 "Sottoconto "
FIELD LF_RCAUSALI->SOTTOCONTO FIELD LF_RCAUSALI->SOTTOCONTO
USE LF_PCON USE LF_PCON
INPUT GRUPPO 103 INPUT GRUPPO 103
INPUT CONTO 104 INPUT CONTO 104
INPUT SOTTOCONTO 105 INPUT SOTTOCONTO 105
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Tipo C/F" TMCF DISPLAY "Tipo C/F" TMCF
OUTPUT 105 SOTTOCONTO OUTPUT 105 SOTTOCONTO
OUTPUT 102 TMCF OUTPUT 102 TMCF
OUTPUT 104 CONTO OUTPUT 104 CONTO
OUTPUT 103 GRUPPO OUTPUT 103 GRUPPO
OUTPUT 107 DESCR OUTPUT 107 DESCR
ADD RUN CG0 -0 ADD RUN CG0 -0
CHECKTYPE NORMAL CHECKTYPE NORMAL
HELP "Inserire il sottoconto" HELP "Inserire il sottoconto"
WARNING "Sottoconto inesistente" WARNING "Sottoconto inesistente"
GROUP 1 GROUP 1
END END
// Sottoconto CLIENTI // Sottoconto CLIENTI
NUMBER 205 6 NUMBER 205 6
BEGIN BEGIN
PROMPT 29 3 "Cliente " PROMPT 29 3 "Cliente "
FIELD LF_RCAUSALI->SOTTOCONTO FIELD LF_RCAUSALI->SOTTOCONTO
USE LF_CLIFO KEY 1 USE LF_CLIFO KEY 1
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF 205 INPUT CODCF 205
DISPLAY "Sottoconto" CODCF DISPLAY "Sottoconto" CODCF
DISPLAY "Ragione sociale cliente@50" RAGSOC DISPLAY "Ragione sociale cliente@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 205 CODCF OUTPUT 205 CODCF
OUTPUT 207 RAGSOC OUTPUT 207 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN CG0 -1 ADD RUN CG0 -1
GROUP 1 GROUP 1
END END
// Sottoconto FORNITORI // Sottoconto FORNITORI
NUMBER 305 6 NUMBER 305 6
BEGIN BEGIN
PROMPT 29 3 "Fornitore " PROMPT 29 3 "Fornitore "
FIELD LF_RCAUSALI->SOTTOCONTO FIELD LF_RCAUSALI->SOTTOCONTO
USE LF_CLIFO KEY 1 USE LF_CLIFO KEY 1
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT CODCF 305 INPUT CODCF 305
DISPLAY "Sottoconto" CODCF DISPLAY "Sottoconto" CODCF
DISPLAY "Ragione sociale fornitore@50" RAGSOC DISPLAY "Ragione sociale fornitore@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 305 CODCF OUTPUT 305 CODCF
OUTPUT 307 RAGSOC OUTPUT 307 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN CG0 -1 ADD RUN CG0 -1
GROUP 1 GROUP 1
END END
LISTBOX 106 5 LISTBOX 106 5
BEGIN BEGIN
PROMPT 51 3 "Sezione " PROMPT 51 3 "Sezione "
ITEM " | " ITEM " | "
ITEM "D|Dare" ITEM "D|Dare"
ITEM "A|Avere" ITEM "A|Avere"
FIELD LF_RCAUSALI->SEZIONE FIELD LF_RCAUSALI->SEZIONE
FLAGS "U" FLAGS "U"
END END
// Descrizione normale // Descrizione normale
STRING 107 50 STRING 107 50
BEGIN BEGIN
PROMPT 1 5 "Descrizione " PROMPT 1 5 "Descrizione "
FIELD LF_RCAUSALI->DESC FIELD LF_RCAUSALI->DESC
USE LF_PCON KEY 2 USE LF_PCON KEY 2
INPUT DESCR 107 INPUT DESCR 107
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
OUTPUT 105 SOTTOCONTO OUTPUT 105 SOTTOCONTO
OUTPUT 104 CONTO OUTPUT 104 CONTO
OUTPUT 103 GRUPPO OUTPUT 103 GRUPPO
OUTPUT 107 DESCR OUTPUT 107 DESCR
ADD RUN CG0 -0 ADD RUN CG0 -0
GROUP 1 GROUP 1
END END
// Descrizione CLIENTE // Descrizione CLIENTE
STRING 207 50 STRING 207 50
BEGIN BEGIN
PROMPT 1 5 "Rag.sociale " PROMPT 1 5 "Rag.sociale "
FIELD LF_RCAUSALI->DESC FIELD LF_RCAUSALI->DESC
USE LF_CLIFO KEY 2 USE LF_CLIFO KEY 2
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF 205 INPUT CODCF 205
DISPLAY "Tipo C/F" TIPOCF DISPLAY "Tipo C/F" TIPOCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" CODCF DISPLAY "Sottoconto" CODCF
OUTPUT 205 CODCF OUTPUT 205 CODCF
OUTPUT 207 RAGSOC OUTPUT 207 RAGSOC
GROUP 1 GROUP 1
END END
// Descrizione FORNITORE // Descrizione FORNITORE
STRING 307 50 STRING 307 50
BEGIN BEGIN
PROMPT 1 5 "Rag.sociale " PROMPT 1 5 "Rag.sociale "
FIELD LF_RCAUSALI->DESC FIELD LF_RCAUSALI->DESC
USE LF_CLIFO KEY 2 USE LF_CLIFO KEY 2
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT CODCF 305 INPUT CODCF 305
DISPLAY "Tipo C/F" TIPOCF DISPLAY "Tipo C/F" TIPOCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" CODCF DISPLAY "Sottoconto" CODCF
OUTPUT 305 CODCF OUTPUT 305 CODCF
OUTPUT 307 RAGSOC OUTPUT 307 RAGSOC
GROUP 1 GROUP 1
END END
STRING 108 3 STRING 108 3
BEGIN BEGIN
PROMPT 1 7 "Descrizione aggiuntiva " PROMPT 1 7 "Descrizione aggiuntiva "
FIELD LF_RCAUSALI->CODDESC FIELD LF_RCAUSALI->CODDESC
USE %DPN USE %DPN
INPUT CODTAB 108 INPUT CODTAB 108
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
OUTPUT 108 CODTAB OUTPUT 108 CODTAB
FLAGS "R" FLAGS "R"
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP 1 GROUP 1
END END
BOOLEAN 109 BOOLEAN 109
BEGIN BEGIN
PROMPT 34 7 "Riga iva " PROMPT 34 7 "Riga iva "
FIELD LF_RCAUSALI->RIGAIVA FIELD LF_RCAUSALI->RIGAIVA
FLAGS "D" FLAGS "D"
END END
STRING 110 4 STRING 110 4
BEGIN BEGIN
USE %IVA USE %IVA
PROMPT 48 7 "Codice iva " PROMPT 48 7 "Codice iva "
INPUT CODTAB 110 INPUT CODTAB 110
FIELD LF_RCAUSALI->CODIVA FIELD LF_RCAUSALI->CODIVA
DISPLAY "Codice " CODTAB DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @50" S0 DISPLAY "Descrizione @50" S0
OUTPUT 110 CODTAB OUTPUT 110 CODTAB
FLAGS "D" FLAGS "D"
GROUP 1 GROUP 1
END END
BUTTON DLG_OK 9 2 BUTTON DLG_OK 9 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 ""
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_CANCEL 9 2
BEGIN BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_NULL 9 2 BUTTON DLG_NULL 9 2
BEGIN BEGIN
PROMPT -33 -1 "Azzera" PROMPT -33 -1 "Azzera"
MESSAGE RESET,1@ MESSAGE RESET,1@
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -74,6 +74,7 @@ TMask* TPrimanota_application::load_mask(int n)
TMask& ism = is.sheet_mask(); TMask& ism = is.sheet_mask();
ism.set_handler(101, imponibile_handler); ism.set_handler(101, imponibile_handler);
ism.set_handler(102, codiva_handler); ism.set_handler(102, codiva_handler);
ism.set_handler(103, detrazione_handler);
ism.set_handler(104, imposta_handler); ism.set_handler(104, imposta_handler);
ism.set_handler(109, suspended_handler); ism.set_handler(109, suspended_handler);
ism.set_handler(209, sheet_clifo_handler); ism.set_handler(209, sheet_clifo_handler);
@ -550,7 +551,12 @@ int TPrimanota_application::read(TMask& m)
ivas().reset(); ivas().reset();
const bool to_swap = test_swap(FALSE); const bool to_swap = test_swap(FALSE);
if (to_swap)
{
real totdoc(m.get(F_TOTALE));
totdoc = -totdoc;
m.set(F_TOTALE, totdoc.string());
}
for (i = 0; i < _rel->iva_items(); i++) for (i = 0; i < _rel->iva_items(); i++)
{ {
TRectype& r = _rel->iva(i); TRectype& r = _rel->iva(i);
@ -566,7 +572,7 @@ int TPrimanota_application::read(TMask& m)
real imposta(r.get("IMPOSTA")); real imposta(r.get("IMPOSTA"));
if (to_swap) imposta = -imposta; if (to_swap) imposta = -imposta;
if (imponibile.sign() != imposta.sign()) if (imponibile.sign() * imposta.sign() < 0)
{ {
warning_box("Registrazione con imponibile e imposta discordi: correzione effettuata"); warning_box("Registrazione con imponibile e imposta discordi: correzione effettuata");
imposta = -imposta; imposta = -imposta;
@ -618,8 +624,7 @@ void TPrimanota_application::mask2rel(const TMask& m)
TImporto n; n = row; TImporto n; n = row;
const TConto conto(row, 2, 0x3); const TConto conto(row, 2, 0x3);
if (conto.ok()) _saldi.aggiorna(conto, n.valore(), n.sezione(), TRUE);
_saldi.aggiorna(conto, n.valore(), n.sezione(), TRUE);
TRectype &r = _rel->cg(cur-1); TRectype &r = _rel->cg(cur-1);
r.zero(); r.zero();
@ -689,6 +694,13 @@ void TPrimanota_application::mask2rel(const TMask& m)
} }
const bool to_swap = test_swap(FALSE); const bool to_swap = test_swap(FALSE);
if (to_swap)
{
real totale = _rel->lfile().get("TOTDOC");
totale = -totale;
_rel->lfile().put("TOTDOC", totale);
}
TArray& irows = ivas().rows_array(); TArray& irows = ivas().rows_array();
cur = 1; cur = 1;
for (int i = 0; i < irows.items(); i++) for (int i = 0; i < irows.items(); i++)
@ -712,7 +724,7 @@ void TPrimanota_application::mask2rel(const TMask& m)
real imposta(row.get()); real imposta(row.get());
if (to_swap) imposta = -imposta; if (to_swap) imposta = -imposta;
if (imponibile.sign() != imposta.sign()) if (imponibile.sign() * imposta.sign() < 0)
{ {
yesnofatal_box("Registrazione di imponibile e imposta discordi"); yesnofatal_box("Registrazione di imponibile e imposta discordi");
imposta = -imposta; imposta = -imposta;
@ -876,16 +888,33 @@ void TPrimanota_application::genera_incasso(const char* causimm)
r.put("GRUPPO", m.get(sid+2)); r.put("GRUPPO", m.get(sid+2));
r.put("CONTO", m.get(sid+3)); r.put("CONTO", m.get(sid+3));
r.put("SOTTOCONTO", m.get(sid+4)); r.put("SOTTOCONTO", m.get(sid+4));
r.put("ROWTYPE", " ");
if (i == 2) if (i == 2)
{
r.put("DESCR", caus.desc_agg(2)); r.put("DESCR", caus.desc_agg(2));
r.put("RCONTR", 1); r.put("RCONTR", 1);
} r.put("ROWTYPE", " ");
} }
while (inc.write() == _isreinsert) // In caso di riscrittura while (inc.write() == _isreinsert) // In caso di riscrittura
inc.lfile().put("NUMREG", ++_lastreg); // Incrementa numero registrazione inc.lfile().put("NUMREG", ++_lastreg); // Incrementa numero registrazione
if (inc.good())
{
_saldi.reset(); // Inizializza saldi
_saldi.set_movprovv(FALSE);
_saldi.set_movap(FALSE);
_saldi.set_anno_es(m.get_int(F_ANNOES));
_saldi.set_num_ulmov(_lastreg);
_saldi.set_data_ulmov((TDate)m.get(F_DATAREG));
for (int r = 0; r < i; r++)
{
const TRectype& rec = inc.cg(r);
TConto c; get_conto(rec, c);
const real im(rec.get("IMPORTO"));
const char sezione = rec.get_char("SEZIONE");
_saldi.aggiorna(c, im, sezione, TRUE);
}
_saldi.registra();
}
} }
} }

View File

@ -1,103 +1,103 @@
#ifndef __CG2100_H #ifndef __CG2100_H
#define __CG2100_H #define __CG2100_H
#define F_CODDITTA 101 #define F_CODDITTA 101
#define F_RAGSOC 102 #define F_RAGSOC 102
#define F_DATAREG 103 #define F_DATAREG 103
#define F_NUMREG 104 #define F_NUMREG 104
#define F_CODCAUS 105 #define F_CODCAUS 105
#define F_DESCRCAUS 106 #define F_DESCRCAUS 106
#define F_DOCUMENTO 107 #define F_DOCUMENTO 107
#define F_TIPODOC 108 #define F_TIPODOC 108
#define F_CODREG 109 #define F_CODREG 109
#define F_PROTIVA 110 #define F_PROTIVA 110
#define F_RIEPILOGO 111 #define F_RIEPILOGO 111
#define F_DESCR 112 #define F_DESCR 112
#define F_DATADOC 113 #define F_DATADOC 113
#define F_NUMDOC 114 #define F_NUMDOC 114
#define F_ANNOES 115 #define F_ANNOES 115
#define F_DATACOMP 116 #define F_DATACOMP 116
#define F_ANNOIVA 117 #define F_ANNOIVA 117
#define F_CLIFO 150 #define F_CLIFO 150
#define F_CLIENTE 151 #define F_CLIENTE 151
#define F_RAGSOCCLIENTE 152 #define F_RAGSOCCLIENTE 152
#define F_STATOPAIV 153 #define F_STATOPAIV 153
#define F_PIVACLIENTE 154 #define F_PIVACLIENTE 154
#define F_FORNITORE 161 #define F_FORNITORE 161
#define F_RAGSOCFORNITORE 162 #define F_RAGSOCFORNITORE 162
#define F_PIVAFORNITORE 164 #define F_PIVAFORNITORE 164
#define F_GRUPPOCLIFO 172 #define F_GRUPPOCLIFO 172
#define F_CONTOCLIFO 173 #define F_CONTOCLIFO 173
#define F_GRUPPORIC 174 #define F_GRUPPORIC 174
#define F_CONTORIC 175 #define F_CONTORIC 175
#define F_SOTTOCONTORIC 176 #define F_SOTTOCONTORIC 176
#define F_TOTALE 118 #define F_TOTALE 118
#define F_CODIVA 119 #define F_CODIVA 119
#define F_RITFIS 120 #define F_RITFIS 120
#define F_RITSOC 121 #define F_RITSOC 121
#define F_CODPAG 122 #define F_CODPAG 122
#define F_ANNORIF 123 #define F_ANNORIF 123
#define F_NUMRIF 124 #define F_NUMRIF 124
#define F_VALUTA 126 #define F_VALUTA 126
#define F_CAMBIO 127 #define F_CAMBIO 127
#define F_VISVAL 128 #define F_VISVAL 128
#define F_PROVVISORIO 129 #define F_PROVVISORIO 129
#define F_OCCASIONALE 130 #define F_OCCASIONALE 130
#define F_OCCASEDIT 131 #define F_OCCASEDIT 131
#define F_SOLAIVA 132 #define F_SOLAIVA 132
#define F_CORRLIRE 133 #define F_CORRLIRE 133
#define F_CORRVALUTA 134 #define F_CORRVALUTA 134
#define F_DATA74TER 135 #define F_DATA74TER 135
#define F_DESCAGG 136 #define F_DESCAGG 136
#define F_DARE 137 #define F_DARE 137
#define F_AVERE 138 #define F_AVERE 138
#define F_IMPONIBILI 139 #define F_IMPONIBILI 139
#define F_IMPOSTE 140 #define F_IMPOSTE 140
#define F_SHEETCG 300 #define F_SHEETCG 300
#define F_SHEETIVA 301 #define F_SHEETIVA 301
// Campi ripetuti sulla seconda pagina // Campi ripetuti sulla seconda pagina
#define H_DATAREG 201 #define H_DATAREG 201
#define H_NUMREG 202 #define H_NUMREG 202
#define H_CODCAUS 203 #define H_CODCAUS 203
#define H_DESCRCAUS 204 #define H_DESCRCAUS 204
#define H_ANNOES 205 #define H_ANNOES 205
// Maschera clienti/fornitori occasionali // Maschera clienti/fornitori occasionali
#define O_CODICE 100 #define O_CODICE 100
#define O_RAGSOC 101 #define O_RAGSOC 101
#define O_STATO 102 #define O_STATO 102
#define O_COMUNE 103 #define O_COMUNE 103
#define O_DENCOM 104 #define O_DENCOM 104
#define O_CAP 105 #define O_CAP 105
#define O_INDIRIZZO 106 #define O_INDIRIZZO 106
#define O_NUMERO 107 #define O_NUMERO 107
#define O_SESSO 110 #define O_SESSO 110
#define O_DATANAS 111 #define O_DATANAS 111
#define O_STATONAS 112 #define O_STATONAS 112
#define O_COMUNENAS 113 #define O_COMUNENAS 113
#define O_DENCOMNAS 114 #define O_DENCOMNAS 114
// Maschera incasso/pagamento immediato // Maschera incasso/pagamento immediato
#define I_SEZIONE1 201 #define I_SEZIONE1 201
#define I_IMPORTO1 202 #define I_IMPORTO1 202
#define I_SEZIONE2 203 #define I_SEZIONE2 203
#define I_IMPORTO2 204 #define I_IMPORTO2 204
#define I_GRUPPO2 205 #define I_GRUPPO2 205
#define I_CONTO2 206 #define I_CONTO2 206
#define I_SOTTOCONTO2 207 #define I_SOTTOCONTO2 207
#define I_SEZIONE3 208 #define I_SEZIONE3 208
#define I_IMPORTO3 209 #define I_IMPORTO3 209
#define I_GRUPPO3 210 #define I_GRUPPO3 210
#define I_CONTO3 211 #define I_CONTO3 211
#define I_SOTTOCONTO3 212 #define I_SOTTOCONTO3 212
#define I_SEZIONE4 213 #define I_SEZIONE4 213
#define I_IMPORTO4 214 #define I_IMPORTO4 214
#define I_GRUPPO4 215 #define I_GRUPPO4 215
#define I_CONTO4 216 #define I_CONTO4 216
#define I_SOTTOCONTO4 217 #define I_SOTTOCONTO4 217
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@ -1,314 +1,314 @@
#include "cg2100.h" #include "cg2100.h"
PAGE "Movimento di incasso immediato" -1 -1 75 13 PAGE "Movimento di incasso immediato" -1 -1 75 13
DATE F_DATAREG DATE F_DATAREG
BEGIN BEGIN
PROMPT 1 1 "Data di registrazione " PROMPT 1 1 "Data di registrazione "
FIELD LF_MOV->DATAREG FIELD LF_MOV->DATAREG
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
MESSAGE COPY,F_ANNOIVA,7,10 MESSAGE COPY,F_ANNOIVA,7,10
END END
NUMBER F_ANNOIVA 4 NUMBER F_ANNOIVA 4
BEGIN BEGIN
FLAGS "H" FLAGS "H"
FIELD LF_MOV->ANNOIVA FIELD LF_MOV->ANNOIVA
END END
NUMBER F_NUMREG 6 NUMBER F_NUMREG 6
BEGIN BEGIN
PROMPT 52 1 "Operazione n. " PROMPT 52 1 "Operazione n. "
FIELD LF_MOV->NUMREG FIELD LF_MOV->NUMREG
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FLAGS "D" FLAGS "D"
KEY 1 KEY 1
END END
DATE F_DATACOMP DATE F_DATACOMP
BEGIN BEGIN
PROMPT 1 2 "Data di competenza " PROMPT 1 2 "Data di competenza "
FIELD LF_MOV->DATACOMP FIELD LF_MOV->DATACOMP
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_ANNOES 4 NUMBER F_ANNOES 4
BEGIN BEGIN
PROMPT 52 2 "Esercizio " PROMPT 52 2 "Esercizio "
FIELD LF_MOV->ANNOES FIELD LF_MOV->ANNOES
FLAGS "D" FLAGS "D"
END END
DATE F_DATADOC DATE F_DATADOC
BEGIN BEGIN
PROMPT 1 3 "Data del documento " PROMPT 1 3 "Data del documento "
FIELD LF_MOV->DATADOC FIELD LF_MOV->DATADOC
WARNING "Specificare la data del documento" WARNING "Specificare la data del documento"
END END
STRING F_NUMDOC 7 STRING F_NUMDOC 7
BEGIN BEGIN
PROMPT 52 3 "Documento n. " PROMPT 52 3 "Documento n. "
FIELD LF_MOV->NUMDOC FIELD LF_MOV->NUMDOC
WARNING "Specificare il numero documento" WARNING "Specificare il numero documento"
END END
STRING F_DESCR 50 STRING F_DESCR 50
BEGIN BEGIN
PROMPT 1 4 "Descrizione documento " PROMPT 1 4 "Descrizione documento "
FIELD LF_MOV->DESCR FIELD LF_MOV->DESCR
END END
STRING F_CODCAUS 3 STRING F_CODCAUS 3
BEGIN BEGIN
PROMPT 1 5 "Causale " PROMPT 1 5 "Causale "
FIELD LF_MOV->CODCAUS FIELD LF_MOV->CODCAUS
USE LF_CAUSALI USE LF_CAUSALI
INPUT CODCAUS F_CODCAUS INPUT CODCAUS F_CODCAUS
DISPLAY "Codice" CODCAUS DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Tipo" TIPODOC DISPLAY "Tipo" TIPODOC
OUTPUT F_CODCAUS CODCAUS OUTPUT F_CODCAUS CODCAUS
OUTPUT F_DESCRCAUS DESCR OUTPUT F_DESCRCAUS DESCR
OUTPUT F_TIPODOC TIPODOC OUTPUT F_TIPODOC TIPODOC
FLAGS "D" FLAGS "D"
END END
STRING F_DESCRCAUS 50 STRING F_DESCRCAUS 50
BEGIN BEGIN
PROMPT 23 5 "" PROMPT 23 5 ""
FLAGS "D" FLAGS "D"
END END
LIST I_SEZIONE1 1 8 LIST I_SEZIONE1 1 8
BEGIN BEGIN
PROMPT 1 7 "Riga 1 " PROMPT 1 7 "Riga 1 "
ITEM "D|Dare" ITEM "D|Dare"
ITEM "A|Avere" ITEM "A|Avere"
END END
NUMBER F_TOTALE 15 NUMBER F_TOTALE 15
BEGIN BEGIN
PROMPT 18 7 "" PROMPT 18 7 ""
FIELD LF_MOV->TOTDOC FIELD LF_MOV->TOTDOC
FLAGS "R" FLAGS "R"
PICTURE "." PICTURE "."
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
MESSAGE COPY,I_IMPORTO2 MESSAGE COPY,I_IMPORTO2
END END
LIST F_CLIFO 1 12 LIST F_CLIFO 1 12
BEGIN BEGIN
PROMPT 37 7 "" PROMPT 37 7 ""
ITEM "C|Cliente" MESSAGE HIDE,F_FORNITORE|SHOW,F_CLIENTE ITEM "C|Cliente" MESSAGE HIDE,F_FORNITORE|SHOW,F_CLIENTE
ITEM "F|Fornitore" MESSAGE HIDE,F_CLIENTE|SHOW,F_FORNITORE ITEM "F|Fornitore" MESSAGE HIDE,F_CLIENTE|SHOW,F_FORNITORE
FIELD LF_MOV->TIPO FIELD LF_MOV->TIPO
FLAGS "GD" FLAGS "GD"
END END
NUMBER F_GRUPPOCLIFO 3 NUMBER F_GRUPPOCLIFO 3
BEGIN BEGIN
PROMPT 51 7 "" PROMPT 51 7 ""
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Gruppo assente" WARNING "Gruppo assente"
END END
NUMBER F_CONTOCLIFO 3 NUMBER F_CONTOCLIFO 3
BEGIN BEGIN
PROMPT 57 7 "" PROMPT 57 7 ""
USE LF_PCON SELECT TMCF==#F_CLIFO USE LF_PCON SELECT TMCF==#F_CLIFO
INPUT GRUPPO F_GRUPPOCLIFO INPUT GRUPPO F_GRUPPOCLIFO
INPUT CONTO F_CONTOCLIFO INPUT CONTO F_CONTOCLIFO
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT F_GRUPPOCLIFO GRUPPO OUTPUT F_GRUPPOCLIFO GRUPPO
OUTPUT F_CONTOCLIFO CONTO OUTPUT F_CONTOCLIFO CONTO
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Conto assente" WARNING "Conto assente"
END END
NUMBER F_CLIENTE 6 NUMBER F_CLIENTE 6
BEGIN BEGIN
PROMPT 65 7 "" PROMPT 65 7 ""
FIELD LF_MOV->CODCF FIELD LF_MOV->CODCF
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF F_CLIENTE INPUT CODCF F_CLIENTE
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale Cliente@50" RAGSOC DISPLAY "Ragione Sociale Cliente@50" RAGSOC
OUTPUT F_CLIENTE CODCF OUTPUT F_CLIENTE CODCF
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_FORNITORE 6 NUMBER F_FORNITORE 6
BEGIN BEGIN
PROMPT 65 7 "" PROMPT 65 7 ""
FIELD LF_MOV->CODCF FIELD LF_MOV->CODCF
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT CODCF F_FORNITORE INPUT CODCF F_FORNITORE
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
OUTPUT F_FORNITORE CODCF OUTPUT F_FORNITORE CODCF
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
LIST I_SEZIONE2 1 8 LIST I_SEZIONE2 1 8
BEGIN BEGIN
PROMPT 1 8 "Riga 2 " PROMPT 1 8 "Riga 2 "
ITEM "D|Dare" ITEM "D|Dare"
ITEM "A|Avere" ITEM "A|Avere"
END END
NUMBER I_IMPORTO2 15 NUMBER I_IMPORTO2 15
BEGIN BEGIN
PROMPT 18 8 "" PROMPT 18 8 ""
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
END END
LIST DLG_NULL 1 12 LIST DLG_NULL 1 12
BEGIN BEGIN
PROMPT 37 8 "" PROMPT 37 8 ""
ITEM " |Conto" ITEM " |Conto"
FLAGS "D" FLAGS "D"
END END
NUMBER I_GRUPPO2 3 NUMBER I_GRUPPO2 3
BEGIN BEGIN
PROMPT 51 8 "" PROMPT 51 8 ""
END END
NUMBER I_CONTO2 3 NUMBER I_CONTO2 3
BEGIN BEGIN
PROMPT 57 8 "" PROMPT 57 8 ""
END END
NUMBER I_SOTTOCONTO2 6 NUMBER I_SOTTOCONTO2 6
BEGIN BEGIN
PROMPT 65 8 "" PROMPT 65 8 ""
USE LF_PCON SELECT SOTTOCONTO!="" USE LF_PCON SELECT SOTTOCONTO!=""
INPUT GRUPPO I_GRUPPO2 INPUT GRUPPO I_GRUPPO2
INPUT CONTO I_CONTO2 INPUT CONTO I_CONTO2
INPUT SOTTOCONTO I_SOTTOCONTO2 INPUT SOTTOCONTO I_SOTTOCONTO2
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT I_GRUPPO2 GRUPPO OUTPUT I_GRUPPO2 GRUPPO
OUTPUT I_CONTO2 CONTO OUTPUT I_CONTO2 CONTO
OUTPUT I_SOTTOCONTO2 SOTTOCONTO OUTPUT I_SOTTOCONTO2 SOTTOCONTO
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
LIST I_SEZIONE3 1 8 LIST I_SEZIONE3 1 8
BEGIN BEGIN
PROMPT 1 9 "Riga 2 " PROMPT 1 9 "Riga 2 "
ITEM "D|Dare" ITEM "D|Dare"
ITEM "A|Avere" ITEM "A|Avere"
END END
NUMBER I_IMPORTO3 15 NUMBER I_IMPORTO3 15
BEGIN BEGIN
PROMPT 18 9 "" PROMPT 18 9 ""
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
END END
LIST DLG_NULL 1 12 LIST DLG_NULL 1 12
BEGIN BEGIN
PROMPT 37 9 "" PROMPT 37 9 ""
ITEM " |Conto" ITEM " |Conto"
FLAGS "D" FLAGS "D"
END END
NUMBER I_GRUPPO3 3 NUMBER I_GRUPPO3 3
BEGIN BEGIN
PROMPT 51 9 "" PROMPT 51 9 ""
END END
NUMBER I_CONTO3 3 NUMBER I_CONTO3 3
BEGIN BEGIN
PROMPT 57 9 "" PROMPT 57 9 ""
END END
NUMBER I_SOTTOCONTO3 6 NUMBER I_SOTTOCONTO3 6
BEGIN BEGIN
PROMPT 65 9 "" PROMPT 65 9 ""
COPY USE I_SOTTOCONTO2 COPY USE I_SOTTOCONTO2
INPUT GRUPPO I_GRUPPO3 INPUT GRUPPO I_GRUPPO3
INPUT CONTO I_CONTO3 INPUT CONTO I_CONTO3
INPUT SOTTOCONTO I_SOTTOCONTO3 INPUT SOTTOCONTO I_SOTTOCONTO3
COPY DISPLAY I_SOTTOCONTO2 COPY DISPLAY I_SOTTOCONTO2
OUTPUT I_GRUPPO3 GRUPPO OUTPUT I_GRUPPO3 GRUPPO
OUTPUT I_CONTO3 CONTO OUTPUT I_CONTO3 CONTO
OUTPUT I_SOTTOCONTO3 SOTTOCONTO OUTPUT I_SOTTOCONTO3 SOTTOCONTO
CHECKTYPE NORMAL CHECKTYPE NORMAL
VALIDATE REQIF_FUNC 1 I_IMPORTO3 VALIDATE REQIF_FUNC 1 I_IMPORTO3
END END
LIST I_SEZIONE4 1 8 LIST I_SEZIONE4 1 8
BEGIN BEGIN
PROMPT 1 10 "Riga 4 " PROMPT 1 10 "Riga 4 "
ITEM "D|Dare" ITEM "D|Dare"
ITEM "A|Avere" ITEM "A|Avere"
END END
NUMBER I_IMPORTO4 15 NUMBER I_IMPORTO4 15
BEGIN BEGIN
PROMPT 18 10 "" PROMPT 18 10 ""
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
END END
LIST DLG_NULL 1 12 LIST DLG_NULL 1 12
BEGIN BEGIN
PROMPT 37 10 "" PROMPT 37 10 ""
ITEM " |Conto" ITEM " |Conto"
FLAGS "D" FLAGS "D"
END END
NUMBER I_GRUPPO4 3 NUMBER I_GRUPPO4 3
BEGIN BEGIN
PROMPT 51 10 "" PROMPT 51 10 ""
END END
NUMBER I_CONTO4 3 NUMBER I_CONTO4 3
BEGIN BEGIN
PROMPT 57 10 "" PROMPT 57 10 ""
END END
NUMBER I_SOTTOCONTO4 6 NUMBER I_SOTTOCONTO4 6
BEGIN BEGIN
PROMPT 65 10 "" PROMPT 65 10 ""
COPY USE I_SOTTOCONTO2 COPY USE I_SOTTOCONTO2
INPUT GRUPPO I_GRUPPO4 INPUT GRUPPO I_GRUPPO4
INPUT CONTO I_CONTO4 INPUT CONTO I_CONTO4
INPUT SOTTOCONTO I_SOTTOCONTO4 INPUT SOTTOCONTO I_SOTTOCONTO4
COPY DISPLAY I_SOTTOCONTO2 COPY DISPLAY I_SOTTOCONTO2
OUTPUT I_GRUPPO4 GRUPPO OUTPUT I_GRUPPO4 GRUPPO
OUTPUT I_CONTO4 CONTO OUTPUT I_CONTO4 CONTO
OUTPUT I_SOTTOCONTO4 SOTTOCONTO OUTPUT I_SOTTOCONTO4 SOTTOCONTO
CHECKTYPE NORMAL CHECKTYPE NORMAL
VALIDATE REQIF_FUNC 1 I_IMPORTO4 VALIDATE REQIF_FUNC 1 I_IMPORTO4
END END
BUTTON DLG_SAVEREC 9 2 BUTTON DLG_SAVEREC 9 2
BEGIN BEGIN
PROMPT -12 -1 "~Registra" PROMPT -12 -1 "~Registra"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_CANCEL 9 2
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT -22 -1 ""
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -45,6 +45,9 @@ const real& TPrimanota_application::cod2IVA(const TMask& m)
static TString16 _codiva; static TString16 _codiva;
static real _percent; static real _percent;
if (app().iva() == iva_acquisti && m.get_int(103) == 3)
return ZERO;
const TString& codiva = m.get(102); const TString& codiva = m.get(102);
if (_codiva != codiva) if (_codiva != codiva)
{ {
@ -628,9 +631,9 @@ bool TPrimanota_application::codiva_handler(TMask_field& f, KEY key)
m.set(id, b.sottoconto()); m.set(id, b.sottoconto());
m.set(id+1, b.descrizione()); m.set(id+1, b.descrizione());
TMask_field& i = m.field(101); TMask_field& im = m.field(101);
i.set_dirty(); im.set_dirty();
return imponibile_handler(i, key); im.on_hit();
} else } else
if (key == K_ENTER) if (key == K_ENTER)
{ {
@ -640,6 +643,16 @@ bool TPrimanota_application::codiva_handler(TMask_field& f, KEY key)
return TRUE; return TRUE;
} }
bool TPrimanota_application::detrazione_handler(TMask_field& f, KEY key)
{
if (key == K_SPACE && app().iva() == iva_acquisti)
{
TMask_field& ci = f.mask().field(101);
ci.set_dirty();
ci.on_hit();
}
return TRUE;
}
bool TPrimanota_application::imposta_handler(TMask_field& f, KEY key) bool TPrimanota_application::imposta_handler(TMask_field& f, KEY key)
{ {

View File

@ -1,170 +1,171 @@
#ifndef __CG2102_H #ifndef __CG2102_H
#define __CG2102_H #define __CG2102_H
#ifndef __MSKSHEET_H #ifndef __MSKSHEET_H
#include <msksheet.h> #include <msksheet.h>
#endif #endif
#ifndef __RELAPP_H #ifndef __RELAPP_H
#include <relapp.h> #include <relapp.h>
#endif #endif
#ifndef __CGLIB_H #ifndef __CGLIB_H
#include "cglib.h" #include "cglib.h"
#endif #endif
#ifndef __CG2101_H #ifndef __CG2101_H
#include "cg2101.h" #include "cg2101.h"
#endif #endif
#ifndef __CG2103_H #ifndef __CG2103_H
#include "cg2103.h" #include "cg2103.h"
#endif #endif
class TPrimanota_application : public TRelation_application class TPrimanota_application : public TRelation_application
{ {
TMovimentoPN* _rel; TMovimentoPN* _rel;
TLocalisamfile* _tabcom; TLocalisamfile* _tabcom;
TLocalisamfile* _tab; TLocalisamfile* _tab;
TLocalisamfile* _caus; TLocalisamfile* _caus;
TLocalisamfile* _rcaus; TLocalisamfile* _rcaus;
TLocalisamfile* _clifo; TLocalisamfile* _clifo;
TLocalisamfile* _pcon; TLocalisamfile* _pcon;
TLocalisamfile* _attiv; TLocalisamfile* _attiv;
TLocalisamfile* _saldo; TLocalisamfile* _saldo;
TLocalisamfile* _comuni; TLocalisamfile* _comuni;
TLocalisamfile* _occas; TLocalisamfile* _occas;
TLocalisamfile* _nditte; TLocalisamfile* _nditte;
TCausale _causale; // Causale corrente TCausale _causale; // Causale corrente
TLibro_giornale _giornale; // Libro giornale corrente TLibro_giornale _giornale; // Libro giornale corrente
TipoIVA _iva; // Tipo di IVA corrente TipoIVA _iva; // Tipo di IVA corrente
bool _ges_val, _ges_sal; // Gestione valuta e saldaconto bool _ges_val, _ges_sal; // Gestione valuta e saldaconto
bool _rif_par; // Riferimento parita (NUM_DOC | PROTIVA) bool _rif_par; // Riferimento parita (NUM_DOC | PROTIVA)
TSaldo_agg _saldi; // Saldi da aggiornare TSaldo_agg _saldi; // Saldi da aggiornare
TMask* _msk[4]; // Maschere di query, cg, iva TMask* _msk[4]; // Maschere di query, cg, iva
long _lastreg; // Numero ultima registrazione long _lastreg; // Numero ultima registrazione
int _mode; // Modo maschera corrente int _mode; // Modo maschera corrente
void* _app_data; void* _app_data;
static bool suspended_handler(TMask_field& f, KEY k); static bool suspended_handler(TMask_field& f, KEY k);
static bool num_handler(TMask_field& f, KEY key); static bool num_handler(TMask_field& f, KEY key);
static bool caus_query_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 caus_modify_handler(TMask_field& f, KEY key);
static bool datareg_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 datacomp_handler(TMask_field& f, KEY key);
static bool data74ter_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 reg_handler(TMask_field& f, KEY key);
static bool protiva_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 clifo_handler(TMask_field& f, KEY key);
static bool totale_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 ritfis_handler(TMask_field& f, KEY key);
static bool ritsoc_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 main_codiva_handler(TMask_field& f, KEY key);
static bool visval_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_code_handler(TMask_field& f, KEY key);
static bool occas_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 solaiva_handler(TMask_field& f, KEY key);
static bool descr_handler(TMask_field& f, KEY k); static bool descr_handler(TMask_field& f, KEY k);
static bool sheet_clifo_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 imponibile_handler(TMask_field& f, KEY key);
static bool codiva_handler(TMask_field& f, KEY key); static bool detrazione_handler(TMask_field& f, KEY key);
static bool imposta_handler(TMask_field& f, KEY key); static bool codiva_handler(TMask_field& f, KEY key);
static bool dareavere_handler(TMask_field& f, KEY k); static bool imposta_handler(TMask_field& f, KEY key);
static bool cg_conto_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 iva_notify(int r, KEY key);
static bool cg_notify(int r, KEY key); static bool iva_handler(TMask_field& f, KEY key);
static bool cg_handler(TMask_field& f, KEY key); static bool cg_notify(int r, KEY key);
static bool pag_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(); protected:
virtual bool user_destroy(); virtual bool user_create();
virtual void print(); virtual bool user_destroy();
virtual bool changing_mask(int mode); virtual void print();
virtual TMask* get_mask(int mode); virtual bool changing_mask(int mode);
virtual TRelation* get_relation() const { return _rel; } virtual TMask* get_mask(int mode);
virtual void init_query_mode(TMask& m); virtual TRelation* get_relation() const { return _rel; }
virtual void init_insert_mode(TMask& m); virtual void init_query_mode(TMask& m);
virtual void init_modify_mode(TMask& m); virtual void init_insert_mode(TMask& m);
virtual const char* get_next_key(); virtual void init_modify_mode(TMask& m);
virtual int read(TMask& m); virtual const char* get_next_key();
virtual int write(const TMask& m); virtual int read(TMask& m);
virtual int rewrite(const TMask& m); virtual int write(const TMask& m);
virtual bool remove(); virtual int rewrite(const TMask& m);
virtual bool remove();
void genera_incasso(const char* causimm);
void aggiorna_scadenzario(const TMask& m); void genera_incasso(const char* causimm);
void aggiorna_scadenzario(const TMask& m);
TMask* load_mask(int n);
TMask& occas_mask() { return *load_mask(3); } 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; bool get_conto(const TRectype& r, TBill& c) const;
void put_conto(TRectype& r, const TBill& c) const;
void mask2rel(const TMask& m);
void mask2rel(const TMask& m);
TipoIVA iva() const { return _iva; }
char clifo() const { return iva() == iva_vendite ? 'C' : 'F'; } TipoIVA iva() const { return _iva; }
bool gestione_valuta() const { return _ges_val; } char clifo() const { return iva() == iva_vendite ? 'C' : 'F'; }
bool gestione_saldaconto() const { return _ges_sal; } bool gestione_valuta() const { return _ges_val; }
bool riferimento_partita() const { return _rif_par; } 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 fill_sheet(TMask& m) const;
void init_mask(TMask& m); void read_firm_params();
void init_mask(TMask& m);
TSheet_field& cgs() const;
TSheet_field& ivas() const; 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 int bill2pos(const TBill& conto, char tipo);
static TipoIVA cau2IVA(const char* causale, int anno); static TipoIVA reg2IVA(const char* registro, int anno);
static int type2pos(char tipo); static TipoIVA cau2IVA(const char* causale, int anno);
static const real& cod2IVA(const TMask& m); static int type2pos(char tipo);
static real scorpora(real& imponibile, const real& percentuale); static const real& cod2IVA(const TMask& m);
static bool detraibile(TToken_string& row); 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; bool IVA2bill(const TCodiceIVA& iva, TBill& bill);
int bill_used(const TBill& conto) const; int bill2contr(const TBill& c, char sezione) const;
int det_used(char detraib) 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; } bool read_caus(const char* cod, int year);
TLibro_giornale& giornale() { return _giornale; } TCausale& causale() { return _causale; }
TLibro_giornale& giornale() { return _giornale; }
bool test_swap(bool ritsoc);
TImporto real2imp(const real& r, char tipo); bool test_swap(bool ritsoc);
real totale_documento(); 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); void set_cgs_imp(int n, const TImporto& importo);
TImporto add_cgs_imp(int n, const TImporto& importo); TImporto get_cgs_imp(int n);
TImporto sub_cgs_imp(int n, const real& imp); 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; void cgs_pack();
real calcola_imp() const; 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 set_ivas_row(int n, const char* codiva, TBill& tc, const char* desc);
void reset_cgs_row(int n); int set_cgs_row(int n, const TImporto& importo, TBill& conto, const char* desc, char tipo);
void disable_cgs_cells(int n, char tipo); void reset_cgs_row(int n);
void add_cgs_tot(TMask& m); void disable_cgs_cells(int n, char tipo);
void add_cgs_rit(bool fisc); 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; } void* get_app_data() { return _app_data; }
void set_app_data(void* v) { _app_data = v; }
public:
TPrimanota_application(); public:
}; TPrimanota_application();
};
#endif
#endif

View File

@ -1,149 +1,149 @@
#ifndef __CG2103_H #ifndef __CG2103_H
#define __CG2103_H #define __CG2103_H
#ifndef __ISAM_H #ifndef __ISAM_H
#include <isam.h> #include <isam.h>
#endif #endif
#ifndef __CONTO_H #ifndef __CONTO_H
#include "conto.h" #include "conto.h"
#endif #endif
enum TipoIVA enum TipoIVA
{ {
iva_errata = -1, iva_errata = -1,
nessuna_iva = 0, nessuna_iva = 0,
iva_vendite = 1, iva_vendite = 1,
iva_acquisti = 2, iva_acquisti = 2,
iva_generica = 9 iva_generica = 9
}; };
const char* iva2name(TipoIVA i); const char* iva2name(TipoIVA i);
class TRegistro : public TObject class TRegistro : public TObject
{ {
bool read_att(); bool read_att();
protected: protected:
enum TipoRegistro { libro_giornale = 5 }; enum TipoRegistro { libro_giornale = 5 };
TRectype _rec, _att; TRectype _rec, _att;
public: public:
bool read(const char* code, int year); bool read(const char* code, int year);
TRegistro& operator =(const TRegistro& r); TRegistro& operator =(const TRegistro& r);
virtual bool ok() const { return !_rec.empty(); } virtual bool ok() const { return !_rec.empty(); }
int tipo() const; int tipo() const;
TipoIVA iva() const; TipoIVA iva() const;
bool corrispettivi() const; bool corrispettivi() const;
const TString& name() const; const TString& name() const;
int year() const; int year() const;
TDate last_reg() const { return _rec.get_date("D2"); } TDate last_reg() const { return _rec.get_date("D2"); }
TDate last_print() const { return _rec.get_date("D3"); } TDate last_print() const { return _rec.get_date("D3"); }
long protocol() const { return _rec.get_long("I5"); } long protocol() const { return _rec.get_long("I5"); }
const TString& attivita() const { return _rec.get("S8"); } const TString& attivita() const { return _rec.get("S8"); }
bool agenzia_viaggi(); bool agenzia_viaggi();
const TString& tipo_attivita(); const TString& tipo_attivita();
bool attivita_mista() { return tipo_attivita()[0] == 'M'; } bool attivita_mista() { char a = tipo_attivita()[0]; return a == 'M' || a == 'E'; }
bool update(long uprotiva, const TDate& lastreg); bool update(long uprotiva, const TDate& lastreg);
TRegistro(const char* code = "", int year = 0); TRegistro(const char* code = "", int year = 0);
virtual ~TRegistro() {} virtual ~TRegistro() {}
}; };
class TLibro_giornale : public TRegistro class TLibro_giornale : public TRegistro
{ {
public: public:
bool read(int year); bool read(int year);
TDate global_last_print() const; TDate global_last_print() const;
TLibro_giornale(int year = 0); TLibro_giornale(int year = 0);
virtual ~TLibro_giornale() {} virtual ~TLibro_giornale() {}
}; };
class TCausale : public TArray class TCausale : public TArray
{ {
TRectype _rec; TRectype _rec;
TRegistro _reg; TRegistro _reg;
TipoIVA _iva; TipoIVA _iva;
bool _corrisp; bool _corrisp;
char _sezione_clifo, _sezione_ritsoc; char _sezione_clifo, _sezione_ritsoc;
protected: protected:
const TRectype& row(int num) const; const TRectype& row(int num) const;
public: public:
TBill& bill(int num, TBill& c) const; TBill& bill(int num, TBill& c) const;
const char* codice() const; const char* codice() const;
const char* descrizione() const; const char* descrizione() const;
const char* desc_agg(int num) const; const char* desc_agg(int num) const;
bool data_doc() const; bool data_doc() const;
bool num_doc() const; bool num_doc() const;
bool apertura() const; bool apertura() const;
bool sezionale() const; bool sezionale() const;
bool valuta() const; bool valuta() const;
bool intra() const; bool intra() const;
bool corrval() const; bool corrval() const;
const char* causale_inc_imm() const; const char* causale_inc_imm() const;
const char* tipo_doc() const; const char* tipo_doc() const;
TRegistro& reg() const { return (TRegistro&)_reg; } TRegistro& reg() const { return (TRegistro&)_reg; }
TipoIVA iva() const; TipoIVA iva() const;
bool corrispettivi() const; bool corrispettivi() const;
bool saldaconto() const; bool saldaconto() const;
virtual bool ok() const; virtual bool ok() const;
bool similar(const TCausale& c) const; bool similar(const TCausale& c) const;
char sezione(int riga) const; char sezione(int riga) const;
char sezione_clifo(); char sezione_clifo();
char sezione_ritsoc(); char sezione_ritsoc();
bool read(const char* cod, int year); bool read(const char* cod, int year);
TCausale(const char* code = "", int year = 0); TCausale(const char* code = "", int year = 0);
virtual ~TCausale() {} virtual ~TCausale() {}
}; };
class TCodiceIVA : public TRectype class TCodiceIVA : public TRectype
{ {
public: public:
TCodiceIVA(const char* codice = NULL); TCodiceIVA(const char* codice = NULL);
bool read(const char* codice); bool read(const char* codice);
bool ok() const { return !empty(); } bool ok() const { return !empty(); }
const TString& codice() const { return get("CODTAB"); } const TString& codice() const { return get("CODTAB"); }
real percentuale() const { return get_real("R0"); } real percentuale() const { return get_real("R0"); }
const TString& tipo() const { return get("S1"); } const TString& tipo() const { return get("S1"); }
}; };
class TImporto : public TObject class TImporto : public TObject
{ {
char _sezione; char _sezione;
real _valore; real _valore;
public: public:
char sezione() const { return _sezione; } char sezione() const { return _sezione; }
const real& valore() const { return _valore; } const real& valore() const { return _valore; }
const TImporto& operator=(const TImporto& i) { return set(i.sezione(), i.valore()); } const TImporto& operator=(const TImporto& i) { return set(i.sezione(), i.valore()); }
const TImporto& operator=(TToken_string& sv); const TImporto& operator=(TToken_string& sv);
const TImporto& operator+=(const TImporto& i); const TImporto& operator+=(const TImporto& i);
const TImporto& operator-=(const TImporto& i); const TImporto& operator-=(const TImporto& i);
const TImporto& swap_section(); const TImporto& swap_section();
const TImporto& set(char s, const real& v); const TImporto& set(char s, const real& v);
const TImporto& add_to(TToken_string& s) const; const TImporto& add_to(TToken_string& s) const;
TImporto(char s = 'D', const real& v = ZERO) { set(s, v); } TImporto(char s = 'D', const real& v = ZERO) { set(s, v); }
TImporto(const TImporto& i) : _sezione(i._sezione), _valore(i._valore) {} TImporto(const TImporto& i) : _sezione(i._sezione), _valore(i._valore) {}
}; };
#endif #endif

View File

@ -1,345 +1,345 @@
PAGE "RIGA PRIMA NOTA" -1 -1 67 16 PAGE "RIGA PRIMA NOTA" -1 -1 67 16
GROUPBOX DLG_NULL 66 3 GROUPBOX DLG_NULL 66 3
BEGIN BEGIN
PROMPT 1 1 "Descrizione" PROMPT 1 1 "Descrizione"
END END
STRING 108 5 STRING 108 5
BEGIN BEGIN
PROMPT 2 2 "" PROMPT 2 2 ""
FLAGS "U" FLAGS "U"
USE %DPN USE %DPN
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT 108 CODTAB OUTPUT 108 CODTAB
OUTPUT 109 S0 OUTPUT 109 S0
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
STRING 109 50 STRING 109 50
BEGIN BEGIN
PROMPT 14 2 "" PROMPT 14 2 ""
FIELD DESCR FIELD DESCR
END END
GROUPBOX DLG_NULL 66 5 GROUPBOX DLG_NULL 66 5
BEGIN BEGIN
PROMPT 1 4 "Conto principale" PROMPT 1 4 "Conto principale"
END END
NUMBER 101 15 NUMBER 101 15
BEGIN BEGIN
PROMPT 2 5 "Dare " PROMPT 2 5 "Dare "
FLAGS "RV" FLAGS "RV"
PICTURE "." PICTURE "."
END END
NUMBER 102 15 NUMBER 102 15
BEGIN BEGIN
PROMPT 44 5 "Avere " PROMPT 44 5 "Avere "
FLAGS "RV" FLAGS "RV"
PICTURE "." PICTURE "."
END END
LIST 103 1 12 LIST 103 1 12
BEGIN BEGIN
PROMPT 2 6 "Tipo " PROMPT 2 6 "Tipo "
FLAGS "U" FLAGS "U"
ITEM " |Conto" MESSAGE SHOW,106|HIDE,206|HIDE,306|SHOW,107|HIDE,207|HIDE,307 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 "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 ITEM "F|Fornitore" MESSAGE SHOW,306|HIDE,106|HIDE,206|SHOW,307|HIDE,107|HIDE,207
END END
NUMBER 104 3 NUMBER 104 3
BEGIN BEGIN
PROMPT 20 6 "Gruppo " PROMPT 20 6 "Gruppo "
END END
NUMBER 105 3 NUMBER 105 3
BEGIN BEGIN
PROMPT 32 6 "Conto " PROMPT 32 6 "Conto "
FIELD LF_PCON->CONTO FIELD LF_PCON->CONTO
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="") USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
INPUT GRUPPO 104 INPUT GRUPPO 104
INPUT CONTO 105 INPUT CONTO 105
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT 103 TMCF OUTPUT 103 TMCF
OUTPUT 104 GRUPPO OUTPUT 104 GRUPPO
OUTPUT 105 CONTO OUTPUT 105 CONTO
OUTPUT 107 DESCR OUTPUT 107 DESCR
ADD RUN CG0 -0 ADD RUN CG0 -0
CHECKTYPE NORMAL CHECKTYPE NORMAL
MESSAGE DIRTY,106|DIRTY,206|DIRTY,306 MESSAGE DIRTY,106|DIRTY,206|DIRTY,306
WARNING "Conto inesistente o mancante sulla riga contabile" WARNING "Conto inesistente o mancante sulla riga contabile"
END END
NUMBER 106 6 NUMBER 106 6
BEGIN BEGIN
PROMPT 45 6 "Sottoconto " PROMPT 45 6 "Sottoconto "
FIELD LF_PCON->SOTTOCONTO FIELD LF_PCON->SOTTOCONTO
USE LF_PCON SELECT SOTTOCONTO!="" USE LF_PCON SELECT SOTTOCONTO!=""
INPUT GRUPPO 104 INPUT GRUPPO 104
INPUT CONTO 105 INPUT CONTO 105
INPUT SOTTOCONTO 106 INPUT SOTTOCONTO 106
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT 106 SOTTOCONTO OUTPUT 106 SOTTOCONTO
OUTPUT 104 GRUPPO OUTPUT 104 GRUPPO
OUTPUT 105 CONTO OUTPUT 105 CONTO
OUTPUT 107 DESCR OUTPUT 107 DESCR
ADD RUN cg0 -0 ADD RUN cg0 -0
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Sottoconto inesistente sulla riga contabile" WARNING "Sottoconto inesistente sulla riga contabile"
END END
NUMBER 206 6 NUMBER 206 6
BEGIN BEGIN
PROMPT 45 6 "Cliente " PROMPT 45 6 "Cliente "
FIELD LF_PCON->SOTTOCONTO FIELD LF_PCON->SOTTOCONTO
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF 206 INPUT CODCF 206
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale Cliente@50" RAGSOC DISPLAY "Ragione Sociale Cliente@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 206 CODCF OUTPUT 206 CODCF
OUTPUT 207 RAGSOC OUTPUT 207 RAGSOC
MESSAGE COPY,106 MESSAGE COPY,106
ADD RUN cg0 -1 ADD RUN cg0 -1
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Cliente inesistente sulla riga contabile" WARNING "Cliente inesistente sulla riga contabile"
END END
NUMBER 306 6 NUMBER 306 6
BEGIN BEGIN
PROMPT 45 6 "Fornitore " PROMPT 45 6 "Fornitore "
FIELD LF_PCON->SOTTOCONTO FIELD LF_PCON->SOTTOCONTO
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT CODCF 306 INPUT CODCF 306
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 306 CODCF OUTPUT 306 CODCF
OUTPUT 307 RAGSOC OUTPUT 307 RAGSOC
MESSAGE COPY,106 MESSAGE COPY,106
ADD RUN cg0 -1 ADD RUN cg0 -1
MESSAGE COPY,106 MESSAGE COPY,106
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Fornitore inesistente sulla riga contabile" WARNING "Fornitore inesistente sulla riga contabile"
END END
STRING 107 50 STRING 107 50
BEGIN BEGIN
PROMPT 2 7 "Descriz. " PROMPT 2 7 "Descriz. "
FIELD LF_PCON->DESCR FIELD LF_PCON->DESCR
USE LF_PCON KEY 2 USE LF_PCON KEY 2
INPUT DESCR 107 INPUT DESCR 107
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
COPY OUTPUT 106 COPY OUTPUT 106
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Sottoconto inesistente o mancante sulla riga contabile" WARNING "Sottoconto inesistente o mancante sulla riga contabile"
ADD RUN cg0 -0 ADD RUN cg0 -0
END END
STRING 207 50 STRING 207 50
BEGIN BEGIN
PROMPT 2 7 "Cliente " PROMPT 2 7 "Cliente "
FIELD LF_CLIFO->RAGSOC FIELD LF_CLIFO->RAGSOC
USE LF_CLIFO KEY 2 USE LF_CLIFO KEY 2
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT RAGSOC 207 INPUT RAGSOC 207
DISPLAY "Ragione Sociale Cliente@50" RAGSOC DISPLAY "Ragione Sociale Cliente@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
COPY OUTPUT 206 COPY OUTPUT 206
MESSAGE COPY,107 MESSAGE COPY,107
ADD RUN cg0 -1 ADD RUN cg0 -1
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Cliente inesistente sulla riga contabile" WARNING "Cliente inesistente sulla riga contabile"
END END
STRING 307 50 STRING 307 50
BEGIN BEGIN
PROMPT 2 7 "Fornitore " PROMPT 2 7 "Fornitore "
FIELD LF_PCON->SOTTOCONTO FIELD LF_PCON->SOTTOCONTO
USE LF_CLIFO KEY 2 USE LF_CLIFO KEY 2
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT RAGSOC 307 INPUT RAGSOC 307
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
COPY OUTPUT 306 COPY OUTPUT 306
MESSAGE COPY,107 MESSAGE COPY,107
ADD RUN cg0 -1 ADD RUN cg0 -1
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Fornitore inesistente sulla riga contabile" WARNING "Fornitore inesistente sulla riga contabile"
END END
GROUPBOX DLG_NULL 66 4 GROUPBOX DLG_NULL 66 4
BEGIN BEGIN
PROMPT 1 9 "Contropartita" PROMPT 1 9 "Contropartita"
END END
LIST 110 1 12 LIST 110 1 12
BEGIN BEGIN
PROMPT 2 10 "Tipo " PROMPT 2 10 "Tipo "
FLAGS "U" FLAGS "U"
ITEM " |Conto" MESSAGE SHOW,113|HIDE,213|HIDE,313|SHOW,114|HIDE,214|HIDE,314 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 "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 ITEM "F|Fornitore" MESSAGE SHOW,313|HIDE,113|HIDE,213|SHOW,314|HIDE,114|HIDE,214
END END
NUMBER 111 3 NUMBER 111 3
BEGIN BEGIN
PROMPT 20 10 "Gruppo " PROMPT 20 10 "Gruppo "
END END
NUMBER 112 3 NUMBER 112 3
BEGIN BEGIN
PROMPT 32 10 "Conto " PROMPT 32 10 "Conto "
FIELD LF_PCON->CONTO FIELD LF_PCON->CONTO
COPY USE 105 COPY USE 105
INPUT GRUPPO 111 INPUT GRUPPO 111
INPUT CONTO 112 INPUT CONTO 112
COPY DISPLAY 105 COPY DISPLAY 105
OUTPUT 110 TMCF OUTPUT 110 TMCF
OUTPUT 111 GRUPPO OUTPUT 111 GRUPPO
OUTPUT 112 CONTO OUTPUT 112 CONTO
OUTPUT 114 DESCR OUTPUT 114 DESCR
ADD RUN CG0 -0 ADD RUN CG0 -0
MESSAGE DIRTY,113|DIRTY,213|DIRTY,313 MESSAGE DIRTY,113|DIRTY,213|DIRTY,313
CHECKTYPE NORMAL CHECKTYPE NORMAL
VALIDATE REQIF_FUNC 3 113 213 313 VALIDATE REQIF_FUNC 3 113 213 313
END END
NUMBER 113 6 NUMBER 113 6
BEGIN BEGIN
PROMPT 45 10 "Sottoconto " PROMPT 45 10 "Sottoconto "
FIELD LF_PCON->SOTTOCONTO FIELD LF_PCON->SOTTOCONTO
COPY USE 106 COPY USE 106
COPY INPUT 112 COPY INPUT 112
INPUT SOTTOCONTO 113 INPUT SOTTOCONTO 113
COPY DISPLAY 106 COPY DISPLAY 106
OUTPUT 113 SOTTOCONTO OUTPUT 113 SOTTOCONTO
OUTPUT 111 GRUPPO OUTPUT 111 GRUPPO
OUTPUT 112 CONTO OUTPUT 112 CONTO
OUTPUT 114 DESCR OUTPUT 114 DESCR
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
NUMBER 213 6 NUMBER 213 6
BEGIN BEGIN
PROMPT 45 10 "Cliente " PROMPT 45 10 "Cliente "
FIELD LF_CLIFO->CODCF FIELD LF_CLIFO->CODCF
COPY USE 206 COPY USE 206
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF 213 INPUT CODCF 213
COPY DISPLAY 206 COPY DISPLAY 206
OUTPUT 213 CODCF OUTPUT 213 CODCF
OUTPUT 214 RAGSOC OUTPUT 214 RAGSOC
MESSAGE COPY,113 MESSAGE COPY,113
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
NUMBER 313 6 NUMBER 313 6
BEGIN BEGIN
PROMPT 45 10 "Fornitore " PROMPT 45 10 "Fornitore "
FIELD LF_CLIFO->CODCF FIELD LF_CLIFO->CODCF
COPY USE 306 COPY USE 306
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT CODCF 313 INPUT CODCF 313
COPY DISPLAY 306 COPY DISPLAY 306
OUTPUT 313 CODCF OUTPUT 313 CODCF
OUTPUT 314 RAGSOC OUTPUT 314 RAGSOC
MESSAGE COPY,113 MESSAGE COPY,113
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
STRING 114 50 STRING 114 50
BEGIN BEGIN
PROMPT 2 11 "Descriz. " PROMPT 2 11 "Descriz. "
FIELD LF_PCON->DESCR FIELD LF_PCON->DESCR
COPY USE 107 COPY USE 107
INPUT DESCR 114 INPUT DESCR 114
COPY DISPLAY 107 COPY DISPLAY 107
COPY OUTPUT 113 COPY OUTPUT 113
ADD RUN cg0 -0 ADD RUN cg0 -0
WARNING "Conto inesistente sulla riga contabile" WARNING "Conto inesistente sulla riga contabile"
END END
STRING 214 50 STRING 214 50
BEGIN BEGIN
PROMPT 2 11 "Cliente " PROMPT 2 11 "Cliente "
FIELD LF_CLIFO->RAGSOC FIELD LF_CLIFO->RAGSOC
COPY USE 207 COPY USE 207
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT RAGSOC 214 INPUT RAGSOC 214
COPY DISPLAY 207 COPY DISPLAY 207
COPY OUTPUT 213 COPY OUTPUT 213
ADD RUN cg0 -1 ADD RUN cg0 -1
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Cliente inesistente sulla riga contabile" WARNING "Cliente inesistente sulla riga contabile"
END END
STRING 314 50 STRING 314 50
BEGIN BEGIN
PROMPT 2 11 "Fornitore " PROMPT 2 11 "Fornitore "
FIELD LF_CLIFO->RAGSOC FIELD LF_CLIFO->RAGSOC
COPY USE 307 COPY USE 307
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT RAGSOC 314 INPUT RAGSOC 314
COPY DISPLAY 307 COPY DISPLAY 307
COPY OUTPUT 313 COPY OUTPUT 313
ADD RUN cg0 -1 ADD RUN cg0 -1
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Fornitore inesistente sulla riga contabile" WARNING "Fornitore inesistente sulla riga contabile"
END END
LIST 115 20 LIST 115 20
BEGIN BEGIN
PROMPT 2 13 "Tipo riga " PROMPT 2 13 "Tipo riga "
ITEM " |Sola contabilita'" ITEM " |Sola contabilita'"
ITEM "C|Gestione saldaconto" ITEM "C|Gestione saldaconto"
ITEM "D|IVA detraibile" ITEM "D|IVA detraibile"
ITEM "F|Ritenute fiscali" ITEM "F|Ritenute fiscali"
ITEM "I|Riga di IVA" ITEM "I|Riga di IVA"
ITEM "N|IVA non detraibile" ITEM "N|IVA non detraibile"
ITEM "S|Ritenute sociali" ITEM "S|Ritenute sociali"
ITEM "T|Totale documento" ITEM "T|Totale documento"
FLAGS "D" FLAGS "D"
END END
BUTTON DLG_OK 9 2 BUTTON DLG_OK 9 2
BEGIN BEGIN
PROMPT -13 -1 "" PROMPT -13 -1 ""
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_CANCEL 9 2
BEGIN BEGIN
PROMPT -23 -1 "" PROMPT -23 -1 ""
END END
BUTTON DLG_DELREC 9 2 BUTTON DLG_DELREC 9 2
BEGIN BEGIN
PROMPT -33 -1 "Elimina" PROMPT -33 -1 "Elimina"
MESSAGE EXIT,K_DEL MESSAGE EXIT,K_DEL
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,256 +1,245 @@
PAGE "RIGA IVA" -1 -1 70 13 PAGE "RIGA IVA" -1 -1 78 13
GROUPBOX DLG_NULL 67 5 GROUPBOX DLG_NULL 76 5
BEGIN BEGIN
PROMPT 1 1 "Conto" PROMPT 1 1 "@BImposta"
END END
LIST 106 1 12 STRING 102 4
BEGIN BEGIN
PROMPT 2 2 "Tipo " PROMPT 2 2 "IVA "
FIELD TMCF FLAGS "U"
ITEM " |Conto" USE %IVA
MESSAGE SHOW,109|HIDE,209|HIDE,309|SHOW,110|HIDE,210|HIDE,310 INPUT CODTAB 102
ITEM "C|Cliente" DISPLAY "Codice" CODTAB
MESSAGE SHOW,209|HIDE,109|HIDE,309|SHOW,210|HIDE,110|HIDE,310 DISPLAY "Descrizione@50" S0
ITEM "F|Fornitore" DISPLAY "%@6" R0
MESSAGE SHOW,309|HIDE,109|HIDE,209|SHOW,310|HIDE,110|HIDE,210 DISPLAY "Tipo" S1
FLAGS "U" OUTPUT 102 CODTAB
END OUTPUT 211 S0
CHECKTYPE NORMAL
NUMBER 107 3 VALIDATE REQIF_FUNC 1 101
BEGIN END
PROMPT 21 2 "Gruppo "
FIELD GRUPPO STRING 211 58
END BEGIN
PROMPT 16 2 ""
NUMBER 108 3 FLAGS "D"
BEGIN END
PROMPT 33 2 "Conto "
FIELD CONTO LIST 103 1 59
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="") BEGIN
INPUT GRUPPO 107 PROMPT 2 3 "Detraibilita' "
INPUT CONTO 108 ITEM " |0. Regime normale"
DISPLAY "Gruppo" GRUPPO ITEM "1|1. IVA indetraibile su acquisti riferiti a ricavi esenti"
DISPLAY "Conto" CONTO ITEM "3|3. IVA indicata per il solo calcolo di ventilazione"
DISPLAY "Descrizione@50" DESCR ITEM "9|9. IVA non detraibile per l'articolo 19"
DISPLAY "Tipo" TMCF END
OUTPUT 106 TMCF
OUTPUT 107 GRUPPO NUMBER 101 15
OUTPUT 108 CONTO BEGIN
OUTPUT 110 DESCR PROMPT 2 4 "Imponibile "
OUTPUT 105 TIPOSPRIC FLAGS "RV"
ADD RUN cg0 -0 PICTURE "."
MESSAGE DIRTY,109|DIRTY,209|DIRTY,309 END
CHECKTYPE NORMAL
WARNING "Conto inesistente nella riga IVA" NUMBER 104 15
END BEGIN
PROMPT 48 4 "Imposta "
FLAGS "RV"
NUMBER 109 6 PICTURE "."
BEGIN END
PROMPT 46 2 "Sottoconto "
FIELD SOTTOCONTO GROUPBOX DLG_NULL 76 5
USE LF_PCON SELECT SOTTOCONTO!="" BEGIN
INPUT GRUPPO 107 PROMPT 1 6 "@BConto"
INPUT CONTO 108 END
INPUT SOTTOCONTO 109
DISPLAY "Gruppo" GRUPPO LIST 106 1 12
DISPLAY "Conto" CONTO BEGIN
DISPLAY "Sottoconto" SOTTOCONTO PROMPT 2 7 "Tipo "
DISPLAY "Descrizione@50" DESCR FIELD TMCF
OUTPUT 109 SOTTOCONTO ITEM " |Conto"
OUTPUT 105 TIPOSPRIC MESSAGE SHOW,109|HIDE,209|HIDE,309|SHOW,110|HIDE,210|HIDE,310
OUTPUT 107 GRUPPO ITEM "C|Cliente"
OUTPUT 108 CONTO MESSAGE SHOW,209|HIDE,109|HIDE,309|SHOW,210|HIDE,110|HIDE,310
OUTPUT 110 DESCR ITEM "F|Fornitore"
ADD RUN cg0 -0 MESSAGE SHOW,309|HIDE,109|HIDE,209|SHOW,310|HIDE,110|HIDE,210
CHECKTYPE NORMAL FLAGS "U"
VALIDATE REQIF_FUNC 1 101 END
WARNING "Sottoconto inesistente nella riga IVA"
END NUMBER 107 3
BEGIN
PROMPT 22 7 "Gruppo "
NUMBER 209 6 FIELD GRUPPO
BEGIN END
PROMPT 46 2 "Cliente "
USE LF_CLIFO NUMBER 108 3
INPUT TIPOCF "C" BEGIN
INPUT CODCF 209 PROMPT 38 7 "Conto "
DISPLAY "Codice" CODCF FIELD CONTO
DISPLAY "Ragione Sociale Cliente@50" RAGSOC USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
DISPLAY "Gruppo" GRUPPO INPUT GRUPPO 107
DISPLAY "Conto" CONTO INPUT CONTO 108
OUTPUT 209 CODCF DISPLAY "Gruppo" GRUPPO
OUTPUT 210 RAGSOC DISPLAY "Conto" CONTO
OUTPUT 105 "" DISPLAY "Descrizione@50" DESCR
CHECKTYPE NORMAL DISPLAY "Tipo" TMCF
ADD RUN cg0 -1 OUTPUT 106 TMCF
MESSAGE COPY,109 OUTPUT 107 GRUPPO
VALIDATE REQIF_FUNC 1 101 OUTPUT 108 CONTO
WARNING "Cliente inesistente nella riga IVA" OUTPUT 110 DESCR
END OUTPUT 105 TIPOSPRIC
ADD RUN cg0 -0
NUMBER 309 6 MESSAGE DIRTY,109|DIRTY,209|DIRTY,309
BEGIN CHECKTYPE NORMAL
PROMPT 46 2 "Fornitore " WARNING "Conto inesistente nella riga IVA"
USE LF_CLIFO END
INPUT TIPOCF "F"
INPUT CODCF 309
DISPLAY "Codice" CODCF NUMBER 109 6
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC BEGIN
OUTPUT 107 GRUPPO PROMPT 55 7 "Sottoconto "
OUTPUT 108 CONTO FIELD SOTTOCONTO
OUTPUT 309 CODCF USE LF_PCON SELECT SOTTOCONTO!=""
OUTPUT 310 RAGSOC INPUT GRUPPO 107
OUTPUT 105 "" INPUT CONTO 108
CHECKTYPE NORMAL INPUT SOTTOCONTO 109
ADD RUN cg0 -1 DISPLAY "Gruppo" GRUPPO
MESSAGE COPY,109|RESET,105 DISPLAY "Conto" CONTO
VALIDATE REQIF_FUNC 1 101 DISPLAY "Sottoconto" SOTTOCONTO
WARNING "Fornitore inesistente nella riga IVA" DISPLAY "Descrizione@50" DESCR
END OUTPUT 109 SOTTOCONTO
OUTPUT 105 TIPOSPRIC
STRING 110 50 OUTPUT 107 GRUPPO
BEGIN OUTPUT 108 CONTO
PROMPT 2 3 "Descriz. " OUTPUT 110 DESCR
FIELD LF_PCON->DESCR ADD RUN cg0 -0
USE LF_PCON KEY 2 CHECKTYPE NORMAL
INPUT DESCR 110 VALIDATE REQIF_FUNC 1 101
DISPLAY "Descrizione@50" DESCR WARNING "Sottoconto inesistente nella riga IVA"
DISPLAY "Gruppo" GRUPPO END
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY OUTPUT 109 NUMBER 209 6
CHECKTYPE NORMAL BEGIN
ADD RUN cg0 -0 PROMPT 55 7 "Cliente "
END USE LF_CLIFO
INPUT TIPOCF "C"
STRING 210 50 INPUT CODCF 209
BEGIN DISPLAY "Codice" CODCF
PROMPT 2 3 "Cliente " DISPLAY "Ragione Sociale Cliente@50" RAGSOC
FIELD LF_CLIFO->RAGSOC DISPLAY "Gruppo" GRUPPO
USE LF_CLIFO KEY 2 DISPLAY "Conto" CONTO
INPUT TIPOCF "C" OUTPUT 209 CODCF
INPUT RAGSOC 210 OUTPUT 210 RAGSOC
DISPLAY "Ragione Sociale Cliente@50" RAGSOC OUTPUT 105 ""
DISPLAY "Gruppo" GRUPPO CHECKTYPE NORMAL
DISPLAY "Conto" CONTO ADD RUN cg0 -1
DISPLAY "Codice" CODCF MESSAGE COPY,109
COPY OUTPUT 209 VALIDATE REQIF_FUNC 1 101
MESSAGE COPY,110 WARNING "Cliente inesistente nella riga IVA"
ADD RUN cg0 -1 END
CHECKTYPE NORMAL
END NUMBER 309 6
BEGIN
STRING 310 50 PROMPT 55 7 "Fornitore "
BEGIN USE LF_CLIFO
PROMPT 2 3 "Fornitore " INPUT TIPOCF "F"
FIELD LF_PCON->SOTTOCONTO INPUT CODCF 309
USE LF_CLIFO KEY 2 DISPLAY "Codice" CODCF
INPUT TIPOCF "F" DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
INPUT RAGSOC 310 OUTPUT 107 GRUPPO
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC OUTPUT 108 CONTO
DISPLAY "Gruppo" GRUPPO OUTPUT 309 CODCF
DISPLAY "Conto" CONTO OUTPUT 310 RAGSOC
DISPLAY "Codice" CODCF OUTPUT 105 ""
COPY OUTPUT 309 CHECKTYPE NORMAL
MESSAGE COPY,110 ADD RUN cg0 -1
ADD RUN cg0 -1 MESSAGE COPY,109|RESET,105
CHECKTYPE NORMAL VALIDATE REQIF_FUNC 1 101
END WARNING "Fornitore inesistente nella riga IVA"
END
LIST 105 1 53
BEGIN STRING 110 50
PROMPT 2 4 "Tipo C/R " BEGIN
ITEM " |0 - Acquisti o vendite in genere" PROMPT 2 8 "Descrizione "
ITEM "1|1 - Acquisti beni per rivendita" FIELD LF_PCON->DESCR
ITEM "2|2 - Acquisti beni ammortizzabili" USE LF_PCON KEY 2
ITEM "3|3 - Acquisti beni ammortizzabili con detr. 6%" INPUT DESCR 110
ITEM "4|4 - Vendita beni strumentali art. 17" DISPLAY "Descrizione@50" DESCR
ITEM "5|5 - Beni per rivendita da non ventilare" DISPLAY "Gruppo" GRUPPO
ITEM "8|8 - Altri beni strumentali acquistati in leasing" DISPLAY "Conto" CONTO
FLAGS "D" DISPLAY "Sottoconto" SOTTOCONTO
HELP "Specifica il tipo Costo/Ricavo del conto" COPY OUTPUT 109
END CHECKTYPE NORMAL
ADD RUN cg0 -0
GROUPBOX DLG_NULL 67 5 END
BEGIN
PROMPT 1 6 "Imposta" STRING 210 50
END BEGIN
PROMPT 2 8 "Cliente "
STRING 102 4 FIELD LF_CLIFO->RAGSOC
BEGIN USE LF_CLIFO KEY 2
PROMPT 2 7 "IVA " INPUT TIPOCF "C"
FLAGS "U" INPUT RAGSOC 210
USE %IVA DISPLAY "Ragione Sociale Cliente@50" RAGSOC
INPUT CODTAB 102 DISPLAY "Gruppo" GRUPPO
DISPLAY "Codice" CODTAB DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" S0 DISPLAY "Codice" CODCF
DISPLAY "%@6" R0 COPY OUTPUT 209
DISPLAY "Tipo" S1 MESSAGE COPY,110
OUTPUT 102 CODTAB ADD RUN cg0 -1
OUTPUT 211 S0 CHECKTYPE NORMAL
CHECKTYPE NORMAL END
VALIDATE REQIF_FUNC 1 101
END STRING 310 50
BEGIN
STRING 211 50 PROMPT 2 8 "Fornitore "
BEGIN FIELD LF_PCON->SOTTOCONTO
PROMPT 15 7 "" USE LF_CLIFO KEY 2
FLAGS "D" INPUT TIPOCF "F"
END INPUT RAGSOC 310
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
NUMBER 103 1 DISPLAY "Gruppo" GRUPPO
BEGIN DISPLAY "Conto" CONTO
PROMPT 2 9 "Det. " DISPLAY "Codice" CODCF
SHEET "Codice|Descrizione@53" COPY OUTPUT 309
INPUT 103 MESSAGE COPY,110
ITEM " |Regime normale" ADD RUN cg0 -1
ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti" CHECKTYPE NORMAL
ITEM "3|IVA indicata per il solo calcolo di ventilazione" END
ITEM "9|IVA non detraibile per l'articolo 19"
OUTPUT 103 LIST 105 1 53
OUTPUT 213 BEGIN
END PROMPT 2 9 "Tipo Costo/Ricavo "
ITEM " |0. Acquisti o vendite in genere"
STRING 213 53 ITEM "1|1. Acquisti beni per rivendita"
BEGIN ITEM "2|2. Acquisti beni ammortizzabili"
PROMPT 12 9 "" ITEM "3|3. Acquisti beni ammortizzabili con detr. 6%"
FLAGS "D" ITEM "4|4. Vendita beni strumentali art. 17"
END ITEM "5|5. Beni per rivendita da non ventilare"
ITEM "8|8. Altri beni strumentali acquistati in leasing"
FLAGS "D"
NUMBER 101 15 HELP "Specifica il tipo Costo/Ricavo del conto"
BEGIN END
PROMPT 2 8 "Imponibile "
FLAGS "RV" BUTTON DLG_OK 9 2
PICTURE "." BEGIN
END PROMPT -13 -1 ""
END
NUMBER 104 15
BEGIN BUTTON DLG_CANCEL 9 2
PROMPT 40 8 "Imposta " BEGIN
FLAGS "RV" PROMPT -23 -1 ""
PICTURE "." END
END
BUTTON DLG_DELREC 9 2
BUTTON DLG_OK 9 2 BEGIN
BEGIN PROMPT -33 -1 "Elimina"
PROMPT -13 -1 "" MESSAGE EXIT,K_DEL
END END
BUTTON DLG_CANCEL 9 2 ENDPAGE
BEGIN
PROMPT -23 -1 "" ENDMASK
END
BUTTON DLG_DELREC 9 2
BEGIN
PROMPT -33 -1 "Elimina"
MESSAGE EXIT,K_DEL
END
ENDPAGE
ENDMASK

View File

@ -264,8 +264,8 @@ bool CG4300_App::to_ditta_handler(TMask_field& f, KEY key)
{ {
const long sel = app().select_firm_range(from, to, freq); const long sel = app().select_firm_range(from, to, freq);
m.set(CG43_FLD_SELECTED, sel); m.set(CG43_FLD_SELECTED, sel);
m.reset(CG43_FLD_DFR); // m.reset(CG43_FLD_DFR);
m.reset(CG43_FLD_DTO); // m.reset(CG43_FLD_DTO);
} }
} }
return TRUE; return TRUE;

View File

@ -106,8 +106,8 @@ bool CG4400_application::mask_firm_to (TMask_field& f, KEY k)
if (cod >= from && cod <= to) if (cod >= from && cod <= to)
sel.set(i); sel.set(i);
} }
m.reset(DA_CODICE); // m.reset(DA_CODICE);
m.reset(A_CODICE); // m.reset(A_CODICE);
const long numd = sel.ones(); const long numd = sel.ones();
f.mask().set(F_SELECT, numd); f.mask().set(F_SELECT, numd);
} }

View File

@ -8,10 +8,12 @@
#include <config.h> #include <config.h>
#include <utility.h> #include <utility.h>
#include <urldefid.h> #include <urldefid.h>
#include <cglib.h>
#include <saldi.h> #include <saldi.h>
#include <clifo.h> #include <clifo.h>
#include <pconti.h> #include <pconti.h>
#include "cglib.h"
#include "cg5200.h" #include "cg5200.h"
//HIDDEN const char* REAL_PICTURE = "###.###.###.###"; //HIDDEN const char* REAL_PICTURE = "###.###.###.###";

View File

@ -165,12 +165,14 @@ bool TBill::read(TRectype &r)
int TBill::tipo_att() int TBill::tipo_att()
{ {
int tipo_att = 1; int tipo_att = 1;
if (_tipo == ' ') if (tipo() == ' ' && ok())
{ {
TRectype conto(LF_PCON); read(conto); TBill bill(gruppo(), conto());
TRectype conto(LF_PCON); bill.read(conto);
const TIndbil ib = (TIndbil)conto.get_int("INDBIL"); const TIndbil ib = (TIndbil)conto.get_int("INDBIL");
if (ib == ib_passivita || ib == ib_ricavi) if (ib == ib_passivita || ib == ib_ricavi)
{ {
read(conto);
const int ricser = conto.get_int("RICSER"); const int ricser = conto.get_int("RICSER");
tipo_att = (ricser == 0) ? 2 : 1; tipo_att = (ricser == 0) ? 2 : 1;
} }