Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Riportata la versione 98.01.03pl040 sul main trunk


git-svn-id: svn://10.65.10.50/trunk@6699 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1998-05-27 13:41:48 +00:00
parent bd1109f598
commit 740a06d957
50 changed files with 8330 additions and 8342 deletions

View File

@ -969,6 +969,8 @@ bool TFascicolator_mask::import_export_handler(TMask_field& f, KEY k)
if (ok)
{
path = fs.dir.path;
path.add(fs.name);
if (is_export)
{
TInstall_ini inst;

View File

@ -1,13 +1,18 @@
[ba]
Data = 10-04-1998
Data = 08-05-1998
Descrizione = Base
Dischi = 1
Moduli =
Patch = 304
Patch = 22
PostProcess =
PreProcess =
Prezzo(1) = 500,180
Versione = 19980102
Prezzo(1) = 500,175
Prezzo(2) = 150,60
Prezzo(3) = 100,40
Prezzo(5) = 80,30
Prezzo(9) = 50,20
Prezzo(30) = 30,10
Versione = 19980103
[ba0]
File(0) = ba00.bmp
@ -18,8 +23,8 @@ File(4) = ba04.bmp
File(5) = ba05.bmp
File(6) = ba06.bmp
File(7) = baprassi.men
Patch = 304
Versione = 19980102
Patch = 22
Versione = 19980103
[ba1]
File(8) = ba0.exe
@ -92,115 +97,117 @@ File(74) = bagn002.msk
File(75) = bagn004.msk
File(76) = bagn005.msk
File(77) = bagn006.msk
File(78) = bainst.exe
File(79) = bainst01.msk
File(80) = bainst02.msk
File(81) = bastais.msk
File(82) = bastban.msk
File(83) = bastclr.msk
File(84) = bastcpg.msk
File(85) = bastcrs.msk
File(86) = bastitl.msk
File(87) = bastiva.msk
File(88) = bastlng.msk
File(89) = bastois.msk
File(90) = baststa.msk
File(91) = baststt.msk
File(92) = bastucc.msk
File(93) = bastucs.msk
File(94) = bastues.msk
File(95) = bastuid.msk
File(96) = bastuiv.msk
File(97) = basture.msk
File(98) = bastuue.msk
File(99) = bastval.msk
File(100) = batbais.msk
File(101) = batbais.rpt
File(102) = batbban.msk
File(103) = batbban.rpt
File(104) = batbclr.msk
File(105) = batbclr.rpt
File(106) = batbcpg.msk
File(107) = batbcpg.rpt
File(108) = batbcrs.msk
File(109) = batbcrs.rpt
File(110) = batbitl.msk
File(111) = batbitl.rpt
File(112) = batbiva.msk
File(113) = batbiva.rpt
File(114) = batblng.msk
File(115) = batblng.rpt
File(116) = batbois.msk
File(117) = batbois.rpt
File(118) = batbrgi.msk
File(119) = batbsta.msk
File(120) = batbsta.rpt
File(121) = batbstt.msk
File(122) = batbstt.rpt
File(123) = batbucc.msk
File(124) = batbucc.rpt
File(125) = batbucs.msk
File(126) = batbucs.rpt
File(127) = batbues.msk
File(128) = batbues.rpt
File(129) = batbuid.msk
File(130) = batbuid.rpt
File(131) = batbuiv.msk
File(132) = batbuiv.rpt
File(133) = batbure.msk
File(134) = batbure.rpt
File(135) = batbuue.msk
File(136) = batbuue.rpt
File(137) = batbval.msk
File(138) = batbval.rpt
File(139) = fconv.ini
File(140) = prassi.aut
File(141) = prassi.hlp
File(142) = prassice.men
File(143) = prassid.ini
File(144) = prassis.ini
File(145) = unzip.pif
File(146) = unzip32.exe
File(147) = zip.pif
File(148) = zip386.bat
File(149) = zip386.exe
File(182) = skeylink.dll|X
Patch = 304
Versione = 19980102
File(78) = bainst.exe|X
File(79) = bainst01.msk|X
File(80) = bainst02.msk|X
File(81) = bainst03.msk|X
File(82) = bainst04.msk|X
File(83) = bainst05.msk|X
File(84) = bastais.msk
File(85) = bastban.msk
File(86) = bastclr.msk
File(87) = bastcpg.msk
File(88) = bastcrs.msk
File(89) = bastitl.msk
File(90) = bastiva.msk
File(91) = bastlng.msk
File(92) = bastois.msk
File(93) = baststa.msk
File(94) = baststt.msk
File(95) = bastucc.msk
File(96) = bastucs.msk
File(97) = bastues.msk
File(98) = bastuid.msk
File(99) = bastuiv.msk
File(100) = basture.msk
File(101) = bastuue.msk
File(102) = bastval.msk
File(103) = batbais.msk
File(104) = batbais.rpt
File(105) = batbban.msk
File(106) = batbban.rpt
File(107) = batbclr.msk
File(108) = batbclr.rpt
File(109) = batbcpg.msk
File(110) = batbcpg.rpt
File(111) = batbcrs.msk
File(112) = batbcrs.rpt
File(113) = batbitl.msk
File(114) = batbitl.rpt
File(115) = batbiva.msk
File(116) = batbiva.rpt
File(117) = batblng.msk
File(118) = batblng.rpt
File(119) = batbois.msk
File(120) = batbois.rpt
File(121) = batbrgi.msk
File(122) = batbsta.msk
File(123) = batbsta.rpt
File(124) = batbstt.msk
File(125) = batbstt.rpt
File(126) = batbucc.msk
File(127) = batbucc.rpt
File(128) = batbucs.msk
File(129) = batbucs.rpt
File(130) = batbues.msk
File(131) = batbues.rpt
File(132) = batbuid.msk
File(133) = batbuid.rpt
File(134) = batbuiv.msk
File(135) = batbuiv.rpt
File(136) = batbure.msk
File(137) = batbure.rpt
File(138) = batbuue.msk
File(139) = batbuue.rpt
File(140) = batbval.msk
File(141) = batbval.rpt
File(142) = fconv.ini
File(143) = prassi.aut
File(144) = prassi.hlp
File(145) = prassice.men
File(146) = prassid.ini
File(147) = prassis.ini
File(148) = unzip.pif
File(149) = unzip32.exe
File(150) = zip.pif
File(151) = zip386.bat
File(152) = zip386.exe
Patch = 22
Versione = 19980103
[ba2]
File(150) = recdesc\f10.dir
File(151) = recdesc\f10.trr
File(152) = recdesc\f105.dir
File(153) = recdesc\f105.trr
File(154) = recdesc\f11.dir
File(155) = recdesc\f11.trr
File(156) = recdesc\f12.dir
File(157) = recdesc\f12.trr
File(158) = recdesc\f13.dir
File(159) = recdesc\f13.trr
File(160) = recdesc\f15.dir
File(161) = recdesc\f15.trr
File(162) = recdesc\f2.dir
File(163) = recdesc\f2.trr
File(164) = recdesc\f3.dir
File(165) = recdesc\f3.trr
File(166) = recdesc\f4.dir
File(167) = recdesc\f4.trr
File(168) = recdesc\f5.dir
File(169) = recdesc\f5.trr
File(170) = recdesc\f50.dir
File(171) = recdesc\f50.trr
File(172) = recdesc\f54.dir
File(173) = recdesc\f54.trr
File(174) = recdesc\f6.dir
File(175) = recdesc\f6.trr
File(176) = recdesc\f7.dir
File(177) = recdesc\f7.trr
File(178) = recdesc\f8.dir
File(179) = recdesc\f8.trr
File(180) = recdesc\f9.dir
File(181) = recdesc\f9.trr
Patch = 304
Versione = 19980102
File(153) = recdesc\f10.dir
File(154) = recdesc\f10.trr
File(155) = recdesc\f105.dir
File(156) = recdesc\f105.trr
File(157) = recdesc\f11.dir
File(158) = recdesc\f11.trr
File(159) = recdesc\f12.dir
File(160) = recdesc\f12.trr
File(161) = recdesc\f13.dir
File(162) = recdesc\f13.trr
File(163) = recdesc\f15.dir
File(164) = recdesc\f15.trr
File(165) = recdesc\f2.dir
File(166) = recdesc\f2.trr
File(167) = recdesc\f3.dir
File(168) = recdesc\f3.trr
File(169) = recdesc\f4.dir
File(170) = recdesc\f4.trr
File(171) = recdesc\f5.dir
File(172) = recdesc\f5.trr
File(173) = recdesc\f50.dir
File(174) = recdesc\f50.trr
File(175) = recdesc\f54.dir
File(176) = recdesc\f54.trr
File(177) = recdesc\f6.dir
File(178) = recdesc\f6.trr
File(179) = recdesc\f7.dir
File(180) = recdesc\f7.trr
File(181) = recdesc\f8.dir
File(182) = recdesc\f8.trr
File(183) = recdesc\f9.dir
File(184) = recdesc\f9.trr
Patch = 22
Versione = 19980103

58
ba/bainst05.cpp Executable file
View File

@ -0,0 +1,58 @@
#include <applicat.h>
#include <mask.h>
#include <config.h>
#include <utility.h>
#include <execp.h>
#include "bainst05.h"
class TInstall_VE : public TSkeleton_application
{
TMask * _m;
protected:
virtual void main_loop() ;
virtual bool install_firm() ; // setta i dati ditta
virtual bool install_com() ; // setta i dati comuni
public:
virtual ~TInstall_VE () {}
};
// setta i dati ditta
bool TInstall_VE ::install_firm()
{
// ciclo su ogni ditta
return TRUE;
}
bool TInstall_VE ::install_com()
{
bool ok=TRUE;
if (_m->get_bool(F_LOADTAB))
{
TExternal_app rice("bacnv 1 4 vetab.txt");
ok &= (rice.run()==0);
}
return ok;
}
void TInstall_VE::main_loop()
{
TConfig ini("install.ini","ve");
const bool primainst=ini.get("Versione").blank();
_m = new TMask ("bainst05.msk");
if (primainst)
_m->set(F_LOADTAB,"X");
if (_m->run()!=K_QUIT)
{
install_firm();
install_com();
}
}
int bainst05(int argc, char** argv)
{
TInstall_VE app;
app.run(argc, argv, "Installazione Vendite");
return 0;
}

4
ba/bainst05.h Executable file
View File

@ -0,0 +1,4 @@
#define F_LOADTAB 101
#define G_PREINST 1
#define G_POSTINST 2
#define G_DITTA 3

30
ba/bainst05.uml Executable file
View File

@ -0,0 +1,30 @@
#include "bainst05.h"
TOOLBAR "" 0 20 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -11 -1 "~Conferma"
MESSAGE EXIT,K_ENTER
PICTURE BMP_OK
END
ENDPAGE
PAGE "Installazione VE" -1 -1 78 8
// GROUP 1 = PRE-INSTALLATION
// GROUP 2 = POST-INSTALLATION
BOOL F_LOADTAB
BEGIN
PROMPT 2 4 "Carica le tabelle con i tipi documento"
END
/*GROUPBOX DLG_NULL 60 4
BEGIN
FLAG "H"
PROMPT 2 4 " Installazione dati ditta"
GROUP G_POSTINST
END
*/
ENDPAGE
ENDMASK

View File

@ -733,9 +733,9 @@ void TPrintclifo_app::set_vendite(int f, int c)
set_header(3, (const char *)(TString(132).fill('-')));
set_header(4," Codice Ragione sociale");
set_header(5,"@9gNote Cli/For @25gLegale per contenz. @46gCat.Finanziaria @63gCat.Vendita @76gAss.Fiscale @93gZona @101gAgente @112gProvvigione");
set_header(6,"@9gCod.Listino @25gCod. Magazzino @46gSpese da Addeb. @63gBolli @76gSpese incasso @93gBolli sup. 50.000");
set_header(6,"@9gCod.Listino @25gCod. Magazzino @46gSpese da Addeb. @63gBolli @76gSpese incasso" );
set_header(7,"@9gCli/For ass. @25gCod. Meccanografico @46gGest. Contratto @63gRid. Iva @76gUltimo sollecito @93gUltimo estr. conto @112gTitolo onorifico");
set_header(8,"@9gSconto cliente @25gSconto di riga @46gSconto incond. @63gFatt. Sosp. @76gVs. Lettera Esenzione @112gNs. Lettera Esenz.");
set_header(8,"@9gSconto @46gSconto Cliente@63gFatt. Sosp. @76gVs. Lettera Esenzione @112gNs. Lettera Esenz.");
set_header(9,"@9gCod. ABI p.e. @25gCod. CAB p.e. @46gInd. Effetti @63gEmiss. Eff. @76gImporto Minimo @93gEffetti non acc. @112gScadenza effetti");
set_header(10,"@9gInd.Documento @25gInd. Spedizione @46gNote Documento @63gCod.Mezzo @76gPorto @93gVettori");
set_header(11,"@9gRaggr. ordini @25gImporto Minimo @46gImporto Massimo @63gPriorita ev. @76gTipo Evasione");
@ -750,12 +750,12 @@ void TPrintclifo_app::set_vendite(int f, int c)
FLD(LF_CFVEN,CFV_ASSFIS),FLD(LF_CFVEN,CFV_CODZONA),
FLD(LF_CFVEN,CFV_CODAG),FLD(LF_CFVEN,CFV_PERCPROVV));
set_row(3,"@9g@5s @25g@3s @46g@3s @3s @3s @3s @63g@f @76g@n @93g@f",
set_row(3,"@9g@5s @25g@3s @46g@3s @3s @3s @3s @63g@f @76g@n ",
FLD(LF_CFVEN,CFV_CODLIST),FLD(LF_CFVEN,CFV_CODMAG),
FLD(LF_CFVEN,CFV_CODSP1),FLD(LF_CFVEN,CFV_CODSP2),
FLD(LF_CFVEN,CFV_CODSP3),FLD(LF_CFVEN,CFV_CODSP4),
FLD(LF_CFVEN,CFV_ADDBOLLI),
FLD(LF_CFVEN,CFV_PERCSPINC),FLD(LF_CFVEN,CFV_ADDBNS1500));
FLD(LF_CFVEN,CFV_PERCSPINC));
set_row(4,"@9g@pn @25g@s @46g@f @63g@f @76g@d @93g@d @112g@2s",
FLD(LF_CFVEN,CFV_CODCFASS,"@@@@@@"),
@ -763,9 +763,9 @@ void TPrintclifo_app::set_vendite(int f, int c)
FLD(LF_CFVEN,CFV_IVARID),FLD(LF_CFVEN,CFV_DATAESC),
FLD(LF_CFVEN,CFV_DATASOLL),FLD(LF_CFVEN,CFV_TITOLO));
set_row(5,"@9g@n @25g@15s @46g@2s @63g@f @76g@s del @d @112g@s del @d",
FLD(LF_CFVEN,CFV_SCONTOCL),FLD(LF_CFVEN,CFV_SCONTOR),
FLD(LF_CFVEN,CFV_CODSCINC),FLD(LF_CFVEN,CFV_FATTSOSP),
set_row(5,"@9g@25s @46g@4s @63g@f @76g@s del @d @112g@s del @d",
FLD(LF_CFVEN,CFV_SCONTO),
FLD(LF_CFVEN,CFV_CODSCC),FLD(LF_CFVEN,CFV_FATTSOSP),
FLD(LF_CFVEN,CFV_VSNRPROT),FLD(LF_CFVEN,CFV_VSDATAREG),
FLD(LF_CFVEN,CFV_NSNPROT),FLD(LF_CFVEN,CFV_NSDATAREG));

View File

@ -1,23 +1,28 @@
[cg]
Data = 01-04-1998
Data = 08-05-1998
Descrizione = Contabilita' Generale
Dischi = 1
Moduli = ba
Patch = 304
Patch = 25
PostProcess = bainst -0 CG
PreProcess =
Prezzo(1) = 1000,350
Versione = 19980102
Prezzo(2) = 300,110
Prezzo(3) = 200,70
Prezzo(5) = 150,60
Prezzo(9) = 100,40
Prezzo(30) = 50,20
Versione = 19980103
[cg0]
File(0) = cg00.bmp
File(1) = cgarea.men
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[cg1]
File(2) = ab0.exe|X
File(3) = ab0200a.msk|X
File(2) = ab0.exe
File(3) = ab0200a.msk
File(4) = bastcfi.msk
File(5) = bastdpn.msk
File(6) = bastivd.msk
@ -34,14 +39,14 @@ File(16) = batbivd.msk
File(17) = batbivd.rpt
File(18) = batblbu.msk
File(19) = batblia.msk
File(20) = batbpdb.msk|X
File(20) = batbpdb.msk
File(21) = batbtra.msk
File(22) = batbver.msk
File(23) = batbver.rpt
File(24) = cb0000.exe
File(25) = cg01.bmp
File(26) = cg0500a.msk
File(27) = cg2.exe
File(27) = cg2.exe|X
File(28) = cg2100a.msk
File(29) = cg2100b.msk
File(30) = cg2100c.msk
@ -131,8 +136,8 @@ File(113) = dummy.mdb
File(114) = pec.frm
File(115) = trrice.exe
File(116) = vcopia.exe
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[cg2]
File(117) = recdesc\f103.dir
@ -159,93 +164,93 @@ File(137) = recdesc\f29.dir
File(138) = recdesc\f29.trr
File(139) = recdesc\f30.dir
File(140) = recdesc\f30.trr
File(141) = recdesc\f78.dir|X
File(142) = recdesc\f78.trr|X
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[cg9]
File(143) = bastcam.msk
File(144) = bastcco.msk
File(145) = bastcve.msk
File(146) = bastesc.msk
File(147) = bastleg.msk
File(148) = bastmag.msk
File(149) = bastmsp.msk
File(150) = bastndo.msk
File(151) = bastnot.msk
File(152) = bastpor.msk
File(153) = bastreg.msk
File(154) = bastscc.msk
File(155) = bastspp.msk
File(156) = basttit.msk
File(157) = basttri.msk
File(158) = bastums.msk
File(159) = bastvet.msk
File(160) = bastzon.msk
File(161) = batbcam.msk
File(162) = batbcam.rpt
File(163) = batbcco.msk
File(164) = batbcco.rpt
File(165) = batbcve.msk
File(166) = batbcve.rpt
File(167) = batbesc.msk
File(168) = batbesc.rpt
File(169) = batbleg.msk
File(170) = batbleg.rpt
File(171) = batbmsp.msk
File(172) = batbmsp.rpt
File(173) = batbndo.msk
File(174) = batbndo.rpt
File(175) = batbnot.msk
File(176) = batbnot.rpt
File(177) = batbpor.msk
File(178) = batbpor.rpt
File(179) = batbreg.msk
File(180) = batbreg.rpt
File(181) = batbscc.msk
File(182) = batbscc.rpt
File(183) = batbspp.msk
File(184) = batbspp.rpt
File(185) = batbtit.msk
File(186) = batbtit.rpt
File(187) = batbtri.msk
File(188) = batbtri.rpt
File(189) = batbums.msk
File(190) = batbums.rpt
File(191) = batbvet.msk
File(192) = batbvet.rpt
File(193) = batbzon.msk
File(194) = batbzon.rpt
File(195) = cg0.exe
File(196) = cg0100a.msk
File(197) = cg0200a.msk|X
File(198) = cg0200b.msk
File(199) = cg0300a.msk
File(200) = cg0400a.msk
File(201) = cg0400b.msk
File(202) = cg1.exe
File(203) = cg1100a.msk
File(204) = cg1200a.msk
File(205) = cg1200b.msk
File(206) = cg1300a.msk
File(207) = cg1300b.msk
File(208) = cg1300c.msk
File(209) = cg1300d.msk
File(210) = cg1400a.msk
File(211) = cg1500a.msk
File(212) = cg1600a.msk
File(213) = cg1700a.msk
File(214) = recdesc\f16.dir
File(215) = recdesc\f16.trr
File(216) = recdesc\f17.dir
File(217) = recdesc\f17.trr
File(218) = recdesc\f18.dir
File(219) = recdesc\f18.trr
File(220) = recdesc\f19.dir
File(221) = recdesc\f19.trr
File(222) = recdesc\f20.dir|X
File(223) = recdesc\f20.trr|X
Patch = 304
Versione = 19980102
File(141) = bastcam.msk
File(142) = bastcco.msk
File(143) = bastcve.msk
File(144) = bastesc.msk
File(145) = bastleg.msk
File(146) = bastmag.msk
File(147) = bastmsp.msk
File(148) = bastndo.msk
File(149) = bastnot.msk
File(150) = bastpor.msk
File(151) = bastreg.msk
File(152) = bastscc.msk
File(153) = bastspp.msk
File(154) = basttit.msk
File(155) = basttri.msk
File(156) = bastums.msk
File(157) = bastvet.msk
File(158) = bastzon.msk
File(159) = batbcam.msk
File(160) = batbcam.rpt
File(161) = batbcco.msk
File(162) = batbcco.rpt
File(163) = batbcve.msk
File(164) = batbcve.rpt
File(165) = batbesc.msk
File(166) = batbesc.rpt
File(167) = batbleg.msk
File(168) = batbleg.rpt
File(169) = batbmsp.msk
File(170) = batbmsp.rpt
File(171) = batbndo.msk
File(172) = batbndo.rpt
File(173) = batbnot.msk
File(174) = batbnot.rpt
File(175) = batbpor.msk
File(176) = batbpor.rpt
File(177) = batbreg.msk
File(178) = batbreg.rpt
File(179) = batbscc.msk
File(180) = batbscc.rpt
File(181) = batbspp.msk
File(182) = batbspp.rpt
File(183) = batbtit.msk
File(184) = batbtit.rpt
File(185) = batbtri.msk
File(186) = batbtri.rpt
File(187) = batbums.msk
File(188) = batbums.rpt
File(189) = batbvet.msk
File(190) = batbvet.rpt
File(191) = batbzon.msk
File(192) = batbzon.rpt
File(193) = cg0.exe|X
File(194) = cg0100a.msk
File(195) = cg0200a.msk
File(196) = cg0200b.msk
File(197) = cg0300a.msk
File(198) = cg0400a.msk
File(199) = cg0400b.msk
File(200) = cg1.exe
File(201) = cg1100a.msk
File(202) = cg1200a.msk
File(203) = cg1200b.msk
File(204) = cg1300a.msk
File(205) = cg1300b.msk
File(206) = cg1300c.msk
File(207) = cg1300d.msk
File(208) = cg1400a.msk
File(209) = cg1500a.msk
File(210) = cg1600a.msk
File(211) = cg1700a.msk
File(212) = recdesc\f16.dir
File(213) = recdesc\f16.trr
File(214) = recdesc\f17.dir
File(215) = recdesc\f17.trr
File(216) = recdesc\f18.dir
File(217) = recdesc\f18.trr
File(218) = recdesc\f19.dir
File(219) = recdesc\f19.trr
File(220) = recdesc\f20.dir
File(221) = recdesc\f20.trr
File(222) = recdesc\f78.dir
File(223) = recdesc\f78.trr
Patch = 25
Versione = 19980103

View File

@ -1,3 +1,3 @@
17
0
$cfven|0|0|303|0|Clienti/Fornitori per vendite|NCF||
$cfven|51|51|323|0|Clienti/Fornitori per vendite|||

View File

@ -46,10 +46,10 @@ CODLIST|1|5|0|Listino
CODSCC|1|2|0|Codice sconto
CODMAG|1|3|0|Magazzino
CODDEP|1|2|0|Deposito
CODSP1|1|3|0|Spese da addebitare 1
CODSP2|1|3|0|Spese da addebitare 2
CODSP3|1|3|0|Spese da addebitare 3
CODSP4|1|3|0|Spese da addebitare 4
CODSP1|1|8|0|Spese da addebitare 1
CODSP2|1|8|0|Spese da addebitare 2
CODSP3|1|8|0|Spese da addebitare 3
CODSP4|1|8|0|Spese da addebitare 4
PROFSOLL|1|5|0|Profilo sollecito ???
MAXSOLL|2|2|0|Massimo sollecito ???
DATAESC|5|8|0|Data estratto conto ???

View File

@ -18,6 +18,8 @@ class TRiba_form;
class TDistinta_form;
class TRiba_file;
enum fo{kb360 = 1, kb720 = 2, kb1200 = 3, kb1440 = 4};
#define RIBAFILENAME "ribael.dat"
///////////////////////////////////////////////////////////////////////
// Classe per l'emissione di effetti e distinte su carta o su floppy //
///////////////////////////////////////////////////////////////////////
@ -127,7 +129,8 @@ bool TEmissione::create()
_rel->add("%BAN", "CODTAB=CODABI+CODCAB", 1, 0, 402);
_rel->add(LF_COMUNI, "STATO=STATOCF|COM=COMCF",1,LF_CLIFO);
_cur = NULL;
_trasfile = new TRiba_file("ribael.dat", "riba.ini");
_msk->set(F_NOMEFILE,RIBAFILENAME);
_trasfile = new TRiba_file(RIBAFILENAME, "riba.ini");
_trasfile->set_ditta(get_firm());
_msk->set_handler(DLG_CANCEL, annulla_handler);
dispatch_e_menu(BAR_ITEM(1));
@ -269,9 +272,9 @@ void TEmissione::inizializza_cur()
//inizializza il file di testo su cui emettere gli effetti
void TEmissione::inizializza_file()
{
TString unita = _msk->get(F_UNITA);
unita << ":\\" << _trasfile->name();
TFilename file(unita);
TString fileriba = _msk->get(F_UNITA);
fileriba << ":\\" << _msk->get(F_NOMEFILE);
TFilename file(fileriba);
_trasfile->open(file,'w');
_trasfile->set_tot_importi(0.0);
_foutput = (fo)_msk->get_int(F_FOR_OUT);
@ -526,9 +529,10 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s)
cf.set(valore);
cf.put_paragraph(valore);
cf.set("");
}
if (code == "_BANCAP")
{
}
else
if (code == "_BANCAP")
{
// gestione dei campi relativi alla banca di presentazione dell'effetto
// sintassi: _BANCAP
TCursor* cur = cursor();
@ -542,8 +546,9 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s)
cf.set(valore);
cf.put_paragraph(valore);
cf.set("");
}
if (code == "_FATT")
}
else
if (code == "_FATT")
{
// gestione dei campi relativi alle/a fatture/a a cui si riferisce un effetto
// sintassi: _FATT,<macro>
@ -784,153 +789,157 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s)
// gestione dei messaggi estesi nei campi
void TRiba_file:: validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TString& str)
{
const TString code(s.get(0));
TString valore;
if (code == "_FISSO")
const TString code(s.get(0));
TString valore;
if (code == "_FISSO")
{
// gestione dei campi fissi per i record delle riba
// sintassi: _FISSO,!<valore>
// dove: <valore> è la stringa fissa da emettere
// gestione dei campi fissi per i record delle riba
// sintassi: _FISSO,!<valore>
// dove: <valore> è la stringa fissa da emettere
TString in(s.get());
if (in[0]=='!')
{
in.ltrim(1);
in.trim();
valore = in;
}
}
if (code == "_DATA")
CHECK(in[0]=='!',"Macro _FISSO senza carattere '!'");
in.ltrim(1);
in.trim();
valore = in;
}
else
if (code == "_DATA")
{
// gestione della data di emissione delle riba
// sintassi: _DATA
// gestione della data di emissione delle riba
// sintassi: _DATA
const TDate data_emis = app().msk().get_date(F_DATAEMIS);
valore = data_emis.string();
}
if (code == "_NRIBA")
else
if (code == "_NRIBA")
{
// gestione dei campi relativi al flusso di effetti (riba)
// sintassi: _NRIBA,<macro>
// dove: <macro> è uno delle macro seguenti:
// "!NUM" numero progressivo riba all'interno del flusso
// "!TOT" numero di effetti nel flusso
// "!NREC" numero di records nel flusso
int items = (int)cur.items();
// gestione dei campi relativi al flusso di effetti (riba)
// sintassi: _NRIBA,<macro>
// dove: <macro> è uno delle macro seguenti:
// "!NUM" numero progressivo riba all'interno del flusso
// "!TOT" numero di effetti nel flusso
// "!NREC" numero di records nel flusso
int items = (int)cur.items();
TString in(s.get());
if (in[0]=='!')
CHECK(in[0]=='!',"Macro _NRIBA senza carattere '!'");
in.ltrim(1);
if (in=="NUM")
{
in.ltrim(1);
if (in=="NUM")
{
valore.cut(0);
valore << cur.pos() + 1;
}
if (in=="TOT")
{
valore.cut(0);
valore << items;
}
if (in=="NREC")
{
valore.cut(0);
int rec = items * 7 + 2;
valore << rec;
}
}
valore.cut(0);
valore << cur.pos() + 1;
}
else if (in=="TOT")
{
valore.cut(0);
valore << items;
}
else if (in=="NREC")
{
valore.cut(0);
int rec = items * 7 + 2;
valore << rec;
}
else
CHECKS (TRUE,"Sotto-Macro _NRIBA non definita",(const char *)in);
}
if (code == "_DITTA")
{
else
if (code == "_DITTA")
{
// gestione di campi della ditta corrente
// sintassi: _DITTA,<macro>,<opzione>
// dove: <macro> è uno delle macro seguenti:
// "!RAGSOC" ragione sociale
// dove: <opzione> è uno delle opzioni seguenti:
// "0" la ragione sociale andrà ad occupare un unico campo
// "1" la ragione sociale andrà ad occupare più campi, primo segmento
// "2" la ragione sociale andrà ad occupare più campi, secondo segmento
// "3" la ragione sociale andrà ad occupare più campi, terzo segmento
// "4" la ragione sociale andrà ad occupare più campi, quarto segmento
TLocalisamfile ditte(LF_NDITTE);
// sintassi: _DITTA,<macro>,<opzione>
// dove: <macro> è uno delle macro seguenti:
// "!RAGSOC" ragione sociale
// dove: <opzione> è uno delle opzioni seguenti:
// "0" la ragione sociale andrà ad occupare un unico campo
// "1" la ragione sociale andrà ad occupare più campi, primo segmento
// "2" la ragione sociale andrà ad occupare più campi, secondo segmento
// "3" la ragione sociale andrà ad occupare più campi, terzo segmento
// "4" la ragione sociale andrà ad occupare più campi, quarto segmento
TLocalisamfile ditte(LF_NDITTE);
ditte.put("CODDITTA",ditta());
ditte.read();
TString in(s.get());
if (in[0]=='!')
CHECK(in[0]=='!',"Macro _DITTA senza carattere '!'");
in.ltrim(1);
if (in=="RAGSOC")
{
in.ltrim(1);
if (in=="RAGSOC")
const TString ragsoc = ditte.get("RAGSOC");
in = s.get();
if (in == "0")
{
const TString ragsoc = ditte.get("RAGSOC");
in = s.get();
if (in == "0")
{
valore.cut(0);
valore = ragsoc.left(30);
valore.trim();
TString str = ragsoc.right(20);
str.trim();
valore << " " << str;
}
else
{
TParagraph_string string(ragsoc,24);
string.restart();
int indice = atoi(in);
if (in == "1") valore = string.get(indice-1);
if (in == "2") valore = string.get(indice-1);
if (in == "3") valore = string.get(indice-1);
if (in == "4") valore = string.get(indice-1);
}
}
valore.cut(0);
valore = ragsoc.left(30);
valore.trim();
TString str = ragsoc.right(20);
str.trim();
valore << " " << str;
}
else
{
TParagraph_string string(ragsoc,24);
string.restart();
int indice = atoi(in);
if (in == "1") valore = string.get(indice-1);
if (in == "2") valore = string.get(indice-1);
if (in == "3") valore = string.get(indice-1);
if (in == "4") valore = string.get(indice-1);
}
}
else
CHECKS (TRUE,"Sotto-Macro _DITTA non definita",(const char *)in);
}
if (code == "_DEBITORE")
{
// gestione di campi della ditta corrente
// sintassi: _DEBITORE,<macro>,<opzione>
// dove: <macro> è uno delle macro seguenti:
// "!RAGSOC" ragione sociale
// "!INDIRIZZO" indirizzo
// "!PIAZZA" comune + sigla provincia
// dove: <opzione> è uno delle opzioni seguenti:
// "1" la ragione sociale andrà ad occupare più campi, primo segmento
// "2" la ragione sociale andrà ad occupare più campi, secondo segmento
else if (code == "_DEBITORE")
{
// gestione di campi della ditta corrente
// sintassi: _DEBITORE,<macro>,<opzione>
// dove: <macro> è uno delle macro seguenti:
// "!RAGSOC" ragione sociale
// "!INDIRIZZO" indirizzo
// "!PIAZZA" comune + sigla provincia
// dove: <opzione> è uno delle opzioni seguenti:
// "1" la ragione sociale andrà ad occupare più campi, primo segmento
// "2" la ragione sociale andrà ad occupare più campi, secondo segmento
TRectype& clifo = cur.curr(LF_CLIFO);
TRectype& comuni = cur.curr(LF_COMUNI);
TString in(s.get());
if (in[0]=='!')
CHECK(in[0]=='!',"Macro _DEBITORE senza carattere '!'");
in.ltrim(1);
if (in=="RAGSOC")
{
in.ltrim(1);
if (in=="RAGSOC")
{
TString ragsoc = clifo.get("RAGSOC");
in = s.get();
TParagraph_string string(ragsoc,30);
string.restart();
int indice = atoi(in);
if (in == "1") valore = string.get(indice-1);
if (in == "2") valore = string.get(indice-1);
}
if (in=="INDIRIZZO")
{
valore.cut(0);
valore << clifo.get("INDCF");
valore.trim();
valore << " " << clifo.get_int("CIVCF");
valore.trim();
valore << " " << clifo.get("LOCALITACF");
valore.trim();
}
if (in=="PIAZZA")
{
valore.cut(0);
valore << comuni.get("DENCOM");
valore.trim();
valore << " " << comuni.get("PROVCOM");
valore.trim();
}
}
}
if (code == "_BANCA")
{
TString ragsoc = clifo.get("RAGSOC");
in = s.get();
TParagraph_string string(ragsoc,30);
string.restart();
int indice = atoi(in);
if (in == "1") valore = string.get(indice-1);
if (in == "2") valore = string.get(indice-1);
}
else if (in=="INDIRIZZO")
{
valore.cut(0);
valore << clifo.get("INDCF");
valore.trim();
valore << " " << clifo.get_int("CIVCF");
valore.trim();
valore << " " << clifo.get("LOCALITACF");
valore.trim();
}
else if (in=="COMUNE")
{
valore.cut(0);
valore << comuni.get("DENCOM");
valore.trim();
}
else if (in=="PROV")
{
valore = comuni.get("PROVCOM");
valore.trim();
}
else
CHECKS (TRUE,"Sotto-Macro _DEBITORE non definita",(const char *)in);
}
else if (code == "_BANCA")
{
// gestione dei campi relativi alla banca d'appoggio dell'effetto
// sintassi: _BANCA
TRectype & ban = cur.curr(-401);
@ -940,15 +949,15 @@ void TRiba_file:: validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
ban = cur.curr(-402);
valore << " " << ban.get("S0");
valore.trim();
}
if (code == "_FATT")
{
// gestione dei campi relativi alle/a fatture/a a cui si riferisce un effetto
// sintassi: _FATT,<opzione>
// dove: <opzione> è uno delle opzioni seguenti:
// "1" i dati della fattura andranno ad occupare più campi, primo segmento
// "2" i dati della fattura andranno ad occupare più campi, secondo segmento
TLocalisamfile &eff = cur.file();
}
else if (code == "_FATT")
{
// gestione dei campi relativi alle/a fatture/a a cui si riferisce un effetto
// sintassi: _FATT,<opzione>
// dove: <opzione> è uno delle opzioni seguenti:
// "1" i dati della fattura andranno ad occupare più campi, primo segmento
// "2" i dati della fattura andranno ad occupare più campi, secondo segmento
TLocalisamfile &eff = cur.file();
TEffetto effetto = eff.curr();
long num = effetto.numero();
TToken_string* dati = effetto.dati_fatt(num);
@ -977,35 +986,37 @@ void TRiba_file:: validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt
}
}
}
if (code == "_IMPORTO")
else
if (code == "_IMPORTO")
{
// gestione di campi degli importi degli effetti nel flusso
// sintassi: _IMPORTO,<macro>
// dove: <macro> è uno delle macro seguenti:
// "!ADD" aggiunge l'importo dell'effetto corrente al totale
// "!TOT" emette il totale
// gestione di campi degli importi degli effetti nel flusso
// sintassi: _IMPORTO,<macro>
// dove: <macro> è uno delle macro seguenti:
// "!ADD" aggiunge l'importo dell'effetto corrente al totale
// "!TOT" emette il totale
TString in(s.get());
if (in[0]=='!')
CHECK(in[0]=='!',"Macro _IMPORTO senza carattere '!'");
in.ltrim(1);
if (in=="ADD")
{
in.ltrim(1);
if (in=="ADD")
{
real importo(str);
add_tot_importi(importo);
valore.cut(0);
valore << importo.string(13,1);
}
if (in=="TOT")
{
valore.cut(0);
real importo = tot_importi();
valore << importo.string("############@,@");
set_tot_importi(0.0);
}
real importo(str);
add_tot_importi(importo);
valore.cut(0);
valore << importo.string(13,1);
}
}
str = valore;
}
else if (in=="TOT")
{
valore.cut(0);
real importo = tot_importi();
valore << importo.string("############@,@");
set_tot_importi(0.0);
}
else
CHECKS (TRUE,"Sotto-Macro _IMPORTO non definita",(const char *)in);
} else
CHECKS (TRUE,"Macro non definita",(const char *)code);
str = valore;
}
int ef0500(int argc, char* argv[])
{

View File

@ -16,5 +16,6 @@
#define F_TIPOST 110
#define F_DATAEMIS 111
#define F_RIST 112
#define F_NOMEFILE 113
#endif //__EF0500_H
#endif //__EF0500_H

View File

@ -8,10 +8,16 @@ BEGIN
PROMPT 1 0 " "
ITEM "1|Emissione RI.BA. su floppy"
MESSAGE DISABLE,2@|DISABLE,4@|DISABLE,5@
MESSAGE ENABLE,1@
MESSAGE ENABLE,1@|SHOW,F_NOMEFILE
ITEM "2|Emissione RI.BA. su moduli cartacei"
MESSAGE DISABLE,1@
MESSAGE ENABLE,2@
MESSAGE ENABLE,2@|HIDE,F_NOMEFILE
END
STRING F_NOMEFILE 12
BEGIN
PROMPT 50 1 "Nome file:"
FLAGS "D"
END
GROUPBOX DLG_NULL 76 3

View File

@ -1,13 +1,18 @@
[ef]
Data = 01-04-1998
Data = 08-05-1998
Descrizione = Effetti
Dischi = 1
Moduli = ba,ve0,ve9,cg9
Patch = 304
Patch = 25
PostProcess =
PreProcess =
Prezzo(1) = 300,100
Versione = 19980102
Prezzo(2) = 90,40
Prezzo(3) = 60,20
Prezzo(5) = 50,20
Prezzo(9) = 30,10
Prezzo(30) = 20,10
Versione = 19980103
[ef1]
File(0) = dse.frm
@ -26,8 +31,8 @@ File(12) = efprassi.hlp
File(13) = efprassi.men
File(14) = rb.frm
File(15) = riba.ini
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[ef2]
File(16) = recdesc\f14.dir
@ -36,6 +41,6 @@ File(18) = recdesc\f31.dir
File(19) = recdesc\f31.trr
File(20) = recdesc\f32.dir
File(21) = recdesc\f32.trr
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103

View File

@ -6,33 +6,44 @@ RECORDSIZE = 120
FIELDSEP =
[TYPE FISSO]
FILLER = ' '
ALIGN =
DATA =
DECIMAL = 0
FILLER = ' '
LENGTH = 0
PICTURE =
[TYPE IMPORTO]
PICTURE = ##########@,@
FILLER = 0
DECIMAL = 1
ALIGN = R
DATA = N
DECIMAL = 1
FILLER = 0
LENGTH = 13
PICTURE = @@@@@@@@@@@@@
[TYPE DATA]
PICTURE = ggmmaa
ALIGN =
DATA = D
DECIMAL = 0
FILLER =
LENGTH = 6
PICTURE = 1442
[TYPE NUMERO]
FILLER = '0'
DECIMAL = 0
ALIGN = R
DATA = N
DECIMAL = 0
FILLER = '0'
LENGTH = 0
PICTURE =
[TYPE STRINGA]
FILLER = ' '
DECIMAL = 0
ALIGN = L
DATA = S
DECIMAL = 0
FILLER = ' '
LENGTH = 0
PICTURE =
[HEADER RB]
NAME(0)=CAMPO BLANK
@ -56,7 +67,7 @@ POSITION(3)=8
LENGTH(3)=5
NAME(4)=DATA EMISSIONE
TYPE(4)=DATA
TYPE(4)=DATA
FIELD(4)=31->DATAEMISS
POSITION(4)=13
LENGTH(4)=6
@ -74,7 +85,7 @@ POSITION(6)=45
LENGTH(6)=75
[RECORD 14]
NAME(0) = CAMPO BLANK
NAME(0) = CAMPO BLANK
TYPE(0) = FISSO
POSITION(0) = 0
LENGTH(0) = 1
@ -93,7 +104,7 @@ MESSAGE(2) = _NRIBA,!NUM
NAME(3) = CAMPO ALTERABILE
TYPE(3) = FISSO
POSITION(3) = 10
LENGTH(3) = 6
LENGTH(3) = 6
NAME(4) = CAMPO BLANK
TYPE(4) = FISSO
@ -109,7 +120,7 @@ LENGTH(5) = 6
NAME(6) = CAUSALE
POSITION(6) = 28
LENGTH(6) = 5
MESSAGE(6) = _FISSO,!300000
MESSAGE(6) = _FISSO,!30000
NAME(7) = IMPORTO
TYPE(7) = IMPORTO
@ -179,7 +190,7 @@ TYPE(0)=FISSO
POSITION(0)=0
LENGTH(0)=1
NAME(1)=TIPO RECORD
NAME(1)=TIPO RECORD
POSITION(1)=1
LENGTH(1)=2
MESSAGE(1)=_FISSO,!20
@ -282,17 +293,23 @@ FIELD(4)=20->CAPCF
POSITION(4)=40
LENGTH(4)=5
NAME(5)=INDIRIZZO DEBITORE: COMUNE E SIGLA PROVINCIA
NAME(5)=INDIRIZZO DEBITORE: COMUNE
TYPE(5)=STRINGA
POSITION(5)=45
LENGTH(5)=25
MESSAGE(5) = _DEBITORE,!PIAZZA
LENGTH(5)=23
MESSAGE(5) = _DEBITORE,!COMUNE
NAME(6)=BANCA DOMICILIATARIA IN CHIARO (DENOMINAZIONE BANCA E SPORTELLO)
NAME(6)=INDIRIZZO DEBITORE: SIGLA PROVINCIA
TYPE(6)=STRINGA
POSITION(6)=70
LENGTH(6)=50
MESSAGE(6) = _BANCA
POSITION(6)=68
LENGTH(6)=2
MESSAGE(6) = _DEBITORE,!PROV
NAME(7)=BANCA DOMICILIATARIA IN CHIARO (DENOMINAZIONE BANCA E SPORTELLO)
TYPE(7)=STRINGA
POSITION(7)=70
LENGTH(7)=50
MESSAGE(7) = _BANCA
[RECORD 50]
NAME(0)=CAMPO BLANK
@ -321,7 +338,7 @@ NAME(4)=RIFERIMENTI AL DEBITO SEGMENTO 2
TYPE(4)=STRINGA
POSITION(4)=50
LENGTH(4)=40
MESSAGE(4) = _FATT,!2
MESSAGE(4) = _FISSO,!
NAME(5)=CAMPO BLANK
TYPE(5)=FISSO
@ -361,21 +378,22 @@ NAME(5)=PROVINCIA INTENDENZA DI FINANZA
TYPE(5)=FISSO
POSITION(5)=40
LENGTH(5)=15
MESSAGE(5)=_FISSO,!
NAME(6)=N. AUTORIZZAZIONE
POSITION(6)=55
LENGTH(6)=10
MESSAGE(6)=_FISSO,!0000000000
MESSAGE(6)=_FISSO,!
NAME(7)=DATA AUTORIZZAZIONE
TYPE(7)=FISSO
POSITION(7)=66
POSITION(7)=65
LENGTH(7)=6
MESSAGE(7)=_FISSO,!000000
MESSAGE(7)=_FISSO,!
NAME(8)=CAMPO BLANK
TYPE(8)=FISSO
POSITION(8)=72
POSITION(8)=71
LENGTH(8)=48
[RECORD 70]
@ -422,12 +440,12 @@ POSITION(3)=8
LENGTH(3)=5
NAME(4)=DATA EMISSIONE
TYPE(4)=DATA
TYPE(4)=DATA
FIELD(4)=31->DATAEMISS
POSITION(4)=13
LENGTH(4)=6
MESSAGE(4)=_DATA
MESSAGE(4)=_DATA
NAME(5)=RAGIONE SOCIALE MITTENTE
TYPE(5)=STRINGA
POSITION(5)=19
@ -456,7 +474,7 @@ NAME(9)=NUMERO RECORD
TYPE(9)= NUMERO
POSITION(9)=82
LENGTH(9)=7
MESSAGE(9) = _NRIBA,!REC
MESSAGE(9) = _NRIBA,!NREC
NAME(10)=CAMPO ALTERABILE
TYPE(10)=FISSO

View File

@ -45,8 +45,6 @@
#define CFV_CATVEN "CATVEN"
#define CFV_GESTCONTR "GESTCONTR"
#define CFV_CODLIST "CODLIST"
#define CFV_CODSCINC "CODSCINC"
#define CFV_SCONTOCL "SCONTOCL"
#define CFV_CODMAG "CODMAG"
#define CFV_CODDEP "CODDEP"
#define CFV_CODSP1 "CODSP1"
@ -57,7 +55,6 @@
#define CFV_MAXSOLL "MAXSOLL"
#define CFV_DATAESC "DATAESC"
#define CFV_DATASOLL "DATASOLL"
#define CFV_SCONTOR "SCONTOR"
#define CFV_TITOLO "TITOLO"
#define CFV_RAGGOR "RAGGOR"
#define CFV_MINORD "MINORD"

View File

@ -583,10 +583,10 @@ void TFormatted_date::set_format(
// <nl><nl>4° carattere -<gt> Formato ANNO. Puo' assumere i seguenti valori:
// <nl> 2 = breve (es. 95)
// <nl> 4 = lungo (es. 1995)
// <nl><nl>5° carattere -<gt> Carattere SEPARATORE. Puo' essere un carattere o lo spazio
// <nl><nl>5° carattere -<gt> Carattere SEPARATORE. Puo' essere un carattere o lo spazio o essere omesso (sep= char nullo)
{
CHECKS(memchr(f, 0, 5) == NULL, "Bad date format ", f);
CHECKS(memchr(f, 0, 4) == NULL, "Bad date format (you must define all the first 4 chars) :", f);
memcpy(_format, f, 5);
}

View File

@ -20,6 +20,7 @@ const TTracciato_campo& TTracciato_campo::operator =(const TTracciato_campo& tc)
void TTracciato_campo::copy(const TTracciato_campo& tc)
{
set_name(tc._name);
set_datatype(tc._datatype);
set_type(tc._type);
set_field(tc._field);
set_ftype(tc._ftype);
@ -196,6 +197,11 @@ void TFile_text::set_type_parm(TConfig& config, TString& section)
tipo.set_length(config.get_int("LENGTH", section));
tipo.set_decimal(config.get_int("DECIMAL", section));
tipo.set_align(config.get_char("ALIGN", section));
const char datatype=config.get_char("DATA", section);
if (datatype>' ')
tipo.set_datatype(datatype);
else
tipo.set_datatype('S');
TString s = config.get("FILLER", section);
if (s.len() > 1)
tipo.set_filler(s[1]);
@ -431,6 +437,9 @@ TFile_text::~TFile_text()
delete _read_file;
if (_write_file)
delete _write_file;
_tipi.destroy();
_tracciati_record.destroy();
}
//Legge da file il record text
@ -516,19 +525,26 @@ int TFile_text::write(TRecord_text& rec)
rec.add(type,_typepos);
if (_fixedlen) // campi a lunghezza fissa
{
for (int i = 0; i < items; i++)
{
TTracciato_campo& tc = tr.get(i);
campo = rec.row(i);
campo = format_textfield(tc, campo);
buffer.insert(campo, tc.position());
//buffer << campo;
campo.cut(0);
}
CHECK(_write_file, "Impossibile scrivere su un file chiuso.");
for (int i = 0; i < items; i++)
{
TTracciato_campo& tc = tr.get(i);
campo = rec.row(i);
campo = format_textfield(tc, campo);
buffer.insert(campo, tc.position());
campo.cut(0);
}
CHECK(_write_file, "Impossibile scrivere su un file chiuso.");
if (_recordsize<=0)
{
// Record a lunghezza var
*_write_file << buffer;
if (_recordsize<=0) // Record a lunghezza var
*_write_file << _recordsep;
*_write_file << _recordsep;
} else {
// Record a lunghezza fissa
buffer.rpad(_recordsize);
buffer.cut(_recordsize);
*_write_file << buffer;
}
if (!ok_w()) return 1;
buffer.cut(0);
}
@ -590,8 +606,9 @@ bool TFile_text::autoload(TRecord_text& rec, TCursor& cur , const TString* tipo)
{
const TString& type = rec.type();
if (tipo == NULL) tipo = &type;
TTracciato_record& tr = *t_rec(*tipo);
return _autoload(rec,cur,tr);
TTracciato_record* tr = t_rec(*tipo);
CHECKS(tr!=NULL,"Tracciato record file di testo non trovato ",(const char *)*tipo);
return _autoload(rec,cur,*tr);
}
bool TFile_text::autoload(TCursor& cur, const TString* tipo)
@ -618,9 +635,9 @@ bool TFile_text::_autoload(TRecord_text& rec, TCursor& cur , TTracciato_record&
TString message = tc.message();
if (!message.empty())
{
TToken_string msg (message, ',');
if (!msg.blank())
validate(cur, rec, msg, campo);
TToken_string msg (message, ',');
if (!msg.blank())
validate(cur, rec, msg, campo);
}
rec.add(campo, i);
@ -815,30 +832,49 @@ void TFile_text::format_date(const TDate& data, const TString& form, TString& da
// sono quelli associati al campo nel filetext
TString& TFile_text::format_textfield(const TTracciato_campo& tc, TString& campo)
{
//int pos = tc.position();
int length = tc.length();
char fillch=tc.filler();
if (!tc.picture().blank())
{ TString tmp;
tmp.picture(tc.picture(), campo);
campo=tmp;
}
if (length > campo.len())
//int pos = tc.position();
int length = tc.length();
char fillch=tc.filler();
if (!tc.picture().blank())
{
switch (tc.datatype())
{
if (fillch == '\0' && _fixedlen)
fillch=' ';
case 'N': // number
{
real tmp(campo);
campo=tmp.string(tc.picture());
}
break;
case 'D': //data
{
TFormatted_date tmp(TDate (campo),tc.picture());
campo=tmp.string();
}
break;
default:
{
TString tmp;
tmp.picture(tc.picture(), campo);
campo=tmp;
}
}
}
if (length > campo.len())
{
if (fillch == '\0' && _fixedlen)
fillch=' ';
if (tc.align() == 'R')
campo.right_just(length,fillch);
else
campo.left_just(length, fillch);
}
else
if (length > 0)
if (tc.align() == 'R')
campo.right_just(length,fillch);
campo=campo.right(length);
else
campo.left_just(length, fillch);
}
else
if (length > 0)
if (tc.align() == 'R')
campo=campo.right(length);
else
campo.cut(length);
return campo;
campo.cut(length);
return campo;
}
// Formatta la stringa passata in base al field del file isam
@ -931,8 +967,6 @@ int TFile_text::close()
{
_name = "";
_current = NULL;
_tipi.destroy();
_tracciati_record.destroy();
if (_read_file) _read_file->close();
if (_write_file) _write_file->close();
return 0;

View File

@ -21,6 +21,8 @@ class TTracciato_campo : public TObject
{
// @cmember descrizione del contenuto
TString _name;
//@cmember tipo del campo del file di testo (<N>umero, <S>tringa, <D>ata
char _datatype;
//@cmember tipo predefinito del campo del file di testo
TString _type;
//@cmember nome su file/relazione
@ -52,6 +54,7 @@ public:
virtual TObject* dup() const;
const TTracciato_campo& operator =(const TTracciato_campo& tc);
const TString& name() const {return _name;}
const char datatype() const {return _datatype;}
const TString& type() const {return _type;}
const TFieldref& field() const {return _field;}
const TString& ftype() const {return _ftype;}
@ -63,6 +66,7 @@ public:
const TString& picture() const {return _picture;}
const TString& message() const {return _message;}
void set_name(const TString& name) {_name = name;}
void set_datatype(const char type) {_datatype = type;}
void set_type(const TString& type) {_type = type;}
void set_field(const TFieldref& field) {_field = field;}
void set_ftype(const TString& type) {_ftype = type;}

View File

@ -694,14 +694,14 @@ void TForm_item::send_message(
if (val.not_empty()) val << ' ';
val << get();
des.set(val);
} else if (cmd == "RESET") {
des.set("");
} else if (cmd == "DISABLE") {
des.disable();
} else if (cmd == "ENABLE") {
des.enable();
} else if (cmd == "HIDE") {
des.hide();
} else if (cmd == "RESET") {
des.set("");
} else if (cmd == "SHOW") {
des.show();
} else if (cmd == "SUB") {
@ -732,7 +732,7 @@ TForm_item& TForm_item::find_field(const TString& id) const
char se;
int id_num;
int pos_id;
if (freccia)
if (freccia >= 0)
{
pos_id=freccia+2;
id_num=atoi(id.mid(pos_id));
@ -775,7 +775,7 @@ bool TForm_item::do_message(int num)
// Send the message to all fields in local and upper sections with the given group
send_message_to_group(cmd,group,section(),&section());
}
else
else
{
TForm_item& des = find_field(id);
send_message(cmd, des);
@ -1229,6 +1229,7 @@ bool TForm_subsection::update()
bool TForm_subsection::print_body(sec_print_mode showfields)
{
const bool at_newpage=(atnewpage() || printer().rows_left() < (word)height());
bool ok = FALSE;
TCursor* cur = form().cursor();
TRelation* rel = (TRelation* )form().relation();
@ -1245,11 +1246,11 @@ bool TForm_subsection::print_body(sec_print_mode showfields)
showfields = printmode_noprint;
if (cur == NULL || (_file_id == -1 && _condexpr==NULL)) // ...unused
ok = _ssec.update_and_print(showfields,atnewpage());
ok = _ssec.update_and_print(showfields,at_newpage);
else if (_file_id == -1 && _condexpr!=NULL) // subsection condizionale
{
if ((bool)(_section->eval_expr(*_condexpr,_file_id)))
ok = _ssec.update_and_print(showfields,atnewpage());
ok = _ssec.update_and_print(showfields,at_newpage);
}
else
{
@ -1263,7 +1264,7 @@ bool TForm_subsection::print_body(sec_print_mode showfields)
form().match_result(_file_id);
if (!_bigskip || i==0)
{
ok |= _ssec.update_and_print(showfields,atnewpage());
ok |= _ssec.update_and_print(showfields,at_newpage);
_ssec.set_repeat_count(++i);
}
if (form().next_match_done(_file_id))
@ -1282,7 +1283,7 @@ bool TForm_subsection::print_body(sec_print_mode showfields)
bool again;
do {
form().match_result(_file_id);
ok |= _ssec.update_and_print(showfields,atnewpage());
ok |= _ssec.update_and_print(showfields,at_newpage);
_ssec.set_repeat_count(++i);
if (form().next_match_done(_file_id))
again=form().last_match_result(_file_id);
@ -4084,7 +4085,7 @@ bool TPrint_section::update_and_print(const sec_print_mode show_fields, bool new
return ok;
}
word TPrint_section::print_rows(const sec_print_mode show_fields, word from, word to)
word TPrint_section::print_rows(const sec_print_mode show_fields, word from, word to)
{
TPrinter& pr = printer();
if (show_fields!=printmode_noprint && to>from)
@ -5344,7 +5345,7 @@ void TForm::read(
if (forms.status() == NOERR)
{
_desc = forms.get("DESC");
if (_desc != desc && desc && *desc) // Controlla se la descrizione e' diversa, in questo caso l'aggiorna
if (desc && *desc && _desc != desc ) // Controlla se la descrizione e' diversa, in questo caso l'aggiorna
{
forms.reread(_lock);
forms.put("DESC",desc);

View File

@ -1096,9 +1096,6 @@ protected:
virtual TToken_string& memo_info() { return _memo; }
virtual const char* get() const;
bool set(const char*);
TFieldref& field(int i) const { return (TFieldref&)_field[i]; }
public:
@ -1110,6 +1107,8 @@ public:
virtual void put_paragraph(const char* s);
virtual bool edit(TMask& m);
virtual const char* get() const;
virtual bool set(const char*);
TForm_string(TPrint_section* section);
virtual ~TForm_string() {}
};

View File

@ -1439,6 +1439,7 @@ char* real::string(const char *picture) const
v.cut (virgola + voluti + (voluti > 0));
int j = v.len () - 1;
bool sign(FALSE);
for (int i = f.len () - 1; i >= 0 && j >= 0; i--)
{
char &z = f[i];
@ -1454,17 +1455,40 @@ char* real::string(const char *picture) const
if (c == '@')
c = (z == '@') ? '0' : ' ';
else
if (c == '-' && f[i+1] == migsep) // Altrimenti -100 diventa -.100
if (c == '-')
{
f[i+1] = '-';
c = ' ';
if (z == '@') // Altrimenti -10 con picture @@@@@ diventa "00-10"
{
if (f[i+1] == migsep)
f[i+1] = '0';
sign=TRUE; // posticipa l'append del segno
i++;
c=z;
} else {
if (f[i+1] == migsep ) // Altrimenti -100 diventa -.100
{
f[i+1] = '-';
c = ' '; //OK
}
}
}
}
z = c;
}
}
}
for (; i >= 0; i--)
for (int i2=0; i2 <= i; i2++)
if (f[i2] == '@')
{
if (sign)
{
f[i2] = '-'; // add sign in first pos
sign=FALSE;
}
else
f[i2] = '0';
}
for (; i >=0 ; i--)
switch (f[i])
{
case '#':
@ -1473,9 +1497,6 @@ char* real::string(const char *picture) const
case ',':
f[i] = ' ';
break;
case '@':
f[i] = '0';
break;
default:
break;
}

View File

@ -166,7 +166,7 @@ void TRelation_application::set_toolbar(bool all)
pos = _mask->id2pos(DLG_SAVEREC);
if (pos >= 0)
_mask->fld(pos).enable(mode != MODE_QUERY);
pos = _mask->id2pos(DLG_DELREC);
if (pos >= 0)
{
@ -183,12 +183,12 @@ void TRelation_application::set_toolbar(bool all)
}
pos = _mask->id2pos(DLG_FINDREC);
if (pos >= 0)
if (pos >= 0)
_mask->fld(pos).enable(_lnflag == 0);
pos = _mask->id2pos(DLG_NEWREC);
if (pos >= 0)
_mask->fld(pos).enable(mode == MODE_QUERY || _lnflag == 0);
if (pos >= 0)
_mask->fld(pos).enable(mode == MODE_QUERY || _lnflag == 0 );
}
enable_query();
@ -398,7 +398,6 @@ bool TRelation_application::modify_mode()
if (_curr_transaction == TRANSACTION_MODIFY)
ini2insert_mask();
return TRUE;
}
@ -865,23 +864,18 @@ void TRelation_application::main_loop()
if (_lnflag)
{
if (load_transaction())
{
{
_autodelete = _curr_transaction == TRANSACTION_DELETE;
if (_curr_transaction == TRANSACTION_INSERT )
{
_mask->send_key(K_CTRL+'N', 0);
}
else
{
_autodelete = _curr_transaction == TRANSACTION_DELETE;
_mask->send_key(K_AUTO_ENTER, 0);
}
}
}
if (_curr_transaction !=TRANSACTION_RUN)
_mask->send_key(K_AUTO_ENTER, 0);
}
query_mode();
_mask->open_modal();
do
{
const bool change = firm_change_enabled();
@ -1265,6 +1259,8 @@ bool TRelation_application::parse_command_line()
return _lnflag != 0;
}
// il valore di ritorno indica se attivare l'"automagia" (spedizione dei tasti e
// precaricamento della maschera)
bool TRelation_application::load_transaction()
{
bool retv = FALSE;

View File

@ -17,6 +17,7 @@
#include <mask.h>
#endif
#define TRANSACTION_RUN "RUN"
#define TRANSACTION_INSERT "INSERT"
#define TRANSACTION_MODIFY "MODIFY"
#define TRANSACTION_DELETE "DELETE"

View File

@ -1,19 +1,24 @@
[77]
Data = 12-03-1998
Data = 21-04-1998
Descrizione = Modello 770
Dischi = 1
Moduli = ba
Patch = 18
Patch = 10
PostProcess =
PreProcess =
Prezzo(1) = 700,250
Versione = 19980102
Prezzo(2) = 210,80
Prezzo(3) = 140,50
Prezzo(5) = 110,40
Prezzo(9) = 70,30
Prezzo(30) = 40,20
Versione = 19980103
[770]
File(0) = 7700.bmp
File(1) = 77area.men
Patch = 18
Versione = 19980102
Patch = 10
Versione = 19980103
[771]
File(2) = 770.exe
@ -152,8 +157,8 @@ File(134) = batbca7.msk
File(135) = batbcaf.msk
File(136) = batbent.msk
File(137) = menu_st.msk
Patch = 18
Versione = 19980102
Patch = 10
Versione = 19980103
[772]
File(138) = recdesc\f36.dir
@ -222,6 +227,6 @@ File(200) = recdesc\f76.dir
File(201) = recdesc\f76.trr
File(202) = recdesc\f77.dir
File(203) = recdesc\f77.trr
Patch = 18
Versione = 19980102
Patch = 10
Versione = 19980103

View File

@ -79,7 +79,6 @@ TStampadatist_mask::TStampadatist_mask():
set_handler(F_TOLIVELLOGIAC, handle_liv);
set_handler(F_ORDINE, handle_ragg);
set_handler(F_DETTAGLIODEP, handle_ragg);
set_handler(F_DETTAGLIOMAG, handle_ragg);
set_handler(F_ORDINEART,handle_subord);
if (!artlev().enabled()) {
TMask_field &f1=field(F_RAGGCODICE);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -296,7 +296,7 @@ SECTION BODY ODD 0
STRINGA 100 30
BEGIN
PROMPT 1 1 ">>>"
PROMPT 1 1 ""
MESSAGE _STREXPR,LF_RMOVMAG->CODART+"/"+LF_RMOVMAG->LIVGIAC+":"+LF_RMOVMAG->CODMAG
END
@ -327,6 +327,7 @@ SECTION BODY ODD 0
END // sezione movimento di competenza
END // loop movimento
SECTION TOTALI_MOV 1 2 2 NUMEXPR #FF_SALDO_MOV!=0
NUMBER FF_NUM_MOV 32
BEGIN
@ -373,7 +374,6 @@ SECTION BODY ODD 0
END
END // totali mov
END // loop scheda
SECTION TOTALI_GRMOV 1 1 3 NUMEXPR #FF_SALDO_GRMOV!=0
STRINGA 100 15

View File

@ -95,16 +95,16 @@ void TStampa_listamov::main_loop()
{
sortexp="NUMREG|CODART|NRIG";
// trova il record iniziale E finale
darec.put("NUMREG",_mask->get(F_DANUM));
arec.put("NUMREG",_mask->get(F_ANUM));
_form->find_field('B',odd_page,"HEADER_DATA").hide();
darec.put(MOVMAG_NUMREG,_mask->get(F_DANUM));
arec.put(MOVMAG_NUMREG,_mask->get(F_ANUM));
_form->find_field('B',odd_page,"HEADER_DATA").disable();
} else {
sortexp.cut(0) << LF_MOVMAG << "->DATAREG|NUMREG|CODART|NRIG";
// trova il record iniziale E finale
if (_mask->get(F_DADATA).not_empty())
filter << "&&(" << LF_MOVMAG <<"->DATACOMP>=" << '"' << _mask->get(F_DADATA)<< "\")";
filter << "&&(ANSI(" << LF_MOVMAG <<"->DATACOMP)>=ANSI(" << '"' << _mask->get_date(F_DADATA)<< "\"))";
if (_mask->get(F_ADATA).not_empty())
filter << "&&(" << LF_MOVMAG <<"->DATACOMP<=" << '"' << _mask->get(F_ADATA) << "\")";
filter << "&&(ANSI(" << LF_MOVMAG <<"->DATACOMP)<=ANSI(" << '"' << _mask->get_date(F_ADATA) << "\"))";
_form->find_field('B',odd_page,"HEADER_DATA").show();
}

View File

@ -1,3 +1,4 @@
#define FF_DATAMOV 555
USE LF_RMOVMAG BY NUMREG CODART NRIG
JOIN LF_MOVMAG TO LF_RMOVMAG INTO NUMREG==NUMREG
JOIN %CAU TO 110 INTO CODTAB==CODCAUS
@ -30,7 +31,7 @@ SECTION GRAPHIC
BEGIN
END
SECTION HEADER ODD 6
SECTION HEADER ODD 5
STRINGA 1 40 1
BEGIN
@ -65,111 +66,96 @@ BEGIN
PROMPT 1 3 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END
STRINGA 6
BEGIN
KEY "numreg"
PROMPT 3 4 "Num."
END
STRINGA 7
BEGIN
KEY "datacomp"
PROMPT 10 4 "Data"
END
STRINGA 8
BEGIN
KEY "descr mov"
PROMPT 20 4 "Descrizione movimento"
END
STRINGA 101
BEGIN
KEY ""
PROMPT 2 5 "Cod.mag."
PROMPT 2 4 "Cod.mag."
END
STRINGA 103 20
BEGIN
KEY ""
PROMPT 13 5 "Articolo"
PROMPT 13 4 "Articolo"
END
STRINGA 104 40
BEGIN
KEY ""
PROMPT 35 5 "Descrizione articolo"
PROMPT 35 4 "Descrizione articolo"
END
//STRINGA 105
//BEGIN
// KEY "caus"
// PROMPT 74 5 "Causale"
//END
STRINGA 105
BEGIN
KEY "UMART"
PROMPT 82 5 "UM"
PROMPT 82 4 "UM"
END
NUMERO 106
BEGIN
KEY "quant"
PROMPT 88 5 "Quantita'"
PROMPT 88 4 "Quantita'"
END
NUMERO 107
BEGIN
KEY "prezzo"
PROMPT 109 5 "Prezzo"
PROMPT 104 4 "Prezzo"
END
NUMERO 108
BEGIN
KEY "valore"
PROMPT 120 5 "Valore"
PROMPT 120 4 "Valore"
END
STRINGA 100 132
BEGIN
KEY "Separatore (iniziale)"
PROMPT 1 6 "------------------------------------------------------------------------------------------------------------------------------------------------------"
PROMPT 1 5 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END
END
SECTION BODY ODD 1
SECTION HEADER_DATA 1 4 1 GROUP
NUMERO 1 15
BEGIN
FLAGS "H"
KEY "ENabler"
MESSAGE SHOW,FF_DATAMOV
END
SECTION HEADER_DATA 1 6 1 GROUP
DATA 1
BEGIN
KEY "raggr fdata"
PROMPT 1 1 "------------- Registrazioni del "
FIELD LF_MOVMAG->DATACOMP
MESSAGE HIDE,FF_DATAMOV
END
END
SECTION RAGG_MOV 1 3 3 FILE LF_RMOVMAG GROUP LF_MOVMAG->DATACOMP
SECTION RAGG_MOV 1 5 3 FILE LF_RMOVMAG GROUP LF_MOVMAG->DATACOMP
NUMERO 1
NUMERO 1 15
BEGIN
KEY "numreg"
PROMPT 1 1 "Registrazione "
PROMPT 1 1 "Num.Reg. "
FIELD LF_MOVMAG->NUMREG
PICTURE "#####"
MESSAGE RESET,10
END
DATA 2 8
DATA FF_DATAMOV 10
BEGIN
KEY "datacomp"
PROMPT 24 1 ""
PROMPT 16 1 "del "
FIELD LF_MOVMAG->DATACOMP
END
STRINGA 3 40
BEGIN
KEY "descr mov"
PROMPT 34 1 ""
PROMPT 35 1 ""
FIELD LF_MOVMAG->DESCR
END
STRINGA 4 24
@ -181,28 +167,12 @@ SECTION BODY ODD 1
STRINGA 5 50
BEGIN
KEY " DESCR CAUS"
PROMPT 30 2 ""
PROMPT 35 2 ""
FIELD %CAU->S0
END
/*
SECTION INFO_DOC 3 0 1 NUM_EXPR LF_MOVMAG->NUMDOC!=0
STRINGA 6 20
BEGIN
KEY " NUMDOC"
PROMPT 10 1 "Documento "
FIELD LF_MOVMAG->NUMDOC
END
STRINGA 7 20
BEGIN
KEY " datadoc"
PROMPT 30 1 "del "
FIELD 33->DATADOC
END
END
*/
SECTION INFO_EXDOC 3 0 1 NUM_EXPR LF_MOVMAG->EX_NUMDOC!=0
SECTION INFO_EXDOC 3 1 1 NUM_EXPR LF_MOVMAG->EX_NUMDOC!=0
STRINGA 6 20
BEGIN
KEY " NUMDOC"
@ -218,7 +188,7 @@ SECTION BODY ODD 1
END
SECTION RIGHE_MOV 3 1 1 FILE LF_RMOVMAG GROUP NUMREG
SECTION RIGHE_MOV 3 2 1 FILE LF_RMOVMAG GROUP NUMREG
SECTION CAUS_RIGA 1 1 1 STREXPR LF_RMOVMAG->CAUS!=""
STRINGA 4 24
BEGIN
@ -313,5 +283,4 @@ SECTION BODY ODD 1
END // BODY SECTION
SECTION FOOTER ODD 2
BEGIN
END

View File

@ -34,15 +34,6 @@ BEGIN
HELP "reale =(giac+ACL-INCL)"
END
LIST F_FIN_COMP 22
BEGIN
PROMPT 2 3 "Valorizzo solo "
ITEM "C|i componenti impegnati"
ITEM "F|i finiti in produzione"
HELP "finiti =(giac+INPRODF-INPRODC)"
END
NUMBER F_ANNOES 4
BEGIN
FLAGS "A"
@ -57,6 +48,16 @@ BEGIN
CHECKTYPE NORMAL
END
LIST F_FIN_COMP 22
BEGIN
PROMPT 2 3 "Valorizzo solo "
ITEM "C|i componenti impegnati"
ITEM "F|i finiti in produzione"
HELP "finiti =(giac+INPRODF-INPRODC)"
END
LIST F_FILTRO 23
BEGIN
PROMPT 43 3 " Stampo "

File diff suppressed because it is too large Load Diff

View File

@ -5,12 +5,22 @@
#define FF_PREZZIVALORI 670
#define FF_ENABLECOLS 671
#define FG_COL1 10
#define FG_COL2 11
#define FG_COL3 12
#define FG_COL4 13
#define FG_COL5 14
#define FG_COL6 15
// Questi sono i gruppi dei raggruppamenti
// e rappresentano i vari gruppi articoli / livello giac / magazzini ed
// altro a seconda della stmpa e dell'ordinamento scelto
// essi non sono implementati come MACRO c++ ma come literal nel testo
// (arrivano in partica fino a 15)
//#define FG_RAGGR1 1
//#define FG_RAGGR2 2
// Questi sono i gruppi delle colonne dell'inventario
#define FG_COL1 30
#define FG_COL2 31
#define FG_COL3 32
#define FG_COL4 33
#define FG_COL5 34
#define FG_COL6 35
// altri gruppi per la stampa dati storici:
#define FG_VALORI 25
#define FG_VALMEDI 26
#define FG_RIGAVALORI 27

View File

@ -1,19 +1,24 @@
[mg]
Data = 01-04-1998
Data = 08-05-1998
Descrizione = Magazzino
Dischi = 1
Moduli = ba,ve9,cg9
Patch = 304
Patch = 26
PostProcess =
PreProcess =
Prezzo(1) = 900,300
Versione = 19980102
Prezzo(2) = 270,100
Prezzo(3) = 180,70
Prezzo(5) = 140,50
Prezzo(9) = 90,40
Prezzo(30) = 50,20
Versione = 19980103
[mg0]
File(0) = mg00.bmp
File(1) = mgarea.men
Patch = 304
Versione = 19980102
Patch = 26
Versione = 19980103
[mg1]
File(2) = bastfcg.msk
@ -50,19 +55,19 @@ File(32) = mg4300.frm
File(33) = mg4300.msk
File(34) = mgprassi.men
File(35) = tab_fcg.frm
Patch = 304
Versione = 19980102
Patch = 26
Versione = 19980103
[mg9]
File(36) = recdesc\f109.dir
File(37) = recdesc\f109.trr
File(38) = recdesc\f110.dir
File(39) = recdesc\f110.trr
File(40) = recdesc\f111.dir
File(41) = recdesc\f111.trr
File(42) = recdesc\f114.dir
File(43) = recdesc\f114.trr
File(44) = mgprassi.hlp|X
Patch = 304
Versione = 19980102
File(36) = mgprassi.hlp|X
File(37) = recdesc\f109.dir
File(38) = recdesc\f109.trr
File(39) = recdesc\f110.dir
File(40) = recdesc\f110.trr
File(41) = recdesc\f111.dir
File(42) = recdesc\f111.trr
File(43) = recdesc\f114.dir
File(44) = recdesc\f114.trr
Patch = 26
Versione = 19980103

View File

@ -112,7 +112,42 @@ bool TForm_stampemg::validate(TForm_item &cf, TToken_string &s)
else
levname="Giacenza";
cf.set(levname << ' ' << valore);
}
} else if (subcode=="VALIDATE_UM") {
/*CHECK(last_um,"Unità di misura non definita");
if (last_um->blank())
cf.set("");
delete last_um;
last_um = NULL;*/
TForm_string &um_field=(TForm_string &)cf.form().find_field('B',odd_page,atoi(s.get()) );
if (*um_field.get()<=' ') // blank : not a valid UM!
cf.set("0");
} else if (subcode=="SAVE_UM") {
CHECK(FALSE,"SAVE_UM no more available");
} else if (subcode=="RESET_UM") {
TForm_string &dest=(TForm_string &)cf.form().find_field('B',odd_page,atoi(s.get()) );
dest.set("");
} else if (subcode=="COPY_UM") {
/*if (last_um==NULL)
last_um = new TString16(cf.get());
if (*last_um != cf.get())
{
// impossibile sommare le quantità degli articoli per UM diverse
last_um->cut(0);
dest.set("");
cf.form().find_field('B',odd_page,FF_FLAGTOTQTA).set("0");
}*/
TForm_string &dest=(TForm_string &)cf.form().find_field('B',odd_page,atoi(s.get()) );
if (*dest.get() && strcmp(dest.get(),cf.get()) != 0)
{
// impossibile sommare le quantità degli articoli per UM diverse
dest.set(" ");
//cf.form().find_field('B',odd_page,FF_FLAGTOTQTA).set("0");
} else {
// prima sommare le quantità degli articoli per UM diverse
dest.set( cf.get() );
//cf.form().find_field('B',odd_page,FF_FLAGTOTQTA).set("0");
}
}
return TRUE;
} else
return TForm::validate(cf, s);

View File

@ -21,6 +21,7 @@ BEGIN
OUTPUT F_DESCR S0
CHECKTYPE REQUIRED
WARNING "Codice archivio non presente"
ADD NONE
END
STRING F_DESCR 50

View File

@ -1,33 +1,40 @@
[pr]
Data = 28-04-1998
Data = 08-05-1998
Descrizione = Provvigioni Agenti
Dischi = 1
Moduli = ba,ve0,ve9,cg9
Patch = 14
Patch = 25
PostProcess =
PreProcess =
Prezzo(1) = 450,150
Prezzo(2) = 140,50
Prezzo(3) = 90,40
Prezzo(5) = 70,30
Prezzo(9) = 50,20
Prezzo(30) = 30,10
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
File(0) = bastapr.msk
File(1) = batbapr.rpt
File(2) = pr01.bmp
File(3) = pr0700a.msk
File(4) = pr0700b.msk
File(5) = pr1200a.frm
File(6) = pr1200a.msk
File(7) = pr1300a.frm
File(8) = pr1300a.msk
File(9) = pr1400.msk
File(10) = pr1400a.frm
File(11) = prprassi.men
Patch = 25
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
File(12) = recdesc\f123.dir
File(13) = recdesc\f123.trr
File(14) = recdesc\f124.dir
File(15) = recdesc\f124.trr
Patch = 25
Versione = 19980103

View File

@ -1,40 +1,45 @@
[sv]
Data = 02-04-1998
Data = 28-04-1998
Descrizione = Statistiche di Vendita
Dischi = 1
Moduli = ve
Patch = 304
Patch = 14
PostProcess =
PreProcess =
Prezzo(1) = 900,300
Versione = 19980102
Prezzo(2) = 270,100
Prezzo(3) = 180,70
Prezzo(5) = 140,50
Prezzo(9) = 90,40
Prezzo(30) = 50,20
Versione = 19980103
[sv1]
File(0) = sv0.exe|X
File(0) = sv0.exe
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(2) = sv0400a.msk
File(3) = sv1.exe
File(4) = sv1100a.frm
File(5) = sv1100a.msk
File(6) = sv1200a.msk
File(7) = sv1200b.msk
File(8) = sv1200c.msk
File(9) = sv2.exe
File(10) = sv2100a.msk
File(11) = svprassi.men
File(12) = svtbpsv.msk|X
Patch = 304
Versione = 19980102
File(12) = svtbpsv.msk
Patch = 14
Versione = 19980103
[sv2]
File(13) = recdesc\f87.dir
File(14) = recdesc\f87.trr
Patch = 304
Versione = 19980102
Patch = 14
Versione = 19980103
[sv9]
File(15) = recdesc\f86.dir
File(16) = recdesc\f86.trr
Patch = 304
Versione = 19980102
Patch = 14
Versione = 19980103

View File

@ -136,7 +136,9 @@ PNETTO = S_NORMALE //2700
DESUMPNETTO = S_NASCOSTO //2700
NCOLLI = S_NORMALE //2800
CAUSMAG = S_OBBLIGATORIO //2900
CAUSMAGC = S_DISABILITATO //2900
DESCRMAG = S_NORMALE //2900
DESCRMAGC = S_DISABILITATO //2900
BLANK = S_DISABILITATO //4000
CODNOTE = S_NORMALE //2500
NOTECLI = S_NORMALE //2500

View File

@ -93,7 +93,9 @@ PNETTO = S_NORMALE //2700
DESUMPNETTO = S_NASCOSTO //2700
NCOLLI = S_NORMALE //2800
CAUSMAG = S_OBBLIGATORIO //2900
CAUSMAGC = S_DISABILITATO //2900
DESCRMAG = S_NORMALE //2900
DESCRMAGC = S_DISABILITATO //2900
[DEFAULT]

View File

@ -137,7 +137,9 @@ PNETTO = S_NORMALE //2700
DESUMPNETTO = S_NASCOSTO //2700
NCOLLI = S_NORMALE //2800
CAUSMAG = S_OBBLIGATORIO //2900
CAUSMAGC = S_DISABILITATO //2900
DESCRMAG = S_NORMALE //2900
DESCRMAGC = S_DISABILITATO //2900
BLANK = S_DISABILITATO //4000
CODNOTE = S_NORMALE //2500
NOTECLI = S_NORMALE //2500

View File

@ -50,8 +50,8 @@ void TMotore_application::init_insert_mode( TMask& m )
m.set(F_STATO, _doc->stato());
const TString16 data_doc(m.get( F_DATADOC));
const int pos = m.id2pos( F_DATACAMBIO1);
int pos = m.id2pos( F_DATACAMBIO1);
if (pos >= 0 && m.fld(pos).active())
{
m.fld(pos).set(data_doc);
@ -59,6 +59,15 @@ void TMotore_application::init_insert_mode( TMask& m )
}
m.disable(DLG_PRINT);
_occas_mask->reset( );
pos = m.id2pos(F_CAUSMAG);
if (pos >= 0)
{
m.fld(pos).set(doc().tipo().caus_mov());
m.fld(pos).dirty();
}
const int ndefaults = pro( ).get_int( "NDEFAULTS", "DEFAULT" ); // prof
for( int i = 1; i <= ndefaults; i++ )

View File

@ -182,6 +182,7 @@ FLAG=U
USE=LF_COMUNI
INPUT=STATO F_STATOCF~COM F_COMCF
OUTPUT=F_DENCOM DENCOM~F_PROVCOM PROVCOM
SPECIAL=CH SEARCH
[DENCOM]
// il campo e' letto nel file 13 comuni con chiave [COMCF]
@ -216,6 +217,7 @@ FLAG=Z
USE=%STA
INPUT=CODTAB F_STATOCF
OUTPUT=F_DESSTATOCF S0
SPECIAL=CH SEARCH
[DESSTATOCF]
// il campo e' letto nella tabella %STA e va visualizzato solo se [STATOCF]<>""
@ -796,6 +798,7 @@ FLAG=Z
USE=@F_STATOCF
INPUT=CODTAB F_STATOSP
OUTPUT=F_DESSTATOSP S0
SPECIAL=CH SEARCH
[DESSTATOSP]
GROUP=900
@ -818,6 +821,7 @@ FLAG=U
USE=@F_COMCF
INPUT=STATO F_STATOSP~COM F_COMSP
OUTPUT=F_DENCOMSP DENCOM~F_PROVCOMSP PROVCOM
SPECIAL=CH SEARCH
[DENCOMSP]
GROUP=900
@ -1491,11 +1495,11 @@ Y=0
FIELDNAME=CAUSMAG
MSKID=F_CAUSMAG
TYPE=T_STRINGA
PROMPT="Causale magazzino "
PROMPT="Caus.magazzino "
USE=%CAU
INPUT=CODTAB F_CAUSMAG
DISPLAY="Codice" CODTAB~"Descrizione@50" S0
OUTPUT=F_CAUSMAG CODTAB~F_DESCRMAG S0
OUTPUT=F_CAUSMAG CODTAB~F_DESCRMAG S0~F_CAUSMAGC S9
WARNING=Causale di magazzino non trovata
SIZE=5
FLAG=U
@ -1504,7 +1508,7 @@ HELP=Inserisci il codice della causale
[DESCRMAG]
GROUP=2900
X=27
X=25
Y=0
MSKID=F_DESCRMAG
TYPE=T_STRINGA
@ -1513,7 +1517,32 @@ USE=%CAU KEY 2
INPUT=S0 F_DESCRMAG
DISPLAY="Descrizione@50" S0~"Codice" CODTAB
COPY=OU F_CAUSMAG
SIZE=50
[CAUSMAGC]
GROUP=2900
X=2
Y=1
MSKID=F_CAUSMAGC
TYPE=T_STRINGA
PROMPT="Caus.mag.coll. "
USE=%CAU
INPUT=CODTAB F_CAUSMAGC
DISPLAY="Codice" CODTAB~"Descrizione@50" S0
OUTPUT=F_CAUSMAGC CODTAB~F_DESCRMAGC S0
WARNING=Causale di magazzino non trovata
SIZE=5
FLAG=UDG
HELP=Inserisci il codice della causale
SPECIAL=CH NORMAL
[DESCRMAGC]
GROUP=2900
X=25
Y=1
MSKID=F_DESCRMAGC
TYPE=T_STRINGA
PROMPT=""
SIZE=50
[BLANK]

View File

@ -179,6 +179,7 @@ Caption = "Configurazione"
Picture = <ba04.bmp>
Module = 0
Flags = ""
Item_01 = "Magazzino",[ACQVEN_022]
Item_01 = "Condizioni di vendita", "ve0 -2 -1", "F"
Item_02 = "Agenti e dati generali", "ve0 -2 -2", "F"
Item_03 = "Contabilizzazione sconti", "ve0 -2 -3", "F"
@ -192,3 +193,12 @@ Picture = <ve00.bmp>
Module = 0
Flags = ""
Item_09 = "Modifica valori", "ve4 -0", "F"
[ACQVEN_022]
Caption = "Configurazione magazzino"
Picture = <ba04.bmp>
Module = 0
Flags = ""
Item_01 = "Parametri di magazzino", "mg0 -2 -1", "F"
Item_02 = "Formato codice articoli", "mg0 -0 FCA", "F"

View File

@ -1,19 +1,24 @@
[ve]
Data = 01-04-1998
Data = 08-05-1998
Descrizione = Vendite
Dischi = 1
Moduli = ba,cg9,pr9,mg9,sv9
Patch = 304
PostProcess =
Patch = 25
PostProcess = bainst -0 VE
PreProcess =
Prezzo(1) = 900,300
Versione = 19980102
Prezzo(2) = 270,100
Prezzo(3) = 180,70
Prezzo(5) = 140,50
Prezzo(9) = 90,40
Prezzo(30) = 50,20
Versione = 19980103
[ve0]
File(0) = ve00.bmp
File(1) = vearea.men
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[ve1]
File(2) = basteld.msk
@ -44,22 +49,22 @@ File(26) = ve1000b.msk
File(27) = ve1100a.msk
File(28) = ve5.exe
File(29) = ve5100a.msk
File(30) = ve6.exe|X
File(30) = ve6.exe
File(31) = ve6100a.msk
File(32) = ve6200a.msk
File(33) = ve6300a.msk
File(34) = veprassi.hlp
File(35) = veprassi.men
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[ve2]
File(36) = recdesc\f33.dir
File(37) = recdesc\f33.trr
File(38) = recdesc\f34.dir
File(39) = recdesc\f34.trr
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[ve3]
File(40) = bolla.bmp
@ -100,8 +105,8 @@ File(74) = verig08.ini
File(75) = verig08.msk
File(76) = verig09.ini
File(77) = verig09.msk
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103
[ve9]
File(78) = bastabe.msk
@ -114,7 +119,7 @@ File(84) = bastctr.msk
File(85) = bastfca.msk
File(86) = bastfrm.msk
File(87) = bastgmc.msk
File(88) = bastprs.msk|X
File(88) = bastprs.msk
File(89) = bastrfa.msk
File(90) = bastrfc.msk
File(91) = batbabe.msk
@ -140,8 +145,8 @@ File(110) = batbgmc.msk
File(111) = batbgmc.rpt
File(112) = batbmag.msk
File(113) = batbmag.rpt
File(114) = batbprs.msk|X
File(115) = batbprs.rpt|X
File(114) = batbprs.msk
File(115) = batbprs.rpt
File(116) = batbprv.msk
File(117) = batbrfa.msk
File(118) = batbrfa.rpt
@ -173,7 +178,7 @@ File(143) = recdesc\f52.trr
File(144) = recdesc\f53.dir
File(145) = recdesc\f53.trr
File(146) = tab_fca.frm
File(147) = ve0.exe|X
File(147) = ve0.exe
File(148) = ve0100a.msk
File(149) = ve0100o.msk
File(150) = ve0200a.msk
@ -209,6 +214,6 @@ File(179) = ve3300.msk
File(180) = ve3400.msk
File(181) = ve4.exe
File(182) = ve4100.msk
Patch = 304
Versione = 19980102
Patch = 25
Versione = 19980103

View File

@ -893,7 +893,20 @@ int TDocumento::write_rewrite(TBaseisamfile & f, bool re) const
mov.put(MOVMAG_ANNODOC, get("ANNO"));;
mov.put(MOVMAG_CODNUM, get("CODNUM"));
const long numdoc = get_long("NDOC");
mov.put(MOVMAG_NUMDOC, numdoc);
mov.put(MOVMAG_NUMDOC, numdoc);
const long ex_numdoc = get_long("NUMDOCRIF");
if (ex_numdoc == 0)
{
mov.put(MOVMAG_EXNUMDOC, numdoc);
mov.put(MOVMAG_EXDATADOC, d);
}
else
{
mov.put(MOVMAG_EXNUMDOC, ex_numdoc);
const TDate ex_d(get("DATADOCRIF"));
mov.put(MOVMAG_EXDATADOC, ex_d);
}
mov.put(MOVMAG_CATVEN, get("CATVEN"));
mov.put(MOVMAG_CODLIST, get("CODLIST"));
mov.put(MOVMAG_CODCONT, get("CODCONT"));

View File

@ -77,6 +77,7 @@
#define F_CATVEN 181
#define F_CODNOTE 182
#define F_GOLEM 183
#define F_CAUSMAGC 184
#define F_CODVAL1 200
#define F_NOMEVAL1 201

View File

@ -71,4 +71,5 @@
#define F_DESNOTESP2 357
#define F_DESZON 358
#define F_NOTECLI 359
#define F_DESCRMAGC 360
#endif // __VEUML1_H