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) if (ok)
{ {
path = fs.dir.path;
path.add(fs.name);
if (is_export) if (is_export)
{ {
TInstall_ini inst; TInstall_ini inst;

View File

@ -1,13 +1,18 @@
[ba] [ba]
Data = 10-04-1998 Data = 08-05-1998
Descrizione = Base Descrizione = Base
Dischi = 1 Dischi = 1
Moduli = Moduli =
Patch = 304 Patch = 22
PostProcess = PostProcess =
PreProcess = PreProcess =
Prezzo(1) = 500,180 Prezzo(1) = 500,175
Versione = 19980102 Prezzo(2) = 150,60
Prezzo(3) = 100,40
Prezzo(5) = 80,30
Prezzo(9) = 50,20
Prezzo(30) = 30,10
Versione = 19980103
[ba0] [ba0]
File(0) = ba00.bmp File(0) = ba00.bmp
@ -18,8 +23,8 @@ File(4) = ba04.bmp
File(5) = ba05.bmp File(5) = ba05.bmp
File(6) = ba06.bmp File(6) = ba06.bmp
File(7) = baprassi.men File(7) = baprassi.men
Patch = 304 Patch = 22
Versione = 19980102 Versione = 19980103
[ba1] [ba1]
File(8) = ba0.exe File(8) = ba0.exe
@ -92,115 +97,117 @@ File(74) = bagn002.msk
File(75) = bagn004.msk File(75) = bagn004.msk
File(76) = bagn005.msk File(76) = bagn005.msk
File(77) = bagn006.msk File(77) = bagn006.msk
File(78) = bainst.exe File(78) = bainst.exe|X
File(79) = bainst01.msk File(79) = bainst01.msk|X
File(80) = bainst02.msk File(80) = bainst02.msk|X
File(81) = bastais.msk File(81) = bainst03.msk|X
File(82) = bastban.msk File(82) = bainst04.msk|X
File(83) = bastclr.msk File(83) = bainst05.msk|X
File(84) = bastcpg.msk File(84) = bastais.msk
File(85) = bastcrs.msk File(85) = bastban.msk
File(86) = bastitl.msk File(86) = bastclr.msk
File(87) = bastiva.msk File(87) = bastcpg.msk
File(88) = bastlng.msk File(88) = bastcrs.msk
File(89) = bastois.msk File(89) = bastitl.msk
File(90) = baststa.msk File(90) = bastiva.msk
File(91) = baststt.msk File(91) = bastlng.msk
File(92) = bastucc.msk File(92) = bastois.msk
File(93) = bastucs.msk File(93) = baststa.msk
File(94) = bastues.msk File(94) = baststt.msk
File(95) = bastuid.msk File(95) = bastucc.msk
File(96) = bastuiv.msk File(96) = bastucs.msk
File(97) = basture.msk File(97) = bastues.msk
File(98) = bastuue.msk File(98) = bastuid.msk
File(99) = bastval.msk File(99) = bastuiv.msk
File(100) = batbais.msk File(100) = basture.msk
File(101) = batbais.rpt File(101) = bastuue.msk
File(102) = batbban.msk File(102) = bastval.msk
File(103) = batbban.rpt File(103) = batbais.msk
File(104) = batbclr.msk File(104) = batbais.rpt
File(105) = batbclr.rpt File(105) = batbban.msk
File(106) = batbcpg.msk File(106) = batbban.rpt
File(107) = batbcpg.rpt File(107) = batbclr.msk
File(108) = batbcrs.msk File(108) = batbclr.rpt
File(109) = batbcrs.rpt File(109) = batbcpg.msk
File(110) = batbitl.msk File(110) = batbcpg.rpt
File(111) = batbitl.rpt File(111) = batbcrs.msk
File(112) = batbiva.msk File(112) = batbcrs.rpt
File(113) = batbiva.rpt File(113) = batbitl.msk
File(114) = batblng.msk File(114) = batbitl.rpt
File(115) = batblng.rpt File(115) = batbiva.msk
File(116) = batbois.msk File(116) = batbiva.rpt
File(117) = batbois.rpt File(117) = batblng.msk
File(118) = batbrgi.msk File(118) = batblng.rpt
File(119) = batbsta.msk File(119) = batbois.msk
File(120) = batbsta.rpt File(120) = batbois.rpt
File(121) = batbstt.msk File(121) = batbrgi.msk
File(122) = batbstt.rpt File(122) = batbsta.msk
File(123) = batbucc.msk File(123) = batbsta.rpt
File(124) = batbucc.rpt File(124) = batbstt.msk
File(125) = batbucs.msk File(125) = batbstt.rpt
File(126) = batbucs.rpt File(126) = batbucc.msk
File(127) = batbues.msk File(127) = batbucc.rpt
File(128) = batbues.rpt File(128) = batbucs.msk
File(129) = batbuid.msk File(129) = batbucs.rpt
File(130) = batbuid.rpt File(130) = batbues.msk
File(131) = batbuiv.msk File(131) = batbues.rpt
File(132) = batbuiv.rpt File(132) = batbuid.msk
File(133) = batbure.msk File(133) = batbuid.rpt
File(134) = batbure.rpt File(134) = batbuiv.msk
File(135) = batbuue.msk File(135) = batbuiv.rpt
File(136) = batbuue.rpt File(136) = batbure.msk
File(137) = batbval.msk File(137) = batbure.rpt
File(138) = batbval.rpt File(138) = batbuue.msk
File(139) = fconv.ini File(139) = batbuue.rpt
File(140) = prassi.aut File(140) = batbval.msk
File(141) = prassi.hlp File(141) = batbval.rpt
File(142) = prassice.men File(142) = fconv.ini
File(143) = prassid.ini File(143) = prassi.aut
File(144) = prassis.ini File(144) = prassi.hlp
File(145) = unzip.pif File(145) = prassice.men
File(146) = unzip32.exe File(146) = prassid.ini
File(147) = zip.pif File(147) = prassis.ini
File(148) = zip386.bat File(148) = unzip.pif
File(149) = zip386.exe File(149) = unzip32.exe
File(182) = skeylink.dll|X File(150) = zip.pif
Patch = 304 File(151) = zip386.bat
Versione = 19980102 File(152) = zip386.exe
Patch = 22
Versione = 19980103
[ba2] [ba2]
File(150) = recdesc\f10.dir File(153) = recdesc\f10.dir
File(151) = recdesc\f10.trr File(154) = recdesc\f10.trr
File(152) = recdesc\f105.dir File(155) = recdesc\f105.dir
File(153) = recdesc\f105.trr File(156) = recdesc\f105.trr
File(154) = recdesc\f11.dir File(157) = recdesc\f11.dir
File(155) = recdesc\f11.trr File(158) = recdesc\f11.trr
File(156) = recdesc\f12.dir File(159) = recdesc\f12.dir
File(157) = recdesc\f12.trr File(160) = recdesc\f12.trr
File(158) = recdesc\f13.dir File(161) = recdesc\f13.dir
File(159) = recdesc\f13.trr File(162) = recdesc\f13.trr
File(160) = recdesc\f15.dir File(163) = recdesc\f15.dir
File(161) = recdesc\f15.trr File(164) = recdesc\f15.trr
File(162) = recdesc\f2.dir File(165) = recdesc\f2.dir
File(163) = recdesc\f2.trr File(166) = recdesc\f2.trr
File(164) = recdesc\f3.dir File(167) = recdesc\f3.dir
File(165) = recdesc\f3.trr File(168) = recdesc\f3.trr
File(166) = recdesc\f4.dir File(169) = recdesc\f4.dir
File(167) = recdesc\f4.trr File(170) = recdesc\f4.trr
File(168) = recdesc\f5.dir File(171) = recdesc\f5.dir
File(169) = recdesc\f5.trr File(172) = recdesc\f5.trr
File(170) = recdesc\f50.dir File(173) = recdesc\f50.dir
File(171) = recdesc\f50.trr File(174) = recdesc\f50.trr
File(172) = recdesc\f54.dir File(175) = recdesc\f54.dir
File(173) = recdesc\f54.trr File(176) = recdesc\f54.trr
File(174) = recdesc\f6.dir File(177) = recdesc\f6.dir
File(175) = recdesc\f6.trr File(178) = recdesc\f6.trr
File(176) = recdesc\f7.dir File(179) = recdesc\f7.dir
File(177) = recdesc\f7.trr File(180) = recdesc\f7.trr
File(178) = recdesc\f8.dir File(181) = recdesc\f8.dir
File(179) = recdesc\f8.trr File(182) = recdesc\f8.trr
File(180) = recdesc\f9.dir File(183) = recdesc\f9.dir
File(181) = recdesc\f9.trr File(184) = recdesc\f9.trr
Patch = 304 Patch = 22
Versione = 19980102 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(3, (const char *)(TString(132).fill('-')));
set_header(4," Codice Ragione sociale"); 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(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(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(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(10,"@9gInd.Documento @25gInd. Spedizione @46gNote Documento @63gCod.Mezzo @76gPorto @93gVettori");
set_header(11,"@9gRaggr. ordini @25gImporto Minimo @46gImporto Massimo @63gPriorita ev. @76gTipo Evasione"); 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_ASSFIS),FLD(LF_CFVEN,CFV_CODZONA),
FLD(LF_CFVEN,CFV_CODAG),FLD(LF_CFVEN,CFV_PERCPROVV)); 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_CODLIST),FLD(LF_CFVEN,CFV_CODMAG),
FLD(LF_CFVEN,CFV_CODSP1),FLD(LF_CFVEN,CFV_CODSP2), FLD(LF_CFVEN,CFV_CODSP1),FLD(LF_CFVEN,CFV_CODSP2),
FLD(LF_CFVEN,CFV_CODSP3),FLD(LF_CFVEN,CFV_CODSP4), FLD(LF_CFVEN,CFV_CODSP3),FLD(LF_CFVEN,CFV_CODSP4),
FLD(LF_CFVEN,CFV_ADDBOLLI), 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", set_row(4,"@9g@pn @25g@s @46g@f @63g@f @76g@d @93g@d @112g@2s",
FLD(LF_CFVEN,CFV_CODCFASS,"@@@@@@"), 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_IVARID),FLD(LF_CFVEN,CFV_DATAESC),
FLD(LF_CFVEN,CFV_DATASOLL),FLD(LF_CFVEN,CFV_TITOLO)); 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", set_row(5,"@9g@25s @46g@4s @63g@f @76g@s del @d @112g@s del @d",
FLD(LF_CFVEN,CFV_SCONTOCL),FLD(LF_CFVEN,CFV_SCONTOR), FLD(LF_CFVEN,CFV_SCONTO),
FLD(LF_CFVEN,CFV_CODSCINC),FLD(LF_CFVEN,CFV_FATTSOSP), FLD(LF_CFVEN,CFV_CODSCC),FLD(LF_CFVEN,CFV_FATTSOSP),
FLD(LF_CFVEN,CFV_VSNRPROT),FLD(LF_CFVEN,CFV_VSDATAREG), FLD(LF_CFVEN,CFV_VSNRPROT),FLD(LF_CFVEN,CFV_VSDATAREG),
FLD(LF_CFVEN,CFV_NSNPROT),FLD(LF_CFVEN,CFV_NSDATAREG)); FLD(LF_CFVEN,CFV_NSNPROT),FLD(LF_CFVEN,CFV_NSDATAREG));

View File

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

View File

@ -1,3 +1,3 @@
17 17
0 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 CODSCC|1|2|0|Codice sconto
CODMAG|1|3|0|Magazzino CODMAG|1|3|0|Magazzino
CODDEP|1|2|0|Deposito CODDEP|1|2|0|Deposito
CODSP1|1|3|0|Spese da addebitare 1 CODSP1|1|8|0|Spese da addebitare 1
CODSP2|1|3|0|Spese da addebitare 2 CODSP2|1|8|0|Spese da addebitare 2
CODSP3|1|3|0|Spese da addebitare 3 CODSP3|1|8|0|Spese da addebitare 3
CODSP4|1|3|0|Spese da addebitare 4 CODSP4|1|8|0|Spese da addebitare 4
PROFSOLL|1|5|0|Profilo sollecito ??? PROFSOLL|1|5|0|Profilo sollecito ???
MAXSOLL|2|2|0|Massimo sollecito ??? MAXSOLL|2|2|0|Massimo sollecito ???
DATAESC|5|8|0|Data estratto conto ??? DATAESC|5|8|0|Data estratto conto ???

View File

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

View File

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

View File

@ -8,10 +8,16 @@ BEGIN
PROMPT 1 0 " " PROMPT 1 0 " "
ITEM "1|Emissione RI.BA. su floppy" ITEM "1|Emissione RI.BA. su floppy"
MESSAGE DISABLE,2@|DISABLE,4@|DISABLE,5@ MESSAGE DISABLE,2@|DISABLE,4@|DISABLE,5@
MESSAGE ENABLE,1@ MESSAGE ENABLE,1@|SHOW,F_NOMEFILE
ITEM "2|Emissione RI.BA. su moduli cartacei" ITEM "2|Emissione RI.BA. su moduli cartacei"
MESSAGE DISABLE,1@ 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 END
GROUPBOX DLG_NULL 76 3 GROUPBOX DLG_NULL 76 3

View File

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

View File

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

View File

@ -45,8 +45,6 @@
#define CFV_CATVEN "CATVEN" #define CFV_CATVEN "CATVEN"
#define CFV_GESTCONTR "GESTCONTR" #define CFV_GESTCONTR "GESTCONTR"
#define CFV_CODLIST "CODLIST" #define CFV_CODLIST "CODLIST"
#define CFV_CODSCINC "CODSCINC"
#define CFV_SCONTOCL "SCONTOCL"
#define CFV_CODMAG "CODMAG" #define CFV_CODMAG "CODMAG"
#define CFV_CODDEP "CODDEP" #define CFV_CODDEP "CODDEP"
#define CFV_CODSP1 "CODSP1" #define CFV_CODSP1 "CODSP1"
@ -57,7 +55,6 @@
#define CFV_MAXSOLL "MAXSOLL" #define CFV_MAXSOLL "MAXSOLL"
#define CFV_DATAESC "DATAESC" #define CFV_DATAESC "DATAESC"
#define CFV_DATASOLL "DATASOLL" #define CFV_DATASOLL "DATASOLL"
#define CFV_SCONTOR "SCONTOR"
#define CFV_TITOLO "TITOLO" #define CFV_TITOLO "TITOLO"
#define CFV_RAGGOR "RAGGOR" #define CFV_RAGGOR "RAGGOR"
#define CFV_MINORD "MINORD" #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><nl>4° carattere -<gt> Formato ANNO. Puo' assumere i seguenti valori:
// <nl> 2 = breve (es. 95) // <nl> 2 = breve (es. 95)
// <nl> 4 = lungo (es. 1995) // <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); 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) void TTracciato_campo::copy(const TTracciato_campo& tc)
{ {
set_name(tc._name); set_name(tc._name);
set_datatype(tc._datatype);
set_type(tc._type); set_type(tc._type);
set_field(tc._field); set_field(tc._field);
set_ftype(tc._ftype); 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_length(config.get_int("LENGTH", section));
tipo.set_decimal(config.get_int("DECIMAL", section)); tipo.set_decimal(config.get_int("DECIMAL", section));
tipo.set_align(config.get_char("ALIGN", 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); TString s = config.get("FILLER", section);
if (s.len() > 1) if (s.len() > 1)
tipo.set_filler(s[1]); tipo.set_filler(s[1]);
@ -431,6 +437,9 @@ TFile_text::~TFile_text()
delete _read_file; delete _read_file;
if (_write_file) if (_write_file)
delete _write_file; delete _write_file;
_tipi.destroy();
_tracciati_record.destroy();
} }
//Legge da file il record text //Legge da file il record text
@ -516,19 +525,26 @@ int TFile_text::write(TRecord_text& rec)
rec.add(type,_typepos); rec.add(type,_typepos);
if (_fixedlen) // campi a lunghezza fissa if (_fixedlen) // campi a lunghezza fissa
{ {
for (int i = 0; i < items; i++) for (int i = 0; i < items; i++)
{ {
TTracciato_campo& tc = tr.get(i); TTracciato_campo& tc = tr.get(i);
campo = rec.row(i); campo = rec.row(i);
campo = format_textfield(tc, campo); campo = format_textfield(tc, campo);
buffer.insert(campo, tc.position()); buffer.insert(campo, tc.position());
//buffer << campo; campo.cut(0);
campo.cut(0); }
} CHECK(_write_file, "Impossibile scrivere su un file chiuso.");
CHECK(_write_file, "Impossibile scrivere su un file chiuso."); if (_recordsize<=0)
{
// Record a lunghezza var
*_write_file << buffer; *_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; if (!ok_w()) return 1;
buffer.cut(0); buffer.cut(0);
} }
@ -590,8 +606,9 @@ bool TFile_text::autoload(TRecord_text& rec, TCursor& cur , const TString* tipo)
{ {
const TString& type = rec.type(); const TString& type = rec.type();
if (tipo == NULL) tipo = &type; if (tipo == NULL) tipo = &type;
TTracciato_record& tr = *t_rec(*tipo); TTracciato_record* tr = t_rec(*tipo);
return _autoload(rec,cur,tr); 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) 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(); TString message = tc.message();
if (!message.empty()) if (!message.empty())
{ {
TToken_string msg (message, ','); TToken_string msg (message, ',');
if (!msg.blank()) if (!msg.blank())
validate(cur, rec, msg, campo); validate(cur, rec, msg, campo);
} }
rec.add(campo, i); 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 // sono quelli associati al campo nel filetext
TString& TFile_text::format_textfield(const TTracciato_campo& tc, TString& campo) TString& TFile_text::format_textfield(const TTracciato_campo& tc, TString& campo)
{ {
//int pos = tc.position(); //int pos = tc.position();
int length = tc.length(); int length = tc.length();
char fillch=tc.filler(); char fillch=tc.filler();
if (!tc.picture().blank()) if (!tc.picture().blank())
{ TString tmp; {
tmp.picture(tc.picture(), campo); switch (tc.datatype())
campo=tmp;
}
if (length > campo.len())
{ {
if (fillch == '\0' && _fixedlen) case 'N': // number
fillch=' '; {
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') if (tc.align() == 'R')
campo.right_just(length,fillch); campo=campo.right(length);
else else
campo.left_just(length, fillch); campo.cut(length);
} return campo;
else
if (length > 0)
if (tc.align() == 'R')
campo=campo.right(length);
else
campo.cut(length);
return campo;
} }
// Formatta la stringa passata in base al field del file isam // Formatta la stringa passata in base al field del file isam
@ -931,8 +967,6 @@ int TFile_text::close()
{ {
_name = ""; _name = "";
_current = NULL; _current = NULL;
_tipi.destroy();
_tracciati_record.destroy();
if (_read_file) _read_file->close(); if (_read_file) _read_file->close();
if (_write_file) _write_file->close(); if (_write_file) _write_file->close();
return 0; return 0;

View File

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

View File

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

View File

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

View File

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

View File

@ -166,7 +166,7 @@ void TRelation_application::set_toolbar(bool all)
pos = _mask->id2pos(DLG_SAVEREC); pos = _mask->id2pos(DLG_SAVEREC);
if (pos >= 0) if (pos >= 0)
_mask->fld(pos).enable(mode != MODE_QUERY); _mask->fld(pos).enable(mode != MODE_QUERY);
pos = _mask->id2pos(DLG_DELREC); pos = _mask->id2pos(DLG_DELREC);
if (pos >= 0) if (pos >= 0)
{ {
@ -183,12 +183,12 @@ void TRelation_application::set_toolbar(bool all)
} }
pos = _mask->id2pos(DLG_FINDREC); pos = _mask->id2pos(DLG_FINDREC);
if (pos >= 0) if (pos >= 0)
_mask->fld(pos).enable(_lnflag == 0); _mask->fld(pos).enable(_lnflag == 0);
pos = _mask->id2pos(DLG_NEWREC); pos = _mask->id2pos(DLG_NEWREC);
if (pos >= 0) if (pos >= 0)
_mask->fld(pos).enable(mode == MODE_QUERY || _lnflag == 0); _mask->fld(pos).enable(mode == MODE_QUERY || _lnflag == 0 );
} }
enable_query(); enable_query();
@ -398,7 +398,6 @@ bool TRelation_application::modify_mode()
if (_curr_transaction == TRANSACTION_MODIFY) if (_curr_transaction == TRANSACTION_MODIFY)
ini2insert_mask(); ini2insert_mask();
return TRUE; return TRUE;
} }
@ -865,23 +864,18 @@ void TRelation_application::main_loop()
if (_lnflag) if (_lnflag)
{ {
if (load_transaction()) if (load_transaction())
{ {
_autodelete = _curr_transaction == TRANSACTION_DELETE;
if (_curr_transaction == TRANSACTION_INSERT ) if (_curr_transaction == TRANSACTION_INSERT )
{
_mask->send_key(K_CTRL+'N', 0); _mask->send_key(K_CTRL+'N', 0);
} }
else if (_curr_transaction !=TRANSACTION_RUN)
{ _mask->send_key(K_AUTO_ENTER, 0);
_autodelete = _curr_transaction == TRANSACTION_DELETE;
_mask->send_key(K_AUTO_ENTER, 0);
}
}
} }
query_mode(); query_mode();
_mask->open_modal(); _mask->open_modal();
do do
{ {
const bool change = firm_change_enabled(); const bool change = firm_change_enabled();
@ -1265,6 +1259,8 @@ bool TRelation_application::parse_command_line()
return _lnflag != 0; 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 TRelation_application::load_transaction()
{ {
bool retv = FALSE; bool retv = FALSE;

View File

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

View File

@ -1,19 +1,24 @@
[77] [77]
Data = 12-03-1998 Data = 21-04-1998
Descrizione = Modello 770 Descrizione = Modello 770
Dischi = 1 Dischi = 1
Moduli = ba Moduli = ba
Patch = 18 Patch = 10
PostProcess = PostProcess =
PreProcess = PreProcess =
Prezzo(1) = 700,250 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] [770]
File(0) = 7700.bmp File(0) = 7700.bmp
File(1) = 77area.men File(1) = 77area.men
Patch = 18 Patch = 10
Versione = 19980102 Versione = 19980103
[771] [771]
File(2) = 770.exe File(2) = 770.exe
@ -152,8 +157,8 @@ File(134) = batbca7.msk
File(135) = batbcaf.msk File(135) = batbcaf.msk
File(136) = batbent.msk File(136) = batbent.msk
File(137) = menu_st.msk File(137) = menu_st.msk
Patch = 18 Patch = 10
Versione = 19980102 Versione = 19980103
[772] [772]
File(138) = recdesc\f36.dir File(138) = recdesc\f36.dir
@ -222,6 +227,6 @@ File(200) = recdesc\f76.dir
File(201) = recdesc\f76.trr File(201) = recdesc\f76.trr
File(202) = recdesc\f77.dir File(202) = recdesc\f77.dir
File(203) = recdesc\f77.trr File(203) = recdesc\f77.trr
Patch = 18 Patch = 10
Versione = 19980102 Versione = 19980103

View File

@ -79,7 +79,6 @@ TStampadatist_mask::TStampadatist_mask():
set_handler(F_TOLIVELLOGIAC, handle_liv); set_handler(F_TOLIVELLOGIAC, handle_liv);
set_handler(F_ORDINE, handle_ragg); set_handler(F_ORDINE, handle_ragg);
set_handler(F_DETTAGLIODEP, handle_ragg); set_handler(F_DETTAGLIODEP, handle_ragg);
set_handler(F_DETTAGLIOMAG, handle_ragg);
set_handler(F_ORDINEART,handle_subord); set_handler(F_ORDINEART,handle_subord);
if (!artlev().enabled()) { if (!artlev().enabled()) {
TMask_field &f1=field(F_RAGGCODICE); 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 STRINGA 100 30
BEGIN BEGIN
PROMPT 1 1 ">>>" PROMPT 1 1 ""
MESSAGE _STREXPR,LF_RMOVMAG->CODART+"/"+LF_RMOVMAG->LIVGIAC+":"+LF_RMOVMAG->CODMAG MESSAGE _STREXPR,LF_RMOVMAG->CODART+"/"+LF_RMOVMAG->LIVGIAC+":"+LF_RMOVMAG->CODMAG
END END
@ -327,6 +327,7 @@ SECTION BODY ODD 0
END // sezione movimento di competenza END // sezione movimento di competenza
END // loop movimento END // loop movimento
SECTION TOTALI_MOV 1 2 2 NUMEXPR #FF_SALDO_MOV!=0 SECTION TOTALI_MOV 1 2 2 NUMEXPR #FF_SALDO_MOV!=0
NUMBER FF_NUM_MOV 32 NUMBER FF_NUM_MOV 32
BEGIN BEGIN
@ -373,7 +374,6 @@ SECTION BODY ODD 0
END END
END // totali mov END // totali mov
END // loop scheda END // loop scheda
SECTION TOTALI_GRMOV 1 1 3 NUMEXPR #FF_SALDO_GRMOV!=0 SECTION TOTALI_GRMOV 1 1 3 NUMEXPR #FF_SALDO_GRMOV!=0
STRINGA 100 15 STRINGA 100 15

View File

@ -95,16 +95,16 @@ void TStampa_listamov::main_loop()
{ {
sortexp="NUMREG|CODART|NRIG"; sortexp="NUMREG|CODART|NRIG";
// trova il record iniziale E finale // trova il record iniziale E finale
darec.put("NUMREG",_mask->get(F_DANUM)); darec.put(MOVMAG_NUMREG,_mask->get(F_DANUM));
arec.put("NUMREG",_mask->get(F_ANUM)); arec.put(MOVMAG_NUMREG,_mask->get(F_ANUM));
_form->find_field('B',odd_page,"HEADER_DATA").hide(); _form->find_field('B',odd_page,"HEADER_DATA").disable();
} else { } else {
sortexp.cut(0) << LF_MOVMAG << "->DATAREG|NUMREG|CODART|NRIG"; sortexp.cut(0) << LF_MOVMAG << "->DATAREG|NUMREG|CODART|NRIG";
// trova il record iniziale E finale // trova il record iniziale E finale
if (_mask->get(F_DADATA).not_empty()) 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()) 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(); _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 USE LF_RMOVMAG BY NUMREG CODART NRIG
JOIN LF_MOVMAG TO LF_RMOVMAG INTO NUMREG==NUMREG JOIN LF_MOVMAG TO LF_RMOVMAG INTO NUMREG==NUMREG
JOIN %CAU TO 110 INTO CODTAB==CODCAUS JOIN %CAU TO 110 INTO CODTAB==CODCAUS
@ -30,7 +31,7 @@ SECTION GRAPHIC
BEGIN BEGIN
END END
SECTION HEADER ODD 6 SECTION HEADER ODD 5
STRINGA 1 40 1 STRINGA 1 40 1
BEGIN BEGIN
@ -65,111 +66,96 @@ BEGIN
PROMPT 1 3 "------------------------------------------------------------------------------------------------------------------------------------------------------" PROMPT 1 3 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END 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 STRINGA 101
BEGIN BEGIN
KEY "" KEY ""
PROMPT 2 5 "Cod.mag." PROMPT 2 4 "Cod.mag."
END END
STRINGA 103 20 STRINGA 103 20
BEGIN BEGIN
KEY "" KEY ""
PROMPT 13 5 "Articolo" PROMPT 13 4 "Articolo"
END END
STRINGA 104 40 STRINGA 104 40
BEGIN BEGIN
KEY "" KEY ""
PROMPT 35 5 "Descrizione articolo" PROMPT 35 4 "Descrizione articolo"
END END
//STRINGA 105
//BEGIN
// KEY "caus"
// PROMPT 74 5 "Causale"
//END
STRINGA 105 STRINGA 105
BEGIN BEGIN
KEY "UMART" KEY "UMART"
PROMPT 82 5 "UM" PROMPT 82 4 "UM"
END END
NUMERO 106 NUMERO 106
BEGIN BEGIN
KEY "quant" KEY "quant"
PROMPT 88 5 "Quantita'" PROMPT 88 4 "Quantita'"
END END
NUMERO 107 NUMERO 107
BEGIN BEGIN
KEY "prezzo" KEY "prezzo"
PROMPT 109 5 "Prezzo" PROMPT 104 4 "Prezzo"
END END
NUMERO 108 NUMERO 108
BEGIN BEGIN
KEY "valore" KEY "valore"
PROMPT 120 5 "Valore" PROMPT 120 4 "Valore"
END END
STRINGA 100 132 STRINGA 100 132
BEGIN BEGIN
KEY "Separatore (iniziale)" KEY "Separatore (iniziale)"
PROMPT 1 6 "------------------------------------------------------------------------------------------------------------------------------------------------------" PROMPT 1 5 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END END
END END
SECTION BODY ODD 1 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 DATA 1
BEGIN BEGIN
KEY "raggr fdata" KEY "raggr fdata"
PROMPT 1 1 "------------- Registrazioni del " PROMPT 1 1 "------------- Registrazioni del "
FIELD LF_MOVMAG->DATACOMP FIELD LF_MOVMAG->DATACOMP
MESSAGE HIDE,FF_DATAMOV
END END
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 BEGIN
KEY "numreg" KEY "numreg"
PROMPT 1 1 "Registrazione " PROMPT 1 1 "Num.Reg. "
FIELD LF_MOVMAG->NUMREG FIELD LF_MOVMAG->NUMREG
PICTURE "#####" PICTURE "#####"
MESSAGE RESET,10 MESSAGE RESET,10
END END
DATA 2 8 DATA FF_DATAMOV 10
BEGIN BEGIN
KEY "datacomp" KEY "datacomp"
PROMPT 24 1 "" PROMPT 16 1 "del "
FIELD LF_MOVMAG->DATACOMP FIELD LF_MOVMAG->DATACOMP
END END
STRINGA 3 40 STRINGA 3 40
BEGIN BEGIN
KEY "descr mov" KEY "descr mov"
PROMPT 34 1 "" PROMPT 35 1 ""
FIELD LF_MOVMAG->DESCR FIELD LF_MOVMAG->DESCR
END END
STRINGA 4 24 STRINGA 4 24
@ -181,28 +167,12 @@ SECTION BODY ODD 1
STRINGA 5 50 STRINGA 5 50
BEGIN BEGIN
KEY " DESCR CAUS" KEY " DESCR CAUS"
PROMPT 30 2 "" PROMPT 35 2 ""
FIELD %CAU->S0 FIELD %CAU->S0
END 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 STRINGA 6 20
BEGIN BEGIN
KEY " NUMDOC" KEY " NUMDOC"
@ -218,7 +188,7 @@ SECTION BODY ODD 1
END 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!="" SECTION CAUS_RIGA 1 1 1 STREXPR LF_RMOVMAG->CAUS!=""
STRINGA 4 24 STRINGA 4 24
BEGIN BEGIN
@ -313,5 +283,4 @@ SECTION BODY ODD 1
END // BODY SECTION END // BODY SECTION
SECTION FOOTER ODD 2 SECTION FOOTER ODD 2
BEGIN
END END

View File

@ -34,15 +34,6 @@ BEGIN
HELP "reale =(giac+ACL-INCL)" HELP "reale =(giac+ACL-INCL)"
END 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 NUMBER F_ANNOES 4
BEGIN BEGIN
FLAGS "A" FLAGS "A"
@ -57,6 +48,16 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
END 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 LIST F_FILTRO 23
BEGIN BEGIN
PROMPT 43 3 " Stampo " 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_PREZZIVALORI 670
#define FF_ENABLECOLS 671 #define FF_ENABLECOLS 671
#define FG_COL1 10 // Questi sono i gruppi dei raggruppamenti
#define FG_COL2 11 // e rappresentano i vari gruppi articoli / livello giac / magazzini ed
#define FG_COL3 12 // altro a seconda della stmpa e dell'ordinamento scelto
#define FG_COL4 13 // essi non sono implementati come MACRO c++ ma come literal nel testo
#define FG_COL5 14 // (arrivano in partica fino a 15)
#define FG_COL6 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_VALORI 25
#define FG_VALMEDI 26 #define FG_VALMEDI 26
#define FG_RIGAVALORI 27 #define FG_RIGAVALORI 27

View File

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

View File

@ -112,7 +112,42 @@ bool TForm_stampemg::validate(TForm_item &cf, TToken_string &s)
else else
levname="Giacenza"; levname="Giacenza";
cf.set(levname << ' ' << valore); 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; return TRUE;
} else } else
return TForm::validate(cf, s); return TForm::validate(cf, s);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -137,7 +137,9 @@ PNETTO = S_NORMALE //2700
DESUMPNETTO = S_NASCOSTO //2700 DESUMPNETTO = S_NASCOSTO //2700
NCOLLI = S_NORMALE //2800 NCOLLI = S_NORMALE //2800
CAUSMAG = S_OBBLIGATORIO //2900 CAUSMAG = S_OBBLIGATORIO //2900
CAUSMAGC = S_DISABILITATO //2900
DESCRMAG = S_NORMALE //2900 DESCRMAG = S_NORMALE //2900
DESCRMAGC = S_DISABILITATO //2900
BLANK = S_DISABILITATO //4000 BLANK = S_DISABILITATO //4000
CODNOTE = S_NORMALE //2500 CODNOTE = S_NORMALE //2500
NOTECLI = 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()); m.set(F_STATO, _doc->stato());
const TString16 data_doc(m.get( F_DATADOC)); 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()) if (pos >= 0 && m.fld(pos).active())
{ {
m.fld(pos).set(data_doc); m.fld(pos).set(data_doc);
@ -59,6 +59,15 @@ void TMotore_application::init_insert_mode( TMask& m )
} }
m.disable(DLG_PRINT); m.disable(DLG_PRINT);
_occas_mask->reset( ); _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 const int ndefaults = pro( ).get_int( "NDEFAULTS", "DEFAULT" ); // prof
for( int i = 1; i <= ndefaults; i++ ) for( int i = 1; i <= ndefaults; i++ )

View File

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

View File

@ -179,6 +179,7 @@ Caption = "Configurazione"
Picture = <ba04.bmp> Picture = <ba04.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Magazzino",[ACQVEN_022]
Item_01 = "Condizioni di vendita", "ve0 -2 -1", "F" Item_01 = "Condizioni di vendita", "ve0 -2 -1", "F"
Item_02 = "Agenti e dati generali", "ve0 -2 -2", "F" Item_02 = "Agenti e dati generali", "ve0 -2 -2", "F"
Item_03 = "Contabilizzazione sconti", "ve0 -2 -3", "F" Item_03 = "Contabilizzazione sconti", "ve0 -2 -3", "F"
@ -192,3 +193,12 @@ Picture = <ve00.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_09 = "Modifica valori", "ve4 -0", "F" 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] [ve]
Data = 01-04-1998 Data = 08-05-1998
Descrizione = Vendite Descrizione = Vendite
Dischi = 1 Dischi = 1
Moduli = ba,cg9,pr9,mg9,sv9 Moduli = ba,cg9,pr9,mg9,sv9
Patch = 304 Patch = 25
PostProcess = PostProcess = bainst -0 VE
PreProcess = PreProcess =
Prezzo(1) = 900,300 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] [ve0]
File(0) = ve00.bmp File(0) = ve00.bmp
File(1) = vearea.men File(1) = vearea.men
Patch = 304 Patch = 25
Versione = 19980102 Versione = 19980103
[ve1] [ve1]
File(2) = basteld.msk File(2) = basteld.msk
@ -44,22 +49,22 @@ File(26) = ve1000b.msk
File(27) = ve1100a.msk File(27) = ve1100a.msk
File(28) = ve5.exe File(28) = ve5.exe
File(29) = ve5100a.msk File(29) = ve5100a.msk
File(30) = ve6.exe|X File(30) = ve6.exe
File(31) = ve6100a.msk File(31) = ve6100a.msk
File(32) = ve6200a.msk File(32) = ve6200a.msk
File(33) = ve6300a.msk File(33) = ve6300a.msk
File(34) = veprassi.hlp File(34) = veprassi.hlp
File(35) = veprassi.men File(35) = veprassi.men
Patch = 304 Patch = 25
Versione = 19980102 Versione = 19980103
[ve2] [ve2]
File(36) = recdesc\f33.dir File(36) = recdesc\f33.dir
File(37) = recdesc\f33.trr File(37) = recdesc\f33.trr
File(38) = recdesc\f34.dir File(38) = recdesc\f34.dir
File(39) = recdesc\f34.trr File(39) = recdesc\f34.trr
Patch = 304 Patch = 25
Versione = 19980102 Versione = 19980103
[ve3] [ve3]
File(40) = bolla.bmp File(40) = bolla.bmp
@ -100,8 +105,8 @@ File(74) = verig08.ini
File(75) = verig08.msk File(75) = verig08.msk
File(76) = verig09.ini File(76) = verig09.ini
File(77) = verig09.msk File(77) = verig09.msk
Patch = 304 Patch = 25
Versione = 19980102 Versione = 19980103
[ve9] [ve9]
File(78) = bastabe.msk File(78) = bastabe.msk
@ -114,7 +119,7 @@ File(84) = bastctr.msk
File(85) = bastfca.msk File(85) = bastfca.msk
File(86) = bastfrm.msk File(86) = bastfrm.msk
File(87) = bastgmc.msk File(87) = bastgmc.msk
File(88) = bastprs.msk|X File(88) = bastprs.msk
File(89) = bastrfa.msk File(89) = bastrfa.msk
File(90) = bastrfc.msk File(90) = bastrfc.msk
File(91) = batbabe.msk File(91) = batbabe.msk
@ -140,8 +145,8 @@ File(110) = batbgmc.msk
File(111) = batbgmc.rpt File(111) = batbgmc.rpt
File(112) = batbmag.msk File(112) = batbmag.msk
File(113) = batbmag.rpt File(113) = batbmag.rpt
File(114) = batbprs.msk|X File(114) = batbprs.msk
File(115) = batbprs.rpt|X File(115) = batbprs.rpt
File(116) = batbprv.msk File(116) = batbprv.msk
File(117) = batbrfa.msk File(117) = batbrfa.msk
File(118) = batbrfa.rpt File(118) = batbrfa.rpt
@ -173,7 +178,7 @@ File(143) = recdesc\f52.trr
File(144) = recdesc\f53.dir File(144) = recdesc\f53.dir
File(145) = recdesc\f53.trr File(145) = recdesc\f53.trr
File(146) = tab_fca.frm File(146) = tab_fca.frm
File(147) = ve0.exe|X File(147) = ve0.exe
File(148) = ve0100a.msk File(148) = ve0100a.msk
File(149) = ve0100o.msk File(149) = ve0100o.msk
File(150) = ve0200a.msk File(150) = ve0200a.msk
@ -209,6 +214,6 @@ File(179) = ve3300.msk
File(180) = ve3400.msk File(180) = ve3400.msk
File(181) = ve4.exe File(181) = ve4.exe
File(182) = ve4100.msk File(182) = ve4100.msk
Patch = 304 Patch = 25
Versione = 19980102 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_ANNODOC, get("ANNO"));;
mov.put(MOVMAG_CODNUM, get("CODNUM")); mov.put(MOVMAG_CODNUM, get("CODNUM"));
const long numdoc = get_long("NDOC"); 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_CATVEN, get("CATVEN"));
mov.put(MOVMAG_CODLIST, get("CODLIST")); mov.put(MOVMAG_CODLIST, get("CODLIST"));
mov.put(MOVMAG_CODCONT, get("CODCONT")); mov.put(MOVMAG_CODCONT, get("CODCONT"));

View File

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

View File

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