Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Riportata la versione 98.01.03pl015


git-svn-id: svn://10.65.10.50/trunk@6570 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1998-04-30 13:47:52 +00:00
parent 4966a7da5b
commit d5f74f8a2c
18 changed files with 634 additions and 80 deletions

41
ef/efinst.ini Executable file
View File

@ -0,0 +1,41 @@
[ef]
Data = 01-04-1998
Descrizione = Effetti
Dischi = 1
Moduli = ba,ve0,ve9,cg9
Patch = 304
PostProcess =
PreProcess =
Prezzo(1) = 300,100
Versione = 19980102
[ef1]
File(0) = dse.frm
File(1) = ef0.exe
File(2) = ef01.bmp
File(3) = ef0100a.msk
File(4) = ef0200a.msk
File(5) = ef0300a.msk
File(6) = ef0300c.msk
File(7) = ef0400a.msk
File(8) = ef0500a.msk
File(9) = ef0600a.msk
File(10) = ef0800a.msk
File(11) = ef0900a.msk
File(12) = efprassi.hlp
File(13) = efprassi.men
File(14) = rb.frm
File(15) = riba.ini
Patch = 304
Versione = 19980102
[ef2]
File(16) = recdesc\f14.dir
File(17) = recdesc\f14.trr
File(18) = recdesc\f31.dir
File(19) = recdesc\f31.trr
File(20) = recdesc\f32.dir
File(21) = recdesc\f32.trr
Patch = 304
Versione = 19980102

View File

@ -3,12 +3,12 @@ Caption = "Gestione effetti"
Picture = <ef01.bmp> Picture = <ef01.bmp>
Module = 34 Module = 34
Flags = "" Flags = ""
Item_01 = "Aggiornamento effetti", "ef0 -0", "" Item_01 = "Aggiornamento effetti", "ef0 -0", "F"
Item_02 = "Generazione effetti da E/C", "disabled", "" Item_02 = "Generazione effetti da E/C", "disabled", "F"
Item_03 = "Aggiornamento distinte", "ef0 -2", "" Item_03 = "Aggiornamento distinte", "ef0 -2", "F"
Item_04 = "Eliminazione effetti", "ef0 -3", "" Item_04 = "Eliminazione effetti", "ef0 -3", "F"
Item_05 = "Emissione effetti e distinte", "ef0 -4", "" Item_05 = "Emissione effetti e distinte", "ef0 -4", "F"
Item_06 = "Contabilizzazione effetti", "ef0 -7", "" Item_06 = "Contabilizzazione effetti", "ef0 -7", "F"
Item_07 = "Stampe di controllo", "ef0 -5", "" Item_07 = "Stampe di controllo", "ef0 -5", "F"
Item_08 = "Configurazione modulo", "ef0 -8", "" Item_08 = "Configurazione modulo", "ef0 -8", "F"

227
m770/77inst.ini Executable file
View File

@ -0,0 +1,227 @@
[77]
Data = 12-03-1998
Descrizione = Modello 770
Dischi = 1
Moduli = ba
Patch = 18
PostProcess =
PreProcess =
Prezzo(1) = 700,250
Versione = 19980102
[770]
File(0) = 7700.bmp
File(1) = 77area.men
Patch = 18
Versione = 19980102
[771]
File(2) = 770.exe
File(3) = 7701.bmp
File(4) = 770100a.msk
File(5) = 770100b.msk
File(6) = 770100c.msk
File(7) = 770100d.msk
File(8) = 770100e.msk
File(9) = 770100f.msk
File(10) = 770100g.msk
File(11) = 770200a.msk
File(12) = 771100a.msk
File(13) = 771100b.msk
File(14) = 771100c.msk
File(15) = 771100d.msk
File(16) = 771100e.msk
File(17) = 771100f.msk
File(18) = 771100g.msk
File(19) = 771100h.msk
File(20) = 771150a.msk
File(21) = 771200a.msk
File(22) = 771200b.msk
File(23) = 771200c.msk
File(24) = 771200d.msk
File(25) = 771200e.msk
File(26) = 771200f.msk
File(27) = 771200g.msk
File(28) = 771200h.msk
File(29) = 771200i.msk
File(30) = 771200l.msk
File(31) = 771200m.msk
File(32) = 771230c.msk
File(33) = 771230d.msk
File(34) = 771230d1.msk
File(35) = 771230db.msk
File(36) = 771230e.msk
File(37) = 771230e1.msk
File(38) = 771230e2.msk
File(39) = 771230pr.msk
File(40) = 771231a.msk
File(41) = 771231b.msk
File(42) = 771231c.msk
File(43) = 771232a.msk
File(44) = 771232b.msk
File(45) = 771233a.msk
File(46) = 771233b.msk
File(47) = 771234a.msk
File(48) = 771234b.msk
File(49) = 771234c.msk
File(50) = 771234d.msk
File(51) = 771234e.msk
File(52) = 771290a.msk
File(53) = 771295a.msk
File(54) = 771300a.msk
File(55) = 771310a.msk
File(56) = 771310b.msk
File(57) = 771400a.msk
File(58) = 771400b.msk
File(59) = 771mod.exe
File(60) = 772100a.msk
File(61) = 772200a.msk
File(62) = 772300a.msk
File(63) = 772400a.msk
File(64) = 772mod.exe
File(65) = 773100a.msk
File(66) = 773mod.exe
File(67) = 774.exe
File(68) = 774200a.msk
File(69) = 774300a.msk
File(70) = 775.exe
File(71) = 775100a.msk
File(72) = 776100a.msk
File(73) = 776100b.msk
File(74) = 776200a.msk
File(75) = 776300a.msk
File(76) = 776400a.msk
File(77) = 776500a.msk
File(78) = 776600a.msk
File(79) = 776mod.exe
File(80) = 77_g_p2.msk
File(81) = 77_g_p3.msk
File(82) = 77as.frm
File(83) = 77base1.frm
File(84) = 77base2.frm
File(85) = 77base3.frm
File(86) = 77base4.frm
File(87) = 77busta.frm
File(88) = 77cnv.exe
File(89) = 77cnva.msk
File(90) = 77g1a.msk
File(91) = 77g1pa.msk
File(92) = 77logazz.frm
File(93) = 77prassi.hlp
File(94) = 77prassi.men
File(95) = 77qa.frm
File(96) = 77qa1.frm
File(97) = 77qa2.frm
File(98) = 77qa3.frm
File(99) = 77qaall.msk
File(100) = 77qab.frm
File(101) = 77qb.frm
File(102) = 77qb1.frm
File(103) = 77qb1a.msk
File(104) = 77qb1b.msk
File(105) = 77qba.msk
File(106) = 77qbb.msk
File(107) = 77qc.frm
File(108) = 77qd.frm
File(109) = 77qd1.frm
File(110) = 77qdb.frm
File(111) = 77qe.frm
File(112) = 77qe1.frm
File(113) = 77qe2.frm
File(114) = 77qe2a.msk
File(115) = 77qe2b.msk
File(116) = 77qf.frm
File(117) = 77qf1.frm
File(118) = 77qf2.frm
File(119) = 77qg.frm
File(120) = 77qg1.frm
File(121) = 77qga.frm
File(122) = 77qgd.frm
File(123) = 77qgda.msk
File(124) = 77qh.frm
File(125) = 77ql.frm
File(126) = 77qn.frm
File(127) = 77qn.msk
File(128) = 77qp.msk
File(129) = 77qq.msk
File(130) = 77qr.msk
File(131) = 77qs.msk
File(132) = 77qt.msk
File(133) = 77stqd.msk
File(134) = batbca7.msk
File(135) = batbcaf.msk
File(136) = batbent.msk
File(137) = menu_st.msk
Patch = 18
Versione = 19980102
[772]
File(138) = recdesc\f36.dir
File(139) = recdesc\f36.trr
File(140) = recdesc\f37.dir
File(141) = recdesc\f37.trr
File(142) = recdesc\f38.dir
File(143) = recdesc\f38.trr
File(144) = recdesc\f39.dir
File(145) = recdesc\f39.trr
File(146) = recdesc\f40.dir
File(147) = recdesc\f40.trr
File(148) = recdesc\f41.dir
File(149) = recdesc\f41.trr
File(150) = recdesc\f42.dir
File(151) = recdesc\f42.trr
File(152) = recdesc\f43.dir
File(153) = recdesc\f43.trr
File(154) = recdesc\f44.dir
File(155) = recdesc\f44.trr
File(156) = recdesc\f45.dir
File(157) = recdesc\f45.trr
File(158) = recdesc\f46.dir
File(159) = recdesc\f46.trr
File(160) = recdesc\f56.dir
File(161) = recdesc\f56.trr
File(162) = recdesc\f57.dir
File(163) = recdesc\f57.trr
File(164) = recdesc\f58.dir
File(165) = recdesc\f58.trr
File(166) = recdesc\f59.dir
File(167) = recdesc\f59.trr
File(168) = recdesc\f60.dir
File(169) = recdesc\f60.trr
File(170) = recdesc\f61.dir
File(171) = recdesc\f61.trr
File(172) = recdesc\f62.dir
File(173) = recdesc\f62.trr
File(174) = recdesc\f63.dir
File(175) = recdesc\f63.trr
File(176) = recdesc\f64.dir
File(177) = recdesc\f64.trr
File(178) = recdesc\f65.dir
File(179) = recdesc\f65.trr
File(180) = recdesc\f66.dir
File(181) = recdesc\f66.trr
File(182) = recdesc\f67.dir
File(183) = recdesc\f67.trr
File(184) = recdesc\f68.dir
File(185) = recdesc\f68.trr
File(186) = recdesc\f69.dir
File(187) = recdesc\f69.trr
File(188) = recdesc\f70.dir
File(189) = recdesc\f70.trr
File(190) = recdesc\f71.dir
File(191) = recdesc\f71.trr
File(192) = recdesc\f72.dir
File(193) = recdesc\f72.trr
File(194) = recdesc\f73.dir
File(195) = recdesc\f73.trr
File(196) = recdesc\f74.dir
File(197) = recdesc\f74.trr
File(198) = recdesc\f75.dir
File(199) = recdesc\f75.trr
File(200) = recdesc\f76.dir
File(201) = recdesc\f76.trr
File(202) = recdesc\f77.dir
File(203) = recdesc\f77.trr
Patch = 18
Versione = 19980102

42
pr/bastapr.uml Executable file
View File

@ -0,0 +1,42 @@
#include "../ba/ba3200.h"
PAGE "Stampa Chiavi Archivi Percentuali di provvigione" -1 -1 58 8
NUMBER F_INIZIO1 2
BEGIN
FLAGS "UZ"
PROMPT 2 1 "Da codice "
USE APR
FIELD LF_TAB->CODTAB
INPUT CODTAB F_INIZIO1
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_INIZIO1 CODTAB
GROUP 1
END
NUMBER F_FINE1 2
BEGIN
FLAGS "UZ"
PROMPT 2 3 " A codice "
HELP "Inserire il codice di fine "
FIELD LF_TAB->CODTAB
COPY USE F_INIZIO1
INPUT CODTAB F_FINE1
COPY DISPLAY F_INIZIO1
OUTPUT F_FINE1 CODTAB
GROUP 2
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

27
pr/batbapr.rpt Executable file
View File

@ -0,0 +1,27 @@
[Headers]
80
Tabella Chiavi Archivi Percentuali di Provvigione
1|@2g%s|Codice
1|@12g%s|Descrizione
[Rows]
1|CODTAB|@2g@2s
1|S0|@12g@50,ls
2|S3[1,1]|@12gChiave:@20g@44,lt
3|S3[2,2]|@21g@44,lt
4|S3[3,3]|@22g@44,lt
5|S3[4,4]|@23g@44,lt
[Footers]
1|
[Translations]
0|S3|C|-Cliente
0|S3|V|-Costo
0|S3|A|-Agente
0|S3|P|-Condizione di pagamento
0|S3|S|-Sconto
0|S3|Z|-Zona
0|S3|M|-Articolo di magazzino
0|S3|E|-Categoria merceologica
0|S3|R|-Sotto categoria merceologica
0|S3|F|-Raggruppamento fiscale

View File

@ -12,6 +12,7 @@
class TGestione_provv_app:public TApplication class TGestione_provv_app:public TApplication
{ {
TArray _files;
TMask *_msk; TMask *_msk;
TDocumento *_documento; TDocumento *_documento;
TLocalisamfile *_provv, TLocalisamfile *_provv,
@ -24,6 +25,7 @@ class TGestione_provv_app:public TApplication
bool _dirty; bool _dirty;
protected: protected:
void open_files(int logicnum, ...) ;
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG) ; virtual bool menu(MENU_TAG) ;
@ -48,6 +50,20 @@ public:
static inline TGestione_provv_app& app() { return (TGestione_provv_app&) main_app(); } static inline TGestione_provv_app& app() { return (TGestione_provv_app&) main_app(); }
static TString16 __current_key; static TString16 __current_key;
void TGestione_provv_app::open_files(int logicnum, ...)
{
va_list marker;
va_start(marker, logicnum);
while (logicnum > 0)
{
CHECKD(_files.objptr(logicnum) == NULL, "File gia' aperto: ", logicnum);
_files.add(new TLocalisamfile(logicnum), logicnum);
logicnum = va_arg(marker, int);
}
}
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
// Da fare : // Da fare :
// - Quando si elimina l'ultima riga dello spreadsheet si posiziona sulla prima senza // - Quando si elimina l'ultima riga dello spreadsheet si posiziona sulla prima senza
@ -377,6 +393,9 @@ bool TGestione_provv_app::doc_sheet_notify(TSheet_field& ds, int r, KEY key)
bool TGestione_provv_app::create() bool TGestione_provv_app::create()
{ {
open_files(LF_CONDV, LF_RCONDV, LF_ANAMAG, LF_SCONTI, LF_UMART,
LF_TABCOM, LF_CLIFO,LF_INDSP, LF_MOVMAG, LF_RMOVMAG,0);
_msk = new TMask("pr0700b") ; _msk = new TMask("pr0700b") ;
_provv = new TLocalisamfile(LF_PROVV); _provv = new TLocalisamfile(LF_PROVV);
_doc = new TLocalisamfile(LF_DOC); _doc = new TLocalisamfile(LF_DOC);

View File

@ -25,13 +25,13 @@ END
STRING F_AAGE 6 STRING F_AAGE 6
BEGIN BEGIN
PROMPT 2 9 " all'agente " PROMPT 2 9 " all'agente "
FLAGS "U" FLAGS "U"
COPY USE F_DAAGE COPY USE F_DAAGE
INPUT CODART F_AAGE INPUT CODAGE F_AAGE
COPY DISPLAY F_DAAGE COPY DISPLAY F_DAAGE
OUTPUT F_AAGE CODART OUTPUT F_AAGE CODAGE
GROUP G_CODAGE GROUP G_CODAGE
END END
STRING F_DADES 50 STRING F_DADES 50

33
pr/prinst.ini Executable file
View File

@ -0,0 +1,33 @@
[pr]
Data = 28-04-1998
Descrizione = Provvigioni Agenti
Dischi = 1
Moduli = ba,ve0,ve9,cg9
Patch = 14
PostProcess =
PreProcess =
Prezzo(1) = 450,150
Versione = 19980103
[pr1]
File(0) = pr01.bmp
File(1) = pr0700a.msk
File(2) = pr0700b.msk
File(3) = pr1300a.frm
File(4) = pr1300a.msk
File(5) = pr1400.msk
File(6) = pr1400a.frm
File(7) = prprassi.men
File(12) = pr1200a.msk
File(13) = pr1200a.frm
Patch = 14
Versione = 19980103
[pr9]
File(8) = recdesc\f123.dir
File(9) = recdesc\f123.trr
File(10) = recdesc\f124.dir
File(11) = recdesc\f124.trr
Patch = 14
Versione = 19980103

View File

@ -5,7 +5,7 @@ Module = 36
Flags = "" Flags = ""
Item_01 = "Archivi e tabelle", [PRASSIPR_002] Item_01 = "Archivi e tabelle", [PRASSIPR_002]
Item_02 = "Stampa archivi e tabelle", [PRASSIPR_003] Item_02 = "Stampa archivi e tabelle", [PRASSIPR_003]
Item_03 = "Provvigioni", "pr0 -6", "" Item_03 = "Provvigioni", "pr0 -6", "F"
Item_04 = "Stampa provvigioni", [PRASSIPR_004] Item_04 = "Stampa provvigioni", [PRASSIPR_004]
Item_05 = "Configurazione modulo", [PRASSIPR_010] Item_05 = "Configurazione modulo", [PRASSIPR_010]
@ -14,24 +14,24 @@ Caption = "Archivi e tabelle"
Picture = <pr01.bmp> Picture = <pr01.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_03 = "Archivio agenti", "pr0 -4", "" Item_03 = "Archivio agenti", "pr0 -4", "F"
Item_04 = "Archivio percentuali", "pr0 -5", "" Item_04 = "Archivio percentuali", "pr0 -5", "F"
[PRASSIPR_003] [PRASSIPR_003]
Caption = "Stampe archivi e tabelle" Caption = "Stampe archivi e tabelle"
Picture = <ba03.bmp> Picture = <ba03.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_06 = "Stampa archivio agenti", "pr1 -0", "" Item_06 = "Stampa archivio agenti", "pr1 -0", "F"
Item_07 = "Stampa archivio percentuali", "pr1 -1", "" Item_07 = "Stampa archivio percentuali", "pr1 -1", "F"
[PRASSIPR_004] [PRASSIPR_004]
Caption = "Stampe" Caption = "Stampe"
Picture = <ba03.bmp> Picture = <ba03.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_04 = "Stampa schede", "pr1 -2", "" Item_04 = "Stampa schede", "pr1 -2", "F"
Item_05 = "Stampa statistiche", "pr1 -3", "" Item_05 = "Stampa statistiche", "pr1 -3", "F"
[PRASSIPR_010] [PRASSIPR_010]
@ -39,4 +39,5 @@ Caption = "Configurazione modulo agenti"
Picture = <ba04.bmp> Picture = <ba04.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Struttura archivi percentuali", "pr0 -0 apr", "" Item_01 = "Struttura archivi percentuali", "pr0 -0 APR", "F"
Item_01 = "Stampa struttura archivi percentuali", "ba3 -1 APR", "F"

View File

@ -25,14 +25,23 @@ LIST F_FREQUENZA 1 15
BEGIN BEGIN
PROMPT 2 2 "Frequenza " PROMPT 2 2 "Frequenza "
ITEM "G|Giornaliera" ITEM "G|Giornaliera"
MESSAGE "X",1@ // Setta i campi di raggruppamento di base
ITEM "S|Settimanale" ITEM "S|Settimanale"
MESSAGE "X",1@
ITEM "Q|Quindicinale" ITEM "Q|Quindicinale"
MESSAGE "X",1@
ITEM "1|Mensile" ITEM "1|Mensile"
MESSAGE "X",1@
ITEM "2|Bimestrale" ITEM "2|Bimestrale"
MESSAGE "X",1@
ITEM "3|Trimestrale" ITEM "3|Trimestrale"
MESSAGE "X",1@
ITEM "4|Quadrimestrale" ITEM "4|Quadrimestrale"
MESSAGE "X",1@
ITEM "6|Semestrale" ITEM "6|Semestrale"
MESSAGE "X",1@
ITEM "A|Annuale" ITEM "A|Annuale"
MESSAGE "X",1@
FIELD Frequenza FIELD Frequenza
END END
@ -93,32 +102,42 @@ END
GROUPBOX DLG_NULL 76 7 GROUPBOX DLG_NULL 76 7
BEGIN BEGIN
PROMPT 1 14 "@bRaggruppamento statistiche" PROMPT 1 14 "@bSuddivisione statistiche"
END END
TEXT DLG_NULL BOOL DLG_NULL
BEGIN BEGIN
FLAG "D"
PROMPT 2 15 "Tipo documento" PROMPT 2 15 "Tipo documento"
GROUP 1
END END
TEXT DLG_NULL BOOL DLG_NULL
BEGIN BEGIN
FLAG "D"
PROMPT 2 16 "Anno solare" PROMPT 2 16 "Anno solare"
GROUP 1
END END
TEXT DLG_NULL BOOL DLG_NULL
BEGIN BEGIN
FLAG "D"
PROMPT 2 17 "Data documento" PROMPT 2 17 "Data documento"
GROUP 1
END END
TEXT DLG_NULL BOOL DLG_NULL
BEGIN BEGIN
FLAG "D"
PROMPT 2 18 "Articolo" PROMPT 2 18 "Articolo"
GROUP 1
END END
TEXT DLG_NULL BOOL DLG_NULL
BEGIN BEGIN
FLAG "D"
PROMPT 2 19 "Unita' di misura" PROMPT 2 19 "Unita' di misura"
GROUP 1
END END
BOOLEAN F_AGENTE BOOLEAN F_AGENTE

View File

@ -256,6 +256,7 @@ void TSchede_form::init(const TSheet_field& sheet)
class TStampa_schede : public TApplication class TStampa_schede : public TApplication
{ {
TArray _file; TArray _file;
char _clifo; // <C>lienti o <F>ornitori
char _tipo; // <D>ettagliata o <S>intetica char _tipo; // <D>ettagliata o <S>intetica
char _sort; // <F>attura o <A>rticolo char _sort; // <F>attura o <A>rticolo
char _prov; // <P>rovvisori o <D>efinitivi char _prov; // <P>rovvisori o <D>efinitivi
@ -292,6 +293,8 @@ public:
bool write_tab(TLocalisamfile& tab) const; bool write_tab(TLocalisamfile& tab) const;
bool write_totali_per_articolo(TLocalisamfile& tab); bool write_totali_per_articolo(TLocalisamfile& tab);
bool stampa_clienti() const { return _clifo == 'C'; }
bool stampa_fornitori() const { return _clifo == 'F'; }
bool stampa_sintetica() const { return _tipo == 'S'; } bool stampa_sintetica() const { return _tipo == 'S'; }
bool stampa_dettagliata() const { return _tipo == 'D'; } bool stampa_dettagliata() const { return _tipo == 'D'; }
bool stampa_per_articolo() const { return _sort == 'A'; } bool stampa_per_articolo() const { return _sort == 'A'; }
@ -385,8 +388,8 @@ bool TStampa_schede::fill_doc(TRectype& tab, const TDocumento& doc)
descr << " del " << doc.data(); descr << " del " << doc.data();
tab.put("S1", descr); tab.put("S1", descr);
put_real(tab, 0, doc.totale_netto(), TRUE, doc); put_real(tab, 0, doc.basesconto(), fc, TRUE, doc);
put_real(tab, 1, doc.totale_doc(), TRUE, doc); put_real(tab, 1, doc.totale_doc(), fc, TRUE, doc);
TSheet_field& sheet = _mask->sfield(F_SINTETICA); TSheet_field& sheet = _mask->sfield(F_SINTETICA);
TString_array& arr = sheet.rows_array(); TString_array& arr = sheet.rows_array();
@ -427,8 +430,16 @@ bool TStampa_schede::fill_rdoc(TRectype& tab, const TRiga_documento& rdoc)
fill_key(tab, rdoc); fill_key(tab, rdoc);
TString descr(80); TString descr(80);
descr << rdoc.get(RDOC_CODART) << ' '; if (stampa_per_articolo())
descr << rdoc.get(RDOC_DESCR); {
descr << doc.numerazione();
descr << ' ' << doc.numero();
descr << "," << doc.data();
descr << ':' << rdoc.get(RDOC_DESCR);
} else {
descr << rdoc.get(RDOC_CODART) << ' ';
descr << rdoc.get(RDOC_DESCR);
}
tab.put("S1", descr); tab.put("S1", descr);
put_real(tab, 0, rdoc.importo(TRUE, FALSE, 0), TRUE, doc); put_real(tab, 0, rdoc.importo(TRUE, FALSE, 0), TRUE, doc);
@ -470,13 +481,27 @@ void TStampa_schede::update_totriga(const TRectype& tab)
void TStampa_schede::fill_totriga(TRectype& tab) void TStampa_schede::fill_totriga(TRectype& tab)
{ {
TString80 descr;
tab.zero(); tab.zero();
tab.put("COD", "PRN"); tab.put("COD", "PRN");
tab.put("CODTAB", ++_progressivo); tab.put("CODTAB", ++_progressivo);
_lastkey.overwrite("9999", _lastkey.len()-4); _lastkey.overwrite("9999", _lastkey.len()-4);
tab.put("S0", _lastkey); tab.put("S0", _lastkey);
tab.put("S1", stampa_per_articolo() ? "Totale articolo" : "Totale documento"); if (stampa_per_articolo())
{
descr= "Totale articolo " ;
descr << _lastkey.left(20);
} else {
TDate ddoc;
ddoc.set_year(atoi(_lastkey.left(4)));
ddoc.set_month(atoi(_lastkey.mid(4,2)));
ddoc.set_day(atoi(_lastkey.mid(6,2)));
descr << "Totale documento " << _lastkey.mid(8,4) ;
descr << ' ' << atoi(_lastkey.mid(12,4));
descr << " del " << ddoc;
}
tab.put("S1", descr);
tab.put("B8", TRUE); // Riga totale tab.put("B8", TRUE); // Riga totale
for (int r = _totriga.last(); r >= 0; r--) for (int r = _totriga.last(); r >= 0; r--)
@ -566,7 +591,8 @@ bool TStampa_schede::stampa_clifo(TCursor& cur, const TString& ragsoc)
_progressivo = 0; _progressivo = 0;
bool can_print = TRUE; bool can_print = TRUE;
_form->find_field('H',odd_page,FF_TITOLO).set(stampa_clienti() ? "clienti" : "fornitori");;
for (cur = 0; cur.pos() < items && can_print; ++cur) for (cur = 0; cur.pos() < items && can_print; ++cur)
{ {
pi.addstatus(1); pi.addstatus(1);
@ -616,6 +642,17 @@ bool TStampa_schede::stampa_clifo(TCursor& cur, const TString& ragsoc)
if (can_print && tab->items() > 0) if (can_print && tab->items() > 0)
{ {
TForm_item & col1=_form->find_field('B',odd_page,FF_FIRSTCOLUMN);
TForm_item & col2=_form->find_field('B',odd_page,FF_SECONDCOLUMN);
if (stampa_sintetica())
{
col1.set_col_head("Base sconto");
col2.set_col_head("Totale");
} else {
col1.set_col_head("Netto scontato");
col2.set_col_head("Lordo scontato");
}
_form->genera_intestazioni( odd_page,8);
_form->print(); _form->print();
} }
@ -629,6 +666,7 @@ bool TStampa_schede::menu(MENU_TAG mt)
TSchede_mask& m = *_mask; TSchede_mask& m = *_mask;
while (m.run() != K_QUIT) while (m.run() != K_QUIT)
{ {
_clifo = m.get(SC_CLIFO)[0];
_tipo = m.get(F_TIPO)[0]; _tipo = m.get(F_TIPO)[0];
_sort = m.get(F_ORDINE)[0]; _sort = m.get(F_ORDINE)[0];
_prov = m.get(F_PROVVIS)[0]; _prov = m.get(F_PROVVIS)[0];

View File

@ -1,3 +1,4 @@
#include "sv1100a.h"
USE 5 KEY 2 USE 5 KEY 2
JOIN LF_CLIFO INTO TIPOCF=S8|CODCF=I8 JOIN LF_CLIFO INTO TIPOCF=S8|CODCF=I8
JOIN LF_COMUNI TO LF_CLIFO INTO STATO==STATOCF|COM==COMCF JOIN LF_COMUNI TO LF_CLIFO INTO STATO==STATOCF|COM==COMCF
@ -11,39 +12,45 @@ END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 1
FONT "Courier New" FONT "Courier New"
SIZE 7 SIZE 7
END END
SECTION HEADER ODD 8 SECTION HEADER ODD 9
NUMERO 1 NUMERO 1
BEGIN BEGIN
KEY "Pagina" KEY "Pagina"
PROMPT 70 1 "Pagina " PROMPT 70 2 "Pagina "
MESSAGE _PAGENO MESSAGE _PAGENO
END END
STRINGA FF_TITOLO
BEGIN
KEY "Pagina"
PROMPT 20 2 "Stampa schede "
END
STRINGA 3 STRINGA 3
BEGIN BEGIN
KEY "Codice cliente/fornitore" KEY "Codice cliente/fornitore"
PROMPT 2 2 "" PROMPT 2 3 ""
FIELD LF_CLIFO->CODCF FIELD LF_CLIFO->CODCF
END END
STRINGA 4 STRINGA 4
BEGIN BEGIN
KEY "Ragione sociale" KEY "Ragione sociale"
PROMPT 8 2 "" PROMPT 8 3 ""
FIELD LF_CLIFO->RAGSOC FIELD LF_CLIFO->RAGSOC
END END
STRINGA 5 STRINGA 5
BEGIN BEGIN
KEY "Indirizzo" KEY "Indirizzo"
PROMPT 2 3 "" PROMPT 2 4 ""
FLAGS "H" FLAGS "H"
FIELD LF_CLIFO->INDCF FIELD LF_CLIFO->INDCF
MESSAGE COPY,7 MESSAGE COPY,7
@ -52,7 +59,7 @@ END
STRINGA 6 STRINGA 6
BEGIN BEGIN
KEY "Numero civico" KEY "Numero civico"
PROMPT 52 3 "" PROMPT 52 4 ""
FLAGS "H" FLAGS "H"
FIELD LF_CLIFO->CIVCF FIELD LF_CLIFO->CIVCF
MESSAGE APPEND,7 MESSAGE APPEND,7
@ -61,27 +68,27 @@ END
STRINGA 7 STRINGA 7
BEGIN BEGIN
KEY "Indirizzo completo" KEY "Indirizzo completo"
PROMPT 2 3 "" PROMPT 2 4 ""
END END
STRINGA 8 STRINGA 8
BEGIN BEGIN
KEY "C.A.P." KEY "C.A.P."
PROMPT 2 4 "C.A.P. " PROMPT 2 5 "C.A.P. "
FIELD LF_CLIFO->CAPCF FIELD LF_CLIFO->CAPCF
END END
STRINGA 9 STRINGA 9
BEGIN BEGIN
KEY "Localita'" KEY "Localita'"
PROMPT 26 4 "" PROMPT 26 5 ""
FIELD LF_CLIFO->LOCALITACF FIELD LF_CLIFO->LOCALITACF
END END
STRINGA 10 STRINGA 10
BEGIN BEGIN
KEY "Comune" KEY "Comune"
PROMPT 2 5 "" PROMPT 2 6 ""
FLAGS "H" FLAGS "H"
FIELD LF_COMUNI->DENCOM FIELD LF_COMUNI->DENCOM
MESSAGE COPY,12 MESSAGE COPY,12
@ -90,7 +97,7 @@ END
STRINGA 11 STRINGA 11
BEGIN BEGIN
KEY "Provincia" KEY "Provincia"
PROMPT 52 5 "" PROMPT 52 6 ""
FLAGS "H" FLAGS "H"
FIELD LF_COMUNI->PROVCOM FIELD LF_COMUNI->PROVCOM
MESSAGE APPEND,12 MESSAGE APPEND,12
@ -99,14 +106,14 @@ END
STRINGA 12 STRINGA 12
BEGIN BEGIN
KEY "Comune completo" KEY "Comune completo"
PROMPT 2 5 "" PROMPT 2 6 ""
END END
END END
SECTION BODY ODD -2 COLUMNWISE SECTION BODY ODD -2 COLUMNWISE
STRINGA 101 25 2 STRINGA 101 40 2
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione" SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -116,9 +123,9 @@ BEGIN
FIELD S1 FIELD S1
END END
NUMERO 102 17 NUMERO FF_FIRSTCOLUMN 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Netto" "Netto" SPECIAL STRINGA INTESTAZIONE "Base sconto" "Base sconto"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Netto" KEY "Netto"
@ -127,7 +134,7 @@ BEGIN
FIELD R0 FIELD R0
END END
NUMERO 103 17 NUMERO FF_SECONDCOLUMN 17
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Totale" "Totale" SPECIAL STRINGA INTESTAZIONE "Totale" "Totale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -237,8 +244,7 @@ END
END // Fine body END // Fine body
SECTION FOOTER ODD 3 SECTION FOOTER ODD 2
END // Fine footer END // Fine footer
END // Fine Form END // Fine Form

View File

@ -16,5 +16,10 @@
#define S_HEAD 102 #define S_HEAD 102
#define S_DESCR 103 #define S_DESCR 103
#define S_IMPORTO 104 #define S_IMPORTO 104
#define S_CAMBIO 105
#define FF_TITOLO 2
#define FF_FIRSTCOLUMN 102
#define FF_SECONDCOLUMN 103
#endif #endif

View File

@ -106,6 +106,7 @@ END
STRING F_FROMNUM 4 STRING F_FROMNUM 4
BEGIN BEGIN
PROMPT 51 11 "Dalla numerazione " PROMPT 51 11 "Dalla numerazione "
FLAGS "U"
USE %NUM USE %NUM
INPUT CODTAB F_FROMNUM INPUT CODTAB F_FROMNUM
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
@ -118,6 +119,7 @@ END
STRING F_TONUM 4 STRING F_TONUM 4
BEGIN BEGIN
PROMPT 51 12 "Alla numerazione " PROMPT 51 12 "Alla numerazione "
FLAGS "U"
COPY USE F_FROMNUM COPY USE F_FROMNUM
INPUT CODTAB F_TONUM INPUT CODTAB F_TONUM
COPY DISPLAY F_FROMNUM COPY DISPLAY F_FROMNUM

View File

@ -424,12 +424,12 @@ protected:
virtual bool set_print(int i); virtual bool set_print(int i);
virtual void set_page(int file, int count); virtual void set_page(int file, int count);
virtual bool preprocess_print(int file, int counter) ;
virtual print_action postprocess_print(int file, int counter); virtual print_action postprocess_print(int file, int counter);
virtual bool preprocess_page(int file, int counter); virtual bool preprocess_page(int file, int counter);
virtual print_action postprocess_page(int file, int counter); virtual print_action postprocess_page(int file, int counter);
virtual void preprocess_header(); virtual void preprocess_header();
virtual void preprocess_footer(); virtual void preprocess_footer();
virtual void postclose_print() ;
virtual void on_config_change(); virtual void on_config_change();
@ -494,8 +494,9 @@ print_action TStampa_stat::postprocess_page(int file, int count)
bool TStampa_stat::set_print(int i) bool TStampa_stat::set_print(int i)
{ {
bool ok=printmask().run() != K_QUIT;
if (printmask().run() == K_QUIT)
return FALSE;
_st_totr=printmask().get_bool(F_STTOTALIRIGA); _st_totr=printmask().get_bool(F_STTOTALIRIGA);
_st_totc=printmask().get_bool(F_STTOTALICOL); _st_totc=printmask().get_bool(F_STTOTALICOL);
_st_tota=printmask().get_bool(F_STTOTALIANNO); _st_tota=printmask().get_bool(F_STTOTALIANNO);
@ -503,7 +504,8 @@ bool TStampa_stat::set_print(int i)
_numcol_dati = selmask().get_int(F_PERIODO); _numcol_dati = selmask().get_int(F_PERIODO);
_col_anno =min(_numcol_dati,printmask().get_int(F_COLANNO)); //numero di colonne che formano un "Anno" _col_anno =min(_numcol_dati,printmask().get_int(F_COLANNO)); //numero di colonne che formano un "Anno"
_numcol = _numcol_dati+ (_st_tota ? int((_numcol_dati -1)/_col_anno+1) : 0); _numcol = _numcol_dati+ (_st_tota ? int((_numcol_dati -1)/_col_anno+1) : 0);
_pagewidth=POS_PRIMACOL+int((printer().formwidth()-POS_PRIMACOL)/_largcol)*_largcol; // _pagewidth=POS_PRIMACOL+int((printer().formwidth()-POS_PRIMACOL)/_largcol)*_largcol;
_pagewidth=POS_PRIMACOL+int((printer().calc_num_cols()-POS_PRIMACOL)/_largcol)*_largcol;
// reset delle variabili per la gestione di gruppi ai vari livelli // reset delle variabili per la gestione di gruppi ai vari livelli
_colpage=1; _colpage=1;
@ -514,14 +516,16 @@ bool TStampa_stat::set_print(int i)
reset_header(); reset_header();
reset_footer(); reset_footer();
printer().footerlen(2); printer().footerlen(3);
return (ok); return (TRUE);
} }
void TStampa_stat::postclose_print() bool TStampa_stat::preprocess_print(int file, int counter)
{ {
// _pagewidth=POS_PRIMACOL+int((printer().formwidth()-POS_PRIMACOL)/_largcol)*_largcol;
return TRUE;
} }
void TStampa_stat::preprocess_footer() void TStampa_stat::preprocess_footer()
@ -538,6 +542,7 @@ void TStampa_stat::preprocess_header()
// ***************** // *****************
// header // header
set_header(++row,""); set_header(++row,"");
set_header(++row,"");
if (selmask().get(F_DESCR).empty()) if (selmask().get(F_DESCR).empty())
set_row_atpos('H',++row,"@bStampa statistiche ",0); set_row_atpos('H',++row,"@bStampa statistiche ",0);
else else
@ -576,7 +581,8 @@ void TStampa_stat::preprocess_header()
set_header(++row,""); set_header(++row,"");
// ***************** // *****************
// background // background
_wrk_row.format("P0W1l(1,1,%d,1)l(1,3,%d,3)l(1,%d,%d,%d)",_pagewidth,_pagewidth,row,_pagewidth,row); const int lasthline=(printmask().get_bool(F_STRAFFRONTO )? 5 :4);
_wrk_row.format("PnW1l(1,2,%d,2)l(1,%d,%d,%d)l(1,%d,%d,%d)",_pagewidth,lasthline,_pagewidth,lasthline,row,_pagewidth,row);
row++; row++;
for (c=0; c < _numcol; c++) // colonne for (c=0; c < _numcol; c++) // colonne
{ {
@ -941,6 +947,7 @@ bool TStampa_stat::user_create()
_liv_art = new TCodart_livelli; _liv_art = new TCodart_livelli;
_liv_giac = new TCodgiac_livelli; _liv_giac = new TCodgiac_livelli;
_magazz = new TRecord_cache("MAG");
_ums = new TRecord_cache("%UMS"); _ums = new TRecord_cache("%UMS");
_tipodoc = new TRecord_cache("%NUM"); _tipodoc = new TRecord_cache("%NUM");
_catven = new TRecord_cache("CVE"); _catven = new TRecord_cache("CVE");
@ -962,17 +969,22 @@ bool TStampa_stat::user_create()
set_real_picture(""); set_real_picture("");
return TRUE; return TRUE;
} }
bool TStampa_stat::user_destroy() bool TStampa_stat::user_destroy()
{ {
// maschere
delete _msk; delete _msk;
delete _print_msk; delete _print_msk;
delete _export_msk; delete _export_msk;
// livelli di codice
delete _liv_art; delete _liv_art;
delete _liv_giac; delete _liv_giac;
// cancella le cache // cancella le cache
delete _ums; delete _ums;
delete _magazz;
delete _tipodoc;
delete _catven;
delete _zone;
// cancella i files // cancella i files
delete _umart; delete _umart;
delete _anamag; delete _anamag;
@ -1510,7 +1522,7 @@ void TStampa_stat::set_printmask()
TMask_field & flfl=printmask().field(F_FLAGSTOTALI+f+1); TMask_field & flfl=printmask().field(F_FLAGSTOTALI+f+1);
if (f<nlivelli ) if (f<nlivelli )
{ {
nomeliv="Stampa totale "; nomeliv="Stampo totale ";
nomeliv << partkey_name(mp.sfield(F_CHIAVE).cell(f,mp.sfield(F_CHIAVE).cid2index(S_CAMPO))); nomeliv << partkey_name(mp.sfield(F_CHIAVE).cell(f,mp.sfield(F_CHIAVE).cid2index(S_CAMPO)));
flfl.set_prompt(nomeliv); flfl.set_prompt(nomeliv);
flfl.show(); flfl.show();
@ -1597,15 +1609,29 @@ const TString& TStampa_stat::partkey_name(const char *lev_code)
} }
// strippa gli spazi dal codice di questo livello
// toglie il carattere 'C' o 'F' dal codice clientefor e lo mette come codice di livello
void TStampa_stat::adjust_record(TRectype &strec, int from) const void TStampa_stat::adjust_record(TRectype &strec, int from) const
{ {
char lev_code=strec.get_char(SVS_LEVCODE); char lev_code=strec.get_char(SVS_LEVCODE);
if (lev_code==CHR_CLIFOR) if (lev_code==CHR_CLIFOR)
{ {
TString &s =(TString &)strec.get(SVS_CODICE).mid(from); TString codprec=strec.get(SVS_CODICE).left(from);
TString &s = (TString &)strec.get(SVS_CODICE).mid(from);
while ((lev_code=s.shift())==' '); while ((lev_code=s.shift())==' ');
strec.put(SVS_CODICE,s); codprec << s;
strec.put(SVS_LEVCODE,lev_code); strec.put(SVS_LEVCODE,lev_code);
strec.put(SVS_CODICE,codprec);
} else {
if (from)
{
TString codprec=strec.get(SVS_CODICE).left(from);
TString &s = (TString &)strec.get(SVS_CODICE).mid(from);
while ((lev_code=s.shift())==' ');
codprec << lev_code << s;
strec.put(SVS_CODICE,codprec);
}
} }
} }
@ -1919,6 +1945,34 @@ bool TStampa_stat::chiave_notify(TSheet_field& s, int r, KEY k)
bool ok = TRUE; bool ok = TRUE;
if (k == K_INS) if (k == K_INS)
ok = s.items() < MAX_ROWS; ok = s.items() < MAX_ROWS;
else if (k == K_CTRL+ K_INS)
s.row(r).add("X",1);
else if (k == K_CTRL+ K_TAB)
{
const int maxr=s.items();
// elimina il flag calcolo totali
if (r<maxr)
{
if (*s.row(r).get(1)!=' ')
{
// posso tenere abilitato il totale?
if (r>0 && *s.row(r-1).get(1)==' ')
{
s.row(r).add(" ",1);
s.force_update(r);
}
} else {
// disabilito i totale seguenti
for (r++;r < maxr; r++)
if (*s.row(r).get(1)!=' ')
{
s.row(r).add(" ",1);
s.force_update(r);
}
}
}
}
return ok; return ok;
} }

View File

@ -215,7 +215,7 @@ END
BOOLEAN S_TOTALE BOOLEAN S_TOTALE
BEGIN BEGIN
PROMPT 40 1 "Totale" PROMPT 40 1 "Calcola totale"
END END
STRING S_DESCR 50 STRING S_DESCR 50

40
sv/svinst.ini Executable file
View File

@ -0,0 +1,40 @@
[sv]
Data = 02-04-1998
Descrizione = Statistiche di Vendita
Dischi = 1
Moduli = ve
Patch = 304
PostProcess =
PreProcess =
Prezzo(1) = 900,300
Versione = 19980102
[sv1]
File(0) = sv0.exe|X
File(1) = sv01.bmp
File(2) = sv0400a.msk|X
File(3) = sv1.exe|X
File(4) = sv1100a.frm|X
File(5) = sv1100a.msk|X
File(6) = sv1200a.msk|X
File(7) = sv1200b.msk|X
File(8) = sv1200c.msk|X
File(9) = sv2.exe|X
File(10) = sv2100a.msk|X
File(11) = svprassi.men
File(12) = svtbpsv.msk|X
Patch = 304
Versione = 19980102
[sv2]
File(13) = recdesc\f87.dir
File(14) = recdesc\f87.trr
Patch = 304
Versione = 19980102
[sv9]
File(15) = recdesc\f86.dir
File(16) = recdesc\f86.trr
Patch = 304
Versione = 19980102

View File

@ -14,15 +14,15 @@ Caption = "Generazione statistiche"
Picture = <sv01.bmp> Picture = <sv01.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_02 = "Statistiche personalizzate", "sv1 -1","" Item_02 = "Statistiche personalizzate", "sv1 -1", "F"
Item_03 = "Schede di vendita", "sv1 -0","" Item_03 = "Schede di vendita", "sv1 -0", "F"
[PRASSISV_020] [PRASSISV_020]
Caption = "Tabelle" Caption = "Tabelle"
Picture = <sv01.bmp> Picture = <sv01.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Statistiche personalizzate", "sv0 -0 PSV","" Item_01 = "Statistiche personalizzate", "sv0 -0 PSV", "F"
[PRASSISV_030] [PRASSISV_030]
Caption = "Stampa tabelle" Caption = "Stampa tabelle"
@ -36,7 +36,7 @@ Caption = "Servizi"
Picture = <sv01.bmp> Picture = <sv01.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Ricalcolo archivio statistiche", "sv2 -0", "" Item_01 = "Ricalcolo archivio statistiche", "sv2 -0", "F"
[PRASSISV_040] [PRASSISV_040]
@ -44,7 +44,7 @@ Caption = "Configurazione"
Picture = <ba04.bmp> Picture = <ba04.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Configurazione statistiche", "sv0 -3", "" Item_01 = "Configurazione statistiche", "sv0 -3", "F"
Item_02 = "Configurazione documenti", [PRASSISV_041] Item_02 = "Configurazione documenti", [PRASSISV_041]
@ -53,12 +53,12 @@ Caption = "Tabelle personalizzazione documenti"
Picture = <ba04.bmp> Picture = <ba04.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Tipo documento", "ba3 -0 %TIP", "" Item_01 = "Tipo documento", "ba3 -0 %TIP", "F"
Item_02 = "Numerazione documenti", "ba3 -0 %NUM", "" Item_02 = "Numerazione documenti", "ba3 -0 %NUM", "F"
Item_03 = "Tipo riga documento", "ba3 -0 %TRI", "" Item_03 = "Tipo riga documento", "ba3 -0 %TRI", "F"
Item_04 = "Formule documento", "ba3 -0 %FRD", "" Item_04 = "Formule documento", "ba3 -0 %FRD", "F"
Item_05 = "Formule righe documento", "ba3 -0 %FRR", "" Item_05 = "Formule righe documento", "ba3 -0 %FRR", "F"
Item_06 = "Formule ricalcolo magazzino", "ba3 -0 %FRM", "" Item_06 = "Formule ricalcolo magazzino", "ba3 -0 %FRM", "F"
Item_07 = "Elaborazioni differite", "ba3 -0 %ELD", "" Item_07 = "Elaborazioni differite", "ba3 -0 %ELD", "F"
Item_08 = "Stati documento", "ba3 -0 %STD", "" Item_08 = "Stati documento", "ba3 -0 %STD", "F"