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
169
sc/pec.frm
169
sc/pec.frm
@ -25,7 +25,8 @@ END
|
|||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION HEADER ODD 12
|
|
||||||
|
SECTION HEADER LAST 1
|
||||||
|
|
||||||
STRINGA 100
|
STRINGA 100
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -34,6 +35,45 @@ BEGIN
|
|||||||
FLAGS "DH"
|
FLAGS "DH"
|
||||||
END
|
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
|
STRINGA 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Spettabile/Egregio"
|
KEY "Spettabile/Egregio"
|
||||||
@ -138,7 +178,7 @@ END
|
|||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION BODY ODD COLUMNWISE 1
|
SECTION BODY ODD 1 COLUMNWISE
|
||||||
|
|
||||||
STRINGA 201
|
STRINGA 201
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -150,82 +190,82 @@ END
|
|||||||
STRINGA 202 22 1
|
STRINGA 202 22 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Descrizione"
|
KEY "Descrizione"
|
||||||
PROMPT 2 22 ""
|
PROMPT 2 22 "<DES PART>"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATA 205
|
DATA 205
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Data doc."
|
KEY "Data doc."
|
||||||
PROMPT 2 12 ""
|
PROMPT 3 12 ""
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 206
|
STRINGA 206
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Num.doc."
|
KEY "Num.doc."
|
||||||
PROMPT 2 6 ""
|
PROMPT 4 6 ""
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 207
|
NUMERO 207
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Prot."
|
KEY "Prot."
|
||||||
PROMPT 2 6 ""
|
PROMPT 5 6 ""
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 208
|
NUMERO 208
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Totale documento"
|
KEY "Totale documento"
|
||||||
PROMPT 2 15 ""
|
PROMPT 6 15 ""
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
DATA 209
|
DATA 209
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Data"
|
KEY "Data"
|
||||||
PROMPT 3 12 ""
|
PROMPT 7 12 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 210
|
NUMERO 210
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Dare"
|
KEY "Dare"
|
||||||
PROMPT 4 17 ""
|
PROMPT 8 17 ""
|
||||||
PICTURE "###.###.###.###"
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 211
|
NUMERO 211
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Avere"
|
KEY "Avere"
|
||||||
PROMPT 5 17 ""
|
PROMPT 9 17 ""
|
||||||
PICTURE "###.###.###.###"
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 212
|
NUMERO 212
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Scaduto"
|
KEY "Scaduto"
|
||||||
PROMPT 6 17 ""
|
PROMPT 10 17 ""
|
||||||
PICTURE "###.###.###.###"
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 213
|
NUMERO 213
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Esposto"
|
KEY "Esposto"
|
||||||
PROMPT 7 17 ""
|
PROMPT 11 17 ""
|
||||||
PICTURE "###.###.###.###"
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 215
|
NUMERO 215
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Importi in lire"
|
KEY "Importi in lire"
|
||||||
PROMPT 8 17 ""
|
PROMPT 12 17 ""
|
||||||
PICTURE "###.###.###.###"
|
PICTURE "###.###.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 216
|
NUMERO 216
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Cambio"
|
KEY "Cambio"
|
||||||
PROMPT 9 17 ""
|
PROMPT 13 17 ""
|
||||||
PICTURE "###.###.###.###"
|
PICTURE "###.###.###.###"
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
@ -233,48 +273,48 @@ END
|
|||||||
DATA 217
|
DATA 217
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Data cam."
|
KEY "Data cam."
|
||||||
PROMPT 10 12 ""
|
PROMPT 14 12 ""
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
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
|
END // Fine body
|
||||||
|
|
||||||
SECTION FOOTER ODD 9
|
SECTION FOOTER ODD 9
|
||||||
|
|
||||||
STRING 400
|
NUMERO 210
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Descrizione riporto"
|
KEY "Dare"
|
||||||
PROMPT 2 1 "*** Riporto"
|
PROMPT 0 1 ""
|
||||||
FLAGS "DH"
|
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
|
END
|
||||||
|
|
||||||
STRING 401
|
STRING 401
|
||||||
@ -283,59 +323,24 @@ BEGIN
|
|||||||
PROMPT 2 1 "Saldo <VALUTA> al <DATA>"
|
PROMPT 2 1 "Saldo <VALUTA> al <DATA>"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 210
|
|
||||||
BEGIN
|
|
||||||
KEY "Dare"
|
|
||||||
PROMPT 0 1 ""
|
|
||||||
PICTURE "###.###.###.###"
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMERO 211
|
|
||||||
BEGIN
|
|
||||||
KEY "Avere"
|
|
||||||
PROMPT 0 1 ""
|
|
||||||
PICTURE "###.###.###.###"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING 402
|
STRING 402
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Descrizione totale scaduto"
|
KEY "Descrizione totale scaduto"
|
||||||
PROMPT 2 2 "Totale scaduto al <DATA SCADUTO>"
|
PROMPT 2 2 "Totale scaduto al <DATA SCADUTO>"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 212
|
|
||||||
BEGIN
|
|
||||||
KEY "Scaduto"
|
|
||||||
PROMPT 0 1 ""
|
|
||||||
PICTURE "###.###.###.###"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING 403
|
STRING 403
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Descrizione totale esposto"
|
KEY "Descrizione totale esposto"
|
||||||
PROMPT 2 3 "Totale esposto"
|
PROMPT 2 3 "Totale esposto"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 213
|
|
||||||
BEGIN
|
|
||||||
KEY "Esposto"
|
|
||||||
PROMPT 0 1 ""
|
|
||||||
PICTURE "###.###.###.###"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING 404
|
STRING 404
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Descrizione totale importi in lire"
|
KEY "Descrizione totale importi in lire"
|
||||||
PROMPT 2 4 "Importi in lire della valuta <DESCRIZIONE VALUTA>"
|
PROMPT 2 4 "Importi in lire della valuta <DESCRIZIONE VALUTA>"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 215
|
|
||||||
BEGIN
|
|
||||||
KEY "Importi in lire"
|
|
||||||
PROMPT 0 1 ""
|
|
||||||
PICTURE "###.###.###.###"
|
|
||||||
END
|
|
||||||
|
|
||||||
END // Fine footer
|
END // Fine footer
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include "scselmsk.h"
|
#include "scselmsk.h"
|
||||||
#include "sc2100a.h"
|
#include "sc2100a.h"
|
||||||
|
|
||||||
PAGE "Stampa estratti conto" -1 -1 68 17
|
PAGE "Stampa estratti conto" -1 -1 68 18
|
||||||
|
|
||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -21,12 +21,12 @@ END
|
|||||||
|
|
||||||
GROUPBOX DLG_NULL 68 8
|
GROUPBOX DLG_NULL 68 8
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 7 ""
|
PROMPT 0 2 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODPROF 4
|
NUMBER F_CODPROF 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Profilo "
|
PROMPT 1 3 "Profilo "
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
USE LF_FORM
|
USE LF_FORM
|
||||||
INPUT TIPOPROF BASE_EC_PROFILE
|
INPUT TIPOPROF BASE_EC_PROFILE
|
||||||
@ -44,7 +44,7 @@ END
|
|||||||
|
|
||||||
STRING F_LINPROF 1
|
STRING F_LINPROF 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 18 8 ""
|
PROMPT 18 3 ""
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE %LNG
|
USE %LNG
|
||||||
INPUT CODTAB F_LINPROF
|
INPUT CODTAB F_LINPROF
|
||||||
@ -57,109 +57,141 @@ END
|
|||||||
|
|
||||||
STRING F_DESPROF 50 40
|
STRING F_DESPROF 50 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 8 ""
|
PROMPT 25 3 ""
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
DATE F_DATALIMOP
|
DATE F_DATALIMOP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Data limite operazione "
|
PROMPT 1 4 "Data limite operazione "
|
||||||
FLAGS "A"
|
FLAGS "A"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATALIMSC
|
DATE F_DATALIMSC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Data limite scaduto "
|
PROMPT 1 5 "Data limite scaduto "
|
||||||
FLAGS "A"
|
FLAGS "A"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_GIORISCH 3
|
NUMBER F_GIORISCH 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "Giorni calcolo rischio "
|
PROMPT 1 6 "Giorni calcolo rischio "
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_STAMPCHIU
|
BOOLEAN F_STAMPCHIU
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Stampa partite chiuse"
|
PROMPT 1 7 "Stampa partite chiuse"
|
||||||
MESSAGE FALSE DISABLE,F_DATACHIU
|
MESSAGE FALSE DISABLE,F_DATACHIU
|
||||||
MESSAGE TRUE ENABLE,F_DATACHIU
|
MESSAGE TRUE ENABLE,F_DATACHIU
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATACHIU
|
DATE F_DATACHIU
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 12 "dal "
|
PROMPT 25 7 "dal "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_LUOGOSEND 50 32
|
STRING F_LUOGOSEND 50 32
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "Luogo d'invio "
|
PROMPT 1 8 "Luogo d'invio "
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATASEND
|
DATE F_DATASEND
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 50 13 "data "
|
PROMPT 50 8 "data "
|
||||||
FLAGS "A"
|
FLAGS "A"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
RADIOBUTTON SC_CLIFO 20
|
RADIOBUTTON SC_CLIFO 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 2 "Selezione"
|
PROMPT 0 10 "Selezione"
|
||||||
ITEM "C|Clienti" MESSAGE ENABLE,1@
|
ITEM "C|Clienti" MESSAGE ENABLE,1@
|
||||||
ITEM "F|Fornitori" MESSAGE CLEAR,1@
|
ITEM "F|Fornitori" MESSAGE CLEAR,1@
|
||||||
END
|
END
|
||||||
|
|
||||||
RADIOBUTTON SC_SORTCF 20
|
RADIOBUTTON SC_SORTCF 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 2 "Ordinamento"
|
PROMPT 25 10 "Ordinamento"
|
||||||
ITEM "1|Per codice"
|
ITEM "1|Per codice" MESSAGE HIDE,2@|SHOW,3@
|
||||||
ITEM "2|Per ragione sociale"
|
ITEM "2|Per ragione sociale" MESSAGE HIDE,3@|SHOW,2@
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON SC_SELECT 10 1
|
BUTTON SC_SELECT 10 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 3 "~Selezione"
|
PROMPT 51 11 "~Selezione"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON SC_RESET 10 1
|
BUTTON SC_RESET 10 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 4 "~Azzera"
|
PROMPT 51 12 "~Azzera"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER SC_CFCODFR 5
|
NUMBER SC_CFCODFR 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Da codice "
|
PROMPT 1 14 "Da codice "
|
||||||
END
|
GROUP 3
|
||||||
|
|
||||||
NUMBER SC_CFCODTO 5
|
|
||||||
BEGIN
|
|
||||||
PROMPT 36 6 "a codice "
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER SC_NSEL 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 56 6 "N. "
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON SC_CFBUTFR 2 1
|
BUTTON SC_CFBUTFR 2 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 31 6 ""
|
PROMPT 31 14 ""
|
||||||
PICTURE 109
|
PICTURE 109
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER SC_CFCODTO 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 36 14 "a codice "
|
||||||
|
GROUP 3
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON SC_CFBUTTO 2 1
|
BUTTON SC_CFBUTTO 2 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 6 ""
|
PROMPT 51 14 ""
|
||||||
PICTURE 109
|
PICTURE 109
|
||||||
|
GROUP 3
|
||||||
END
|
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
|
BUTTON DLG_PRINT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
|
304
sc/sc2200a.uml
304
sc/sc2200a.uml
@ -1,6 +1,6 @@
|
|||||||
#include "sc2200.h"
|
#include "sc2200.h"
|
||||||
|
|
||||||
PAGE "Stampa Scadenziario" -1 -1 68 17
|
PAGE "Stampa Scadenziario" -1 -1 68 18
|
||||||
|
|
||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -18,125 +18,14 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON SC_SELECT 10 1
|
GROUPBOX DLG_NULL 68 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 3 "~Selezione"
|
PROMPT 0 2 ""
|
||||||
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
|
|
||||||
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
|
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATASTAMPA
|
DATE F_DATASTAMPA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Data di stampa "
|
PROMPT 1 3 "Data di stampa "
|
||||||
HELP "Data di stampa dello scadenziario"
|
HELP "Data di stampa dello scadenziario"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Si deve specificare la data di stampa dello scadenziario"
|
WARNING "Si deve specificare la data di stampa dello scadenziario"
|
||||||
@ -145,7 +34,7 @@ END
|
|||||||
|
|
||||||
DATE F_DATASCADENZAI
|
DATE F_DATASCADENZAI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Data di scadenza dal "
|
PROMPT 1 4 "Data di scadenza dal "
|
||||||
HELP "Data di inizio scadenza"
|
HELP "Data di inizio scadenza"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Data di inizio scadenza non valida"
|
WARNING "Data di inizio scadenza non valida"
|
||||||
@ -154,7 +43,7 @@ END
|
|||||||
|
|
||||||
DATE F_DATASCADENZAF
|
DATE F_DATASCADENZAF
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 39 10 "al "
|
PROMPT 39 4 "al "
|
||||||
HELP "Data di fine scadenza"
|
HELP "Data di fine scadenza"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
VALIDATE DATE_CMP_FUNC >= F_DATASCADENZAI
|
VALIDATE DATE_CMP_FUNC >= F_DATASCADENZAI
|
||||||
@ -163,25 +52,196 @@ END
|
|||||||
|
|
||||||
BOOLEAN F_RATESALDATE
|
BOOLEAN F_RATESALDATE
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "Stampa rate saldate"
|
PROMPT 1 5 "Stampa rate saldate"
|
||||||
HELP "Include le rate saldate nella stampa"
|
HELP "Include le rate saldate nella stampa"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ORDDATA
|
BOOLEAN F_ORDDATA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Ordina per data"
|
PROMPT 1 6 "Ordina per data"
|
||||||
HELP "Selezionare se l'ordinamento primario deve essere secondo la data"
|
HELP "Selezionare se l'ordinamento primario deve essere secondo la data"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_VALUTA
|
BOOLEAN F_VALUTA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "Stampa in valuta"
|
PROMPT 1 7 "Stampa in valuta"
|
||||||
HELP "Selezionare se si vuole la stampa in valuta"
|
HELP "Selezionare se si vuole la stampa in valuta"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 68 7
|
RADIOBUTTON SC_CLIFO 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 8 ""
|
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
|
END
|
||||||
|
|
||||||
BUTTON DLG_PRINT 10 2
|
BUTTON DLG_PRINT 10 2
|
||||||
|
292
sc/sc2201.cpp
292
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_RESET, bresetpcon_handler); // Redefined handler...
|
||||||
set_handler(SC_PCONCODFR3, ffrompcon_handler); // New handler...
|
set_handler(SC_PCONCODFR3, ffrompcon_handler); // New handler...
|
||||||
set_handler(SC_PCONCODTO3, ftopcon_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()
|
TSelection_ext_mask::~TSelection_ext_mask()
|
||||||
@ -69,27 +73,47 @@ void TSelection_ext_mask::reset_sheets()
|
|||||||
reset(SC_PCONCODTO1);
|
reset(SC_PCONCODTO1);
|
||||||
reset(SC_PCONCODTO2);
|
reset(SC_PCONCODTO2);
|
||||||
reset(SC_PCONCODTO3);
|
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();
|
TCursor_sheet& c = cur_sheet();
|
||||||
const long items = c.items();
|
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();
|
TCursor* crs = c.cursor();
|
||||||
TRectype& rec = crs->file().curr();
|
TRectype& rec = crs->file().curr();
|
||||||
rec.zero();
|
rec.zero();
|
||||||
rec.put(PCN_DESCR,desfr);
|
rec.put(PCN_DESCR,s_from);
|
||||||
|
|
||||||
const TRecnotype start = crs->read(_isgteq);
|
const TRecnotype start = crs->read(_isgteq);
|
||||||
int grf = rec.get_int(PCN_GRUPPO);
|
firs = rec.get(PCN_DESCR);
|
||||||
int cof = rec.get_int(PCN_CONTO);
|
|
||||||
long sof = rec.get_long(PCN_SOTTOCONTO);
|
|
||||||
int grt, cot;
|
|
||||||
long sot;
|
|
||||||
rec.zero();
|
rec.zero();
|
||||||
rec.put(PCN_DESCR,desto);
|
rec.put(PCN_DESCR,s_to);
|
||||||
TRectype recx(rec);
|
TRectype recx(rec);
|
||||||
TRecnotype end = crs->read(_isgteq);
|
TRecnotype end = crs->read(_isgteq);
|
||||||
if (rec != recx)
|
if (rec != recx)
|
||||||
@ -97,19 +121,55 @@ void TSelection_ext_mask::select_pcon_range(TString& desfr, TString& desto)
|
|||||||
end--;
|
end--;
|
||||||
(*crs)-=1;
|
(*crs)-=1;
|
||||||
}
|
}
|
||||||
grt = rec.get_int(PCN_GRUPPO);
|
last = rec.get(PCN_DESCR);
|
||||||
cot = rec.get_int(PCN_CONTO);
|
|
||||||
sot = rec.get_long(PCN_SOTTOCONTO);
|
|
||||||
c.uncheck(-1);
|
c.uncheck(-1);
|
||||||
for (long i = start; i <= end; i++)
|
for (long i = start; i <= end; i++)
|
||||||
//if (!c.checked(i))
|
|
||||||
c.check(i);
|
c.check(i);
|
||||||
set(SC_PCONCODFR1, grf);
|
if (get(SC_PCONDESFR).not_empty())
|
||||||
set(SC_PCONCODFR2, cof);
|
set(SC_PCONDESFR, firs);
|
||||||
set(SC_PCONCODFR3, sof);
|
if (get(SC_PCONDESTO).not_empty())
|
||||||
set(SC_PCONCODTO1, grt);
|
set(SC_PCONDESTO, last);
|
||||||
set(SC_PCONCODTO2, cot);
|
set(SC_NSEL, c.checked());
|
||||||
set(SC_PCONCODTO3, sot);
|
}
|
||||||
|
|
||||||
|
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());
|
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();
|
TCursor_sheet& c = cur_sheet();
|
||||||
const long items = c.items();
|
const long items = c.items();
|
||||||
const int key = get_key();
|
const int key = get_key();
|
||||||
TString desfr,desto;
|
|
||||||
|
|
||||||
TCursor* crs = c.cursor();
|
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();
|
TRectype& rec = crs->file().curr();
|
||||||
rec.zero();
|
rec.zero();
|
||||||
rec.put(PCN_GRUPPO,grf);
|
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);
|
cof = rec.get_int(PCN_CONTO);
|
||||||
sof = rec.get_long(PCN_SOTTOCONTO);
|
sof = rec.get_long(PCN_SOTTOCONTO);
|
||||||
rec.zero();
|
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_GRUPPO,grt);
|
||||||
rec.put(PCN_CONTO,cot);
|
rec.put(PCN_CONTO,cot);
|
||||||
rec.put(PCN_SOTTOCONTO,sot);
|
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);
|
sot = rec.get_long(PCN_SOTTOCONTO);
|
||||||
c.uncheck(-1);
|
c.uncheck(-1);
|
||||||
for (long i = start; i <= end; i++)
|
for (long i = start; i <= end; i++)
|
||||||
//if (!c.checked(i))
|
|
||||||
c.check(i);
|
c.check(i);
|
||||||
set(SC_PCONCODFR1, grf);
|
set(SC_PCONCODFR1, grf);
|
||||||
set(SC_PCONCODFR2, cof);
|
set(SC_PCONCODFR2, cof);
|
||||||
@ -174,7 +239,6 @@ void TSelection_ext_mask::set_pcon_limits()
|
|||||||
const long items = c.items();
|
const long items = c.items();
|
||||||
const int key = get_key();
|
const int key = get_key();
|
||||||
long first = -1, last = -1;
|
long first = -1, last = -1;
|
||||||
long nsel = 0L;
|
|
||||||
|
|
||||||
// Ricerca veloce di estremi (vale solo su GR/CO/SO)
|
// Ricerca veloce di estremi (vale solo su GR/CO/SO)
|
||||||
for (long i = 0; i < items; i++)
|
for (long i = 0; i < items; i++)
|
||||||
@ -182,7 +246,6 @@ void TSelection_ext_mask::set_pcon_limits()
|
|||||||
{
|
{
|
||||||
if (first == -1)
|
if (first == -1)
|
||||||
first = i;
|
first = i;
|
||||||
nsel ++;
|
|
||||||
}
|
}
|
||||||
if (first != -1) //Optimization... If nothing was found previously skip this test.
|
if (first != -1) //Optimization... If nothing was found previously skip this test.
|
||||||
for (long j = (items-1); j >= 0 ; j--)
|
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_PCONCODTO1, gl);
|
||||||
set(SC_PCONCODTO2, cl);
|
set(SC_PCONCODTO2, cl);
|
||||||
set(SC_PCONCODTO3, sl);
|
set(SC_PCONCODTO3, sl);
|
||||||
set(SC_NSEL, nsel);
|
set(SC_NSEL, c.checked());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TSelection_ext_mask::bfrompcon_handler(TMask_field& f, KEY k)
|
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_PCONCODFR1, grf);
|
||||||
m.set(SC_PCONCODFR2, cof);
|
m.set(SC_PCONCODFR2, cof);
|
||||||
m.set(SC_PCONCODFR3, sof);
|
m.set(SC_PCONCODFR3, sof);
|
||||||
if (m.get_key() == 2)
|
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
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_PCONCODTO1, grt);
|
||||||
m.set(SC_PCONCODTO2, cot);
|
m.set(SC_PCONCODTO2, cot);
|
||||||
m.set(SC_PCONCODTO3, sot);
|
m.set(SC_PCONCODTO3, sot);
|
||||||
if (m.get_key() == 2)
|
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -312,25 +351,7 @@ bool TSelection_ext_mask::ffrompcon_handler(TMask_field& f, KEY k)
|
|||||||
grt = m.get_int(SC_PCONCODTO1);
|
grt = m.get_int(SC_PCONCODTO1);
|
||||||
cot = m.get_int(SC_PCONCODTO2);
|
cot = m.get_int(SC_PCONCODTO2);
|
||||||
sot = m.get_long(SC_PCONCODTO3);
|
sot = m.get_long(SC_PCONCODTO3);
|
||||||
if (m.get_key() == 2)
|
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (k == K_F9)
|
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);
|
grt = m.get_int(SC_PCONCODTO1);
|
||||||
cot = m.get_int(SC_PCONCODTO2);
|
cot = m.get_int(SC_PCONCODTO2);
|
||||||
sot = m.get_long(SC_PCONCODTO3);
|
sot = m.get_long(SC_PCONCODTO3);
|
||||||
if (m.get_key() == 2)
|
m.select_pcon_range(grf,cof,sof,grt,cot,sot);
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (k == K_F9)
|
if (k == K_F9)
|
||||||
@ -385,6 +388,85 @@ bool TSelection_ext_mask::ftopcon_handler(TMask_field& f, KEY k)
|
|||||||
return TRUE;
|
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)
|
bool TSelection_ext_mask::bresetpcon_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
if (k == K_SPACE)
|
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();
|
TCursor_sheet& c = m.cur_sheet();
|
||||||
c.enable_check();
|
c.enable_check();
|
||||||
c.run();
|
c.run();
|
||||||
if (m.get_who() =='P')
|
char who = m.get_who();
|
||||||
m.set_pcon_limits();
|
int key = m.get_key();
|
||||||
|
if (who =='P')
|
||||||
|
if (key == 2)
|
||||||
|
m.set_des_pcon_limits();
|
||||||
|
else
|
||||||
|
m.set_pcon_limits();
|
||||||
else
|
else
|
||||||
m.set_clifo_limits();
|
if (key == 2)
|
||||||
|
m.set_des_clifo_limits();
|
||||||
|
else
|
||||||
|
m.set_clifo_limits();
|
||||||
}
|
}
|
||||||
return TRUE;
|
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();
|
TSelection_ext_mask& m = (TSelection_ext_mask&)f.mask();
|
||||||
char who = f.get()[0];
|
char who = f.get()[0];
|
||||||
m.set_who(who);
|
if (who != m.get_who())
|
||||||
if (who == 'P')
|
{
|
||||||
m.set_key(1);
|
m.set_key(1);
|
||||||
|
m.set_who(who);
|
||||||
|
}
|
||||||
m.reset_sheets();
|
m.reset_sheets();
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -16,8 +16,9 @@ class TSelection_ext_mask : public TSelection_mask
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void select_pcon_range(int grf, int cof,long sof,int grt,int cot, long sot);
|
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_pcon_limits();
|
||||||
|
void set_des_pcon_limits();
|
||||||
|
|
||||||
virtual void reset_sheets();
|
virtual void reset_sheets();
|
||||||
static bool bfrompcon_handler(TMask_field& f, KEY k);
|
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 bselectpcon_handler(TMask_field& f, KEY k);
|
||||||
static bool rpcon_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 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:
|
public:
|
||||||
virtual TCursor_sheet& cur_sheet();
|
virtual TCursor_sheet& cur_sheet();
|
||||||
|
302
sc/sc2300a.uml
302
sc/sc2300a.uml
@ -1,6 +1,6 @@
|
|||||||
#include "sc2300.h"
|
#include "sc2300.h"
|
||||||
|
|
||||||
PAGE "Stampa Scaduto" -1 -1 68 16
|
PAGE "Stampa Scaduto" -1 -1 68 18
|
||||||
|
|
||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -18,125 +18,14 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON SC_SELECT 10 1
|
GROUPBOX DLG_NULL 68 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 3 "~Selezione"
|
PROMPT 0 2 ""
|
||||||
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
|
|
||||||
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
|
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATASTAMPA
|
DATE F_DATASTAMPA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Data di stampa "
|
PROMPT 1 3 "Data di stampa "
|
||||||
HELP "Data di stampa"
|
HELP "Data di stampa"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Si deve specificare la data di stampa"
|
WARNING "Si deve specificare la data di stampa"
|
||||||
@ -145,7 +34,7 @@ END
|
|||||||
|
|
||||||
DATE F_DATAOPERAZIONE
|
DATE F_DATAOPERAZIONE
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Data limite operazione "
|
PROMPT 1 4 "Data limite operazione "
|
||||||
HELP "Data limite operazione"
|
HELP "Data limite operazione"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
VALIDATE DATE_CMP_FUNC >= F_DATASCADUTO
|
VALIDATE DATE_CMP_FUNC >= F_DATASCADUTO
|
||||||
@ -155,7 +44,7 @@ END
|
|||||||
|
|
||||||
DATE F_DATASCADUTO
|
DATE F_DATASCADUTO
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "Data limite scaduto "
|
PROMPT 1 5 "Data limite scaduto "
|
||||||
HELP "Data limite scaduto"
|
HELP "Data limite scaduto"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Data limite scaduto non valida"
|
WARNING "Data limite scaduto non valida"
|
||||||
@ -163,19 +52,190 @@ END
|
|||||||
|
|
||||||
NUMBER F_GIORNI 3
|
NUMBER F_GIORNI 3
|
||||||
BEGIN
|
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"
|
HELP "Inserire il numero di giorni per il calcolo del rischio"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_VALUTA
|
BOOLEAN F_VALUTA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "Stampa in valuta"
|
PROMPT 1 7 "Stampa in valuta"
|
||||||
HELP "Selezionare se si vuole la stampa in valuta"
|
HELP "Selezionare se si vuole la stampa in valuta"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 68 7
|
RADIOBUTTON SC_CLIFO 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 8 ""
|
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
|
END
|
||||||
|
|
||||||
BUTTON DLG_PRINT 10 2
|
BUTTON DLG_PRINT 10 2
|
||||||
|
156
sc/sc3100.cpp
156
sc/sc3100.cpp
@ -32,11 +32,16 @@ class TForm_EC_editor : public TForm_editor
|
|||||||
protected:
|
protected:
|
||||||
static bool cpy_handler(TMask_field& f, KEY k);
|
static bool cpy_handler(TMask_field& f, KEY k);
|
||||||
static bool font_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 load_fonts();
|
||||||
void change_pos(char sc, pagetype pt);
|
void change_pos(char sc, pagetype pt);
|
||||||
bool recalculate_positions(const char* name, int size);
|
bool recalculate_positions(const char* name, int size);
|
||||||
void hook_footer_to_body(TPrint_section* f, TPrint_section* b);
|
void hook_footer_to_body(TPrint_section* f, TPrint_section* b);
|
||||||
void unhook_footer(TPrint_section* f);
|
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 const char* selection_mask() const { return "sc3100a"; }
|
||||||
virtual bool ask_profile();
|
virtual bool ask_profile();
|
||||||
virtual bool edit(char s, pagetype p);
|
virtual bool edit(char s, pagetype p);
|
||||||
@ -65,13 +70,53 @@ BOOLEAN XVT_CALLCONV1 wprms (long data)
|
|||||||
return FALSE;
|
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)
|
bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
if (k==K_SPACE)
|
if (k==K_SPACE)
|
||||||
{
|
{
|
||||||
TLocalisamfile frm(LF_FORM),rfr(LF_RFORM);
|
TLocalisamfile frm(LF_FORM),rfr(LF_RFORM);
|
||||||
TMask mm("sc3100b");
|
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 scode = mm.get_long(F_CCODES);
|
||||||
long dcode = mm.get_long(F_CCODED);
|
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)
|
if (frm.read()==NOERR)
|
||||||
{
|
{
|
||||||
error_box("Il profilo specificato come destinazione e' gia' esistente.");
|
error_box("Il profilo specificato come destinazione e' gia' esistente.");
|
||||||
return TRUE;
|
continue;
|
||||||
}
|
}
|
||||||
//Effettua la copia dei record.
|
//Effettua la copia dei record.
|
||||||
frm.zero(); frm.put("TIPOPROF",form); // Questo vale per tutti
|
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)
|
if (frm.status() != NOERR)
|
||||||
{
|
{
|
||||||
error_box("Errore %d in scrittura testata profilo.",frm.status());
|
error_box("Errore %d in scrittura testata profilo.",frm.status());
|
||||||
return TRUE;
|
break;
|
||||||
}
|
}
|
||||||
TProgind pi(50,"Copia in corso...",FALSE,FALSE,10);
|
TProgind pi(50,"Copia in corso...",FALSE,FALSE,10);
|
||||||
rfr.zero();rfr.put("TIPOPROF",form);
|
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)
|
if (rfr_to_write.status() != NOERR)
|
||||||
{
|
{
|
||||||
error_box("Errore %d in scrittura righe profilo.",rfr_to_write.status());
|
error_box("Errore %d in scrittura righe profilo.",rfr_to_write.status());
|
||||||
return TRUE;
|
break ;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
error_box("Non esiste il profilo sorgente specificato.");
|
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;
|
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)
|
bool TForm_EC_editor::font_handler(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
if (key == K_SPACE)
|
if (key == K_SPACE)
|
||||||
@ -207,7 +291,7 @@ void TForm_EC_editor::change_pos(char sc, pagetype pt)
|
|||||||
real x_pos;
|
real x_pos;
|
||||||
x_pos = value * _prm.ratio;
|
x_pos = value * _prm.ratio;
|
||||||
x_pos.round();
|
x_pos.round();
|
||||||
fi.x() = (short)x_pos.integer();
|
fi.set_x((short)x_pos.integer());
|
||||||
fi.set_dirty();
|
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++)
|
for (word i=0;i<items;i++)
|
||||||
{
|
{
|
||||||
TForm_item& fi = f->field(i);
|
TForm_item& fi = f->field(i);
|
||||||
if (fi.x()>0) continue;
|
if (fi.x()>0 || !fi.shown()) continue;
|
||||||
const TForm_item& fb = b->find_field(fi.id());
|
short id = fi.id();
|
||||||
const int x = fb.x()+b->ofspc();
|
if (id >= PEC_TSALDO && id <= PEC_TIMPLIRE) id = PEC_DESCR1;
|
||||||
fi.x() = x;
|
TForm_item& fb = b->find_field(id);
|
||||||
|
int x = fb.x()+b->ofspc();
|
||||||
|
fi.set_x(x);
|
||||||
fi.ofs() = 999;
|
fi.ofs() = 999;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -263,7 +349,7 @@ void TForm_EC_editor::unhook_footer(TPrint_section* f)
|
|||||||
if (fi.ofs()==999)
|
if (fi.ofs()==999)
|
||||||
{
|
{
|
||||||
fi.ofs() = 0;
|
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.set_prompt(_msk->get(F_BACKGROUND));
|
||||||
pict.width() = _msk->get_int(F_BACKWIDTH);
|
pict.width() = _msk->get_int(F_BACKWIDTH);
|
||||||
pict.height() = _msk->get_int(F_BACKHEIGHT);
|
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);
|
pict.y() = _msk->get_int(F_BACKY);
|
||||||
form().section('G',odd_page).set_dirty();
|
form().section('G',odd_page).set_dirty();
|
||||||
pict.set_dirty();
|
pict.set_dirty();
|
||||||
@ -434,6 +520,15 @@ bool TForm_EC_editor::edit(char s, pagetype p)
|
|||||||
else
|
else
|
||||||
form().write_profile();
|
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;
|
if (_msk!=NULL) delete _msk;
|
||||||
_msk = NULL;
|
_msk = NULL;
|
||||||
disable_menu_item(M_FILE_PRINT);
|
disable_menu_item(M_FILE_PRINT);
|
||||||
@ -464,13 +559,13 @@ void TForm_EC_editor::print()
|
|||||||
pict.set_prompt(_msk->get(F_BACKGROUND));
|
pict.set_prompt(_msk->get(F_BACKGROUND));
|
||||||
pict.width() = _msk->get_int(F_BACKWIDTH);
|
pict.width() = _msk->get_int(F_BACKWIDTH);
|
||||||
pict.height() = _msk->get_int(F_BACKHEIGHT);
|
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);
|
pict.y() = _msk->get_int(F_BACKY);
|
||||||
form().offset_y() = _msk->get_int(F_SY);
|
form().offset_y() = _msk->get_int(F_SY);
|
||||||
form().offset_x() = _msk->get_int(F_SX);
|
form().offset_x() = _msk->get_int(F_SX);
|
||||||
form()._background_mode = (bkg_mode)_msk->get_int(F_FINK);
|
form()._background_mode = (bkg_mode)_msk->get_int(F_FINK);
|
||||||
if (form()._background_mode == none) gen_fink = FALSE;
|
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
|
// 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
|
// 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()
|
bool TForm_EC_editor::ask_profile()
|
||||||
{
|
{
|
||||||
KEY k;
|
KEY k;
|
||||||
mask().set_handler(DLG_COPY,cpy_handler);
|
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);
|
disable_menu_item(M_FILE_PRINT);
|
||||||
while ((k = mask().run()) != K_QUIT)
|
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))
|
yesno_box("Confermare la cancellazione del profilo %04ld%c", fcode,flng))
|
||||||
{
|
{
|
||||||
TProgind pi(50,"Cancellazione in corso...",FALSE,FALSE,10);
|
TProgind pi(50,"Cancellazione in corso...",FALSE,FALSE,10);
|
||||||
frm.zero();
|
remove_form(frm,rfr,fform,cod);
|
||||||
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();
|
|
||||||
}
|
|
||||||
pi.cancel();
|
pi.cancel();
|
||||||
|
mask().set(F_BASE,"");
|
||||||
mask().set(F_CODE,"");
|
mask().set(F_CODE,"");
|
||||||
mask().set(F_CODEL,"");
|
mask().set(F_CODEL,"");
|
||||||
mask().set(F_DESC,"");
|
mask().set(F_DESC,"");
|
||||||
|
@ -7,15 +7,7 @@ PAGE "Scelta profilo" -1 -1 75 6
|
|||||||
STRING F_BASE 8
|
STRING F_BASE 8
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Profilo base "
|
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"
|
FLAGS "D"
|
||||||
DISPLAY "Profilo base" TIPOPROF
|
|
||||||
DISPLAY "Descrizione@50" DESC
|
|
||||||
OUTPUT F_BASE TIPOPROF
|
|
||||||
OUTPUT F_DESC DESC
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODE 4
|
NUMBER F_CODE 4
|
||||||
|
@ -7,14 +7,6 @@ STRING F_CBASE 8
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Profilo base "
|
PROMPT 2 1 "Profilo base "
|
||||||
FLAGS "D"
|
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
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 73 4
|
GROUPBOX DLG_NULL 73 4
|
||||||
|
@ -18,52 +18,50 @@ END
|
|||||||
|
|
||||||
GROUPBOX DLG_NULL 19 4
|
GROUPBOX DLG_NULL 19 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 31 1 "Spostamento"
|
PROMPT 32 1 "Spostamento"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_SX 3
|
NUMBER F_SX 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 2 "Orizzontale "
|
PROMPT 33 2 "Orizzontale "
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_SY 3
|
NUMBER F_SY 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 3 "Verticale "
|
PROMPT 33 3 "Verticale "
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 22 4
|
GROUPBOX DLG_NULL 22 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 54 1 "Posizionamento"
|
PROMPT 55 1 "Posizionamento"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SCTP 1
|
STRING F_SCTP 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 55 2 "Carattere "
|
PROMPT 56 2 "Carattere "
|
||||||
HELP "Carattere da utilizzare per il posizionamento del modulo"
|
HELP "Carattere da utilizzare per il posizionamento del modulo"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_SIPX 3
|
NUMBER F_SIPX 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 55 3 "Coordinate "
|
PROMPT 56 3 "Coordinate "
|
||||||
HELP "Coordinata X di posizionamento iniziale"
|
HELP "Coordinata X di posizionamento iniziale"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_SIPY 3
|
NUMBER F_SIPY 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 71 3 ""
|
PROMPT 72 3 ""
|
||||||
HELP "Coordinata Y di posizionamento"
|
HELP "Coordinata Y di posizionamento"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_SVALUTA
|
BOOLEAN F_SVALUTA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 " E.C. in valuta"
|
PROMPT 1 5 " E.C. in valuta"
|
||||||
MESSAGE TRUE ENABLE, F_MAXTOT
|
|
||||||
MESSAGE FALSE CLEAR, F_MAXTOT
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_MAXTOT 2
|
NUMBER F_MAXTOT 2
|
||||||
BEGIN
|
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)}
|
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"
|
WARNING "Il numero massimo di totali in valuta deve essere positivo e minore dell'altezza del piede"
|
||||||
END
|
END
|
||||||
@ -76,7 +74,7 @@ END
|
|||||||
|
|
||||||
LIST F_FINK 2 10
|
LIST F_FINK 2 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Fincatura "
|
PROMPT 1 7 "Fincatura "
|
||||||
ITEM "0|Nessuna" MESSAGE CLEAR,5@
|
ITEM "0|Nessuna" MESSAGE CLEAR,5@
|
||||||
ITEM "1|Testo" MESSAGE CLEAR,5@
|
ITEM "1|Testo" MESSAGE CLEAR,5@
|
||||||
ITEM "2|Grafica" MESSAGE ENABLE,5@
|
ITEM "2|Grafica" MESSAGE ENABLE,5@
|
||||||
@ -84,12 +82,12 @@ END
|
|||||||
|
|
||||||
GROUPBOX DLG_NULL 45 5
|
GROUPBOX DLG_NULL 45 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 31 5 "Sfondo"
|
PROMPT 32 5 "Sfondo"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_BACKGROUND 50 30
|
STRING F_BACKGROUND 50 30
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 6 "Nome file "
|
PROMPT 33 6 "Nome file "
|
||||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKWIDTH F_BACKHEIGHT
|
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKWIDTH F_BACKHEIGHT
|
||||||
WARNING "Il nome del file e' richiesto se specificati gli altri campi"
|
WARNING "Il nome del file e' richiesto se specificati gli altri campi"
|
||||||
GROUP 5
|
GROUP 5
|
||||||
@ -97,7 +95,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_BACKX 3
|
NUMBER F_BACKX 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 7 "Posizione X "
|
PROMPT 33 7 "Posizione X "
|
||||||
VALIDATE REQIF_FUNC 4 F_BACKGROUND F_BACKY F_BACKWIDTH F_BACKHEIGHT
|
VALIDATE REQIF_FUNC 4 F_BACKGROUND F_BACKY F_BACKWIDTH F_BACKHEIGHT
|
||||||
WARNING "La posizione X e' richiesta se specificati gli altri campi"
|
WARNING "La posizione X e' richiesta se specificati gli altri campi"
|
||||||
GROUP 5
|
GROUP 5
|
||||||
@ -105,7 +103,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_BACKY 3
|
NUMBER F_BACKY 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 63 7 "Y "
|
PROMPT 64 7 "Y "
|
||||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKGROUND F_BACKWIDTH F_BACKHEIGHT
|
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKGROUND F_BACKWIDTH F_BACKHEIGHT
|
||||||
WARNING "La posizione Y e' richiesta se specificati gli altri campi"
|
WARNING "La posizione Y e' richiesta se specificati gli altri campi"
|
||||||
GROUP 5
|
GROUP 5
|
||||||
@ -113,7 +111,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_BACKWIDTH 3
|
NUMBER F_BACKWIDTH 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 8 "Larghezza "
|
PROMPT 33 8 "Larghezza "
|
||||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKGROUND F_BACKHEIGHT
|
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKGROUND F_BACKHEIGHT
|
||||||
WARNING "La larghezza e' richiesta se specificati gli altri campi"
|
WARNING "La larghezza e' richiesta se specificati gli altri campi"
|
||||||
GROUP 5
|
GROUP 5
|
||||||
@ -121,7 +119,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_BACKHEIGHT 3
|
NUMBER F_BACKHEIGHT 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 63 8 "Altezza "
|
PROMPT 64 8 "Altezza "
|
||||||
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKWIDTH F_BACKGROUND
|
VALIDATE REQIF_FUNC 4 F_BACKX F_BACKY F_BACKWIDTH F_BACKGROUND
|
||||||
WARNING "L'altezza e' richiesta se specificati gli altri campi"
|
WARNING "L'altezza e' richiesta se specificati gli altri campi"
|
||||||
GROUP 5
|
GROUP 5
|
||||||
|
190
sc/scselect.cpp
190
sc/scselect.cpp
@ -108,8 +108,8 @@ void TSelection_mask::select_clifo_range(long from, long to)
|
|||||||
TCursor_sheet& c = cur_sheet();
|
TCursor_sheet& c = cur_sheet();
|
||||||
const long items = c.items();
|
const long items = c.items();
|
||||||
const int key = get_key();
|
const int key = get_key();
|
||||||
TString s_from(50), s_to(50);
|
|
||||||
|
|
||||||
|
TCursor* crs = c.cursor();
|
||||||
if (to == 0 && items)
|
if (to == 0 && items)
|
||||||
to = c.row(items-1).get_long(key);
|
to = c.row(items-1).get_long(key);
|
||||||
|
|
||||||
@ -119,46 +119,33 @@ void TSelection_mask::select_clifo_range(long from, long to)
|
|||||||
to = from;
|
to = from;
|
||||||
from = tmp;
|
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 last = 0;
|
||||||
long firs = 0;
|
long firs = 0;
|
||||||
|
|
||||||
for (long i = 0; i < items; i++)
|
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)
|
||||||
{
|
{
|
||||||
TToken_string& tt = c.row(i);
|
end--;
|
||||||
const long cod = tt.get_long(key);
|
(*crs)-=1;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
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 (get(SC_CFCODFR).not_empty())
|
||||||
// if (!cod1ok)
|
|
||||||
set(SC_CFCODFR, firs);
|
set(SC_CFCODFR, firs);
|
||||||
if (get(SC_CFCODTO).not_empty())
|
if (get(SC_CFCODTO).not_empty())
|
||||||
// if (!cod2ok)
|
|
||||||
set(SC_CFCODTO, last);
|
set(SC_CFCODTO, last);
|
||||||
|
|
||||||
set(SC_NSEL, c.checked());
|
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
|
if (s_from > s_to) // Controlla limiti
|
||||||
{
|
{
|
||||||
const TString tmp(s_to);
|
s_to = from;
|
||||||
s_to = s_from;
|
s_from = to;// ripristina i valori originali (!upper)
|
||||||
s_from = tmp;
|
|
||||||
set(SC_CFDESFR, to);
|
set(SC_CFDESFR, to);
|
||||||
set(SC_CFDESTO, from);
|
set(SC_CFDESTO, from);
|
||||||
}
|
} else
|
||||||
|
{
|
||||||
|
if (to.not_empty()) s_to = to;
|
||||||
|
s_from = from; // ripristina i valori originali (!upper)
|
||||||
|
}
|
||||||
|
|
||||||
TString last;
|
TString last;
|
||||||
TString firs;
|
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);
|
end--;
|
||||||
TString s(tt.get(1));
|
(*crs)-=1;
|
||||||
s.upper();
|
|
||||||
const bool add = s_from <= s && s_to >= s;
|
|
||||||
|
|
||||||
if (add)
|
|
||||||
{
|
|
||||||
c.check(i);
|
|
||||||
if (firs.empty())
|
|
||||||
firs = tt.get(1);
|
|
||||||
last = tt.get(1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
c.uncheck(i);
|
|
||||||
}
|
}
|
||||||
|
last = rec.get(CLI_RAGSOC);
|
||||||
|
c.uncheck(-1);
|
||||||
|
for (long i = start; i <= end; i++)
|
||||||
|
c.check(i);
|
||||||
if (get(SC_CFDESFR).not_empty())
|
if (get(SC_CFDESFR).not_empty())
|
||||||
set(SC_CFDESFR, firs);
|
set(SC_CFDESFR, firs);
|
||||||
if (get(SC_CFDESTO).not_empty())
|
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
|
// Cerca il primo e l'ultimo cliente selezionati
|
||||||
void TSelection_mask::set_clifo_limits()
|
void TSelection_mask::set_clifo_limits()
|
||||||
{
|
{
|
||||||
long first = 0, last = 0, nsel = 0;
|
long from = 0, to = 0;
|
||||||
|
|
||||||
TCursor_sheet& c = cur_sheet();
|
TCursor_sheet& c = cur_sheet();
|
||||||
const long items = c.items();
|
const long items = c.items();
|
||||||
const int key = get_key();
|
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);
|
TToken_string fitem(c.row(first));
|
||||||
const long kod = t.get_long(key);
|
TToken_string litem(c.row(last));
|
||||||
if (first == 0)
|
from = fitem.get_long(key);
|
||||||
|
to = litem.get_long(key);
|
||||||
|
if (from>to)
|
||||||
{
|
{
|
||||||
first = last = kod;
|
long t = to;
|
||||||
|
to=from;
|
||||||
|
from=t;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (first > kod) first = kod;
|
|
||||||
if (last < kod) last = kod;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsel++;
|
|
||||||
}
|
}
|
||||||
set(SC_CFCODFR, first);
|
set(SC_CFCODFR, from);
|
||||||
set(SC_CFCODTO, last);
|
set(SC_CFCODTO, to);
|
||||||
set(SC_NSEL, nsel);
|
set(SC_NSEL, c.checked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TSelection_mask::set_des_clifo_limits()
|
void TSelection_mask::set_des_clifo_limits()
|
||||||
{
|
{
|
||||||
TString first, last;
|
long first=-1, last=-1;
|
||||||
long nsel = 0;
|
TString from,to;
|
||||||
|
|
||||||
TCursor_sheet& c = cur_sheet();
|
TCursor_sheet& c = cur_sheet();
|
||||||
const long items = c.items();
|
const long items = c.items();
|
||||||
const int key = get_key();
|
const int key = get_key();
|
||||||
CHECK(key == 2, "La chiave deve essere la 2");
|
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);
|
TToken_string fitem(c.row(first));
|
||||||
const TString des(t.get(1));
|
TToken_string litem(c.row(last));
|
||||||
if (first.empty())
|
from = fitem.get(1);
|
||||||
|
to = litem.get(1);
|
||||||
|
if (from>to)
|
||||||
{
|
{
|
||||||
first = last = des;
|
TString temp(to);
|
||||||
|
to=from;
|
||||||
|
from=temp;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (first > des) first = des;
|
|
||||||
if (last < des) last = des;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsel++;
|
|
||||||
}
|
}
|
||||||
set(SC_CFDESFR, first);
|
set(SC_CFDESFR, from);
|
||||||
set(SC_CFDESTO, last);
|
set(SC_CFDESTO, to);
|
||||||
set(SC_NSEL, nsel);
|
set(SC_NSEL, c.checked());
|
||||||
}
|
}
|
||||||
|
|
||||||
// handlers
|
// handlers
|
||||||
|
@ -17,6 +17,10 @@
|
|||||||
#include "scselmsk.h"
|
#include "scselmsk.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __CLIFO_H
|
||||||
|
#include <clifo.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
class TSelection_mask : public TMask
|
class TSelection_mask : public TMask
|
||||||
{
|
{
|
||||||
TRelation* _clifo_rel;
|
TRelation* _clifo_rel;
|
||||||
|
@ -21,8 +21,13 @@
|
|||||||
#define SC_PCONCODTO3 318
|
#define SC_PCONCODTO3 318
|
||||||
#define SC_PCONBUTFR 319
|
#define SC_PCONBUTFR 319
|
||||||
#define SC_PCONBUTTO 320
|
#define SC_PCONBUTTO 320
|
||||||
#define SC_CFDESBUTFR 319
|
#define SC_CFDESBUTFR 321
|
||||||
#define SC_CFDESBUTTO 320
|
#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"
|
#define BASE_EC_PROFILE "PEC"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user