Modificato pec.frm. Aggiunta la ricerca per descrizione sul piano dei
conti in sc2201.cpp; corretta la ricerca per ragione sociale su clienti e fornitori in scselect.cpp. Varie correzioni al form editor dei profili estratto conto. git-svn-id: svn://10.65.10.50/trunk@2399 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c6eb963aeb
commit
2096837511
171
sc/pec.frm
171
sc/pec.frm
@ -25,7 +25,8 @@ END
|
||||
|
||||
END
|
||||
|
||||
SECTION HEADER ODD 12
|
||||
|
||||
SECTION HEADER LAST 1
|
||||
|
||||
STRINGA 100
|
||||
BEGIN
|
||||
@ -34,6 +35,45 @@ BEGIN
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 301
|
||||
BEGIN
|
||||
KEY "Descrizione saldo partita"
|
||||
PROMPT 2 1 "*** Saldo partita"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 302
|
||||
BEGIN
|
||||
KEY "Descrizione abbuoni"
|
||||
PROMPT 2 1 "*** Abbuoni"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 303
|
||||
BEGIN
|
||||
KEY "Descrizione differenza cambi"
|
||||
PROMPT 2 1 "*** Differenza cambi"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 304
|
||||
BEGIN
|
||||
KEY "Ritenute"
|
||||
PROMPT 2 1 "*** Ritenute"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 400
|
||||
BEGIN
|
||||
KEY "Descrizione riporto"
|
||||
PROMPT 2 1 "*** Riporto"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
SECTION HEADER ODD 12
|
||||
|
||||
STRINGA 1
|
||||
BEGIN
|
||||
KEY "Spettabile/Egregio"
|
||||
@ -138,7 +178,7 @@ END
|
||||
|
||||
END
|
||||
|
||||
SECTION BODY ODD COLUMNWISE 1
|
||||
SECTION BODY ODD 1 COLUMNWISE
|
||||
|
||||
STRINGA 201
|
||||
BEGIN
|
||||
@ -150,82 +190,82 @@ END
|
||||
STRINGA 202 22 1
|
||||
BEGIN
|
||||
KEY "Descrizione"
|
||||
PROMPT 2 22 ""
|
||||
PROMPT 2 22 "<DES PART>"
|
||||
END
|
||||
|
||||
DATA 205
|
||||
BEGIN
|
||||
KEY "Data doc."
|
||||
PROMPT 2 12 ""
|
||||
PROMPT 3 12 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRINGA 206
|
||||
BEGIN
|
||||
KEY "Num.doc."
|
||||
PROMPT 2 6 ""
|
||||
PROMPT 4 6 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMERO 207
|
||||
BEGIN
|
||||
KEY "Prot."
|
||||
PROMPT 2 6 ""
|
||||
PROMPT 5 6 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMERO 208
|
||||
BEGIN
|
||||
KEY "Totale documento"
|
||||
PROMPT 2 15 ""
|
||||
PROMPT 6 15 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
DATA 209
|
||||
BEGIN
|
||||
KEY "Data"
|
||||
PROMPT 3 12 ""
|
||||
PROMPT 7 12 ""
|
||||
END
|
||||
|
||||
NUMERO 210
|
||||
BEGIN
|
||||
KEY "Dare"
|
||||
PROMPT 4 17 ""
|
||||
PROMPT 8 17 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 211
|
||||
BEGIN
|
||||
KEY "Avere"
|
||||
PROMPT 5 17 ""
|
||||
PROMPT 9 17 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 212
|
||||
BEGIN
|
||||
KEY "Scaduto"
|
||||
PROMPT 6 17 ""
|
||||
PROMPT 10 17 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 213
|
||||
BEGIN
|
||||
KEY "Esposto"
|
||||
PROMPT 7 17 ""
|
||||
PROMPT 11 17 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 215
|
||||
BEGIN
|
||||
KEY "Importi in lire"
|
||||
PROMPT 8 17 ""
|
||||
PROMPT 12 17 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 216
|
||||
BEGIN
|
||||
KEY "Cambio"
|
||||
PROMPT 9 17 ""
|
||||
PROMPT 13 17 ""
|
||||
PICTURE "###.###.###.###"
|
||||
FLAGS "H"
|
||||
END
|
||||
@ -233,48 +273,48 @@ END
|
||||
DATA 217
|
||||
BEGIN
|
||||
KEY "Data cam."
|
||||
PROMPT 10 12 ""
|
||||
PROMPT 14 12 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING 301
|
||||
BEGIN
|
||||
KEY "Descrizione saldo partita"
|
||||
PROMPT 2 1 "*** Saldo partita"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 302
|
||||
BEGIN
|
||||
KEY "Descrizione abbuoni"
|
||||
PROMPT 2 1 "*** Abbuoni"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 303
|
||||
BEGIN
|
||||
KEY "Descrizione differenza cambi"
|
||||
PROMPT 2 1 "*** Differenza cambi"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
STRING 304
|
||||
BEGIN
|
||||
KEY "Ritenute"
|
||||
PROMPT 2 1 "*** Ritenute"
|
||||
FLAGS "DH"
|
||||
END
|
||||
|
||||
|
||||
END // Fine body
|
||||
|
||||
SECTION FOOTER ODD 9
|
||||
|
||||
STRING 400
|
||||
BEGIN
|
||||
KEY "Descrizione riporto"
|
||||
PROMPT 2 1 "*** Riporto"
|
||||
FLAGS "DH"
|
||||
NUMERO 210
|
||||
BEGIN
|
||||
KEY "Dare"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 211
|
||||
BEGIN
|
||||
KEY "Avere"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 212
|
||||
BEGIN
|
||||
KEY "Scaduto"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 213
|
||||
BEGIN
|
||||
KEY "Esposto"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 215
|
||||
BEGIN
|
||||
KEY "Importi in lire"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
STRING 401
|
||||
@ -283,59 +323,24 @@ BEGIN
|
||||
PROMPT 2 1 "Saldo <VALUTA> al <DATA>"
|
||||
END
|
||||
|
||||
NUMERO 210
|
||||
BEGIN
|
||||
KEY "Dare"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
NUMERO 211
|
||||
BEGIN
|
||||
KEY "Avere"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
STRING 402
|
||||
BEGIN
|
||||
KEY "Descrizione totale scaduto"
|
||||
PROMPT 2 2 "Totale scaduto al <DATA SCADUTO>"
|
||||
END
|
||||
|
||||
NUMERO 212
|
||||
BEGIN
|
||||
KEY "Scaduto"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
STRING 403
|
||||
BEGIN
|
||||
KEY "Descrizione totale esposto"
|
||||
PROMPT 2 3 "Totale esposto"
|
||||
END
|
||||
|
||||
NUMERO 213
|
||||
BEGIN
|
||||
KEY "Esposto"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
STRING 404
|
||||
BEGIN
|
||||
KEY "Descrizione totale importi in lire"
|
||||
PROMPT 2 4 "Importi in lire della valuta <DESCRIZIONE VALUTA>"
|
||||
END
|
||||
|
||||
NUMERO 215
|
||||
BEGIN
|
||||
KEY "Importi in lire"
|
||||
PROMPT 0 1 ""
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
|
||||
END // Fine footer
|
||||
|
||||
|
||||
|
386
sc/sc2100a.uml
386
sc/sc2100a.uml
@ -1,177 +1,209 @@
|
||||
#include "scselmsk.h"
|
||||
#include "sc2100a.h"
|
||||
|
||||
PAGE "Stampa estratti conto" -1 -1 68 17
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Cod. "
|
||||
FLAGS "DFR"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 46
|
||||
BEGIN
|
||||
PROMPT 13 1 "R.S. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 68 8
|
||||
BEGIN
|
||||
PROMPT 0 7 ""
|
||||
END
|
||||
|
||||
NUMBER F_CODPROF 4
|
||||
BEGIN
|
||||
PROMPT 1 8 "Profilo "
|
||||
FLAGS "Z"
|
||||
USE LF_FORM
|
||||
INPUT TIPOPROF BASE_EC_PROFILE
|
||||
INPUT CODPROF[1,4] F_CODPROF
|
||||
INPUT CODPROF[5,5] F_LINPROF
|
||||
DISPLAY "Codice" CODPROF
|
||||
DISPLAY "Descrizione@50" DESC
|
||||
OUTPUT F_CODPROF CODPROF[1,4]
|
||||
OUTPUT F_LINPROF CODPROF[5,5]
|
||||
OUTPUT F_DESPROF DESC
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD ANTICLEAR
|
||||
WARNING "Codice profilo o lingua errato"
|
||||
END
|
||||
|
||||
STRING F_LINPROF 1
|
||||
BEGIN
|
||||
PROMPT 18 8 ""
|
||||
FLAGS "U"
|
||||
USE %LNG
|
||||
INPUT CODTAB F_LINPROF
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_LINPROF CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice profilo o lingua errato"
|
||||
END
|
||||
|
||||
STRING F_DESPROF 50 40
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
DATE F_DATALIMOP
|
||||
BEGIN
|
||||
PROMPT 1 9 "Data limite operazione "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE F_DATALIMSC
|
||||
BEGIN
|
||||
PROMPT 1 10 "Data limite scaduto "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_GIORISCH 3
|
||||
BEGIN
|
||||
PROMPT 1 11 "Giorni calcolo rischio "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_STAMPCHIU
|
||||
BEGIN
|
||||
PROMPT 1 12 "Stampa partite chiuse"
|
||||
MESSAGE FALSE DISABLE,F_DATACHIU
|
||||
MESSAGE TRUE ENABLE,F_DATACHIU
|
||||
END
|
||||
|
||||
DATE F_DATACHIU
|
||||
BEGIN
|
||||
PROMPT 25 12 "dal "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_LUOGOSEND 50 32
|
||||
BEGIN
|
||||
PROMPT 1 13 "Luogo d'invio "
|
||||
END
|
||||
|
||||
DATE F_DATASEND
|
||||
BEGIN
|
||||
PROMPT 50 13 "data "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
|
||||
RADIOBUTTON SC_CLIFO 20
|
||||
BEGIN
|
||||
PROMPT 1 2 "Selezione"
|
||||
ITEM "C|Clienti" MESSAGE ENABLE,1@
|
||||
ITEM "F|Fornitori" MESSAGE CLEAR,1@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCF 20
|
||||
BEGIN
|
||||
PROMPT 25 2 "Ordinamento"
|
||||
ITEM "1|Per codice"
|
||||
ITEM "2|Per ragione sociale"
|
||||
END
|
||||
|
||||
BUTTON SC_SELECT 10 1
|
||||
BEGIN
|
||||
PROMPT 51 3 "~Selezione"
|
||||
END
|
||||
|
||||
BUTTON SC_RESET 10 1
|
||||
BEGIN
|
||||
PROMPT 51 4 "~Azzera"
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODFR 5
|
||||
BEGIN
|
||||
PROMPT 1 6 "Da codice "
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODTO 5
|
||||
BEGIN
|
||||
PROMPT 36 6 "a codice "
|
||||
END
|
||||
|
||||
NUMBER SC_NSEL 3
|
||||
BEGIN
|
||||
PROMPT 56 6 "N. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 31 6 ""
|
||||
PICTURE 109
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 6 ""
|
||||
PICTURE 109
|
||||
END
|
||||
|
||||
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
#include "scselmsk.h"
|
||||
#include "sc2100a.h"
|
||||
|
||||
PAGE "Stampa estratti conto" -1 -1 68 18
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Cod. "
|
||||
FLAGS "DFR"
|
||||
USE LF_NDITTE
|
||||
INPUT CODDITTA F_CODDITTA
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50 46
|
||||
BEGIN
|
||||
PROMPT 13 1 "R.S. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 68 8
|
||||
BEGIN
|
||||
PROMPT 0 2 ""
|
||||
END
|
||||
|
||||
NUMBER F_CODPROF 4
|
||||
BEGIN
|
||||
PROMPT 1 3 "Profilo "
|
||||
FLAGS "Z"
|
||||
USE LF_FORM
|
||||
INPUT TIPOPROF BASE_EC_PROFILE
|
||||
INPUT CODPROF[1,4] F_CODPROF
|
||||
INPUT CODPROF[5,5] F_LINPROF
|
||||
DISPLAY "Codice" CODPROF
|
||||
DISPLAY "Descrizione@50" DESC
|
||||
OUTPUT F_CODPROF CODPROF[1,4]
|
||||
OUTPUT F_LINPROF CODPROF[5,5]
|
||||
OUTPUT F_DESPROF DESC
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD ANTICLEAR
|
||||
WARNING "Codice profilo o lingua errato"
|
||||
END
|
||||
|
||||
STRING F_LINPROF 1
|
||||
BEGIN
|
||||
PROMPT 18 3 ""
|
||||
FLAGS "U"
|
||||
USE %LNG
|
||||
INPUT CODTAB F_LINPROF
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_LINPROF CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Codice profilo o lingua errato"
|
||||
END
|
||||
|
||||
STRING F_DESPROF 50 40
|
||||
BEGIN
|
||||
PROMPT 25 3 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
DATE F_DATALIMOP
|
||||
BEGIN
|
||||
PROMPT 1 4 "Data limite operazione "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE F_DATALIMSC
|
||||
BEGIN
|
||||
PROMPT 1 5 "Data limite scaduto "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_GIORISCH 3
|
||||
BEGIN
|
||||
PROMPT 1 6 "Giorni calcolo rischio "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_STAMPCHIU
|
||||
BEGIN
|
||||
PROMPT 1 7 "Stampa partite chiuse"
|
||||
MESSAGE FALSE DISABLE,F_DATACHIU
|
||||
MESSAGE TRUE ENABLE,F_DATACHIU
|
||||
END
|
||||
|
||||
DATE F_DATACHIU
|
||||
BEGIN
|
||||
PROMPT 25 7 "dal "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_LUOGOSEND 50 32
|
||||
BEGIN
|
||||
PROMPT 1 8 "Luogo d'invio "
|
||||
END
|
||||
|
||||
DATE F_DATASEND
|
||||
BEGIN
|
||||
PROMPT 50 8 "data "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_CLIFO 20
|
||||
BEGIN
|
||||
PROMPT 0 10 "Selezione"
|
||||
ITEM "C|Clienti" MESSAGE ENABLE,1@
|
||||
ITEM "F|Fornitori" MESSAGE CLEAR,1@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCF 20
|
||||
BEGIN
|
||||
PROMPT 25 10 "Ordinamento"
|
||||
ITEM "1|Per codice" MESSAGE HIDE,2@|SHOW,3@
|
||||
ITEM "2|Per ragione sociale" MESSAGE HIDE,3@|SHOW,2@
|
||||
END
|
||||
|
||||
BUTTON SC_SELECT 10 1
|
||||
BEGIN
|
||||
PROMPT 51 11 "~Selezione"
|
||||
END
|
||||
|
||||
BUTTON SC_RESET 10 1
|
||||
BEGIN
|
||||
PROMPT 51 12 "~Azzera"
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODFR 5
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da codice "
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 31 14 ""
|
||||
PICTURE 109
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODTO 5
|
||||
BEGIN
|
||||
PROMPT 36 14 "a codice "
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING SC_CFDESFR 50 30
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da ragione sociale "
|
||||
GROUP 2
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_CFDESBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 2
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING SC_CFDESTO 50 30
|
||||
BEGIN
|
||||
PROMPT 1 15 "A ragione sociale "
|
||||
GROUP 2
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_CFDESBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 15 ""
|
||||
PICTURE 109
|
||||
GROUP 2
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER SC_NSEL 3
|
||||
BEGIN
|
||||
PROMPT 56 14 "N. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
306
sc/sc2200a.uml
306
sc/sc2200a.uml
@ -1,6 +1,6 @@
|
||||
#include "sc2200.h"
|
||||
|
||||
PAGE "Stampa Scadenziario" -1 -1 68 17
|
||||
PAGE "Stampa Scadenziario" -1 -1 68 18
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
@ -18,125 +18,14 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON SC_SELECT 10 1
|
||||
BEGIN
|
||||
PROMPT 51 3 "~Selezione"
|
||||
END
|
||||
|
||||
BUTTON SC_RESET 10 1
|
||||
BEGIN
|
||||
PROMPT 51 4 "~Azzera"
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_CLIFO 20
|
||||
BEGIN
|
||||
PROMPT 1 2 "Selezione"
|
||||
ITEM "C|Clienti" MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "F|Fornitori" MESSAGE HIDE,2@|SHOW,1@
|
||||
ITEM "P|Conti" MESSAGE HIDE,1@|SHOW,2@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCF 20
|
||||
BEGIN
|
||||
GROUP 1
|
||||
PROMPT 25 2 "Ordinamento"
|
||||
ITEM "1|Per codice"
|
||||
ITEM "2|Per ragione sociale"
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCFPCON 20
|
||||
BEGIN
|
||||
GROUP 2
|
||||
PROMPT 25 2 "Ordinamento"
|
||||
ITEM "1|Per conto"
|
||||
ITEM "2|Per descrizione"
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODFR 5
|
||||
BEGIN
|
||||
PROMPT 1 7 "Da codice "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODTO 5
|
||||
BEGIN
|
||||
PROMPT 36 7 "a codice "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR1 3
|
||||
BEGIN
|
||||
PROMPT 1 7 "Da conto "
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR2 3
|
||||
BEGIN
|
||||
PROMPT 16 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR3 6
|
||||
BEGIN
|
||||
PROMPT 20 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO1 3
|
||||
BEGIN
|
||||
PROMPT 31 7 "a conto "
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO2 3
|
||||
BEGIN
|
||||
PROMPT 43 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO3 6
|
||||
BEGIN
|
||||
PROMPT 47 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_NSEL 3
|
||||
GROUPBOX DLG_NULL 68 7
|
||||
BEGIN
|
||||
PROMPT 60 7 "N. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 31 7 ""
|
||||
PICTURE 109
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 7 ""
|
||||
PICTURE 109
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 26 7 ""
|
||||
PICTURE 109
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 53 7 ""
|
||||
PICTURE 109
|
||||
GROUP 2
|
||||
PROMPT 0 2 ""
|
||||
END
|
||||
|
||||
DATE F_DATASTAMPA
|
||||
BEGIN
|
||||
PROMPT 1 9 "Data di stampa "
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
HELP "Data di stampa dello scadenziario"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Si deve specificare la data di stampa dello scadenziario"
|
||||
@ -145,7 +34,7 @@ END
|
||||
|
||||
DATE F_DATASCADENZAI
|
||||
BEGIN
|
||||
PROMPT 1 10 "Data di scadenza dal "
|
||||
PROMPT 1 4 "Data di scadenza dal "
|
||||
HELP "Data di inizio scadenza"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Data di inizio scadenza non valida"
|
||||
@ -154,7 +43,7 @@ END
|
||||
|
||||
DATE F_DATASCADENZAF
|
||||
BEGIN
|
||||
PROMPT 39 10 "al "
|
||||
PROMPT 39 4 "al "
|
||||
HELP "Data di fine scadenza"
|
||||
CHECKTYPE REQUIRED
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATASCADENZAI
|
||||
@ -163,27 +52,198 @@ END
|
||||
|
||||
BOOLEAN F_RATESALDATE
|
||||
BEGIN
|
||||
PROMPT 1 11 "Stampa rate saldate"
|
||||
PROMPT 1 5 "Stampa rate saldate"
|
||||
HELP "Include le rate saldate nella stampa"
|
||||
END
|
||||
|
||||
BOOLEAN F_ORDDATA
|
||||
BEGIN
|
||||
PROMPT 1 12 "Ordina per data"
|
||||
PROMPT 1 6 "Ordina per data"
|
||||
HELP "Selezionare se l'ordinamento primario deve essere secondo la data"
|
||||
END
|
||||
|
||||
BOOLEAN F_VALUTA
|
||||
BEGIN
|
||||
PROMPT 1 13 "Stampa in valuta"
|
||||
PROMPT 1 7 "Stampa in valuta"
|
||||
HELP "Selezionare se si vuole la stampa in valuta"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 68 7
|
||||
BEGIN
|
||||
PROMPT 0 8 ""
|
||||
RADIOBUTTON SC_CLIFO 20
|
||||
BEGIN
|
||||
PROMPT 0 9 "Selezione"
|
||||
ITEM "C|Clienti" MESSAGE HIDE,2@|HIDE,5@|HIDE,6@|SHOW,1@|RESET,SC_SORTCF|SHOW,3@|HIDE,4@
|
||||
ITEM "F|Fornitori" MESSAGE HIDE,2@|HIDE,5@|HIDE,6@|SHOW,1@|RESET,SC_SORTCF|SHOW,3@|HIDE,4@
|
||||
ITEM "P|Conti" MESSAGE HIDE,1@|HIDE,3@|HIDE,4@|SHOW,2@|RESET,SC_SORTCFPCON|SHOW,5@|HIDE,6@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCF 20
|
||||
BEGIN
|
||||
GROUP 1
|
||||
PROMPT 25 9 "Ordinamento"
|
||||
ITEM "1|Per codice" MESSAGE HIDE,4@|SHOW,3@
|
||||
ITEM "2|Per ragione sociale" MESSAGE HIDE,3@|SHOW,4@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCFPCON 20
|
||||
BEGIN
|
||||
GROUP 2
|
||||
PROMPT 25 9 "Ordinamento"
|
||||
ITEM "1|Per conto" MESSAGE HIDE,6@|SHOW,5@
|
||||
ITEM "2|Per descrizione" MESSAGE HIDE,5@|SHOW,6@
|
||||
END
|
||||
|
||||
BUTTON SC_SELECT 10 1
|
||||
BEGIN
|
||||
PROMPT 51 10 "~Selezione"
|
||||
END
|
||||
|
||||
BUTTON SC_RESET 10 1
|
||||
BEGIN
|
||||
PROMPT 51 11 "~Azzera"
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODFR 5
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da codice "
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 31 14 ""
|
||||
PICTURE 109
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODTO 5
|
||||
BEGIN
|
||||
PROMPT 36 14 "a codice "
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING SC_CFDESFR 50 30
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da ragione sociale "
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_CFDESBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING SC_CFDESTO 50 30
|
||||
BEGIN
|
||||
PROMPT 1 15 "A ragione sociale "
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_CFDESBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 15 ""
|
||||
PICTURE 109
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR1 3
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da conto "
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR2 3
|
||||
BEGIN
|
||||
PROMPT 16 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR3 6
|
||||
BEGIN
|
||||
PROMPT 20 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 26 14 ""
|
||||
PICTURE 109
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO1 3
|
||||
BEGIN
|
||||
PROMPT 31 14 "a conto "
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO2 3
|
||||
BEGIN
|
||||
PROMPT 43 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO3 6
|
||||
BEGIN
|
||||
PROMPT 47 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 53 14 ""
|
||||
PICTURE 109
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
STRING SC_PCONDESFR 50 30
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da descrizione "
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_PCONDESBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING SC_PCONDESTO 50 30
|
||||
BEGIN
|
||||
PROMPT 1 15 "A descrizione "
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_PCONDESBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 15 ""
|
||||
PICTURE 109
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER SC_NSEL 3
|
||||
BEGIN
|
||||
PROMPT 60 14 "N. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
|
294
sc/sc2201.cpp
294
sc/sc2201.cpp
@ -35,6 +35,10 @@ TSelection_ext_mask::TSelection_ext_mask(const char* name) : TSelection_mask(nam
|
||||
set_handler(SC_RESET, bresetpcon_handler); // Redefined handler...
|
||||
set_handler(SC_PCONCODFR3, ffrompcon_handler); // New handler...
|
||||
set_handler(SC_PCONCODTO3, ftopcon_handler); // New handler...
|
||||
set_handler(SC_PCONDESBUTFR, bdfrompcon_handler); // New handler...
|
||||
set_handler(SC_PCONDESBUTTO, bdtopcon_handler); // New handler...
|
||||
set_handler(SC_PCONDESFR, fdfrompcon_handler); // New handler...
|
||||
set_handler(SC_PCONDESTO, fdtopcon_handler); // New handler...
|
||||
}
|
||||
|
||||
TSelection_ext_mask::~TSelection_ext_mask()
|
||||
@ -69,27 +73,47 @@ void TSelection_ext_mask::reset_sheets()
|
||||
reset(SC_PCONCODTO1);
|
||||
reset(SC_PCONCODTO2);
|
||||
reset(SC_PCONCODTO3);
|
||||
reset(SC_PCONDESFR);
|
||||
reset(SC_PCONDESTO);
|
||||
}
|
||||
|
||||
void TSelection_ext_mask::select_pcon_range(TString& desfr, TString& desto)
|
||||
void TSelection_ext_mask::select_des_pcon_range(const TString& from, const TString& to)
|
||||
{
|
||||
TCursor_sheet& c = cur_sheet();
|
||||
const long items = c.items();
|
||||
const int key = get_key();
|
||||
const int key = get_key();
|
||||
CHECK(key == 2, "La chiave deve essere la 2");
|
||||
TString s_from(from), s_to(to);
|
||||
|
||||
if (s_to.empty() && items)
|
||||
s_to = c.row(items-1).get(1);
|
||||
s_from.upper();
|
||||
s_to.upper();
|
||||
|
||||
if (s_from > s_to) // Controlla limiti
|
||||
{
|
||||
s_to = from;
|
||||
s_from = to;
|
||||
set(SC_PCONDESFR, to);
|
||||
set(SC_PCONDESTO, from);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (to.not_empty()) s_to = to;
|
||||
s_from = from;
|
||||
}
|
||||
|
||||
TString last;
|
||||
TString firs;
|
||||
|
||||
TCursor* crs = c.cursor();
|
||||
TRectype& rec = crs->file().curr();
|
||||
rec.zero();
|
||||
rec.put(PCN_DESCR,desfr);
|
||||
|
||||
rec.put(PCN_DESCR,s_from);
|
||||
const TRecnotype start = crs->read(_isgteq);
|
||||
int grf = rec.get_int(PCN_GRUPPO);
|
||||
int cof = rec.get_int(PCN_CONTO);
|
||||
long sof = rec.get_long(PCN_SOTTOCONTO);
|
||||
int grt, cot;
|
||||
long sot;
|
||||
firs = rec.get(PCN_DESCR);
|
||||
rec.zero();
|
||||
rec.put(PCN_DESCR,desto);
|
||||
rec.put(PCN_DESCR,s_to);
|
||||
TRectype recx(rec);
|
||||
TRecnotype end = crs->read(_isgteq);
|
||||
if (rec != recx)
|
||||
@ -97,19 +121,55 @@ void TSelection_ext_mask::select_pcon_range(TString& desfr, TString& desto)
|
||||
end--;
|
||||
(*crs)-=1;
|
||||
}
|
||||
grt = rec.get_int(PCN_GRUPPO);
|
||||
cot = rec.get_int(PCN_CONTO);
|
||||
sot = rec.get_long(PCN_SOTTOCONTO);
|
||||
last = rec.get(PCN_DESCR);
|
||||
c.uncheck(-1);
|
||||
for (long i = start; i <= end; i++)
|
||||
//if (!c.checked(i))
|
||||
c.check(i);
|
||||
set(SC_PCONCODFR1, grf);
|
||||
set(SC_PCONCODFR2, cof);
|
||||
set(SC_PCONCODFR3, sof);
|
||||
set(SC_PCONCODTO1, grt);
|
||||
set(SC_PCONCODTO2, cot);
|
||||
set(SC_PCONCODTO3, sot);
|
||||
if (get(SC_PCONDESFR).not_empty())
|
||||
set(SC_PCONDESFR, firs);
|
||||
if (get(SC_PCONDESTO).not_empty())
|
||||
set(SC_PCONDESTO, last);
|
||||
set(SC_NSEL, c.checked());
|
||||
}
|
||||
|
||||
void TSelection_ext_mask::set_des_pcon_limits()
|
||||
{
|
||||
long first=-1, last=-1;
|
||||
TString from,to;
|
||||
TCursor_sheet& c = cur_sheet();
|
||||
const long items = c.items();
|
||||
const int key = get_key();
|
||||
CHECK(key == 2, "La chiave deve essere la 2");
|
||||
|
||||
for (long i = 0; i < items; i++)
|
||||
if (c.checked(i))
|
||||
{
|
||||
if (first == -1)
|
||||
first = i;
|
||||
}
|
||||
if (first != -1)
|
||||
for (long j = (items-1); j >= 0 ; j--)
|
||||
if (c.checked(j))
|
||||
if (last == -1)
|
||||
{
|
||||
last = j;
|
||||
break;
|
||||
}
|
||||
if (first!= -1 && last != -1)
|
||||
{
|
||||
TToken_string fitem(c.row(first));
|
||||
TToken_string litem(c.row(last));
|
||||
from = fitem.get(1);
|
||||
to = litem.get(1);
|
||||
if (from>to)
|
||||
{
|
||||
TString temp(to);
|
||||
to=from;
|
||||
from=temp;
|
||||
}
|
||||
}
|
||||
set(SC_PCONDESFR, from);
|
||||
set(SC_PCONDESTO, to);
|
||||
set(SC_NSEL, c.checked());
|
||||
}
|
||||
|
||||
@ -118,9 +178,22 @@ void TSelection_ext_mask::select_pcon_range(int grf, int cof,long sof,int grt,in
|
||||
TCursor_sheet& c = cur_sheet();
|
||||
const long items = c.items();
|
||||
const int key = get_key();
|
||||
TString desfr,desto;
|
||||
|
||||
TCursor* crs = c.cursor();
|
||||
if (grt==0 && cot==0 && sot==0 && items)
|
||||
{
|
||||
TToken_string& t = c.row(items-1);
|
||||
grt = t.get_int(key);
|
||||
cot = t.get_int(key+1);
|
||||
sot = t.get_long(key+2);
|
||||
}
|
||||
if (grf > grt || (grf==grt && cof > cot) || (grf==grt && cof==cot && sof>sot))
|
||||
{ // Swap them...
|
||||
int t1 = grf,t2 = cof;long t3 = sof;
|
||||
grf=grt;cof=cot;sof=sot;
|
||||
grt=t1;cot=t2;sot=t3;
|
||||
}
|
||||
|
||||
TRectype& rec = crs->file().curr();
|
||||
rec.zero();
|
||||
rec.put(PCN_GRUPPO,grf);
|
||||
@ -132,13 +205,6 @@ void TSelection_ext_mask::select_pcon_range(int grf, int cof,long sof,int grt,in
|
||||
cof = rec.get_int(PCN_CONTO);
|
||||
sof = rec.get_long(PCN_SOTTOCONTO);
|
||||
rec.zero();
|
||||
if (grt==0 && cot==0 && sot==0)
|
||||
{
|
||||
TToken_string& t = c.row(items-1);
|
||||
grt = t.get_int(key);
|
||||
cot = t.get_int(key+1);
|
||||
sot = t.get_long(key+2);
|
||||
}
|
||||
rec.put(PCN_GRUPPO,grt);
|
||||
rec.put(PCN_CONTO,cot);
|
||||
rec.put(PCN_SOTTOCONTO,sot);
|
||||
@ -154,7 +220,6 @@ void TSelection_ext_mask::select_pcon_range(int grf, int cof,long sof,int grt,in
|
||||
sot = rec.get_long(PCN_SOTTOCONTO);
|
||||
c.uncheck(-1);
|
||||
for (long i = start; i <= end; i++)
|
||||
//if (!c.checked(i))
|
||||
c.check(i);
|
||||
set(SC_PCONCODFR1, grf);
|
||||
set(SC_PCONCODFR2, cof);
|
||||
@ -174,7 +239,6 @@ void TSelection_ext_mask::set_pcon_limits()
|
||||
const long items = c.items();
|
||||
const int key = get_key();
|
||||
long first = -1, last = -1;
|
||||
long nsel = 0L;
|
||||
|
||||
// Ricerca veloce di estremi (vale solo su GR/CO/SO)
|
||||
for (long i = 0; i < items; i++)
|
||||
@ -182,7 +246,6 @@ void TSelection_ext_mask::set_pcon_limits()
|
||||
{
|
||||
if (first == -1)
|
||||
first = i;
|
||||
nsel ++;
|
||||
}
|
||||
if (first != -1) //Optimization... If nothing was found previously skip this test.
|
||||
for (long j = (items-1); j >= 0 ; j--)
|
||||
@ -215,7 +278,7 @@ void TSelection_ext_mask::set_pcon_limits()
|
||||
set(SC_PCONCODTO1, gl);
|
||||
set(SC_PCONCODTO2, cl);
|
||||
set(SC_PCONCODTO3, sl);
|
||||
set(SC_NSEL, nsel);
|
||||
set(SC_NSEL, c.checked());
|
||||
}
|
||||
|
||||
bool TSelection_ext_mask::bfrompcon_handler(TMask_field& f, KEY k)
|
||||
@ -240,19 +303,7 @@ bool TSelection_ext_mask::bfrompcon_handler(TMask_field& f, KEY k)
|
||||
m.set(SC_PCONCODFR1, grf);
|
||||
m.set(SC_PCONCODFR2, cof);
|
||||
m.set(SC_PCONCODFR3, sof);
|
||||
if (m.get_key() == 2)
|
||||
{
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
pcon.zero();
|
||||
pcon.put(PCN_GRUPPO,grf);
|
||||
pcon.put(PCN_CONTO,cof);
|
||||
pcon.put(PCN_SOTTOCONTO,sof);
|
||||
pcon.read();
|
||||
TString d1(t.get(1)),d2(pcon.get(PCN_DESCR));
|
||||
m.select_pcon_range(d1,d2);
|
||||
}
|
||||
else
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
@ -280,19 +331,7 @@ bool TSelection_ext_mask::btopcon_handler(TMask_field& f, KEY k)
|
||||
m.set(SC_PCONCODTO1, grt);
|
||||
m.set(SC_PCONCODTO2, cot);
|
||||
m.set(SC_PCONCODTO3, sot);
|
||||
if (m.get_key() == 2)
|
||||
{
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
pcon.zero();
|
||||
pcon.put(PCN_GRUPPO,grf);
|
||||
pcon.put(PCN_CONTO,cof);
|
||||
pcon.put(PCN_SOTTOCONTO,sof);
|
||||
pcon.read();
|
||||
TString d1(pcon.get(PCN_DESCR)),d2(t.get(1));
|
||||
m.select_pcon_range(d1,d2);
|
||||
}
|
||||
else
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
@ -312,25 +351,7 @@ bool TSelection_ext_mask::ffrompcon_handler(TMask_field& f, KEY k)
|
||||
grt = m.get_int(SC_PCONCODTO1);
|
||||
cot = m.get_int(SC_PCONCODTO2);
|
||||
sot = m.get_long(SC_PCONCODTO3);
|
||||
if (m.get_key() == 2)
|
||||
{
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
TString dfr,dto;
|
||||
pcon.zero();
|
||||
pcon.put(PCN_GRUPPO,grf);
|
||||
pcon.put(PCN_CONTO,cof);
|
||||
pcon.put(PCN_SOTTOCONTO,sof);
|
||||
pcon.read();
|
||||
dfr = pcon.get(PCN_DESCR);
|
||||
pcon.put(PCN_GRUPPO,grf);
|
||||
pcon.put(PCN_CONTO,cof);
|
||||
pcon.put(PCN_SOTTOCONTO,sof);
|
||||
pcon.read();
|
||||
dto = pcon.get(PCN_DESCR);
|
||||
m.select_pcon_range(dfr,dto);
|
||||
}
|
||||
else
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
}
|
||||
else
|
||||
if (k == K_F9)
|
||||
@ -356,25 +377,7 @@ bool TSelection_ext_mask::ftopcon_handler(TMask_field& f, KEY k)
|
||||
grt = m.get_int(SC_PCONCODTO1);
|
||||
cot = m.get_int(SC_PCONCODTO2);
|
||||
sot = m.get_long(SC_PCONCODTO3);
|
||||
if (m.get_key() == 2)
|
||||
{
|
||||
TLocalisamfile pcon(LF_PCON);
|
||||
TString dfr,dto;
|
||||
pcon.zero();
|
||||
pcon.put(PCN_GRUPPO,grf);
|
||||
pcon.put(PCN_CONTO,cof);
|
||||
pcon.put(PCN_SOTTOCONTO,sof);
|
||||
pcon.read();
|
||||
dfr = pcon.get(PCN_DESCR);
|
||||
pcon.put(PCN_GRUPPO,grf);
|
||||
pcon.put(PCN_CONTO,cof);
|
||||
pcon.put(PCN_SOTTOCONTO,sof);
|
||||
pcon.read();
|
||||
dto = pcon.get(PCN_DESCR);
|
||||
m.select_pcon_range(dfr,dto);
|
||||
}
|
||||
else
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||
}
|
||||
else
|
||||
if (k == K_F9)
|
||||
@ -385,6 +388,85 @@ bool TSelection_ext_mask::ftopcon_handler(TMask_field& f, KEY k)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TSelection_ext_mask::bdfrompcon_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
TSelection_ext_mask& m = (TSelection_ext_mask&)f.mask();
|
||||
TCursor_sheet& c = m.cur_sheet();
|
||||
|
||||
c.disable_check();
|
||||
if (c.run() == K_ENTER)
|
||||
{
|
||||
TToken_string& t = c.row(c.selected());
|
||||
const TString des1(t.get(3 - m.get_key()));
|
||||
const TString des2 = m.get(SC_PCONDESTO);
|
||||
m.set(SC_PCONDESFR, des1);
|
||||
m.select_des_pcon_range(des1, des2);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TSelection_ext_mask::bdtopcon_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
TSelection_ext_mask& m = (TSelection_ext_mask&)f.mask();
|
||||
TCursor_sheet& c = m.cur_sheet();
|
||||
|
||||
c.disable_check();
|
||||
if (c.run() == K_ENTER)
|
||||
{
|
||||
TToken_string& t = c.row(c.selected());
|
||||
const TString des1(m.get(SC_PCONDESFR));
|
||||
const TString des2(t.get(3 - m.get_key()));
|
||||
m.set(SC_PCONDESTO, des2);
|
||||
m.select_des_pcon_range(des1, des2);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TSelection_ext_mask::fdfrompcon_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TSelection_ext_mask& m = (TSelection_ext_mask&)f.mask();
|
||||
|
||||
if (k == K_TAB && f.focusdirty())
|
||||
{
|
||||
const TString des1(f.get());
|
||||
const TString des2(m.get(SC_PCONDESTO));
|
||||
m.select_des_pcon_range(des1, des2);
|
||||
}
|
||||
else
|
||||
if (k == K_F9)
|
||||
{
|
||||
TMask_field& f = m.field(SC_PCONDESBUTFR);
|
||||
f.on_hit();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TSelection_ext_mask::fdtopcon_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TSelection_ext_mask& m = (TSelection_ext_mask&)f.mask();
|
||||
|
||||
if (k == K_TAB && f.focusdirty())
|
||||
{
|
||||
const TString des2(f.get());
|
||||
const TString des1(m.get(SC_PCONDESFR));
|
||||
m.select_des_pcon_range(des1, des2);
|
||||
}
|
||||
else
|
||||
if (k == K_F9)
|
||||
{
|
||||
TMask_field& f = m.field(SC_PCONDESBUTTO);
|
||||
f.on_hit();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TSelection_ext_mask::bresetpcon_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_SPACE)
|
||||
@ -403,10 +485,18 @@ bool TSelection_ext_mask::bselectpcon_handler(TMask_field& f, KEY k)
|
||||
TCursor_sheet& c = m.cur_sheet();
|
||||
c.enable_check();
|
||||
c.run();
|
||||
if (m.get_who() =='P')
|
||||
m.set_pcon_limits();
|
||||
char who = m.get_who();
|
||||
int key = m.get_key();
|
||||
if (who =='P')
|
||||
if (key == 2)
|
||||
m.set_des_pcon_limits();
|
||||
else
|
||||
m.set_pcon_limits();
|
||||
else
|
||||
m.set_clifo_limits();
|
||||
if (key == 2)
|
||||
m.set_des_clifo_limits();
|
||||
else
|
||||
m.set_clifo_limits();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -417,9 +507,11 @@ bool TSelection_ext_mask::rpcon_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TSelection_ext_mask& m = (TSelection_ext_mask&)f.mask();
|
||||
char who = f.get()[0];
|
||||
m.set_who(who);
|
||||
if (who == 'P')
|
||||
if (who != m.get_who())
|
||||
{
|
||||
m.set_key(1);
|
||||
m.set_who(who);
|
||||
}
|
||||
m.reset_sheets();
|
||||
}
|
||||
return TRUE;
|
||||
|
@ -16,8 +16,9 @@ class TSelection_ext_mask : public TSelection_mask
|
||||
|
||||
protected:
|
||||
void select_pcon_range(int grf, int cof,long sof,int grt,int cot, long sot);
|
||||
void select_pcon_range(TString& desfr, TString& desto);
|
||||
void select_des_pcon_range(const TString& from, const TString& to);
|
||||
void set_pcon_limits();
|
||||
void set_des_pcon_limits();
|
||||
|
||||
virtual void reset_sheets();
|
||||
static bool bfrompcon_handler(TMask_field& f, KEY k);
|
||||
@ -28,6 +29,10 @@ protected:
|
||||
static bool bselectpcon_handler(TMask_field& f, KEY k);
|
||||
static bool rpcon_handler(TMask_field& f, KEY k);
|
||||
static bool rsortpcon_handler(TMask_field& f, KEY k);
|
||||
static bool bdfrompcon_handler(TMask_field& f, KEY k);
|
||||
static bool bdtopcon_handler(TMask_field& f, KEY k);
|
||||
static bool fdfrompcon_handler(TMask_field& f, KEY k);
|
||||
static bool fdtopcon_handler(TMask_field& f, KEY k);
|
||||
|
||||
public:
|
||||
virtual TCursor_sheet& cur_sheet();
|
||||
|
304
sc/sc2300a.uml
304
sc/sc2300a.uml
@ -1,6 +1,6 @@
|
||||
#include "sc2300.h"
|
||||
|
||||
PAGE "Stampa Scaduto" -1 -1 68 16
|
||||
PAGE "Stampa Scaduto" -1 -1 68 18
|
||||
|
||||
NUMBER F_CODDITTA 5
|
||||
BEGIN
|
||||
@ -18,125 +18,14 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON SC_SELECT 10 1
|
||||
BEGIN
|
||||
PROMPT 51 3 "~Selezione"
|
||||
END
|
||||
|
||||
BUTTON SC_RESET 10 1
|
||||
BEGIN
|
||||
PROMPT 51 4 "~Azzera"
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_CLIFO 20
|
||||
BEGIN
|
||||
PROMPT 1 2 "Selezione"
|
||||
ITEM "C|Clienti" MESSAGE ENABLE, F_GIORNI|HIDE,2@|SHOW,1@
|
||||
ITEM "F|Fornitori" MESSAGE DISABLE, F_GIORNI|HIDE,2@|SHOW,1@
|
||||
ITEM "P|Conti" MESSAGE DISABLE, F_GIORNI|HIDE,1@|SHOW,2@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCF 20
|
||||
GROUPBOX DLG_NULL 68 7
|
||||
BEGIN
|
||||
GROUP 1
|
||||
PROMPT 25 2 "Ordinamento"
|
||||
ITEM "1|Per codice"
|
||||
ITEM "2|Per ragione sociale"
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCFPCON 20
|
||||
BEGIN
|
||||
GROUP 2
|
||||
PROMPT 25 2 "Ordinamento"
|
||||
ITEM "1|Per conto"
|
||||
ITEM "2|Per descrizione"
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODFR 5
|
||||
BEGIN
|
||||
PROMPT 1 7 "Da codice "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODTO 5
|
||||
BEGIN
|
||||
PROMPT 36 7 "a codice "
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR1 3
|
||||
BEGIN
|
||||
PROMPT 1 7 "Da conto "
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR2 3
|
||||
BEGIN
|
||||
PROMPT 16 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR3 6
|
||||
BEGIN
|
||||
PROMPT 20 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO1 3
|
||||
BEGIN
|
||||
PROMPT 31 7 "a conto "
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO2 3
|
||||
BEGIN
|
||||
PROMPT 43 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO3 6
|
||||
BEGIN
|
||||
PROMPT 47 7 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER SC_NSEL 3
|
||||
BEGIN
|
||||
PROMPT 60 7 "N. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 31 7 ""
|
||||
PICTURE 109
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 7 ""
|
||||
PICTURE 109
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 26 7 ""
|
||||
PICTURE 109
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 53 7 ""
|
||||
PICTURE 109
|
||||
GROUP 2
|
||||
PROMPT 0 2 ""
|
||||
END
|
||||
|
||||
DATE F_DATASTAMPA
|
||||
BEGIN
|
||||
PROMPT 1 9 "Data di stampa "
|
||||
PROMPT 1 3 "Data di stampa "
|
||||
HELP "Data di stampa"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Si deve specificare la data di stampa"
|
||||
@ -145,7 +34,7 @@ END
|
||||
|
||||
DATE F_DATAOPERAZIONE
|
||||
BEGIN
|
||||
PROMPT 1 10 "Data limite operazione "
|
||||
PROMPT 1 4 "Data limite operazione "
|
||||
HELP "Data limite operazione"
|
||||
CHECKTYPE REQUIRED
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATASCADUTO
|
||||
@ -155,7 +44,7 @@ END
|
||||
|
||||
DATE F_DATASCADUTO
|
||||
BEGIN
|
||||
PROMPT 1 11 "Data limite scaduto "
|
||||
PROMPT 1 5 "Data limite scaduto "
|
||||
HELP "Data limite scaduto"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Data limite scaduto non valida"
|
||||
@ -163,21 +52,192 @@ END
|
||||
|
||||
NUMBER F_GIORNI 3
|
||||
BEGIN
|
||||
PROMPT 1 12 "Giorni per calcolo rischio "
|
||||
PROMPT 1 6 "Giorni per calcolo rischio "
|
||||
HELP "Inserire il numero di giorni per il calcolo del rischio"
|
||||
END
|
||||
|
||||
BOOLEAN F_VALUTA
|
||||
BEGIN
|
||||
PROMPT 1 13 "Stampa in valuta"
|
||||
PROMPT 1 7 "Stampa in valuta"
|
||||
HELP "Selezionare se si vuole la stampa in valuta"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 68 7
|
||||
BEGIN
|
||||
PROMPT 0 8 ""
|
||||
RADIOBUTTON SC_CLIFO 20
|
||||
BEGIN
|
||||
PROMPT 0 9 "Selezione"
|
||||
ITEM "C|Clienti" MESSAGE ENABLE, F_GIORNI|HIDE,2@|HIDE,5@|HIDE,6@|SHOW,1@|RESET,SC_SORTCF|SHOW,3@|HIDE,4@
|
||||
ITEM "F|Fornitori" MESSAGE DISABLE, F_GIORNI|HIDE,2@|HIDE,5@|HIDE,6@|SHOW,1@|RESET,SC_SORTCF|SHOW,3@|HIDE,4@
|
||||
ITEM "P|Conti" MESSAGE DISABLE, F_GIORNI|HIDE,1@|HIDE,3@|HIDE,4@|SHOW,2@|RESET,SC_SORTCFPCON|SHOW,5@|HIDE,6@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCF 20
|
||||
BEGIN
|
||||
GROUP 1
|
||||
PROMPT 25 9 "Ordinamento"
|
||||
ITEM "1|Per codice" MESSAGE HIDE,4@|SHOW,3@
|
||||
ITEM "2|Per ragione sociale" MESSAGE HIDE,3@|SHOW,4@
|
||||
END
|
||||
|
||||
RADIOBUTTON SC_SORTCFPCON 20
|
||||
BEGIN
|
||||
GROUP 2
|
||||
PROMPT 25 9 "Ordinamento"
|
||||
ITEM "1|Per conto" MESSAGE HIDE,6@|SHOW,5@
|
||||
ITEM "2|Per descrizione" MESSAGE HIDE,5@|SHOW,6@
|
||||
END
|
||||
|
||||
BUTTON SC_SELECT 10 1
|
||||
BEGIN
|
||||
PROMPT 51 10 "~Selezione"
|
||||
END
|
||||
|
||||
BUTTON SC_RESET 10 1
|
||||
BEGIN
|
||||
PROMPT 51 11 "~Azzera"
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODFR 5
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da codice "
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 31 14 ""
|
||||
PICTURE 109
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
NUMBER SC_CFCODTO 5
|
||||
BEGIN
|
||||
PROMPT 36 14 "a codice "
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
BUTTON SC_CFBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING SC_CFDESFR 50 30
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da ragione sociale "
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_CFDESBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING SC_CFDESTO 50 30
|
||||
BEGIN
|
||||
PROMPT 1 15 "A ragione sociale "
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_CFDESBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 15 ""
|
||||
PICTURE 109
|
||||
GROUP 4
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR1 3
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da conto "
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR2 3
|
||||
BEGIN
|
||||
PROMPT 16 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODFR3 6
|
||||
BEGIN
|
||||
PROMPT 20 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 26 14 ""
|
||||
PICTURE 109
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO1 3
|
||||
BEGIN
|
||||
PROMPT 31 14 "a conto "
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO2 3
|
||||
BEGIN
|
||||
PROMPT 43 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
NUMBER SC_PCONCODTO3 6
|
||||
BEGIN
|
||||
PROMPT 47 14 ""
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
BUTTON SC_PCONBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 53 14 ""
|
||||
PICTURE 109
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
STRING SC_PCONDESFR 50 30
|
||||
BEGIN
|
||||
PROMPT 1 14 "Da descrizione "
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_PCONDESBUTFR 2 1
|
||||
BEGIN
|
||||
PROMPT 51 14 ""
|
||||
PICTURE 109
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING SC_PCONDESTO 50 30
|
||||
BEGIN
|
||||
PROMPT 1 15 "A descrizione "
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
BUTTON SC_PCONDESBUTTO 2 1
|
||||
BEGIN
|
||||
PROMPT 51 15 ""
|
||||
PICTURE 109
|
||||
GROUP 6
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER SC_NSEL 3
|
||||
BEGIN
|
||||
PROMPT 60 14 "N. "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_PRINT 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
|
158
sc/sc3100.cpp
158
sc/sc3100.cpp
@ -32,11 +32,16 @@ class TForm_EC_editor : public TForm_editor
|
||||
protected:
|
||||
static bool cpy_handler(TMask_field& f, KEY k);
|
||||
static bool font_handler(TMask_field& f, KEY k);
|
||||
static bool code_handler(TMask_field& f, KEY k);
|
||||
static bool lng_handler(TMask_field& f, KEY k);
|
||||
static bool ccodes_handler(TMask_field& f, KEY k);
|
||||
static bool clngs_handler(TMask_field& f, KEY k);
|
||||
void load_fonts();
|
||||
void change_pos(char sc, pagetype pt);
|
||||
bool recalculate_positions(const char* name, int size);
|
||||
void hook_footer_to_body(TPrint_section* f, TPrint_section* b);
|
||||
void unhook_footer(TPrint_section* f);
|
||||
void remove_form(TLocalisamfile& frm, TLocalisamfile& rfr,const TString& t,const TString& c);
|
||||
virtual const char* selection_mask() const { return "sc3100a"; }
|
||||
virtual bool ask_profile();
|
||||
virtual bool edit(char s, pagetype p);
|
||||
@ -65,13 +70,53 @@ BOOLEAN XVT_CALLCONV1 wprms (long data)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool TForm_EC_editor::ccodes_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (f.dirty() && m.get(F_CBASE).empty())
|
||||
m.set(F_CBASE,BASE_EC_PROFILE);
|
||||
if (k==K_TAB)
|
||||
{
|
||||
TString base(m.get(F_CBASE));
|
||||
TString code(f.get());
|
||||
code << m.get(F_CCODELS);
|
||||
TLocalisamfile frm(LF_FORM);
|
||||
frm.zero();
|
||||
frm.put("TIPOPROF",base);
|
||||
frm.put("CODPROF",code);
|
||||
if (frm.read(_isequal)== NOERR)
|
||||
m.set(F_CDESCS,frm.get("DESC"));
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TForm_EC_editor::clngs_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key==K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
TString base(m.get(F_CBASE));
|
||||
TString code(m.get(F_CCODES));
|
||||
code << f.get();
|
||||
TLocalisamfile frm(LF_FORM);
|
||||
frm.zero();
|
||||
frm.put("TIPOPROF",base);
|
||||
frm.put("CODPROF",code);
|
||||
if (frm.read(_isequal)== NOERR)
|
||||
m.set(F_CDESCS,frm.get("DESC"));
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k==K_SPACE)
|
||||
{
|
||||
TLocalisamfile frm(LF_FORM),rfr(LF_RFORM);
|
||||
TMask mm("sc3100b");
|
||||
if (mm.run() == K_ENTER) // Prende in input il nome del profilo sorgente
|
||||
mm.set_handler(F_CCODES,ccodes_handler);
|
||||
mm.set_handler(F_CCODELS,clngs_handler);
|
||||
while (mm.run() == K_ENTER) // Prende in input il nome del profilo sorgente
|
||||
{
|
||||
long scode = mm.get_long(F_CCODES);
|
||||
long dcode = mm.get_long(F_CCODED);
|
||||
@ -87,7 +132,7 @@ bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k)
|
||||
if (frm.read()==NOERR)
|
||||
{
|
||||
error_box("Il profilo specificato come destinazione e' gia' esistente.");
|
||||
return TRUE;
|
||||
continue;
|
||||
}
|
||||
//Effettua la copia dei record.
|
||||
frm.zero(); frm.put("TIPOPROF",form); // Questo vale per tutti
|
||||
@ -102,7 +147,7 @@ bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k)
|
||||
if (frm.status() != NOERR)
|
||||
{
|
||||
error_box("Errore %d in scrittura testata profilo.",frm.status());
|
||||
return TRUE;
|
||||
break;
|
||||
}
|
||||
TProgind pi(50,"Copia in corso...",FALSE,FALSE,10);
|
||||
rfr.zero();rfr.put("TIPOPROF",form);
|
||||
@ -120,7 +165,7 @@ bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k)
|
||||
if (rfr_to_write.status() != NOERR)
|
||||
{
|
||||
error_box("Errore %d in scrittura righe profilo.",rfr_to_write.status());
|
||||
return TRUE;
|
||||
break ;
|
||||
}
|
||||
} else
|
||||
error_box("Non esiste il profilo sorgente specificato.");
|
||||
@ -129,6 +174,45 @@ bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
bool TForm_EC_editor::code_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (f.dirty() && m.get(F_BASE).empty())
|
||||
m.set(F_BASE,BASE_EC_PROFILE);
|
||||
if (key==K_TAB)
|
||||
{
|
||||
TString base(m.get(F_BASE));
|
||||
TString code(f.get());
|
||||
code << m.get(F_CODEL);
|
||||
TLocalisamfile frm(LF_FORM);
|
||||
frm.zero();
|
||||
frm.put("TIPOPROF",base);
|
||||
frm.put("CODPROF",code);
|
||||
if (frm.read(_isequal)== NOERR)
|
||||
m.set(F_DESC,frm.get("DESC"));
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TForm_EC_editor::lng_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key==K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
TString base(m.get(F_BASE));
|
||||
TString code(m.get(F_CODE));
|
||||
code << f.get();
|
||||
TLocalisamfile frm(LF_FORM);
|
||||
frm.zero();
|
||||
frm.put("TIPOPROF",base);
|
||||
frm.put("CODPROF",code);
|
||||
if (frm.read(_isequal)== NOERR)
|
||||
m.set(F_DESC,frm.get("DESC"));
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TForm_EC_editor::font_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_SPACE)
|
||||
@ -207,7 +291,7 @@ void TForm_EC_editor::change_pos(char sc, pagetype pt)
|
||||
real x_pos;
|
||||
x_pos = value * _prm.ratio;
|
||||
x_pos.round();
|
||||
fi.x() = (short)x_pos.integer();
|
||||
fi.set_x((short)x_pos.integer());
|
||||
fi.set_dirty();
|
||||
}
|
||||
}
|
||||
@ -246,10 +330,12 @@ void TForm_EC_editor::hook_footer_to_body(TPrint_section* f, TPrint_section* b)
|
||||
for (word i=0;i<items;i++)
|
||||
{
|
||||
TForm_item& fi = f->field(i);
|
||||
if (fi.x()>0) continue;
|
||||
const TForm_item& fb = b->find_field(fi.id());
|
||||
const int x = fb.x()+b->ofspc();
|
||||
fi.x() = x;
|
||||
if (fi.x()>0 || !fi.shown()) continue;
|
||||
short id = fi.id();
|
||||
if (id >= PEC_TSALDO && id <= PEC_TIMPLIRE) id = PEC_DESCR1;
|
||||
TForm_item& fb = b->find_field(id);
|
||||
int x = fb.x()+b->ofspc();
|
||||
fi.set_x(x);
|
||||
fi.ofs() = 999;
|
||||
}
|
||||
}
|
||||
@ -263,7 +349,7 @@ void TForm_EC_editor::unhook_footer(TPrint_section* f)
|
||||
if (fi.ofs()==999)
|
||||
{
|
||||
fi.ofs() = 0;
|
||||
fi.x() = 0;
|
||||
fi.set_x(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -412,7 +498,7 @@ bool TForm_EC_editor::edit(char s, pagetype p)
|
||||
pict.set_prompt(_msk->get(F_BACKGROUND));
|
||||
pict.width() = _msk->get_int(F_BACKWIDTH);
|
||||
pict.height() = _msk->get_int(F_BACKHEIGHT);
|
||||
pict.x() = _msk->get_int(F_BACKX);
|
||||
pict.set_x(_msk->get_int(F_BACKX));
|
||||
pict.y() = _msk->get_int(F_BACKY);
|
||||
form().section('G',odd_page).set_dirty();
|
||||
pict.set_dirty();
|
||||
@ -433,7 +519,16 @@ bool TForm_EC_editor::edit(char s, pagetype p)
|
||||
}
|
||||
else
|
||||
form().write_profile();
|
||||
}
|
||||
}
|
||||
else
|
||||
if (k==K_ESC && form()._isnew)
|
||||
{
|
||||
TLocalisamfile f(LF_FORM),r(LF_RFORM);
|
||||
remove_form(f,r,form().name(),form().code());
|
||||
mask().reset(F_CODE);
|
||||
mask().reset(F_CODEL);
|
||||
mask().reset(F_DESC);
|
||||
}
|
||||
if (_msk!=NULL) delete _msk;
|
||||
_msk = NULL;
|
||||
disable_menu_item(M_FILE_PRINT);
|
||||
@ -464,13 +559,13 @@ void TForm_EC_editor::print()
|
||||
pict.set_prompt(_msk->get(F_BACKGROUND));
|
||||
pict.width() = _msk->get_int(F_BACKWIDTH);
|
||||
pict.height() = _msk->get_int(F_BACKHEIGHT);
|
||||
pict.x() = _msk->get_int(F_BACKX);
|
||||
pict.set_x(_msk->get_int(F_BACKX));
|
||||
pict.y() = _msk->get_int(F_BACKY);
|
||||
form().offset_y() = _msk->get_int(F_SY);
|
||||
form().offset_x() = _msk->get_int(F_SX);
|
||||
form()._background_mode = (bkg_mode)_msk->get_int(F_FINK);
|
||||
if (form()._background_mode == none) gen_fink = FALSE;
|
||||
if (printer().is_generic() && form()._background_mode == graphics) form()._background_mode = texto;
|
||||
if (printer().is_generic() && form()._background_mode == graphics) form()._background_mode = testo;
|
||||
}
|
||||
// Schiaffa dentro le stringhe di esempio per ogni campo che non ha prompt o riferimenti sul file
|
||||
// per i campi memo si copia _memo in _prompt
|
||||
@ -496,10 +591,29 @@ void TForm_EC_editor::print()
|
||||
}
|
||||
}
|
||||
|
||||
void TForm_EC_editor::remove_form(TLocalisamfile& frm, TLocalisamfile& rfr,const TString& t,const TString& c)
|
||||
{
|
||||
frm.zero();
|
||||
frm.put("TIPOPROF", t);
|
||||
if (c.not_empty())
|
||||
frm.put("CODPROF", c);
|
||||
if (frm.read() == NOERR)
|
||||
frm.remove();
|
||||
rfr.zero();
|
||||
rfr.put("TIPOPROF", t);
|
||||
rfr.put("CODPROF", c);
|
||||
if (rfr.read(_isgteq) == NOERR)
|
||||
{
|
||||
for ( ; rfr.get("CODPROF") == c && rfr.get("TIPOPROF") == t; rfr.next())
|
||||
rfr.remove();
|
||||
}
|
||||
}
|
||||
bool TForm_EC_editor::ask_profile()
|
||||
{
|
||||
KEY k;
|
||||
mask().set_handler(DLG_COPY,cpy_handler);
|
||||
mask().set_handler(F_CODE,code_handler);
|
||||
mask().set_handler(F_CODEL,lng_handler);
|
||||
disable_menu_item(M_FILE_PRINT);
|
||||
while ((k = mask().run()) != K_QUIT)
|
||||
{
|
||||
@ -529,21 +643,9 @@ bool TForm_EC_editor::ask_profile()
|
||||
yesno_box("Confermare la cancellazione del profilo %04ld%c", fcode,flng))
|
||||
{
|
||||
TProgind pi(50,"Cancellazione in corso...",FALSE,FALSE,10);
|
||||
frm.zero();
|
||||
frm.put("TIPOPROF", fform);
|
||||
if (fcode != 0 )
|
||||
frm.put("CODPROF", cod);
|
||||
if (frm.read() == NOERR)
|
||||
frm.remove();
|
||||
rfr.zero();
|
||||
rfr.put("TIPOPROF", fform);
|
||||
rfr.put("CODPROF", cod);
|
||||
if (rfr.read(_isgteq) == NOERR)
|
||||
{
|
||||
for ( ; rfr.get("CODPROF") == cod && rfr.get("TIPOPROF") == fform; rfr.next())
|
||||
rfr.remove();
|
||||
}
|
||||
remove_form(frm,rfr,fform,cod);
|
||||
pi.cancel();
|
||||
mask().set(F_BASE,"");
|
||||
mask().set(F_CODE,"");
|
||||
mask().set(F_CODEL,"");
|
||||
mask().set(F_DESC,"");
|
||||
|
@ -7,15 +7,7 @@ PAGE "Scelta profilo" -1 -1 75 6
|
||||
STRING F_BASE 8
|
||||
BEGIN
|
||||
PROMPT 2 1 "Profilo base "
|
||||
HELP "Specificare il nome del profilo di base utilizzato"
|
||||
USE LF_FORM SELECT (TIPOPROF==BASE_EC_PROFILE)
|
||||
INPUT TIPOPROF F_BASE
|
||||
INPUT CODPROF ""
|
||||
FLAGS "D"
|
||||
DISPLAY "Profilo base" TIPOPROF
|
||||
DISPLAY "Descrizione@50" DESC
|
||||
OUTPUT F_BASE TIPOPROF
|
||||
OUTPUT F_DESC DESC
|
||||
END
|
||||
|
||||
NUMBER F_CODE 4
|
||||
|
@ -7,14 +7,6 @@ STRING F_CBASE 8
|
||||
BEGIN
|
||||
PROMPT 2 1 "Profilo base "
|
||||
FLAGS "D"
|
||||
HELP "Specificare il nome del profilo di base utilizzato"
|
||||
USE LF_FORM SELECT (TIPOPROF==BASE_EC_PROFILE)
|
||||
INPUT TIPOPROF F_CBASE
|
||||
INPUT CODPROF ""
|
||||
DISPLAY "Profilo base" TIPOPROF
|
||||
DISPLAY "Descrizione@50" DESC
|
||||
OUTPUT F_CBASE TIPOPROF
|
||||
OUTPUT F_CDESCS DESCS
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 73 4
|
||||
|
@ -18,52 +18,50 @@ END
|
||||
|
||||
GROUPBOX DLG_NULL 19 4
|
||||
BEGIN
|
||||
PROMPT 31 1 "Spostamento"
|
||||
PROMPT 32 1 "Spostamento"
|
||||
END
|
||||
|
||||
NUMBER F_SX 3
|
||||
BEGIN
|
||||
PROMPT 32 2 "Orizzontale "
|
||||
PROMPT 33 2 "Orizzontale "
|
||||
END
|
||||
|
||||
NUMBER F_SY 3
|
||||
BEGIN
|
||||
PROMPT 32 3 "Verticale "
|
||||
PROMPT 33 3 "Verticale "
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 22 4
|
||||
BEGIN
|
||||
PROMPT 54 1 "Posizionamento"
|
||||
PROMPT 55 1 "Posizionamento"
|
||||
END
|
||||
|
||||
STRING F_SCTP 1
|
||||
BEGIN
|
||||
PROMPT 55 2 "Carattere "
|
||||
PROMPT 56 2 "Carattere "
|
||||
HELP "Carattere da utilizzare per il posizionamento del modulo"
|
||||
END
|
||||
|
||||
NUMBER F_SIPX 3
|
||||
BEGIN
|
||||
PROMPT 55 3 "Coordinate "
|
||||
PROMPT 56 3 "Coordinate "
|
||||
HELP "Coordinata X di posizionamento iniziale"
|
||||
END
|
||||
|
||||
NUMBER F_SIPY 3
|
||||
BEGIN
|
||||
PROMPT 71 3 ""
|
||||
PROMPT 72 3 ""
|
||||
HELP "Coordinata Y di posizionamento"
|
||||
END
|
||||
|
||||
BOOLEAN F_SVALUTA
|
||||
BEGIN
|
||||
PROMPT 1 5 " E.C. in valuta"
|
||||
MESSAGE TRUE ENABLE, F_MAXTOT
|
||||
MESSAGE FALSE CLEAR, F_MAXTOT
|
||||
END
|
||||
|
||||
NUMBER F_MAXTOT 2
|
||||
BEGIN
|
||||
PROMPT 1 6 "Totali in valuta "
|
||||
PROMPT 1 6 "N.ro max. totali in valuta "
|
||||
NUM_EXPR {(#THIS_FIELD >=0) && (#THIS_FIELD <=#F_FOOT_H)}
|
||||
WARNING "Il numero massimo di totali in valuta deve essere positivo e minore dell'altezza del piede"
|
||||
END
|
||||
@ -76,7 +74,7 @@ END
|
||||
|
||||
LIST F_FINK 2 10
|
||||
BEGIN
|
||||
PROMPT 1 7 "Fincatura "
|
||||
PROMPT 1 7 "Fincatura "
|
||||
ITEM "0|Nessuna" MESSAGE CLEAR,5@
|
||||
ITEM "1|Testo" MESSAGE CLEAR,5@
|
||||
ITEM "2|Grafica" MESSAGE ENABLE,5@
|
||||
@ -84,12 +82,12 @@ END
|
||||
|
||||
GROUPBOX DLG_NULL 45 5
|
||||
BEGIN
|
||||
PROMPT 31 5 "Sfondo"
|
||||
PROMPT 32 5 "Sfondo"
|
||||
END
|
||||
|
||||
STRING F_BACKGROUND 50 30
|
||||
BEGIN
|
||||
PROMPT 32 6 "Nome file "
|
||||
PROMPT 33 6 "Nome file "
|
||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKWIDTH F_BACKHEIGHT
|
||||
WARNING "Il nome del file e' richiesto se specificati gli altri campi"
|
||||
GROUP 5
|
||||
@ -97,7 +95,7 @@ END
|
||||
|
||||
NUMBER F_BACKX 3
|
||||
BEGIN
|
||||
PROMPT 32 7 "Posizione X "
|
||||
PROMPT 33 7 "Posizione X "
|
||||
VALIDATE REQIF_FUNC 4 F_BACKGROUND F_BACKY F_BACKWIDTH F_BACKHEIGHT
|
||||
WARNING "La posizione X e' richiesta se specificati gli altri campi"
|
||||
GROUP 5
|
||||
@ -105,7 +103,7 @@ END
|
||||
|
||||
NUMBER F_BACKY 3
|
||||
BEGIN
|
||||
PROMPT 63 7 "Y "
|
||||
PROMPT 64 7 "Y "
|
||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKGROUND F_BACKWIDTH F_BACKHEIGHT
|
||||
WARNING "La posizione Y e' richiesta se specificati gli altri campi"
|
||||
GROUP 5
|
||||
@ -113,7 +111,7 @@ END
|
||||
|
||||
NUMBER F_BACKWIDTH 3
|
||||
BEGIN
|
||||
PROMPT 32 8 "Larghezza "
|
||||
PROMPT 33 8 "Larghezza "
|
||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKGROUND F_BACKHEIGHT
|
||||
WARNING "La larghezza e' richiesta se specificati gli altri campi"
|
||||
GROUP 5
|
||||
@ -121,7 +119,7 @@ END
|
||||
|
||||
NUMBER F_BACKHEIGHT 3
|
||||
BEGIN
|
||||
PROMPT 63 8 "Altezza "
|
||||
PROMPT 64 8 "Altezza "
|
||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKWIDTH F_BACKGROUND
|
||||
WARNING "L'altezza e' richiesta se specificati gli altri campi"
|
||||
GROUP 5
|
||||
|
@ -179,12 +179,12 @@ END
|
||||
|
||||
BOOLEAN 104
|
||||
BEGIN
|
||||
PROMPT 1 4 "Non Stampare "
|
||||
PROMPT 1 4 "Non Stampare "
|
||||
END
|
||||
|
||||
NUMBER 105 2
|
||||
BEGIN
|
||||
PROMPT 1 7 "Y "
|
||||
PROMPT 1 7 "Y "
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
|
200
sc/scselect.cpp
200
sc/scselect.cpp
@ -108,8 +108,8 @@ void TSelection_mask::select_clifo_range(long from, long to)
|
||||
TCursor_sheet& c = cur_sheet();
|
||||
const long items = c.items();
|
||||
const int key = get_key();
|
||||
TString s_from(50), s_to(50);
|
||||
|
||||
TCursor* crs = c.cursor();
|
||||
if (to == 0 && items)
|
||||
to = c.row(items-1).get_long(key);
|
||||
|
||||
@ -119,46 +119,33 @@ void TSelection_mask::select_clifo_range(long from, long to)
|
||||
to = from;
|
||||
from = tmp;
|
||||
}
|
||||
|
||||
s_from = c.row(from).get(3-key); // Legge ragione sociale iniziale
|
||||
s_to = c.row(to).get(3-key); // ... e finale
|
||||
|
||||
bool cod1ok = FALSE, cod2ok = FALSE;
|
||||
long last = 0;
|
||||
long firs = 0;
|
||||
|
||||
for (long i = 0; i < items; i++)
|
||||
{
|
||||
TToken_string& tt = c.row(i);
|
||||
const long cod = tt.get_long(key);
|
||||
bool add;
|
||||
if (key == 2)
|
||||
{
|
||||
const char* s = tt.get(1);
|
||||
add = s_from <= s && s_to >= s;
|
||||
}
|
||||
else
|
||||
add = cod >= from && cod <= to;
|
||||
|
||||
if (add)
|
||||
{
|
||||
c.check(i);
|
||||
if (firs == 0)
|
||||
firs = cod;
|
||||
last = cod;
|
||||
}
|
||||
else
|
||||
c.uncheck(i);
|
||||
|
||||
// if (cod == from) cod1ok = TRUE;
|
||||
// if (cod == to) cod2ok = TRUE;
|
||||
}
|
||||
TRectype& rec = crs->file().curr();
|
||||
rec.zero();
|
||||
rec.put(CLI_TIPOCF,get_who());
|
||||
rec.put(CLI_CODCF,from);
|
||||
|
||||
const TRecnotype start = crs->read(_isgteq);
|
||||
firs = rec.get_long(CLI_CODCF);
|
||||
rec.zero();
|
||||
rec.put(CLI_TIPOCF,get_who());
|
||||
rec.put(CLI_CODCF,to);
|
||||
TRectype recx(rec);
|
||||
TRecnotype end = crs->read(_isgteq);
|
||||
if (rec != recx)
|
||||
{
|
||||
end--;
|
||||
(*crs)-=1;
|
||||
}
|
||||
last = rec.get_long(CLI_CODCF);
|
||||
c.uncheck(-1);
|
||||
for (long i = start; i <= end; i++)
|
||||
c.check(i);
|
||||
if (get(SC_CFCODFR).not_empty())
|
||||
// if (!cod1ok)
|
||||
set(SC_CFCODFR, firs);
|
||||
if (get(SC_CFCODTO).not_empty())
|
||||
// if (!cod2ok)
|
||||
set(SC_CFCODTO, last);
|
||||
|
||||
set(SC_NSEL, c.checked());
|
||||
@ -179,35 +166,40 @@ void TSelection_mask::select_des_clifo_range(const TString& from, const TString
|
||||
|
||||
if (s_from > s_to) // Controlla limiti
|
||||
{
|
||||
const TString tmp(s_to);
|
||||
s_to = s_from;
|
||||
s_from = tmp;
|
||||
s_to = from;
|
||||
s_from = to;// ripristina i valori originali (!upper)
|
||||
set(SC_CFDESFR, to);
|
||||
set(SC_CFDESTO, from);
|
||||
}
|
||||
} else
|
||||
{
|
||||
if (to.not_empty()) s_to = to;
|
||||
s_from = from; // ripristina i valori originali (!upper)
|
||||
}
|
||||
|
||||
TString last;
|
||||
TString firs;
|
||||
|
||||
for (long i = 0; i < items; i++)
|
||||
TCursor* crs = c.cursor();
|
||||
TRectype& rec = crs->file().curr();
|
||||
rec.zero();
|
||||
rec.put(CLI_TIPOCF,get_who());
|
||||
rec.put(CLI_RAGSOC,s_from);
|
||||
const TRecnotype start = crs->read(_isgteq);
|
||||
firs = rec.get(CLI_RAGSOC);
|
||||
rec.zero();
|
||||
rec.put(CLI_TIPOCF,get_who());
|
||||
rec.put(CLI_RAGSOC,s_to);
|
||||
TRectype recx(rec);
|
||||
TRecnotype end = crs->read(_isgteq);
|
||||
if (rec != recx)
|
||||
{
|
||||
TToken_string& tt = c.row(i);
|
||||
TString s(tt.get(1));
|
||||
s.upper();
|
||||
const bool add = s_from <= s && s_to >= s;
|
||||
|
||||
if (add)
|
||||
{
|
||||
end--;
|
||||
(*crs)-=1;
|
||||
}
|
||||
last = rec.get(CLI_RAGSOC);
|
||||
c.uncheck(-1);
|
||||
for (long i = start; i <= end; i++)
|
||||
c.check(i);
|
||||
if (firs.empty())
|
||||
firs = tt.get(1);
|
||||
last = tt.get(1);
|
||||
}
|
||||
else
|
||||
c.uncheck(i);
|
||||
}
|
||||
|
||||
|
||||
if (get(SC_CFDESFR).not_empty())
|
||||
set(SC_CFDESFR, firs);
|
||||
if (get(SC_CFDESTO).not_empty())
|
||||
@ -218,62 +210,84 @@ void TSelection_mask::select_des_clifo_range(const TString& from, const TString
|
||||
// Cerca il primo e l'ultimo cliente selezionati
|
||||
void TSelection_mask::set_clifo_limits()
|
||||
{
|
||||
long first = 0, last = 0, nsel = 0;
|
||||
long from = 0, to = 0;
|
||||
|
||||
TCursor_sheet& c = cur_sheet();
|
||||
const long items = c.items();
|
||||
const int key = get_key();
|
||||
long first = -1, last = -1;
|
||||
|
||||
for (int i = 0; i < items; i++) if (c.checked(i))
|
||||
for (long i = 0; i < items; i++)
|
||||
if (c.checked(i))
|
||||
{
|
||||
if (first == -1)
|
||||
first = i;
|
||||
}
|
||||
if (first != -1) //Optimization... If nothing was found previously skip this test.
|
||||
for (long j = (items-1); j >= 0 ; j--)
|
||||
if (c.checked(j))
|
||||
if (last == -1)
|
||||
{
|
||||
last = j;
|
||||
break;
|
||||
}
|
||||
if (first!= -1 && last != -1) // Something selected?
|
||||
{
|
||||
TToken_string& t = c.row(i);
|
||||
const long kod = t.get_long(key);
|
||||
if (first == 0)
|
||||
TToken_string fitem(c.row(first));
|
||||
TToken_string litem(c.row(last));
|
||||
from = fitem.get_long(key);
|
||||
to = litem.get_long(key);
|
||||
if (from>to)
|
||||
{
|
||||
first = last = kod;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (first > kod) first = kod;
|
||||
if (last < kod) last = kod;
|
||||
}
|
||||
|
||||
nsel++;
|
||||
}
|
||||
set(SC_CFCODFR, first);
|
||||
set(SC_CFCODTO, last);
|
||||
set(SC_NSEL, nsel);
|
||||
long t = to;
|
||||
to=from;
|
||||
from=t;
|
||||
}
|
||||
}
|
||||
set(SC_CFCODFR, from);
|
||||
set(SC_CFCODTO, to);
|
||||
set(SC_NSEL, c.checked());
|
||||
}
|
||||
|
||||
void TSelection_mask::set_des_clifo_limits()
|
||||
{
|
||||
TString first, last;
|
||||
long nsel = 0;
|
||||
|
||||
long first=-1, last=-1;
|
||||
TString from,to;
|
||||
TCursor_sheet& c = cur_sheet();
|
||||
const long items = c.items();
|
||||
const int key = get_key();
|
||||
CHECK(key == 2, "La chiave deve essere la 2");
|
||||
|
||||
for (int i = 0; i < items; i++) if (c.checked(i))
|
||||
for (long i = 0; i < items; i++)
|
||||
if (c.checked(i))
|
||||
{
|
||||
if (first == -1)
|
||||
first = i;
|
||||
}
|
||||
if (first != -1)
|
||||
for (long j = (items-1); j >= 0 ; j--)
|
||||
if (c.checked(j))
|
||||
if (last == -1)
|
||||
{
|
||||
last = j;
|
||||
break;
|
||||
}
|
||||
if (first!= -1 && last != -1)
|
||||
{
|
||||
TToken_string& t = c.row(i);
|
||||
const TString des(t.get(1));
|
||||
if (first.empty())
|
||||
TToken_string fitem(c.row(first));
|
||||
TToken_string litem(c.row(last));
|
||||
from = fitem.get(1);
|
||||
to = litem.get(1);
|
||||
if (from>to)
|
||||
{
|
||||
first = last = des;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (first > des) first = des;
|
||||
if (last < des) last = des;
|
||||
}
|
||||
|
||||
nsel++;
|
||||
}
|
||||
set(SC_CFDESFR, first);
|
||||
set(SC_CFDESTO, last);
|
||||
set(SC_NSEL, nsel);
|
||||
TString temp(to);
|
||||
to=from;
|
||||
from=temp;
|
||||
}
|
||||
}
|
||||
set(SC_CFDESFR, from);
|
||||
set(SC_CFDESTO, to);
|
||||
set(SC_NSEL, c.checked());
|
||||
}
|
||||
|
||||
// handlers
|
||||
|
@ -17,6 +17,10 @@
|
||||
#include "scselmsk.h"
|
||||
#endif
|
||||
|
||||
#ifndef __CLIFO_H
|
||||
#include <clifo.h>
|
||||
#endif
|
||||
|
||||
class TSelection_mask : public TMask
|
||||
{
|
||||
TRelation* _clifo_rel;
|
||||
|
@ -21,8 +21,13 @@
|
||||
#define SC_PCONCODTO3 318
|
||||
#define SC_PCONBUTFR 319
|
||||
#define SC_PCONBUTTO 320
|
||||
#define SC_CFDESBUTFR 319
|
||||
#define SC_CFDESBUTTO 320
|
||||
#define SC_CFDESBUTFR 321
|
||||
#define SC_CFDESBUTTO 322
|
||||
#define SC_PCONDESBUTFR 323
|
||||
#define SC_PCONDESBUTTO 324
|
||||
#define SC_PCONDESFR 325
|
||||
#define SC_PCONDESTO 326
|
||||
|
||||
|
||||
#define BASE_EC_PROFILE "PEC"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user