Patch level :

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


git-svn-id: svn://10.65.10.50/trunk@6577 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1998-04-30 14:59:47 +00:00
parent f99c477005
commit f5e27b6add
38 changed files with 13680 additions and 16390 deletions

View File

@ -2,10 +2,11 @@
PAGE "Stampa Tabella Causali di magazzino" -1 -1 58 8 PAGE "Stampa Tabella Causali di magazzino" -1 -1 58 8
STRING F_INIZIO1 6 STRING F_INIZIO1 5
BEGIN BEGIN
PROMPT 2 1 "Da codice " PROMPT 2 1 "Da codice "
USE %CAU USE %CAU
FIELD CODTAB
INPUT CODTAB F_INIZIO1 INPUT CODTAB F_INIZIO1
DISPLAY "Codice " CODTAB DISPLAY "Codice " CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
@ -13,11 +14,11 @@ BEGIN
GROUP 1 GROUP 1
END END
STRING F_FINE1 6 STRING F_FINE1 5
BEGIN BEGIN
PROMPT 2 3 " A codice " PROMPT 2 3 " A codice "
HELP "Inserire il codice di fine " HELP "Inserire il codice di fine "
FIELD LF_TABCOM->CODTAB[1,3] FIELD CODTAB
COPY USE F_INIZIO1 COPY USE F_INIZIO1
INPUT CODTAB F_FINE1 INPUT CODTAB F_FINE1
COPY DISPLAY F_INIZIO1 COPY DISPLAY F_INIZIO1

View File

@ -13,7 +13,7 @@ BEGIN
END END
STRING F_CODICE 6 STRING F_CODICE 5
BEGIN BEGIN
PROMPT 2 1 "Codice causale " PROMPT 2 1 "Codice causale "
FIELD CODTAB FIELD CODTAB
@ -54,7 +54,7 @@ BEGIN
DISPLAY "Descrizione@40" S0 DISPLAY "Descrizione@40" S0
OUTPUT F_RAGGF CODTAB OUTPUT F_RAGGF CODTAB
OUTPUT F_RAGGFD S0 OUTPUT F_RAGGFD S0
OUTPUT H_TIPOMOV S6 OUTPUT H_TIPOMOV S7
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP 23 GROUP 23
MESSAGE EMPTY RESET,F_RAGGFD|RESET,H_TIPOMOV|CHECK,H_TIPOMOV MESSAGE EMPTY RESET,F_RAGGFD|RESET,H_TIPOMOV|CHECK,H_TIPOMOV
@ -116,7 +116,7 @@ BEGIN
PROMPT 2 13 "Aggiorna costo medio" PROMPT 2 13 "Aggiorna costo medio"
END END
STRING F_CAUCOLL 6 STRING F_CAUCOLL 5
BEGIN BEGIN
PROMPT 2 15 "Causale collegata " PROMPT 2 15 "Causale collegata "
FIELD S9 FIELD S9
@ -151,7 +151,7 @@ ENDPAGE
PAGE "Movimentazione campi" 11 60 14 PAGE "Movimentazione campi" 11 60 14
STRING F_CODICE2 6 STRING F_CODICE2 5
BEGIN BEGIN
FLAGS "D" FLAGS "D"
PROMPT 2 1 "Codice causale " PROMPT 2 1 "Codice causale "

View File

@ -108,7 +108,7 @@ BEGIN
END END
STRING F_CODCAUS 6 STRING F_CODCAUS 5
BEGIN BEGIN
PROMPT 2 8 "Codice causale " PROMPT 2 8 "Codice causale "
FIELD CODCAUS FIELD CODCAUS

View File

@ -240,7 +240,7 @@ BEGIN
NUM_CALC #F_PREZZO*#F_QUANT NUM_CALC #F_PREZZO*#F_QUANT
END END
STRING F_CAUSRIG 6 STRING F_CAUSRIG 5
BEGIN BEGIN
PROMPT 2 16 "Codice causale " PROMPT 2 16 "Codice causale "
FIELD CAUS FIELD CAUS

View File

@ -108,7 +108,7 @@ BEGIN
PROMPT 2 7 "Causali d'apertura " PROMPT 2 7 "Causali d'apertura "
END END
STRING F_CAURIM 6 STRING F_CAURIM 5
BEGIN BEGIN
PROMPT 3 8 "Rimanenze iniziali " PROMPT 3 8 "Rimanenze iniziali "
FLAGS "U" FLAGS "U"
@ -121,7 +121,7 @@ BEGIN
GROUP 4 GROUP 4
END END
STRING F_CAUICL 6 STRING F_CAUICL 5
BEGIN BEGIN
PROMPT 3 9 "In conto lavoraz. " PROMPT 3 9 "In conto lavoraz. "
FLAGS "U" FLAGS "U"
@ -134,7 +134,7 @@ BEGIN
GROUP 4 GROUP 4
END END
STRING F_CAUACL 6 STRING F_CAUACL 5
BEGIN BEGIN
PROMPT 43 9 "A conto lavoraz. " PROMPT 43 9 "A conto lavoraz. "
FLAGS "U" FLAGS "U"
@ -147,7 +147,7 @@ BEGIN
GROUP 4 GROUP 4
END END
STRING F_CAUPRF 6 STRING F_CAUPRF 5
BEGIN BEGIN
PROMPT 3 10 "In prod. finiti " PROMPT 3 10 "In prod. finiti "
FLAGS "U" FLAGS "U"
@ -160,7 +160,7 @@ BEGIN
GROUP 4 GROUP 4
END END
STRING F_CAUPRC 6 STRING F_CAUPRC 5
BEGIN BEGIN
PROMPT 43 10 "In prod. comp. " PROMPT 43 10 "In prod. comp. "
FLAGS "U" FLAGS "U"
@ -173,7 +173,7 @@ BEGIN
GROUP 4 GROUP 4
END END
STRING F_CAUORF 6 STRING F_CAUORF 5
BEGIN BEGIN
PROMPT 3 11 "Ordinato fornitori " PROMPT 3 11 "Ordinato fornitori "
FLAGS "U" FLAGS "U"
@ -186,7 +186,7 @@ BEGIN
GROUP 1 4 GROUP 1 4
END END
STRING F_CAUORC 6 STRING F_CAUORC 5
BEGIN BEGIN
PROMPT 43 11 "Ordinato clienti " PROMPT 43 11 "Ordinato clienti "
FLAGS "U" FLAGS "U"

View File

@ -1,18 +1,9 @@
#include <applicat.h> #include <applicat.h>
#include <config.h>
#include <mask.h>
#include <printer.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <utility.h>
#include <form.h>
#include <printapp.h>
#include "..\ve\veconf.h" #include "..\ve\veconf.h"
#include "mglib.h" #include "mglib.h"
#include "mg3100.h" #include "mg3100.h"
#include "mg3frm.h" #include "mg3frm.h"
class TForm_giacprezzi : public TForm_stampemg class TForm_giacprezzi : public TForm_stampemg
@ -64,18 +55,18 @@ TForm_giacprezzi::~TForm_giacprezzi()
class TStampadatist_mask: public TMask class TStampadatist_mask: public TStampemg_mask
{ {
static bool handle_ragg(TMask_field &fld, KEY k); // handler static bool handle_ragg(TMask_field &fld, KEY k); // handler
static bool handle_liv(TMask_field &fld, KEY k); // handler static bool handle_liv(TMask_field &fld, KEY k); // handler
static bool handle_subord(TMask_field &fld, KEY k); // handler static bool handle_subord(TMask_field &fld, KEY k); // handler
public: public:
TStampadatist_mask(); TStampadatist_mask();
~TStampadatist_mask(){}; virtual ~TStampadatist_mask(){};
}; };
TStampadatist_mask::TStampadatist_mask(): TStampadatist_mask::TStampadatist_mask():
TMask("mg3100") TStampemg_mask("mg3100")
{ {
TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente
if (prassid.get_bool("GES", NULL, A_LISTINI)) if (prassid.get_bool("GES", NULL, A_LISTINI))
@ -83,8 +74,6 @@ TStampadatist_mask::TStampadatist_mask():
else { else {
field(F_CATVENLISTINO).disable(); field(F_CODLISTINO).disable(); field(F_CATVENLISTINO).disable(); field(F_CODLISTINO).disable();
} }
TCodgiac_livelli giaclev;
TCodart_livelli artlev;
set_handler(F_TOLIVELLOART, handle_liv); set_handler(F_TOLIVELLOART, handle_liv);
set_handler(F_TOLIVELLOGIAC, handle_liv); set_handler(F_TOLIVELLOGIAC, handle_liv);
@ -92,32 +81,36 @@ TStampadatist_mask::TStampadatist_mask():
set_handler(F_DETTAGLIODEP, handle_ragg); set_handler(F_DETTAGLIODEP, handle_ragg);
set_handler(F_DETTAGLIOMAG, 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);
f1.reset(); f1.check();f1.hide(); f1.reset(); f1.check();f1.hide();
field(F_FROMLIVELLOART).hide(); field(F_FROMLIVELLOART).hide();
field(F_TOLIVELLOART).hide(); field(F_TOLIVELLOART).hide();
} }
if (!giaclev.enabled()) { if (!giaclev().enabled()) {
TMask_field &f2=field(F_RAGGLIVGIAC); TMask_field &f2=field(F_RAGGLIVGIAC);
f2.reset(); f2.check();f2.hide(); f2.reset(); f2.check();f2.hide();
field(F_FROMLIVELLOGIAC).hide(); field(F_FROMLIVELLOGIAC).hide();
field(F_TOLIVELLOGIAC).hide(); field(F_TOLIVELLOGIAC).hide();
} }
} }
bool TStampadatist_mask::handle_subord(TMask_field &fld, KEY k) bool TStampadatist_mask::handle_subord(TMask_field &fld, KEY k)
{ {
if (k == K_SPACE) if (k == K_SPACE)
{ {
TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE); TStampadatist_mask &m=(TStampadatist_mask &)fld.mask();
TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC);
switch (fld.get()[1]) { TOperable_field &fraggcod=(TOperable_field &)m.field(F_RAGGCODICE);
TOperable_field &fragggiac=(TOperable_field &)m.field(F_RAGGLIVGIAC);
switch (fld.get()[0]) {
case 'C': case 'C':
if (fld.mask().get(F_ORDINE)=="A") if (m.get(F_ORDINE)=="A")
fraggcod.enable(); {
else { fraggcod.enable();m.send_key(K_SPACE,F_RAGGCODICE);
if (!fld.mask().get_bool(F_DETTAGLIOMAG) || !fld.mask().get_bool(F_DETTAGLIODEP)) } else {
if (!m.get_bool(F_TOTALIDEPOSITI) || !m.get_bool(F_DETTAGLIODEP))
{ {
fraggcod.reset(); fraggcod.disable(); fraggcod.reset(); fraggcod.disable();
fragggiac.reset(); fragggiac.disable(); fragggiac.reset(); fragggiac.disable();
@ -127,7 +120,16 @@ bool TStampadatist_mask::handle_subord(TMask_field &fld, KEY k)
break; break;
case 'M': case 'M':
case 'D': case 'D':
fraggcod.reset(); fraggcod.check();fraggcod.disable(); fraggcod.set("X");
fraggcod.disable();
m.field(F_FROMLIVELLOART).set(m.artlev().last_level());
m.disable(F_FROMLIVELLOART);
m.field(F_TOLIVELLOART).set("0");
m.disable(F_TOLIVELLOART);
m.field(F_FROMLIVELLOGIAC).set("0");
m.disable(F_FROMLIVELLOGIAC);
m.field(F_TOLIVELLOGIAC).set("0");
m.disable(F_TOLIVELLOGIAC);
break; break;
} }
} }
@ -158,43 +160,48 @@ bool TStampadatist_mask::handle_ragg(TMask_field &fld, KEY k)
{ {
if (k == K_SPACE) if (k == K_SPACE)
{ {
TStampadatist_mask &m=(TStampadatist_mask &)fld.mask();
TOperable_field &ftotmag=(TOperable_field &)fld.mask().field(F_TOTALIMAGAZZINI); TOperable_field &ftotmag=(TOperable_field &)fld.mask().field(F_TOTALIMAGAZZINI);
TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE); TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE);
TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC); TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC);
fraggcod.enable();
fragggiac.enable();
if (fld.mask().get(F_ORDINE)=="M") if (fld.mask().get(F_ORDINE)=="M")
{ {
ftotmag.enable(); ftotmag.enable();
if (!fld.mask().get_bool(F_DETTAGLIOMAG) || !fld.mask().get_bool(F_DETTAGLIODEP)) if (!fld.mask().get_bool(F_TOTALIDEPOSITI) || !fld.mask().get_bool(F_DETTAGLIODEP))
{ {
fraggcod.reset(); fraggcod.disable(); fraggcod.reset(); fraggcod.disable();
fragggiac.reset(); fragggiac.disable(); fragggiac.reset(); fragggiac.disable();
fraggcod.do_message(0);fragggiac.do_message(0); fraggcod.do_message(0);fragggiac.do_message(0);
return TRUE; return TRUE;
} }
} } else {
fraggcod.enable(); bool enabmag=m.magazz_ini().gestmultimag() || m.magazz_ini().gestdep();
fragggiac.enable(); m.enable(F_TOTALIMAGAZZINI,enabmag && m.field(F_TOTALIMAGAZZINI).enabled());
m.enable(F_DETTAGLIOMAG,enabmag && m.field(F_DETTAGLIOMAG).enabled());
}
} }
return TRUE; return TRUE;
} }
// STAMPA anagrafiche // STAMPA anagrafiche
class TStampa_datistorici : public TPrint_application class TStampa_datistorici : public TSkeleton_application
{ {
TArray * _files; TArray _file;
TMask * _mask; TStampadatist_mask * _mask;
TCursor * _cur; TCursor * _cur;
TForm_giacprezzi * _form; // to be moved into TPrint_application TForm_giacprezzi * _form; // to be moved into TPrint_application
protected: protected:
virtual bool print_one(int file) protected:
{return TRUE;} void open_files(int logicnum, ...);
virtual bool user_create(); virtual bool create();
virtual bool user_destroy(); virtual bool destroy();
virtual bool set_print(int i=1); virtual void main_loop();
virtual void set_page(int file,int count)
{ }
void setprint_permagazzini(); void setprint_permagazzini();
void setprint_perarticoli(); void setprint_perarticoli();
@ -203,19 +210,17 @@ public:
}; };
bool TStampa_datistorici::user_create() bool TStampa_datistorici::create()
{ {
_mask = new TStampadatist_mask(); _mask = new TStampadatist_mask();
_files = new TArray(); open_files(LF_ANAMAG,LF_MAG,LF_TAB,LF_TABCOM,0);
_files->add(new TLocalisamfile(LF_MAG)); return TSkeleton_application::create();
return TRUE;
} }
bool TStampa_datistorici::user_destroy() bool TStampa_datistorici::destroy()
{ {
delete _mask; delete _mask;
delete _files; return TSkeleton_application::destroy();
return TRUE;
} }
void TStampa_datistorici::setprint_permagazzini() void TStampa_datistorici::setprint_permagazzini()
@ -227,9 +232,9 @@ void TStampa_datistorici::setprint_permagazzini()
_cur = _form->cursor(); _cur = _form->cursor();
// setta il filtro sul cursore // setta il filtro sul cursore
if (*_mask->get(F_DAART)) if (*_mask->get(F_DAART))
cfilter << "(CODART>=" <<'"' << _mask->get(F_DAART)<< "\")&&" ; cfilter << "(CODART[1," << _mask->get(F_DAART).len() << "]>=" <<'"' << _mask->get(F_DAART)<< "\")&&" ;
if (*_mask->get(F_AART)) if (*_mask->get(F_AART))
cfilter << "(CODART<=" <<'"' << _mask->get(F_AART)<< "\")&&" ; cfilter << "(CODART[1," << _mask->get(F_AART).len() << "]<=" <<'"' << _mask->get(F_AART)<< "\")&&" ;
switch (*_mask->get(F_FILTRO)) { switch (*_mask->get(F_FILTRO)) {
case '0': // non nulli case '0': // non nulli
cfilter << "(STR(" << LF_MAG << "->GIAC!=\"0\"))&&"; cfilter << "(STR(" << LF_MAG << "->GIAC!=\"0\"))&&";
@ -255,13 +260,19 @@ void TStampa_datistorici::setprint_permagazzini()
TRUE, TRUE,
_mask->get_bool(F_TOTALIDEPOSITI), _mask->get_bool(F_TOTALIDEPOSITI),
_mask->get_bool(F_DETTAGLIODEP)); _mask->get_bool(F_DETTAGLIODEP));
_form->find_field('H',odd_page,FF_FLAGGIAC).set((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)!='S') ? "1": "0"); TString16 ena=((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)!='S')? "1": "0");
_form->find_field('H',odd_page,FF_FLAGSOTTOS).set((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)=='S') ? "1": "0"); _form->find_field('H',odd_page,FF_FLAGGIAC).set(ena );
_form->find_field('B',odd_page,FF_FLAGVALMEDI).set(_mask->get_bool(F_VALMEDI) ? "1": "0"); _form->find_field('B',odd_page,FF_FLAGGIAC).set(ena);
ena=((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)=='S')? "1": "0") ;
_form->find_field('H',odd_page,FF_PREZZIVALORI).set(_mask->get(F_PREZZIVALORI)); _form->find_field('H',odd_page,FF_FLAGSOTTOS).set(ena);
_form->find_field('B',odd_page,FF_PREZZIVALORI).set(_mask->get(F_PREZZIVALORI)); _form->find_field('B',odd_page,FF_FLAGSOTTOS).set(ena);
ena=_mask->get(F_PREZZIVALORI);
_form->find_field('H',odd_page,FF_PREZZIVALORI).set(ena);
_form->find_field('B',odd_page,FF_PREZZIVALORI).set(ena);
ena=_mask->get_bool(F_VALMEDI) ? "1": "0";
_form->find_field('H',odd_page,FF_FLAGVALMEDI).set(ena);
_form->find_field('B',odd_page,FF_FLAGVALMEDI).set(ena);
_form->set_codlistino(_mask->get(F_CATVENLISTINO),_mask->get(F_CODLISTINO)); _form->set_codlistino(_mask->get(F_CATVENLISTINO),_mask->get(F_CODLISTINO));
darec.put("ANNOES",_mask->get(F_ANNOES)); darec.put("ANNOES",_mask->get(F_ANNOES));
@ -343,8 +354,20 @@ void TStampa_datistorici::setprint_perarticoli()
_form->find_field('H',odd_page,FF_FLAGSOTTOS).set((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)=='S') ? "1": "0"); _form->find_field('H',odd_page,FF_FLAGSOTTOS).set((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)=='S') ? "1": "0");
_form->find_field('B',odd_page,FF_FLAGVALMEDI).set(_mask->get_bool(F_VALMEDI) ? "1": "0"); _form->find_field('B',odd_page,FF_FLAGVALMEDI).set(_mask->get_bool(F_VALMEDI) ? "1": "0");
TString16 ena=((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)!='S')? "1": "0");
_form->find_field('H',odd_page,FF_FLAGGIAC).set(ena );
_form->find_field('B',odd_page,FF_FLAGGIAC).set(ena);
ena=((_mask->get_bool(F_STAMPAGIAC) && *_mask->get(F_FILTRO)=='S')? "1": "0") ;
_form->find_field('H',odd_page,FF_FLAGSOTTOS).set(ena);
_form->find_field('B',odd_page,FF_FLAGSOTTOS).set(ena);
_form->find_field('H',odd_page,FF_PREZZIVALORI).set(_mask->get(F_PREZZIVALORI)); _form->find_field('H',odd_page,FF_PREZZIVALORI).set(_mask->get(F_PREZZIVALORI));
_form->find_field('B',odd_page,FF_PREZZIVALORI).set(_mask->get(F_PREZZIVALORI)); _form->find_field('B',odd_page,FF_PREZZIVALORI).set(_mask->get(F_PREZZIVALORI));
ena=_mask->get_bool(F_VALMEDI) ? "1": "0";
_form->find_field('H',odd_page,FF_FLAGVALMEDI).set(ena);
_form->find_field('B',odd_page,FF_FLAGVALMEDI).set(ena);
_form->find_field('B',odd_page,FF_FLAGTOTQTA).set("1");
_form->set_codlistino(_mask->get(F_CATVENLISTINO),_mask->get(F_CODLISTINO)); _form->set_codlistino(_mask->get(F_CATVENLISTINO),_mask->get(F_CODLISTINO));
joinexp << "ANNOES==" << _mask->get(F_ANNOES) << "|CODART==CODART"; joinexp << "ANNOES==" << _mask->get(F_ANNOES) << "|CODART==CODART";
@ -357,22 +380,22 @@ void TStampa_datistorici::setprint_perarticoli()
} }
bool TStampa_datistorici::set_print(int i) void TStampa_datistorici::main_loop()
{ {
while (TRUE) { while (_mask->run() == K_ENTER) {
if (_mask->run() != K_ENTER) if (_mask->magazz_ini().gestmag(TRUE))
return FALSE;
if (*_mask->get(F_ORDINE)=='A')
{ {
setprint_perarticoli(); if (*_mask->get(F_ORDINE)=='A')
} else { {
setprint_permagazzini(); setprint_perarticoli();
} else {
setprint_permagazzini();
}
_form->print();
delete _form;
} }
_form->print();
delete _form;
} // while true } // while true
return TRUE; return ;
} }

View File

@ -4,284 +4,288 @@ PAGE "Stampa dati storici" -1 -1 78 20
LIST F_PREZZIVALORI 18 LIST F_PREZZIVALORI 18
BEGIN BEGIN
PROMPT 2 1 "" PROMPT 2 1 ""
ITEM "V|Saldi e valori" ITEM "V|Saldi e valori"
MESSAGE SHOW,G_PARAMVALORI@ |HIDE,G_LISTINO@ MESSAGE SHOW,G_PARAMVALORI@ |HIDE,G_LISTINO@
ITEM "P|Costi e prezzi" ITEM "P|Costi e prezzi"
MESSAGE RESET,F_STAMPAGIAC|HIDE,G_PARAMVALORI@|SHOW,G_LISTINO@ MESSAGE RESET,F_STAMPAGIAC|HIDE,G_PARAMVALORI@|SHOW,G_LISTINO@
END END
BOOL F_VALMEDI BOOL F_VALMEDI
BEGIN BEGIN
PROMPT 32 1 "Valori medi " PROMPT 32 1 "Valori medi "
GROUP G_PARAMVALORI GROUP G_PARAMVALORI
END END
BOOL F_STAMPAGIAC BOOL F_STAMPAGIAC
BEGIN BEGIN
PROMPT 52 1 "Stampa giacenza " PROMPT 52 1 "Stampa giacenza "
GROUP G_PARAMVALORI GROUP G_PARAMVALORI
END END
STRING F_CATVENLISTINO 2 STRING F_CATVENLISTINO 2
BEGIN BEGIN
FLAGS "U" FLAGS "U"
PROMPT 32 1 "Cat. ven. " PROMPT 32 1 "Cat. ven. "
USE CVE USE CVE
INPUT CODTAB F_CATVENLISTINO INPUT CODTAB F_CATVENLISTINO
DISPLAY "Cat." CODTAB DISPLAY "Cat." CODTAB
DISPLAY "Descrizione@50" S0 DISPLAY "Descrizione@50" S0
OUTPUT F_CATVENLISTINO CODTAB OUTPUT F_CATVENLISTINO CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP G_LISTINO GROUP G_LISTINO
END END
STRING F_CODLISTINO 3 STRING F_CODLISTINO 3
BEGIN BEGIN
FLAGS "U" FLAGS "U"
PROMPT 52 1 "Codice listino " PROMPT 52 1 "Codice listino "
USE LF_CONDV USE LF_CONDV
INPUT TIPO "L" INPUT TIPO "L"
INPUT COD F_CODLISTINO INPUT COD F_CODLISTINO
DISPLAY "Codice" COD DISPLAY "Codice" COD
DISPLAY "Descrizione@30" DESCR DISPLAY "Descrizione@30" DESCR
OUTPUT F_CODLISTINO COD OUTPUT F_CODLISTINO COD
CHECKTYPE NORMAL CHECKTYPE NORMAL
GROUP G_LISTINO GROUP G_LISTINO
END END
LISTBOX F_ORDINE 10 LISTBOX F_ORDINE 10
BEGIN BEGIN
PROMPT 2 2 "Ordinamento " PROMPT 2 2 "Ordinamento "
ITEM "A|articoli" ITEM "A|articoli"
MESSAGE ENABLE,F_ORDINEART|HIDE,F_TOTALIDEPOSITI|HIDE,F_DETTAGLIODEP MESSAGE ENABLE,F_ORDINEART|HIDE,F_TOTALIDEPOSITI|HIDE,F_DETTAGLIODEP
MESSAGE SHOW,F_TOTALIMAGAZZINI|SHOW,F_DETTAGLIOMAG MESSAGE SHOW,F_TOTALIMAGAZZINI|SHOW,F_DETTAGLIOMAG
ITEM "M|magazzini" ITEM "M|magazzini"
MESSAGE "C",F_ORDINEART|K_SPACE,F_ORDINEART|DISABLE,F_ORDINEART|SHOW,G_CODART@|HIDE,G_DESART@ MESSAGE "C",F_ORDINEART|K_SPACE,F_ORDINEART|DISABLE,F_ORDINEART|SHOW,G_CODART@|HIDE,G_DESART@
MESSAGE SHOW,F_TOTALIDEPOSITI|SHOW,F_DETTAGLIODEP MESSAGE SHOW,F_TOTALIDEPOSITI|SHOW,F_DETTAGLIODEP
MESSAGE HIDE,F_TOTALIMAGAZZINI|HIDE,F_DETTAGLIOMAG MESSAGE HIDE,F_TOTALIMAGAZZINI|HIDE,F_DETTAGLIOMAG
END END
LISTBOX F_ORDINEART 20 LISTBOX F_ORDINEART 20
BEGIN BEGIN
FLAGS "G" FLAGS "G"
PROMPT 34 2 "sotto-ordinamento " PROMPT 34 2 "sotto-ordinamento "
ITEM "C|codice" ITEM "C|codice"
MESSAGE HIDE,G_CATMER@|ENABLE,G_CODART@|HIDE,G_DESART@ MESSAGE HIDE,G_CATMER@|ENABLE,G_CODART@|HIDE,G_DESART@
ITEM "D|descrizione" ITEM "D|descrizione"
MESSAGE HIDE,G_CATMER@|DISABLE,G_CODART@|SHOW,G_DESART@ MESSAGE HIDE,G_CATMER@|DISABLE,G_CODART@|SHOW,G_DESART@
ITEM "M|gruppo merc./codice" ITEM "M|gruppo merc./codice"
MESSAGE SHOW,G_CATMER@|ENABLE,G_CODART@|HIDE,G_DESART@ MESSAGE SHOW,G_CATMER@|ENABLE,G_CODART@|HIDE,G_DESART@
END END
NUMBER F_ANNOES 4 NUMBER F_ANNOES 4
BEGIN BEGIN
FLAGS "A" FLAGS "A"
PROMPT 2 3 "Codice es. " PROMPT 2 3 "Codice es. "
USE ESC USE ESC
INPUT CODTAB F_ANNOES INPUT CODTAB F_ANNOES
DISPLAY "Esercizio" CODTAB DISPLAY "Esercizio" CODTAB
DISPLAY "Dal@12" D0 DISPLAY "Dal@12" D0
DISPLAY "Al@12" D0 DISPLAY "Al@12" D1
OUTPUT F_ANNOES CODTAB OUTPUT F_ANNOES CODTAB
CHECKTYPE NORMAL
ADD NONE
END END
LISTBOX F_FILTRO 20 LISTBOX F_FILTRO 20
BEGIN BEGIN
FLAGS "G" FLAGS "G"
PROMPT 45 3 "Filtro " PROMPT 45 3 "Filtro "
ITEM "T|tutto" ITEM "T|tutto"
ITEM "S|sotto scorta" ITEM "S|sotto scorta"
ITEM "P|positivi" ITEM "P|positivi"
ITEM "N|negativi" ITEM "N|negativi"
ITEM "0|non nulli" ITEM "0|non nulli"
END END
STRING F_DAART 20 STRING F_DAART 20
BEGIN BEGIN
PROMPT 2 5 "Dall'articolo " PROMPT 2 5 "Dall'articolo "
FLAGS "U" FLAGS "U"
USE LF_ANAMAG USE LF_ANAMAG
INPUT CODART F_DAART INPUT CODART F_DAART
DISPLAY "Codice" CODART DISPLAY "Codice" CODART
DISPLAY "Descr@50" DESCR DISPLAY "Descr@50" DESCR
OUTPUT F_DAART CODART OUTPUT F_DAART CODART
GROUP G_CODART GROUP G_CODART
END END
STRING F_AART 20 STRING F_AART 20
BEGIN BEGIN
PROMPT 2 6 " all'articolo " PROMPT 2 6 " all'articolo "
FLAGS "U" FLAGS "U"
COPY USE F_DAART COPY USE F_DAART
INPUT CODART F_AART INPUT CODART F_AART
COPY DISPLAY F_DAART COPY DISPLAY F_DAART
OUTPUT F_AART CODART OUTPUT F_AART CODART
GROUP G_CODART GROUP G_CODART
END END
STRING F_DADES 50 STRING F_DADES 50
BEGIN BEGIN
PROMPT 2 5 "Dall'articolo " PROMPT 2 5 "Dall'articolo "
FLAGS "U" FLAGS "U"
USE LF_ANAMAG KEY 2 USE LF_ANAMAG KEY 2
INPUT DESCR F_DADES INPUT DESCR F_DADES
DISPLAY "Descr@50" DESCR DISPLAY "Descr@50" DESCR
DISPLAY "Codice" CODART DISPLAY "Codice" CODART
OUTPUT F_DADES DESCR OUTPUT F_DADES DESCR
GROUP G_DESART GROUP G_DESART
END END
STRING F_ADES 50 STRING F_ADES 50
BEGIN BEGIN
PROMPT 2 6 " all'articolo " PROMPT 2 6 " all'articolo "
FLAGS "U" FLAGS "U"
COPY USE F_DADES COPY USE F_DADES
INPUT DESCR F_ADES INPUT DESCR F_ADES
COPY DISPLAY F_DADES COPY DISPLAY F_DADES
OUTPUT F_ADES DESCR OUTPUT F_ADES DESCR
GROUP G_DESART GROUP G_DESART
END END
STRING F_DAMAG 3 STRING F_DAMAG 3
BEGIN BEGIN
PROMPT 2 8 "Dal magazzino " PROMPT 2 8 "Dal magazzino "
FLAGS "U" FLAGS "U"
USE MAG SELECT CODTAB[4,5]=="" && CODTAB[1,3]!="" USE MAG SELECT CODTAB[4,5]=="" && CODTAB[1,3]!=""
INPUT CODTAB F_DAMAG INPUT CODTAB F_DAMAG
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descr@50" S0 DISPLAY "Descr@50" S0
OUTPUT F_DAMAG CODTAB OUTPUT F_DAMAG CODTAB
END END
STRING F_AMAG 3 STRING F_AMAG 3
BEGIN BEGIN
PROMPT 2 9 " al magazzino " PROMPT 2 9 " al magazzino "
FLAGS "U" FLAGS "U"
COPY USE F_DAMAG COPY USE F_DAMAG
INPUT CODTAB F_AMAG INPUT CODTAB F_AMAG
COPY DISPLAY F_DAMAG COPY DISPLAY F_DAMAG
OUTPUT F_AMAG CODTAB OUTPUT F_AMAG CODTAB
END END
STRING F_DACATMER 3 STRING F_DACATMER 3
BEGIN BEGIN
PROMPT 2 11 "Dal gruppo " PROMPT 2 11 "Dal gruppo "
FLAGS "U" FLAGS "U"
USE GMC SELECT CODTAB[4,5]=="" USE GMC SELECT CODTAB[4,5]==""
INPUT CODTAB F_DACATMER INPUT CODTAB F_DACATMER
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descr@50" S0 DISPLAY "Descr@50" S0
OUTPUT F_DACATMER CODTAB[1,3] OUTPUT F_DACATMER CODTAB[1,3]
GROUP G_CATMER GROUP G_CATMER
END END
STRING F_ACATMER 3 STRING F_ACATMER 3
BEGIN BEGIN
PROMPT 2 12 " al gruppo " PROMPT 2 12 " al gruppo "
FLAGS "U" FLAGS "U"
COPY USE F_DACATMER COPY USE F_DACATMER
INPUT CODTAB F_ACATMER INPUT CODTAB F_ACATMER
COPY DISPLAY F_DACATMER COPY DISPLAY F_DACATMER
OUTPUT F_ACATMER CODTAB[1,3] OUTPUT F_ACATMER CODTAB[1,3]
GROUP G_CATMER GROUP G_CATMER
END END
BOOL F_TOTALIDEPOSITI BOOL F_TOTALIDEPOSITI
BEGIN BEGIN
PROMPT 2 13 "Stampo i totali depositi" PROMPT 2 13 "Stampo i totali depositi"
MESSAGE TRUE ENABLE,F_DETTAGLIODEP MESSAGE TRUE ENABLE,F_DETTAGLIODEP
MESSAGE FALSE CLEAR,F_DETTAGLIODEP|K_SPACE,F_DETTAGLIODEP MESSAGE FALSE "",F_DETTAGLIODEP|DISABLE,F_DETTAGLIODEP
END END
BOOL F_DETTAGLIODEP BOOL F_DETTAGLIODEP
BEGIN BEGIN
PROMPT 42 13 "Stampa il dettaglio depositi" PROMPT 42 13 "Stampa il dettaglio depositi"
MESSAGE TRUE ENABLE,F_RAGGLIVGIAC|ENABLE,F_RAGGCODICE MESSAGE TRUE ENABLE,F_RAGGLIVGIAC|ENABLE,F_RAGGCODICE
MESSAGE FALSE CLEAR,F_RAGGLIVGIAC|K_SPACE,F_RAGGLIVGIAC|CLEAR,F_RAGGCODICE|K_SPACE,F_RAGGCODICE MESSAGE FALSE CLEAR,F_RAGGLIVGIAC|K_SPACE,F_RAGGLIVGIAC|CLEAR,F_RAGGCODICE|K_SPACE,F_RAGGCODICE
FLAGS "D"
END END
BOOLEAN F_RAGGCODICE BOOLEAN F_RAGGCODICE
BEGIN BEGIN
PROMPT 2 14 "Raggruppo gli articoli" PROMPT 2 14 "Raggruppo gli articoli"
MESSAGE FALSE CLEAR,F_FROMLIVELLOART|CLEAR,F_TOLIVELLOART|CHECK,F_TOLIVELLOART MESSAGE FALSE CLEAR,F_FROMLIVELLOART|CLEAR,F_TOLIVELLOART|CHECK,F_TOLIVELLOART
MESSAGE TRUE ENABLE,F_FROMLIVELLOART|ENABLE,F_TOLIVELLOART|CHECK,F_TOLIVELLOART MESSAGE TRUE ENABLE,F_FROMLIVELLOART|ENABLE,F_TOLIVELLOART|CHECK,F_TOLIVELLOART
END END
NUMBER F_FROMLIVELLOART 1 NUMBER F_FROMLIVELLOART 1
BEGIN BEGIN
FLAGS "G" FLAGS "G"
PROMPT 42 14 "da " PROMPT 42 14 "da "
USE FCA USE FCA
INPUT CODTAB F_FROMLIVELLOART INPUT CODTAB F_FROMLIVELLOART
DISPLAY "Num." CODTAB DISPLAY "Num." CODTAB
DISPLAY "Descr@50" S0 DISPLAY "Descr@50" S0
OUTPUT F_FROMLIVELLOART CODTAB OUTPUT F_FROMLIVELLOART CODTAB
NUM_EXPR ((#F_FROMLIVELLOART<=#F_TOLIVELLOART)||(#F_TOLIVELLOART=0))&&((#F_FROMLIVELLOGIAC*#F_FROMLIVELLOART)=0) NUM_EXPR ((#F_FROMLIVELLOART<=#F_TOLIVELLOART)||(#F_TOLIVELLOART=0))&&((#F_FROMLIVELLOGIAC*#F_FROMLIVELLOART)=0)
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Livello iniziale non ammissibile" WARNING "Livello iniziale non ammissibile"
END END
NUMBER F_TOLIVELLOART 1 NUMBER F_TOLIVELLOART 1
BEGIN BEGIN
PROMPT 52 14 "a " PROMPT 52 14 "a "
USE FCA USE FCA
INPUT CODTAB F_TOLIVELLOART INPUT CODTAB F_TOLIVELLOART
DISPLAY "Num." CODTAB DISPLAY "Num." CODTAB
DISPLAY "Descr@50" S0 DISPLAY "Descr@50" S0
OUTPUT F_TOLIVELLOART CODTAB OUTPUT F_TOLIVELLOART CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
NUM_EXPR ((#F_FROMLIVELLOART<=#F_TOLIVELLOART)||(#F_TOLIVELLOART=0))&&(((#F_TOLIVELLOGIAC+#F_FROMLIVELLOGIAC)*#F_TOLIVELLOART)=0) NUM_EXPR ((#F_FROMLIVELLOART<=#F_TOLIVELLOART)||(#F_TOLIVELLOART=0))&&(((#F_TOLIVELLOGIAC+#F_FROMLIVELLOGIAC)*#F_TOLIVELLOART)=0)
WARNING "Livello finale non ammissibile" WARNING "Livello finale non ammissibile"
END END
BOOL F_RAGGLIVGIAC BOOL F_RAGGLIVGIAC
BEGIN BEGIN
PROMPT 2 15 "Raggruppo le giacenze" PROMPT 2 15 "Raggruppo le giacenze"
MESSAGE FALSE CLEAR,F_FROMLIVELLOGIAC|CLEAR,F_TOLIVELLOGIAC|CHECK,F_TOLIVELLOGIAC MESSAGE FALSE CLEAR,F_FROMLIVELLOGIAC|CLEAR,F_TOLIVELLOGIAC|CHECK,F_TOLIVELLOGIAC
MESSAGE TRUE ENABLE,F_FROMLIVELLOGIAC|ENABLE,F_TOLIVELLOGIAC MESSAGE TRUE ENABLE,F_FROMLIVELLOGIAC|ENABLE,F_TOLIVELLOGIAC
END END
NUMBER F_FROMLIVELLOGIAC 1 NUMBER F_FROMLIVELLOGIAC 1
BEGIN BEGIN
FLAG "D" FLAG "D"
PROMPT 42 15 "da " PROMPT 42 15 "da "
USE FCG USE FCG
INPUT CODTAB F_FROMLIVELLOGIAC INPUT CODTAB F_FROMLIVELLOGIAC
DISPLAY "Num." CODTAB DISPLAY "Num." CODTAB
DISPLAY "Descr@50" S0 DISPLAY "Descr@50" S0
OUTPUT F_FROMLIVELLOGIAC CODTAB OUTPUT F_FROMLIVELLOGIAC CODTAB
CHECKTYPE NORMAL CHECKTYPE NORMAL
NUM_EXPR ((#F_FROMLIVELLOGIAC*(#F_FROMLIVELLOART+#F_TOLIVELLOART))=0)&&((#F_FROMLIVELLOGIAC<=#F_TOLIVELLOGIAC)||(#F_TOLIVELLOGIAC=0)) NUM_EXPR ((#F_FROMLIVELLOGIAC*(#F_FROMLIVELLOART+#F_TOLIVELLOART))=0)&&((#F_FROMLIVELLOGIAC<=#F_TOLIVELLOGIAC)||(#F_TOLIVELLOGIAC=0))
WARNING "Livello iniziale non ammissibile" WARNING "Livello iniziale non ammissibile"
END END
NUMBER F_TOLIVELLOGIAC 1 NUMBER F_TOLIVELLOGIAC 1
BEGIN BEGIN
FLAG "D" FLAG "D"
PROMPT 52 15 "a " PROMPT 52 15 "a "
USE FCG USE FCG
INPUT CODTAB F_TOLIVELLOGIAC INPUT CODTAB F_TOLIVELLOGIAC
DISPLAY "Num." CODTAB DISPLAY "Num." CODTAB
DISPLAY "Descr@50" S0 DISPLAY "Descr@50" S0
OUTPUT F_TOLIVELLOGIAC CODTAB OUTPUT F_TOLIVELLOGIAC CODTAB
NUM_EXPR ((#F_FROMLIVELLOGIAC*#F_FROMLIVELLOART)=0)&&((#F_FROMLIVELLOGIAC<=#F_TOLIVELLOGIAC)||(#F_TOLIVELLOGIAC=0))&&((#F_TOLIVELLOGIAC*#F_TOLIVELLOART)=0) NUM_EXPR ((#F_FROMLIVELLOGIAC*#F_FROMLIVELLOART)=0)&&((#F_FROMLIVELLOGIAC<=#F_TOLIVELLOGIAC)||(#F_TOLIVELLOGIAC=0))&&((#F_TOLIVELLOGIAC*#F_TOLIVELLOART)=0)
WARNING "Livello finale non ammissibile" WARNING "Livello finale non ammissibile"
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
BOOL F_TOTALIMAGAZZINI BOOL F_TOTALIMAGAZZINI
BEGIN BEGIN
PROMPT 2 16 "Stampo i totali di magazzino" PROMPT 2 16 "Stampo i totali di magazzino"
MESSAGE TRUE ENABLE,F_DETTAGLIOMAG MESSAGE FALSE "",F_DETTAGLIOMAG|DISABLE,F_DETTAGLIOMAG
MESSAGE FALSE CLEAR,F_DETTAGLIOMAG|K_SPACE,F_DETTAGLIOMAG MESSAGE TRUE ENABLE,F_DETTAGLIOMAG
END END
BOOL F_DETTAGLIOMAG BOOL F_DETTAGLIOMAG
BEGIN BEGIN
PROMPT 42 16 "Stampa il dettaglio magazzini" PROMPT 42 16 "Stampo i depositi"
FLAGS "D"
END END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
#include <printapp.h> #include <applicat.h>
#include <form.h>
#include "mglib.h" #include "mglib.h"
#include "mg3200.h" #include "mg3200.h"
@ -10,9 +9,12 @@ class TStampadisp_mask: public TMask
static bool handle_ragg(TMask_field &fld, KEY k); // handler static bool handle_ragg(TMask_field &fld, KEY k); // handler
static bool handle_liv(TMask_field &fld, KEY k); // handler static bool handle_liv(TMask_field &fld, KEY k); // handler
static bool handle_subord(TMask_field &fld, KEY k); // handler static bool handle_subord(TMask_field &fld, KEY k); // handler
TMagazzini _magazz_ini;
public: public:
TMagazzini magazz_ini() {return _magazz_ini;}
TStampadisp_mask(); TStampadisp_mask();
~TStampadisp_mask(){}; virtual ~TStampadisp_mask(){};
}; };
TStampadisp_mask::TStampadisp_mask(): TStampadisp_mask::TStampadisp_mask():
TMask("mg3200") TMask("mg3200")
@ -46,7 +48,7 @@ bool TStampadisp_mask::handle_subord(TMask_field &fld, KEY k)
{ {
TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE); TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE);
TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC); TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC);
switch (fld.get()[1]) { switch (fld.get()[0]) {
case 'C': case 'C':
if (fld.mask().get(F_ORDINE)=="A") if (fld.mask().get(F_ORDINE)=="A")
fraggcod.enable(); fraggcod.enable();
@ -92,19 +94,25 @@ bool TStampadisp_mask::handle_ragg(TMask_field &fld, KEY k)
{ {
if (k == K_SPACE) if (k == K_SPACE)
{ {
TOperable_field &ftotmag=(TOperable_field &)fld.mask().field(F_TOTALIMAGAZZINI); TStampadisp_mask & m=(TStampadisp_mask &)fld.mask();
TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE);
TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC); TOperable_field &ftotmag=(TOperable_field &)m.field(F_TOTALIMAGAZZINI);
if (fld.mask().get(F_ORDINE)=="M") TOperable_field &fraggcod=(TOperable_field &)m.field(F_RAGGCODICE);
TOperable_field &fragggiac=(TOperable_field &)m.field(F_RAGGLIVGIAC);
if (m.get(F_ORDINE)=="M")
{ {
ftotmag.enable(); ftotmag.enable();
if (!fld.mask().get_bool(F_DETTAGLIOMAG) || !fld.mask().get_bool(F_DETTAGLIODEP)) if (!m.get_bool(F_DETTAGLIOMAG) || !m.get_bool(F_DETTAGLIODEP))
{ {
fraggcod.reset(); fraggcod.disable(); fraggcod.reset(); fraggcod.disable();
fragggiac.reset(); fragggiac.disable(); fragggiac.reset(); fragggiac.disable();
fraggcod.do_message(0);fragggiac.do_message(0); fraggcod.do_message(0);fragggiac.do_message(0);
return TRUE; return TRUE;
} }
} else {
bool enabmag=m.magazz_ini().gestmultimag() || m.magazz_ini().gestdep();
m.enable(F_TOTALIMAGAZZINI,enabmag);
m.enable(F_DETTAGLIOMAG,enabmag);
} }
fraggcod.enable(); fraggcod.enable();
fragggiac.enable(); fragggiac.enable();
@ -114,7 +122,7 @@ bool TStampadisp_mask::handle_ragg(TMask_field &fld, KEY k)
// mg3200 Stampa // mg3200 Stampa
class TStampa_disp : public TPrint_application class TStampa_disp : public TSkeleton_application
{ {
TArray * _files; TArray * _files;
TStampadisp_mask * _mask; TStampadisp_mask * _mask;
@ -122,13 +130,10 @@ class TStampa_disp : public TPrint_application
TForm_stampemg * _form; // to be moved into TPrint_application TForm_stampemg * _form; // to be moved into TPrint_application
protected: protected:
virtual bool print_one(int file) virtual bool print_one(int file) {return TRUE;}
{return TRUE;} virtual bool create();
virtual bool user_create(); virtual bool destroy();
virtual bool user_destroy(); virtual void main_loop();
virtual bool set_print(int i=1);
virtual void set_page(int file,int count)
{ }
void setprint_permagazzini(); void setprint_permagazzini();
void setprint_perarticoli(); void setprint_perarticoli();
@ -137,19 +142,19 @@ public:
}; };
bool TStampa_disp::user_create() bool TStampa_disp::create()
{ {
_mask = new TStampadisp_mask; _mask = new TStampadisp_mask;
_files = new TArray(); _files = new TArray();
_files->add(new TLocalisamfile(LF_MAG)); _files->add(new TLocalisamfile(LF_MAG));
return TRUE; return TSkeleton_application::create();
} }
bool TStampa_disp::user_destroy() bool TStampa_disp::destroy()
{ {
delete _mask; delete _mask;
delete _files; delete _files;
return TRUE; return TSkeleton_application::destroy();
} }
@ -162,9 +167,9 @@ void TStampa_disp::setprint_permagazzini()
_cur = _form->cursor(); _cur = _form->cursor();
// setta il filtro sul cursore // setta il filtro sul cursore
if (*_mask->get(F_DAART)) if (*_mask->get(F_DAART))
cfilter << "(CODART>=" <<'"' << _mask->get(F_DAART)<< "\")&&" ; cfilter << "(CODART[1," << _mask->get(F_DAART).len() << "]>=" <<'"' << _mask->get(F_DAART)<< "\")&&" ;
if (*_mask->get(F_AART)) if (*_mask->get(F_AART))
cfilter << "(CODART<=" <<'"' << _mask->get(F_AART)<< "\")&&" ; cfilter << "(CODART[1," << _mask->get(F_AART).len() << "]<=" <<'"' << _mask->get(F_AART)<< "\")&&" ;
if (cfilter.not_empty()) if (cfilter.not_empty())
cfilter.cut(cfilter.len()-2); cfilter.cut(cfilter.len()-2);
@ -249,22 +254,22 @@ void TStampa_disp::setprint_perarticoli()
} }
bool TStampa_disp::set_print(int i) void TStampa_disp::main_loop()
{ {
while (TRUE) { while (_mask->run() == K_ENTER) {
if (_mask->run() != K_ENTER) if (_mask->magazz_ini().gestmag(TRUE))
return FALSE;
if (*_mask->get(F_ORDINE)=='A')
{ {
setprint_perarticoli(); if (*_mask->get(F_ORDINE)=='A')
} else { {
setprint_permagazzini(); setprint_perarticoli();
} else {
setprint_permagazzini();
}
_form->print();
delete _form;
} }
_form->print();
delete _form;
} // while true } // while true
return TRUE; return ;
} }

View File

@ -30,6 +30,14 @@ NUMBER F_ANNOES 4
BEGIN BEGIN
FLAGS "A" FLAGS "A"
PROMPT 2 2 "Codice es. " PROMPT 2 2 "Codice es. "
USE ESC
INPUT CODTAB F_ANNOES
DISPLAY "Esercizio" CODTAB
DISPLAY "Dal@12" D0
DISPLAY "Al@12" D1
OUTPUT F_ANNOES CODTAB
CHECKTYPE NORMAL
ADD NONE
END END
STRING F_DAART 20 STRING F_DAART 20

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
#include <form.h> #include <applicat.h>
#include <printapp.h>
#include "movmag.h" #include "movmag.h"
#include "rmovmag.h" #include "rmovmag.h"
@ -7,11 +6,17 @@
#include "mglib.h" #include "mglib.h"
#include "mg3300.h" #include "mg3300.h"
#ifndef __CGLIB01_H
#include "..\cg\cglib01.h"
#endif
class TForm_schedemag : public TForm_stampemg class TForm_schedemag : public TForm_stampemg
{ {
TRecord_cache * _causali_mag; TRecord_cache * _causali_mag;
int _tolivgiac,_tolivart; int _tolivgiac,_tolivart;
TString16 _anno_prec;
bool _magazzino_chiuso;
bool _sottocatmer; bool _sottocatmer;
TToken_string *_rmov_sortexp; TToken_string *_rmov_sortexp;
@ -27,15 +32,16 @@ public:
TString & rmov_joinexp() {return *_rmov_joinexp;} TString & rmov_joinexp() {return *_rmov_joinexp;}
void set_tiposcheda(const char * tipo); void set_tiposcheda(const char * tipo);
void set_chiusura_mag(const int val);
bool validate(TForm_item &cf, TToken_string &s); bool validate(TForm_item &cf, TToken_string &s);
void setdett_perart(bool percatmer, bool sottocatmer,int livart,int livgiac,bool sudd_mag, bool sudd_dep); void setdett_perart(bool percatmer, bool sottocatmer,int livart,int livgiac,bool sudd_mag, bool sudd_dep);
void setdett_percatmer(bool sottocat,int livart,int livgiac,bool sudd_mag,bool sudd_dep); void setdett_percatmer(bool sottocat,int livart,int livgiac,bool sudd_mag,bool sudd_dep);
void setdett_permag(bool sudd_dep, bool showdett,int livart,int livgiac); void setdett_permag(bool sudd_dep, bool showdett,int livart,int livgiac);
TString descr_tiposcheda(); TString descr_tiposcheda();
TString nomecampo_tiposcheda(); TString nomecampo_scheda();
TForm_schedemag(const char *name,const char *code) ; TForm_schedemag(const char *name,const char *code) ;
~TForm_schedemag(); virtual ~TForm_schedemag();
}; };
TString TForm_schedemag::descr_tiposcheda() TString TForm_schedemag::descr_tiposcheda()
@ -60,7 +66,7 @@ TString TForm_schedemag::descr_tiposcheda()
return ""; return "";
} }
TString TForm_schedemag::nomecampo_tiposcheda() TString TForm_schedemag::nomecampo_scheda()
{ {
switch (_tiposcheda) switch (_tiposcheda)
{ {
@ -95,26 +101,26 @@ bool TForm_schedemag::validate(TForm_item &cf, TToken_string &s)
} }
if (subcode=="CODGRUPPOART") { if (subcode=="CODGRUPPOART") {
TString valore(relation()->lfile(LF_ANAMAG).get("CODART")); TString valore(relation()->lfile(LF_ANAMAG).get("CODART"));
if (_artlev->enabled()) if (artlev().enabled())
valore.cut(min(valore.len(),_artlev->packed_length(_tolivart))); valore.cut(min(valore.len(),artlev().packed_length(_tolivart)));
cf.set(valore); cf.set(valore);
return TRUE; return TRUE;
} }
if (subcode=="GRUPPOART") { if (subcode=="GRUPPOART") {
TString valore; TString valore;
if (_tolivart==_artlev->last_level()) if (_tolivart==artlev().last_level())
valore=relation()->lfile(LF_ANAMAG).get("DESCR"); valore=relation()->lfile(LF_ANAMAG).get("DESCR");
else else
valore=_artlev->group_descr(relation()->lfile(LF_ANAMAG).get("CODART"),_tolivart); valore=artlev().group_descr(relation()->lfile(LF_ANAMAG).get("CODART"),_tolivart);
cf.set(valore); cf.set(valore);
return TRUE; return TRUE;
} }
if (subcode=="CODGRUPPOGIAC") { if (subcode=="CODGRUPPOGIAC") {
TString levname(_giaclev->name(_tolivgiac)),valore; TString levname(giaclev().name(_tolivgiac)),valore;
int lv=0; int lv=0;
valore=""; valore="";
do { do {
TString piece(_giaclev->unpack_grpcode(relation()->lfile(LF_RMOVMAG).get("LIVGIAC"),lv+1)); TString piece(giaclev().unpack_grpcode(relation()->lfile(LF_RMOVMAG).get("LIVGIAC"),lv+1));
if (piece.empty()) if (piece.empty())
piece=UNKNOWN_NAME; piece=UNKNOWN_NAME;
if (valore.not_empty()) if (valore.not_empty())
@ -125,7 +131,7 @@ bool TForm_schedemag::validate(TForm_item &cf, TToken_string &s)
} }
if (subcode=="GRUPPOGIAC") { if (subcode=="GRUPPOGIAC") {
TString valore; TString valore;
valore=_giaclev->group_descr(relation()->lfile(LF_RMOVMAG).get("LIVGIAC"),_tolivgiac); valore=giaclev().group_descr(relation()->lfile(LF_RMOVMAG).get("LIVGIAC"),_tolivgiac);
cf.set(valore); cf.set(valore);
return TRUE; return TRUE;
} }
@ -162,6 +168,18 @@ bool TForm_schedemag::validate(TForm_item &cf, TToken_string &s)
cf.set(cau.descr()); cf.set(cau.descr());
return TRUE; return TRUE;
} }
if (subcode=="SALDOPREC") {
if (!_magazzino_chiuso) // mag precedente non chiuso, mancano i saldi di apertura
{
TLocalisamfile _mag_annoprec(LF_MAG);
_mag_annoprec.curr() = cursor()->relation()->lfile(LF_MAG).curr();
_mag_annoprec.put(MAG_ANNOES, _anno_prec);
_mag_annoprec.read();
real valsaldo = _mag_annoprec.get_real(nomecampo_scheda());
cf.set(valsaldo.string());
}
return TRUE;
}
} }
return TForm::validate(cf, s); return TForm::validate(cf, s);
} }
@ -173,20 +191,20 @@ bool TForm_schedemag::ragg_exprs(int livart,int livgiac)
// *********** // ***********
int tolivart,tolivgiac; int tolivart,tolivgiac;
tolivart =livart ? livart : _artlev->last_level() ; tolivart =livart ? livart : artlev().last_level() ;
tolivgiac=livgiac ? livgiac : _giaclev->last_level(); tolivgiac=livgiac ? livgiac : giaclev().last_level();
// sezioni livello codice // sezioni livello codice
piece="CODART"; piece="CODART";
if (_artlev->enabled()) if (artlev().enabled())
piece << "[1," << _artlev->packed_length(tolivart) <<']'; piece << "[1," << artlev().packed_length(tolivart) <<']';
*_rmov_raggcond<< (_rmov_raggcond->empty()? "":"+" )<<piece; *_rmov_raggcond<< (_rmov_raggcond->empty()? "":"+" )<<piece;
_rmov_sortexp->add(piece); _rmov_sortexp->add(piece);
_rmov_joinexp->cut(0) << piece << "==" << piece; _rmov_joinexp->cut(0) << piece << "==" << piece;
if (livart==0) if (livart==0)
{ {
piece="LIVGIAC"; piece="LIVGIAC";
if (_giaclev->enabled()) if (giaclev().enabled())
piece << "[1," << _giaclev->packed_length(tolivgiac) <<']'; piece << "[1," << giaclev().packed_length(tolivgiac) <<']';
*_rmov_raggcond << '+' << piece; *_rmov_raggcond << '+' << piece;
_rmov_sortexp->add(piece); _rmov_sortexp->add(piece);
} }
@ -204,7 +222,7 @@ void TForm_schedemag::setdett_percatmer(bool sottocat,int livart,int livgiac,boo
TForm_subsection &h_g=(TForm_subsection &)find_field('B',odd_page,"HEADER_GRMOV"); TForm_subsection &h_g=(TForm_subsection &)find_field('B',odd_page,"HEADER_GRMOV");
h_g.enable((livart ==0 || livgiac !=0 || sudd_mag)); h_g.enable((livart ==0 || livgiac !=0 || sudd_mag));
TForm_subsection &h_l=(TForm_subsection &)find_field('B',odd_page,"HEADER_LIVGIAC"); TForm_subsection &h_l=(TForm_subsection &)find_field('B',odd_page,"HEADER_LIVGIAC");
h_l.enable(_giaclev->enabled() && livgiac !=0 ); h_l.enable(giaclev().enabled() && livgiac !=0 );
TForm_subsection &h_m=(TForm_subsection &)find_field('B',odd_page,"HEADER_MAG"); TForm_subsection &h_m=(TForm_subsection &)find_field('B',odd_page,"HEADER_MAG");
h_m.enable(sudd_mag ); h_m.enable(sudd_mag );
TForm_subsection &h_d=(TForm_subsection &)find_field('B',odd_page,"HEADER_DEP"); TForm_subsection &h_d=(TForm_subsection &)find_field('B',odd_page,"HEADER_DEP");
@ -236,8 +254,8 @@ void TForm_schedemag::setdett_percatmer(bool sottocat,int livart,int livgiac,boo
_rmov_sortexp->add(cond); _rmov_sortexp->add(cond);
_rmov_sortexp->add("NUMREG"); _rmov_sortexp->add("NUMREG");
_tolivart=livart ? livart :_artlev->last_level() ; _tolivart=livart ? livart :artlev().last_level() ;
_tolivgiac=livgiac ? livgiac :_giaclev->last_level(); _tolivgiac=livgiac ? livgiac :giaclev().last_level();
_sottocatmer=sottocat; _sottocatmer=sottocat;
} }
@ -248,7 +266,7 @@ void TForm_schedemag::setdett_permag(bool sudd_dep,bool show_dett,int livart,int
TForm_subsection &h_a=(TForm_subsection &)find_field('B',odd_page,"HEADER_ARTICOLO"); TForm_subsection &h_a=(TForm_subsection &)find_field('B',odd_page,"HEADER_ARTICOLO");
h_a.enable(show_dett); h_a.enable(show_dett);
TForm_subsection &h_g=(TForm_subsection &)find_field('B',odd_page,"HEADER_LIVGIAC"); TForm_subsection &h_g=(TForm_subsection &)find_field('B',odd_page,"HEADER_LIVGIAC");
h_g.enable(_giaclev->enabled() && (livart ==0 || livgiac !=0 )); h_g.enable(giaclev().enabled() && (livart ==0 || livgiac !=0 ));
*_rmov_raggcond="CODMAG[1,3]"; *_rmov_raggcond="CODMAG[1,3]";
_rmov_sortexp->add("CODMAG[1,3]"); _rmov_sortexp->add("CODMAG[1,3]");
@ -270,8 +288,8 @@ void TForm_schedemag::setdett_permag(bool sudd_dep,bool show_dett,int livart,int
_rmov_sortexp->add(cond); _rmov_sortexp->add(cond);
_rmov_sortexp->add("NUMREG"); _rmov_sortexp->add("NUMREG");
_tolivart=livart ? livart :_artlev->last_level() ; _tolivart=livart ? livart :artlev().last_level() ;
_tolivgiac=livgiac ? livgiac :_giaclev->last_level(); _tolivgiac=livgiac ? livgiac :giaclev().last_level();
} }
void TForm_schedemag::setdett_perart(bool percatmer,bool sottocatmer,int livart,int livgiac,bool sudd_mag,bool sudd_dep) void TForm_schedemag::setdett_perart(bool percatmer,bool sottocatmer,int livart,int livgiac,bool sudd_mag,bool sudd_dep)
@ -289,9 +307,9 @@ void TForm_schedemag::setdett_perart(bool percatmer,bool sottocatmer,int livart,
// raggruppamento MAX fino alla giacenza // raggruppamento MAX fino alla giacenza
TForm_subsection &h_g=(TForm_subsection &)find_field('B',odd_page,"HEADER_GRMOV"); TForm_subsection &h_g=(TForm_subsection &)find_field('B',odd_page,"HEADER_GRMOV");
h_g.enable((livart ==0 || livgiac !=0 || sudd_mag)); h_g.enable((livart !=0 || livgiac !=0 || sudd_mag));
TForm_subsection &h_l=(TForm_subsection &)find_field('B',odd_page,"HEADER_LIVGIAC"); TForm_subsection &h_l=(TForm_subsection &)find_field('B',odd_page,"HEADER_LIVGIAC");
h_l.enable(_giaclev->enabled() && (livart ==0 || livgiac !=0 )); h_l.enable(giaclev().enabled() && (livart ==0 || livgiac !=0 ));
TForm_subsection &h_m=(TForm_subsection &)find_field('B',odd_page,"HEADER_MAG"); TForm_subsection &h_m=(TForm_subsection &)find_field('B',odd_page,"HEADER_MAG");
h_m.enable(sudd_mag ); h_m.enable(sudd_mag );
TForm_subsection &h_d=(TForm_subsection &)find_field('B',odd_page,"HEADER_DEP"); TForm_subsection &h_d=(TForm_subsection &)find_field('B',odd_page,"HEADER_DEP");
@ -300,8 +318,8 @@ void TForm_schedemag::setdett_perart(bool percatmer,bool sottocatmer,int livart,
TForm_subsection &t_s=(TForm_subsection &)find_field('B',odd_page,"TOTALI_GRMOV"); TForm_subsection &t_s=(TForm_subsection &)find_field('B',odd_page,"TOTALI_GRMOV");
t_s.show(livart==0 || livgiac !=0 || sudd_mag); t_s.show(livart==0 || livgiac !=0 || sudd_mag);
_tolivart=livart ? livart :_artlev->last_level() ; _tolivart=livart ? livart :artlev().last_level() ;
_tolivgiac=livgiac ? livgiac :_giaclev->last_level(); _tolivgiac=livgiac ? livgiac :giaclev().last_level();
_sottocatmer=sottocatmer; _sottocatmer=sottocatmer;
// settaggio catmer/ragg codice // settaggio catmer/ragg codice
@ -312,7 +330,7 @@ void TForm_schedemag::setdett_perart(bool percatmer,bool sottocatmer,int livart,
catmercod << (sottocatmer ? "[1,3]" :""); catmercod << (sottocatmer ? "[1,3]" :"");
cond << catmercod << '+'; cond << catmercod << '+';
} }
cond << "CODART[1," << _artlev->packed_length(_tolivart) << ']'; cond << "CODART[1," << artlev().packed_length(_tolivart) << ']';
s.setcondition(cond,_strexpr); s.setcondition(cond,_strexpr);
} }
// settaggio raggruppamenti codice sulla scheda // settaggio raggruppamenti codice sulla scheda
@ -358,6 +376,14 @@ void TForm_schedemag::set_tiposcheda(const char * tipo)
} }
} }
void TForm_schedemag::set_chiusura_mag(const int anno)
{
TEsercizi_contabili ec;
_anno_prec.format("%4d",ec.pred(anno));
_magazzino_chiuso = (ec.pred(anno) == 0) || !(ec.esercizio(atoi(_anno_prec)).chiusura_mag().empty());
}
TForm_schedemag::TForm_schedemag(const char *name,const char *code) : TForm_schedemag::TForm_schedemag(const char *name,const char *code) :
TForm_stampemg(name,code) TForm_stampemg(name,code)
{ {
@ -381,10 +407,10 @@ TForm_schedemag::~TForm_schedemag()
// mg3300 Stampa // mg3300 Stampa
// mg3300 Stampa // mg3300 Stampa
class TStampa_schede_mag : public TPrint_application class TStampa_schede_mag : public TSkeleton_application
{ {
TArray * _files; TArray * _files;
TMask * _mask; TStampemg_mask * _mask;
TCursor * _cur; TCursor * _cur;
TForm_schedemag *_form; // to be moved into TPrint_application TForm_schedemag *_form; // to be moved into TPrint_application
@ -393,69 +419,14 @@ class TStampa_schede_mag : public TPrint_application
protected: protected:
void setprint_perarticoli(); void setprint_perarticoli();
void setprint_permagazzini(); void setprint_permagazzini();
virtual bool print_one(int file); virtual bool create();
virtual bool user_create(); virtual bool destroy();
virtual bool user_destroy(); virtual void main_loop();
virtual bool set_print(int i=1);
public: public:
TStampa_schede_mag() {} TStampa_schede_mag() {}
}; };
/*void TStampa_schede_mag::setprint_percatmer()
{
char subordine=*_mask->get(F_ORDINEART);
TRectype darec(LF_RMOVMAG),arec(LF_RMOVMAG);
TString cfilter;
_cur = _form->cursor();
// setta il filtro sul cursore
if (*_mask->get(F_DAMAG))
cfilter << "(CODMAG[1,3]>=" <<'"' << _mask->get(F_DAMAG)<< "\")&&" ;
if (*_mask->get(F_AMAG))
cfilter << "(CODMAG[1,3]<=" <<'"' << _mask->get(F_AMAG)<< "\")&&" ;
TString catmercode("GRMERC");
if (!FALSE)
catmercode << "[1,3]";
if (*_mask->get(F_DACATMER))
cfilter << "(" << LF_ANAMAG << "->" <<catmercode << ">=" <<'"' << _mask->get(F_DACATMER)<< "\")&&" ;
if (*_mask->get(F_ACATMER))
cfilter << "("<< LF_ANAMAG << "->" << catmercode <<"<=" <<'"' << _mask->get(F_ACATMER)<< "\")&&" ;
cfilter << "(" << LF_MOVMAG <<"->ANNOES==" <<'"' << _mask->get(F_ANNOES)<< "\")&&" ;
if (*_mask->get(F_ADATA))
{
TDate d1(_mask->get(F_ADATA));
cfilter << "(ANSI(110->DATAREG)<=" <<'"' << d1.string(ANSI) << "\")&&" ;
}
if (cfilter.not_empty())
cfilter.cut(cfilter.len()-2);
if (*_mask->get(F_DADATA))
{
TDate d1(_mask->get(F_DADATA));
// SET conditional section
TString cond;
cond << "ANSI(" << LF_MOVMAG << "->DATAREG)>=\"" << d1.string(ANSI) << '"';
((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_INTERESSATI")).setcondition(cond,_strexpr);
cond.cut(0) << "ANSI(" << LF_MOVMAG << "->DATAREG)<\"" << d1.string(ANSI) << '"';
((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_PRECEDENTI")).setcondition(cond,_strexpr);
}
_form->set_tiposcheda(_mask->get(F_SCHEDA));
// abilita/disabilita le sezioni dei totali
_form->setdett_percatmer(FALSE,
_mask->get_int(F_TOLIVELLOART),
_mask->get_int(F_TOLIVELLOGIAC),
_mask->get_bool(F_SUDDIV_MAGAZZINI),
_mask->get_bool(F_SUDDIV_DEPOSITI));
darec.put("CODART",_mask->get(F_DAART));
arec.put("CODART",_mask->get(F_AART));
((TSorted_cursor *)_cur)->change_order(_form->rmov_sortexp());
_cur->setfilter(cfilter,TRUE);
_cur->setregion(darec,arec);
}*/
void TStampa_schede_mag::setprint_permagazzini() void TStampa_schede_mag::setprint_permagazzini()
{ {
@ -501,10 +472,10 @@ void TStampa_schede_mag::setprint_permagazzini()
if (*_mask->get(F_FILTRO)=='N') { if (*_mask->get(F_FILTRO)=='N') {
TForm_subsection &s=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_PRECEDENTI")); TForm_subsection &s=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_PRECEDENTI"));
TString cond; TString cond;
cond << '(' << s.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_tiposcheda() << "<0))"; cond << '(' << s.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_scheda() << "<0))";
s.setcondition(cond,_strexpr); s.setcondition(cond,_strexpr);
TForm_subsection &s2=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_INTERESSATI")); TForm_subsection &s2=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_INTERESSATI"));
cond.cut(0) << '(' << s2.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_tiposcheda() << "<0))"; cond.cut(0) << '(' << s2.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_scheda() << "<0))";
s2.setcondition(cond,_strexpr); s2.setcondition(cond,_strexpr);
} }
// prepare cursor to print.... // prepare cursor to print....
@ -556,10 +527,10 @@ void TStampa_schede_mag::setprint_perarticoli()
if (*_mask->get(F_FILTRO)=='N') { if (*_mask->get(F_FILTRO)=='N') {
TForm_subsection &s=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_PRECEDENTI")); TForm_subsection &s=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_PRECEDENTI"));
TString cond; TString cond;
cond << '(' << s.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_tiposcheda() << "<0))"; cond << '(' << s.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_scheda() << "<0))";
s.setcondition(cond,_strexpr); s.setcondition(cond,_strexpr);
TForm_subsection &s2=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_INTERESSATI")); TForm_subsection &s2=((TForm_subsection &)_form->find_field('B',odd_page,"MOVS_INTERESSATI"));
cond.cut(0) << '(' << s2.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_tiposcheda() << "<0))"; cond.cut(0) << '(' << s2.condition() << ")&&(STR("<< LF_MAG << "->" << _form->nomecampo_scheda() << "<0))";
s2.setcondition(cond,_strexpr); s2.setcondition(cond,_strexpr);
} }
// Imposta i livelli di dettaglio della scheda // Imposta i livelli di dettaglio della scheda
@ -618,46 +589,44 @@ void TStampa_schede_mag::setprint_perarticoli()
} }
bool TStampa_schede_mag::set_print(int i) void TStampa_schede_mag::main_loop()
{ {
while (TRUE) { while (_mask->run() == K_ENTER)
if (_mask->run() != K_ENTER) {
return FALSE; if (_mask->magazz_ini().gestmag(TRUE))
if (*_mask->get(F_ORDINE)=='A')
{ {
_form = new TForm_schedemag("mg3300a", ""); if (*_mask->get(F_ORDINE)=='A')
setprint_perarticoli(); {
} else if (*_mask->get(F_ORDINE)=='M') { _form = new TForm_schedemag("mg3300a", "");
_form = new TForm_schedemag("mg3300b", ""); setprint_perarticoli();
setprint_permagazzini(); } else if (*_mask->get(F_ORDINE)=='M') {
} _form = new TForm_schedemag("mg3300b", "");
_form->print(); setprint_permagazzini();
delete _form; }
_form->set_chiusura_mag(_mask->get_int(F_ANNOES));
_form->print();
delete _form;
}
} // while true } // while true
return TRUE; return ;
} }
bool TStampa_schede_mag::user_create() bool TStampa_schede_mag::create()
{ {
_mask = new TMask("mg3300"); _mask = new TStampemg_mask("mg3300");
_files= new TArray; _files= new TArray;
_files->add(new TLocalisamfile(LF_RMOVMAG)); _files->add(new TLocalisamfile(LF_RMOVMAG));
_files->add(new TLocalisamfile(LF_MOVMAG)); _files->add(new TLocalisamfile(LF_MOVMAG));
_files->add(new TLocalisamfile(LF_MAG)); _files->add(new TLocalisamfile(LF_MAG));
_files->add(new TLocalisamfile(LF_TABCOM)); _files->add(new TLocalisamfile(LF_TABCOM));
return TRUE; return TSkeleton_application::create();
} }
bool TStampa_schede_mag::user_destroy() bool TStampa_schede_mag::destroy()
{ {
delete _files; delete _files;
delete _mask; delete _mask;
return TRUE; return TSkeleton_application::destroy();
}
bool TStampa_schede_mag ::print_one(int file)
{
return TRUE;
} }
int mg3300(int argc, char* argv[]) int mg3300(int argc, char* argv[])

View File

@ -48,12 +48,12 @@ BEGIN
INPUT CODTAB F_ANNOES INPUT CODTAB F_ANNOES
DISPLAY "Esercizio" CODTAB DISPLAY "Esercizio" CODTAB
DISPLAY "Dal@12" D0 DISPLAY "Dal@12" D0
DISPLAY "Al@12" D0 DISPLAY "Al@12" D1
OUTPUT F_ANNOES CODTAB OUTPUT F_ANNOES CODTAB
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
ADD NONE
END END
LISTBOX F_FILTRO 10 LISTBOX F_FILTRO 10
BEGIN BEGIN
FLAGS "G" FLAGS "G"
@ -126,7 +126,7 @@ STRING F_DAMAG 3
BEGIN BEGIN
PROMPT 2 8 "Dal magazzino " PROMPT 2 8 "Dal magazzino "
FLAGS "U" FLAGS "U"
USE MAG SELECT CODTAB[4,5]=="" && CODTAB[1,3]!="" USE MAG SELECT CODTAB[4,5]==""
INPUT CODTAB F_DAMAG INPUT CODTAB F_DAMAG
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Descr@50" S0 DISPLAY "Descr@50" S0

View File

@ -29,12 +29,13 @@ END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 1
FONT "Courier New" FONT "Courier New"
SIZE 12 // SIZE 12
CARATTERE "X" END
INIZIALE 5 2
FINALE 133 SECTION GRAPHIC
BEGIN
END END
SECTION HEADER ODD 5 SECTION HEADER ODD 5
@ -102,9 +103,9 @@ SECTION BODY ODD 0
MESSAGE RESET,FF_SALDO_GART|RESET,FF_VALORE_GART MESSAGE RESET,FF_SALDO_GART|RESET,FF_VALORE_GART
END END
SECTION HEADER_ARTICOLO 1 2 2 GROUP SECTION HEADER_ARTICOLO 1 2 2 HEADER
FLAGS "N" FLAGS "N"
SECTION HEADER_CATMER 1 2 1 GROUP SECTION HEADER_CATMER 1 2 1 GROUP
STRINGA 10 20 1 STRINGA 10 20 1
BEGIN BEGIN
KEY "CODICE CATMER" KEY "CODICE CATMER"
@ -118,6 +119,7 @@ SECTION BODY ODD 0
MESSAGE _USER,CATMER MESSAGE _USER,CATMER
END END
END //HEADER catmer END //HEADER catmer
STRINGA 10 20 1 STRINGA 10 20 1
BEGIN BEGIN
KEY "CODICE articolo" KEY "CODICE articolo"
@ -139,8 +141,10 @@ SECTION BODY ODD 0
END //HEADER articolo END //HEADER articolo
SECTION GRUPPI_ARTICOLO 1 0 0 FILE LF_ANAMAG BY CODART SECTION GRUPPI_ARTICOLO 1 0 0 FILE LF_ANAMAG BY CODART
FLAGS "N"
SECTION FILE_RMOVMAG 1 1 0 FILE LF_RMOVMAG SECTION FILE_RMOVMAG 1 1 0 FILE LF_RMOVMAG
SECTION HEADER_GRMOV 1 2 2 GROUP FLAGS "N"
SECTION HEADER_GRMOV 1 2 2 HEADER
FLAGS "N" FLAGS "N"
SECTION HEADER_LIVGIACCATMER 1 1 1 GROUP SECTION HEADER_LIVGIACCATMER 1 1 1 GROUP
STRINGA 10 20 1 STRINGA 10 20 1
@ -160,7 +164,7 @@ SECTION BODY ODD 0
STRINGA 10 20 1 STRINGA 10 20 1
BEGIN BEGIN
KEY "CODICE articolo" KEY "CODICE articolo"
PROMPT 1 1 "Articolo " PROMPT 1 1 "Gruppo "
MESSAGE _USER,CODGRUPPOART|RESET,FF_STAMPASALDOPREC MESSAGE _USER,CODGRUPPOART|RESET,FF_STAMPASALDOPREC
END END
STRINGA 11 50 1 STRINGA 11 50 1
@ -169,7 +173,7 @@ SECTION BODY ODD 0
PROMPT 30 1 "" PROMPT 30 1 ""
MESSAGE _USER,GRUPPOART MESSAGE _USER,GRUPPOART
END END
SECTION HEADER_LIVGIAC 2 1 1 GROUP SECTION HEADER_LIVGIAC 1 1 1 GROUP
STRINGA 20 20 1 STRINGA 20 20 1
BEGIN BEGIN
KEY "CODICE livello" KEY "CODICE livello"
@ -187,14 +191,14 @@ SECTION BODY ODD 0
STRINGA 22 50 1 STRINGA 22 50 1
BEGIN BEGIN
KEY "mag" KEY "mag"
PROMPT 5 1 "Magazzino " PROMPT 3 1 "Magazzino "
FIELD 500@->S0 FIELD 500@->S0
END END
SECTION HEADER_DEP 2 1 1 GROUP SECTION HEADER_DEP 2 1 1 GROUP
STRINGA 23 50 1 STRINGA 23 50 1
BEGIN BEGIN
KEY "dep" KEY "dep"
PROMPT 7 1 "Deposito " PROMPT 5 1 "Deposito "
FIELD 501@->S0 FIELD 501@->S0
END END
END // HEADER deposito END // HEADER deposito
@ -204,7 +208,7 @@ SECTION BODY ODD 0
KEY "dep" KEY "dep"
PROMPT 1 2 "------------------------------------------------------------------------------------------------------------------------------------------------------" PROMPT 1 2 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END END
END // HEADER livgiac END // HEADER raggruppamenti di movimenti
STRINGA 10 STRINGA 10
BEGIN BEGIN
@ -274,8 +278,9 @@ SECTION BODY ODD 0
END END
NUMBER FF_SALDOPREC 12 NUMBER FF_SALDOPREC 12
BEGIN BEGIN
PROMPT 31 1 "" PROMPT 46 1 ""
PICTURE "###.###,@##" PICTURE "###.###,@##"
MESSAGE _USER,SALDOPREC
END END
NUMBER 101 12 NUMBER 101 12
BEGIN BEGIN
@ -284,7 +289,7 @@ SECTION BODY ODD 0
END END
STRINGA 102 12 STRINGA 102 12
BEGIN BEGIN
PROMPT 27 1 "" PROMPT 42 1 ""
FIELD LF_UMART->UM FIELD LF_UMART->UM
END END
END // stampa saldo precedente END // stampa saldo precedente
@ -369,7 +374,7 @@ SECTION BODY ODD 0
END // totali mov END // totali mov
END // loop scheda END // loop scheda
SECTION TOTALI_GRMOV 1 1 3 GROUP SECTION TOTALI_GRMOV 1 1 3 NUMEXPR #FF_SALDO_GRMOV!=0
STRINGA 100 15 STRINGA 100 15
BEGIN BEGIN
@ -435,7 +440,7 @@ SECTION BODY ODD 0
END // totali mov END // totali mov
END // ragg articolo (codice o catmer) END // ragg articolo (codice o catmer)
SECTION TOTALI_GRUPPIART 1 1 3 GROUP SECTION TOTALI_GRUPPIART 1 1 3 NUMEXPR #FF_SALDO_GART!=0
STRINGA 100 15 STRINGA 100 15
BEGIN BEGIN
PROMPT 1 1 "Totale scheda" PROMPT 1 1 "Totale scheda"
@ -460,19 +465,6 @@ SECTION BODY ODD 0
END // ***** END // *****
SECTION FOOTER ODD 2 SECTION FOOTER ODD 2
STRINGA 100
BEGIN
KEY "NUMP"
PROMPT 50 1 "-----"
END
NUMERO 101
BEGIN
KEY "NUMPAGE"
PROMPT 50 2 ""
MESSAGE _PAGENO
PICTURE "-###-"
END
END END

View File

@ -28,12 +28,13 @@ END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 1
FONT "Courier New" FONT "Courier New"
SIZE 12 // SIZE 12
CARATTERE "X" END
INIZIALE 5 2
FINALE 133 SECTION GRAPHIC
BEGIN
END END
SECTION HEADER ODD 5 SECTION HEADER ODD 5
@ -129,14 +130,14 @@ SECTION BODY ODD 2
STRINGA 23 50 1 STRINGA 23 50 1
BEGIN BEGIN
KEY "dep" KEY "dep"
PROMPT 1 1 "Deposito " PROMPT 3 1 "Deposito "
FIELD 501@->S0 FIELD 501@->S0
END END
SECTION HEADER_ARTICOLO 2 1 1 GROUP SECTION HEADER_ARTICOLO 2 1 1 GROUP
STRINGA 10 20 1 STRINGA 10 20 1
BEGIN BEGIN
KEY "CODICE articolo" KEY "CODICE articolo"
PROMPT 1 1 "Articolo " PROMPT 5 1 "Articolo "
MESSAGE _USER,CODGRUPPOART MESSAGE _USER,CODGRUPPOART
END END
@ -150,7 +151,7 @@ SECTION BODY ODD 2
STRINGA 20 20 1 STRINGA 20 20 1
BEGIN BEGIN
KEY "CODICE livello" KEY "CODICE livello"
PROMPT 1 1 "" PROMPT 5 1 ""
MESSAGE _USER,CODGRUPPOGIAC MESSAGE _USER,CODGRUPPOGIAC
END END
STRINGA 21 50 1 STRINGA 21 50 1
@ -239,6 +240,7 @@ SECTION BODY ODD 2
BEGIN BEGIN
PROMPT 31 1 "" PROMPT 31 1 ""
PICTURE "###.###,@##" PICTURE "###.###,@##"
MESSAGE _USER,SALDOPREC
END END
NUMBER 101 12 NUMBER 101 12
BEGIN BEGIN
@ -358,19 +360,6 @@ SECTION BODY ODD 2
END // ***** END // *****
SECTION FOOTER ODD 2 SECTION FOOTER ODD 2
STRINGA 100
BEGIN
KEY "NUMP"
PROMPT 50 1 "-----"
END
NUMERO 101
BEGIN
KEY "NUMPAGE"
PROMPT 50 2 ""
MESSAGE _PAGENO
PICTURE "-###-"
END
END END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,97 +1,87 @@
#include <applicat.h> #include <applicat.h>
#include <config.h>
#include <mask.h>
#include <printer.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <utility.h>
#include <form.h>
#include <printapp.h>
#include "mglib.h" #include "mglib.h"
#include "mg3500.h" #include "mg3500.h"
#include "mg3frm.h" #include "mg3frm.h"
// mg3500 Stampa // mg3500 Stampa
class TStampa_storgiac : public TPrint_application class TStampa_storgiac : public TSkeleton_application
{ {
TArray * _files; TArray * _files;
TMask * _mask; TStampemg_mask * _mask;
TCursor * _cur; TCursor * _cur;
TForm_stampemg * _form; // to be moved into TPrint_application TForm_stampemg * _form; // to be moved into TPrint_application
protected: protected:
virtual bool print_one(int file) virtual bool create();
{return TRUE;} virtual bool destroy();
virtual bool user_create(); virtual void main_loop();
virtual bool user_destroy(); void setprint_permagazzini();
virtual bool set_print(int i=1); void setprint_perarticoli();
virtual void set_page(int file,int count)
{ }
void setprint_permagazzini();
void setprint_perarticoli();
public: public:
TStampa_storgiac() {} TStampa_storgiac() {}
virtual ~TStampa_storgiac() {}
}; };
bool TStampa_storgiac::user_create() bool TStampa_storgiac::create()
{ {
_mask = new TMask("mg3500"); _mask = new TStampemg_mask("mg3500");
_files = new TArray(); _files = new TArray();
_files->add(new TLocalisamfile(LF_STOMAG)); _files->add(new TLocalisamfile(LF_STOMAG));
return TRUE; return TSkeleton_application::create();
} }
bool TStampa_storgiac::user_destroy() bool TStampa_storgiac::destroy()
{ {
delete _mask; delete _mask;
delete _files; delete _files;
return TRUE; return TSkeleton_application::destroy();
} }
// ORDINAMENTO // ORDINAMENTO
bool TStampa_storgiac::set_print(int i) void TStampa_storgiac::main_loop()
{ {
while (TRUE) { while (_mask->run() == K_ENTER)
if (_mask->run() != K_ENTER) {
return FALSE; if (_mask->magazz_ini().gestmag(TRUE))
TRectype darec(LF_ANAMAG),arec(LF_ANAMAG); {
TString cfilter,filter,joinexp; TRectype darec(LF_ANAMAG),arec(LF_ANAMAG);
TString cfilter,filter,joinexp;
joinexp << "ANNOESRIF==" << _mask->get(F_ANNOES) << "|CODART==CODART";
joinexp << "ANNOESRIF==" << _mask->get(F_ANNOES) << "|CODART==CODART";
_form = new TForm_stampemg("mg3500", "");
_cur = _form->cursor(); _form = new TForm_stampemg("mg3500", "");
switch (*_mask->get(F_ORDINE)) _cur = _form->cursor();
{ switch (*_mask->get(F_ORDINE))
case 'C': {
_cur->setkey(1); case 'C':
darec.put("CODART",_mask->get(F_DAART)); _cur->setkey(1);
arec.put("CODART",_mask->get(F_AART)); darec.put("CODART",_mask->get(F_DAART));
break; arec.put("CODART",_mask->get(F_AART));
case 'D': break;
_cur->setkey(2); case 'D':
darec.put("DESCR",_mask->get(F_DADES)); _cur->setkey(2);
arec.put("DESCR",_mask->get(F_ADES)); darec.put("DESCR",_mask->get(F_DADES));
break; arec.put("DESCR",_mask->get(F_ADES));
} break;
_cur->relation()->replace(new TLocalisamfile(LF_STOMAG),1,joinexp); }
_cur->setfilter(cfilter); _cur->relation()->replace(new TLocalisamfile(LF_STOMAG),1,joinexp);
_cur->setregion(darec,arec); _cur->setfilter(cfilter);
_form->print(); _cur->setregion(darec,arec);
delete _form; _form->print();
} // while true delete _form;
return TRUE; }
} // while true
return ;
} }
int mg3500(int argc, char* argv[]) int mg3500(int argc, char* argv[])
{ {
TStampa_storgiac a; TStampa_storgiac a;
a.run(argc,argv,"Stampa storico rimanenze"); a.run(argc,argv,"Stampa storico rimanenze");
return 0; return 0;
} }

View File

@ -17,12 +17,14 @@ END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 1
FONT "Courier New" FONT "Courier New"
SIZE 8 // SIZE 10
CARATTERE "X" END
INIZIALE 5 2
FINALE 133
SECTION GRAPHIC
BEGIN
END END
SECTION HEADER ODD 4 SECTION HEADER ODD 4
@ -65,7 +67,7 @@ END
SECTION BODY ODD 1 SECTION BODY ODD 1
SECTION H_ARTICOLO 1 3 1 GROUP SECTION H_ARTICOLO 1 3 1 HEADER
STRINGA 11 20 STRINGA 11 20
BEGIN BEGIN
KEY "CODART" KEY "CODART"
@ -155,20 +157,6 @@ SECTION BODY ODD 1
END // section body, loop anamag END // section body, loop anamag
SECTION FOOTER ODD 2 SECTION FOOTER ODD 2
STRINGA 100
BEGIN
KEY "NUMP"
PROMPT 50 1 "--------------"
END
NUMERO 101
BEGIN
KEY "NUMPAGE"
PROMPT 50 2 ""
MESSAGE _PAGENO
PICTURE "-###-"
END
END // fine footer END // fine footer
END // fine form END // fine form

View File

@ -15,6 +15,14 @@ NUMBER F_ANNOES 4
BEGIN BEGIN
FLAGS "A" FLAGS "A"
PROMPT 2 2 "Codice es. " PROMPT 2 2 "Codice es. "
USE ESC
INPUT CODTAB F_ANNOES
DISPLAY "Esercizio" CODTAB
DISPLAY "Dal@12" D0
DISPLAY "Al@12" D1
OUTPUT F_ANNOES CODTAB
CHECKTYPE NORMAL
ADD NONE
END END
STRING F_DAART 20 STRING F_DAART 20

View File

@ -1,8 +1,4 @@
#include <applicat.h> #include <applicat.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <form.h>
#include "mglib.h" #include "mglib.h"
#include "mg4100.h" #include "mg4100.h"
@ -10,7 +6,7 @@
class TStampa_listamov : public TSkeleton_application class TStampa_listamov : public TSkeleton_application
{ {
TArray _files; TArray _files;
TMask * _mask; TStampemg_mask * _mask;
TForm * _form; TForm * _form;
int _codicees; int _codicees;
@ -26,76 +22,24 @@ protected:
bool TStampa_listamov::create() bool TStampa_listamov::create()
{ {
_mask = new TStampemg_mask("mg4100");
_files.add(new TLocalisamfile(LF_MOVMAG)); _files.add(new TLocalisamfile(LF_MOVMAG));
_files.add(new TLocalisamfile(LF_RMOVMAG)); _files.add(new TLocalisamfile(LF_RMOVMAG));
_files.add(new TLocalisamfile(LF_ANAMAG)); _files.add(new TLocalisamfile(LF_ANAMAG));
_files.add(new TLocalisamfile(LF_UMART)); _files.add(new TLocalisamfile(LF_UMART));
_files.add(new TLocalisamfile(LF_TAB)); _files.add(new TLocalisamfile(LF_TAB));
TSkeleton_application::create(); return TSkeleton_application::create();
return TRUE;
} }
void TStampa_listamov::main_loop()
{
TRectype darec(LF_RMOVMAG),arec(LF_RMOVMAG);
_mask = new TMask("mg4100");
while (_mask->run() == K_ENTER) {
_form = new TForm("mg4100", "");
TSorted_cursor& cur = (TSorted_cursor& )*_form->cursor();
TString sortexp;
TString filter;
filter << '(' << LF_MOVMAG << "->ANNOES==\""<< _mask->get(F_ANNOES) << "\")";
if (_mask->get(F_CAU1).not_empty())
{
filter << "&&((CAUS==\"" << _mask->get(F_CAU1) << "\")";
filter << "||(" << LF_MOVMAG << "->CODCAUS==\"" << _mask->get(F_CAU1)<< "\")";
if (_mask->get(F_CAU2).not_empty())
filter << "||(CAUS==\"" << _mask->get(F_CAU2) << "\")"
<< "||(" << LF_MOVMAG << "->CODCAUS==\"" << _mask->get(F_CAU2)<< "\")";
if (_mask->get(F_CAU3).not_empty())
filter << "||(CAUS==\"" << _mask->get(F_CAU3)<< "\")"
<< "||(" << LF_MOVMAG << "->CODCAUS==\"" << _mask->get(F_CAU3)<< "\")";
if (_mask->get(F_CAU4).not_empty())
filter << "||(CAUS==\"" << _mask->get(F_CAU4)<< "\")"
<< "||(" << LF_MOVMAG << "->CODCAUS==\"" << _mask->get(F_CAU4)<< "\")";
if (_mask->get(F_CAU5).not_empty())
filter << "||(CAUS==\"" << _mask->get(F_CAU5)<< "\")"
<< "||(" << LF_MOVMAG << "->CODCAUS==\"" << _mask->get(F_CAU5)<< "\")";
if (_mask->get(F_CAU6).not_empty())
filter << "||(CAUS==\"" << _mask->get(F_CAU6)<< "\")"
<< "||(" << LF_MOVMAG << "->CODCAUS==\"" << _mask->get(F_CAU6)<< "\")";
filter << ")";
}
darec.zero(' ');
arec.zero(' ');
if (_mask->get(F_ORDINE)=="N")
{
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();
} else {
sortexp.cut(0) << LF_MOVMAG << "->DATAREG|NUMREG|CODART|NRIG";
// trova il record iniziale E finale
if (_mask->get(F_DADATA).not_empty())
filter << "&&( DATACOMP>=" << '"' << _mask->get(F_DADATA) << '"';
if (_mask->get(F_ADATA).not_empty())
filter << "&&( DATACOMP<=" << '"' << _mask->get(F_ADATA) << "\")";
_form->find_field('B',odd_page,"HEADER_DATA").show();
}
cur.change_order(sortexp);
cur.setfilter(filter,TRUE);
cur.setregion(darec,arec);
_form->print();
delete _form;
} // while true
}
bool TStampa_listamov::destroy() bool TStampa_listamov::destroy()
{
delete _mask;
return TSkeleton_application::destroy();
}
bool TStampa_listamov::filtro_causali(const TRelation* r)
{ {
delete _mask; delete _mask;
TSkeleton_application::destroy(); TSkeleton_application::destroy();
@ -103,6 +47,77 @@ bool TStampa_listamov::destroy()
} }
void TStampa_listamov::main_loop()
{
TRectype darec(LF_RMOVMAG),arec(LF_RMOVMAG);
while (_mask->run() == K_ENTER)
{
if (_mask->magazz_ini().gestmag(TRUE))
{
_form = new TForm("mg4100", "");
TSorted_cursor& cur = (TSorted_cursor& )*_form->cursor();
TString sortexp;
TString filter;
filter << '(' << LF_MOVMAG << "->ANNOES==\""<< _mask->get(F_ANNOES) << "\")";
if (_mask->get(F_DAARTICOLO).not_empty())
filter << "&&(CODART>=\"" << _mask->get(F_DAARTICOLO) << "\")";
if (_mask->get(F_AARTICOLO).not_empty())
filter << "&&(CODART<=\"" << _mask->get(F_AARTICOLO) << "~~~~~~~~~~~~~~~~~~~~\")";
if (_mask->get(F_CAU1).not_empty())
{
filtrocausali.cut(0);
filtrocausali.add(_mask->get(F_CAU1));
if (_mask->get(F_CAU2).not_empty())
{
filtrocausali.add(_mask->get(F_CAU2));
if (_mask->get(F_CAU3).not_empty())
{
filtrocausali.add(_mask->get(F_CAU3));
if (_mask->get(F_CAU4).not_empty())
{
filtrocausali.add(_mask->get(F_CAU4));
if (_mask->get(F_CAU5).not_empty())
{
filtrocausali.add(_mask->get(F_CAU5));
if (_mask->get(F_CAU6).not_empty())
filtrocausali.add(_mask->get(F_CAU6));
}
}
}
}
cur.set_filterfunction(filtro_causali);
}
darec.zero(' ');
arec.zero(' ');
if (_mask->get(F_ORDINE)=="N")
{
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();
} 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)<< "\")";
if (_mask->get(F_ADATA).not_empty())
filter << "&&(" << LF_MOVMAG <<"->DATACOMP<=" << '"' << _mask->get(F_ADATA) << "\")";
_form->find_field('B',odd_page,"HEADER_DATA").show();
}
cur.change_order(sortexp);
cur.setfilter(filter,TRUE);
cur.setregion(darec,arec);
_form->print();
delete _form;
}
} // while true
}
int mg4100(int argc, char* argv[]) int mg4100(int argc, char* argv[])
{ {
TStampa_listamov a;// derivata da Application e con uso di form TStampa_listamov a;// derivata da Application e con uso di form

View File

@ -20,12 +20,14 @@ END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 1
FONT "Courier New" FONT "Courier New"
SIZE 12 // SIZE 10
CARATTERE "X" END
INIZIALE 5 2
FINALE 133
SECTION GRAPHIC
BEGIN
END END
SECTION HEADER ODD 6 SECTION HEADER ODD 6
@ -302,10 +304,14 @@ SECTION BODY ODD 1
NUMERO 10 NUMERO 10
BEGIN BEGIN
KEY "totale mov" KEY "totale mov"
PROMPT 83 3 "Totale valore movimentato: £ " PROMPT 83 3 "Totale valore movimentato: "
PICTURE "##.###.###.##@" PICTURE "##.###.###.##@"
END END
END END
END // BODY SECTION END // BODY SECTION
SECTION FOOTER ODD 2
BEGIN
END

View File

@ -69,7 +69,28 @@ BEGIN
GROUP 2 GROUP 2
END END
STRING F_CAU1 4 STRING F_DAARTICOLO 20
BEGIN
FLAGS "U"
PROMPT 2 7 "Dall'articolo "
USE LF_ANAMAG
INPUT CODART F_DAARTICOLO
DISPLAY "Codice@20" CODART
DISPLAY "Descrizione@50" DESCR
OUTPUT F_DAARTICOLO CODART
END
STRING F_AARTICOLO 20
BEGIN
FLAGS "U"
PROMPT 42 7 "All'articolo "
COPY USE F_DAARTICOLO
INPUT CODART F_AARTICOLO
COPY DISPLAY F_DAARTICOLO
OUTPUT F_AARTICOLO CODART
END
STRING F_CAU1 5
BEGIN BEGIN
PROMPT 2 9 "Causale " PROMPT 2 9 "Causale "
FLAGS "U" FLAGS "U"
@ -82,7 +103,8 @@ BEGIN
MESSAGE EMPTY CLEAR,F_CAU2 |CHECK,F_CAU2 MESSAGE EMPTY CLEAR,F_CAU2 |CHECK,F_CAU2
MESSAGE ENABLE,F_CAU2 MESSAGE ENABLE,F_CAU2
END END
STRING F_CAU2 4
STRING F_CAU2 5
BEGIN BEGIN
FLAGS "U" FLAGS "U"
PROMPT 2 10 "Causale " PROMPT 2 10 "Causale "
@ -94,7 +116,8 @@ BEGIN
MESSAGE EMPTY CLEAR,F_CAU3 |CHECK,F_CAU3 MESSAGE EMPTY CLEAR,F_CAU3 |CHECK,F_CAU3
MESSAGE ENABLE,F_CAU3 MESSAGE ENABLE,F_CAU3
END END
STRING F_CAU3 4
STRING F_CAU3 5
BEGIN BEGIN
FLAGS "U" FLAGS "U"
PROMPT 2 11 "Causale " PROMPT 2 11 "Causale "
@ -106,7 +129,8 @@ BEGIN
MESSAGE EMPTY CLEAR,F_CAU4 |CHECK,F_CAU4 MESSAGE EMPTY CLEAR,F_CAU4 |CHECK,F_CAU4
MESSAGE ENABLE,F_CAU4 MESSAGE ENABLE,F_CAU4
END END
STRING F_CAU4 4
STRING F_CAU4 5
BEGIN BEGIN
FLAGS "U" FLAGS "U"
PROMPT 2 12 "Causale " PROMPT 2 12 "Causale "
@ -118,7 +142,8 @@ BEGIN
MESSAGE EMPTY CLEAR,F_CAU5 |CHECK,F_CAU5 MESSAGE EMPTY CLEAR,F_CAU5 |CHECK,F_CAU5
MESSAGE ENABLE,F_CAU5 MESSAGE ENABLE,F_CAU5
END END
STRING F_CAU5 4
STRING F_CAU5 5
BEGIN BEGIN
FLAGS "U" FLAGS "U"
PROMPT 2 13 "Causale " PROMPT 2 13 "Causale "
@ -130,7 +155,8 @@ BEGIN
MESSAGE EMPTY CLEAR,F_CAU6 |CHECK,F_CAU6 MESSAGE EMPTY CLEAR,F_CAU6 |CHECK,F_CAU6
MESSAGE ENABLE,F_CAU6 MESSAGE ENABLE,F_CAU6
END END
STRING F_CAU6 4
STRING F_CAU6 5
BEGIN BEGIN
FLAGS "U" FLAGS "U"
PROMPT 2 14 "Causale " PROMPT 2 14 "Causale "

View File

@ -1,13 +1,4 @@
#include <applicat.h> #include <applicat.h>
#include <config.h>
#include <mask.h>
#include <printer.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <utility.h>
#include <form.h>
#include <printapp.h>
#include "..\ve\veconf.h" #include "..\ve\veconf.h"
#include "mglib.h" #include "mglib.h"
@ -212,7 +203,7 @@ TForm_inventario::~TForm_inventario()
class TStampainv_mask: public TMask class TStampainv_mask: public TStampemg_mask
{ {
static bool handle_ragg(TMask_field &fld, KEY k); // handler static bool handle_ragg(TMask_field &fld, KEY k); // handler
static bool handle_liv(TMask_field &fld, KEY k); // handler static bool handle_liv(TMask_field &fld, KEY k); // handler
@ -223,7 +214,7 @@ public:
}; };
TStampainv_mask::TStampainv_mask(): TStampainv_mask::TStampainv_mask():
TMask("mg4200") TStampemg_mask("mg4200")
{ {
TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente
if (prassid.get_bool("GES", NULL, A_LISTINI)) if (prassid.get_bool("GES", NULL, A_LISTINI))
@ -328,21 +319,17 @@ bool TStampainv_mask::handle_ragg(TMask_field &fld, KEY k)
// STAMPA anagrafiche // STAMPA anagrafiche
class TStampa_inventario : public TPrint_application class TStampa_inventario : public TSkeleton_application
{ {
TArray * _files; TArray * _files;
TMask * _mask; TStampemg_mask * _mask;
TCursor * _cur; TCursor * _cur;
TForm_inventario * _form; // to be moved into TPrint_application TForm_inventario * _form; // to be moved into TPrint_application
protected: protected:
virtual bool print_one(int file) virtual bool create();
{return TRUE;} virtual bool destroy();
virtual bool user_create(); virtual void main_loop();
virtual bool user_destroy();
virtual bool set_print(int i=1);
virtual void set_page(int file,int count)
{ }
void setprint_permagazzini(); void setprint_permagazzini();
void setprint_perarticoli(); void setprint_perarticoli();
@ -351,7 +338,7 @@ public:
}; };
bool TStampa_inventario::user_create() bool TStampa_inventario::create()
{ {
_mask = new TStampainv_mask(); _mask = new TStampainv_mask();
_files = new TArray(); _files = new TArray();
@ -364,10 +351,10 @@ bool TStampa_inventario::user_create()
_files->add(new TLocalisamfile(LF_STOMAG)); _files->add(new TLocalisamfile(LF_STOMAG));
_files->add(new TLocalisamfile(LF_MOVMAG)); _files->add(new TLocalisamfile(LF_MOVMAG));
_files->add(new TLocalisamfile(LF_RMOVMAG)); _files->add(new TLocalisamfile(LF_RMOVMAG));
return TRUE; return TSkeleton_application::create();
} }
bool TStampa_inventario::user_destroy() bool TStampa_inventario::destroy()
{ {
delete _mask; delete _mask;
delete _files; delete _files;
@ -477,36 +464,37 @@ void TStampa_inventario::setprint_perarticoli()
} }
bool TStampa_inventario::set_print(int i) void TStampa_inventario::main_loop()
{ {
while (TRUE) { while (_mask->run() == K_ENTER)
if (_mask->run() != K_ENTER) {
return FALSE; if (_mask->magazz_ini().gestmag(TRUE))
if (*_mask->get(F_ORDINE)=='A')
{ {
_form = new TForm_inventario("mg4200a", ""); if (*_mask->get(F_ORDINE)=='A')
setprint_perarticoli(); {
} else { _form = new TForm_inventario("mg4200a", "");
_form = new TForm_inventario("mg4200b", ""); setprint_perarticoli();
setprint_permagazzini(); } else {
_form = new TForm_inventario("mg4200b", "");
setprint_permagazzini();
}
_form->add_colval(_mask->get_int(F_VAL1));
_form->add_colval(_mask->get_int(F_VAL2));
_form->add_colval(_mask->get_int(F_VAL3));
_form->add_colval(_mask->get_int(F_VAL4));
_form->add_colval(_mask->get_int(F_VAL5));
_form->add_colval(_mask->get_int(F_VAL6));
_form->set_parametri(_mask->get(F_CATVENLISTINO),
_mask->get(F_CODLISTINO),
*_mask->get(F_REALE_GIAC)=='R',
*_mask->get(F_FIN_COMP)=='C'
);
_form->print();
delete _form;
} }
_form->add_colval(_mask->get_int(F_VAL1));
_form->add_colval(_mask->get_int(F_VAL2));
_form->add_colval(_mask->get_int(F_VAL3));
_form->add_colval(_mask->get_int(F_VAL4));
_form->add_colval(_mask->get_int(F_VAL5));
_form->add_colval(_mask->get_int(F_VAL6));
_form->set_parametri(_mask->get(F_CATVENLISTINO),
_mask->get(F_CODLISTINO),
*_mask->get(F_REALE_GIAC)=='R',
*_mask->get(F_FIN_COMP)=='C'
);
_form->print();
delete _form;
} // while true } // while true
return TRUE; return ;
} }

View File

@ -54,6 +54,7 @@ BEGIN
DISPLAY "Al@12" D0 DISPLAY "Al@12" D0
OUTPUT F_ANNOES CODTAB OUTPUT F_ANNOES CODTAB
ADD NONE ADD NONE
CHECKTYPE NORMAL
END END
LIST F_FILTRO 23 LIST F_FILTRO 23

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,5 @@
#include <applicat.h> #include <applicat.h>
#include <config.h>
#include <mask.h>
#include <printer.h>
#include <relation.h>
#include <tabutil.h> #include <tabutil.h>
#include <urldefid.h>
#include <utility.h>
#include <form.h>
#include <printapp.h> #include <printapp.h>
#include "anamag.h" #include "anamag.h"
@ -81,6 +74,7 @@ private:
static const char * get_fiscfield(TVariable_rectype & r); static const char * get_fiscfield(TVariable_rectype & r);
static const char * get_cronofield(TVariable_rectype & r); static const char * get_cronofield(TVariable_rectype & r);
static bool filter_func(const TRelation* r); static bool filter_func(const TRelation* r);
protected: protected:
void add_mag(TRectype & magrec,const char * codreg); void add_mag(TRectype & magrec,const char * codreg);
public: public:
@ -160,7 +154,7 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
valore << cursor()->relation()->lfile(LF_MOVMAG).get("DESCR"); valore << cursor()->relation()->lfile(LF_MOVMAG).get("DESCR");
break; break;
default: default:
valore.format("%7g Movimenti del %s, dal %d al %d", (double)last_num_reg+1, valore.format("%7g Movimenti di %s, dal %d al %d", (double)last_num_reg+1,
(const char *)itom(datamov.month()), (const char *)itom(datamov.month()),
(int)((datamov.day()-1)/freq_stampa)*freq_stampa+1, (int)((datamov.day()-1)/freq_stampa)*freq_stampa+1,
(int)min(((datamov.day()-1)/freq_stampa+1)*freq_stampa,TDate::last_day(datamov.month(),datamov.year())) ); (int)min(((datamov.day()-1)/freq_stampa+1)*freq_stampa,TDate::last_day(datamov.month(),datamov.year())) );
@ -206,7 +200,11 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s)
} }
if (ragg_caus) if (ragg_caus)
{ {
valore << "Causali " << cur->relation()->lfile(-ALIAS_CAUSALI).get("S8") << ' '; TString16 raggcau(cur->relation()->lfile(-ALIAS_CAUSALI).get("S8"));
if (raggcau.blank())
valore << "Causali varie " ;
else
valore << "Causali gruppo " << raggcau << ' ';
} }
valore << vv; valore << vv;
cf.set(valore); cf.set(valore);
@ -333,6 +331,7 @@ void TGiornalemag::set_parametri(TMask & m)
// unused : ora i magazzini hanno l'indicazione esplicita del registro // unused : ora i magazzini hanno l'indicazione esplicita del registro
// aggiungeva in un array i vari codici di giornale mag usati
void TGiornalemag::add_mag(TRectype & magrec,const char * codreg) void TGiornalemag::add_mag(TRectype & magrec,const char * codreg)
{ {
TString16 codmag(magrec.get("CODTAB").left(3)); TString16 codmag(magrec.get("CODTAB").left(3));
@ -416,22 +415,18 @@ int TGiornalemag::_annoes;
// STAMPA giornale // STAMPA giornale
class TStampa_giornalemag : public TPrint_application class TStampa_giornalemag : public TSkeleton_application
{ {
TArray * _files; TArray * _files;
TMask * _mask; TStampemg_mask * _mask;
TGiornalemag * _form; // to be moved into TPrint_application TGiornalemag * _giorn_mag; // to be moved into TPrint_application
TCursor * _cur; TCursor * _cur;
protected: protected:
virtual bool print_one(int file) virtual bool create();
{return TRUE;} virtual bool destroy();
virtual bool user_create(); virtual void main_loop();
virtual bool user_destroy();
virtual bool set_print(int i=1);
virtual void set_page(int file,int count)
{ }
public: public:
TStampa_giornalemag() {} TStampa_giornalemag() {}
@ -439,15 +434,15 @@ public:
bool TStampa_giornalemag::user_create() bool TStampa_giornalemag::create()
{ {
_mask = new TMask("mg4300"); _mask = new TStampemg_mask("mg4300");
_files = new TArray(); _files = new TArray();
_files->add(new TLocalisamfile(LF_RMOVMAG)); _files->add(new TLocalisamfile(LF_RMOVMAG));
_files->add(new TLocalisamfile(LF_MOVMAG)); _files->add(new TLocalisamfile(LF_MOVMAG));
return TRUE; return TSkeleton_application::create();
} }
bool TStampa_giornalemag::user_destroy() bool TStampa_giornalemag::destroy()
{ {
delete _mask; delete _mask;
delete _files; delete _files;
@ -455,22 +450,22 @@ bool TStampa_giornalemag::user_destroy()
} }
bool TStampa_giornalemag::set_print(int i) void TStampa_giornalemag::main_loop()
{ {
while (_mask->run() == K_ENTER )
while (TRUE) { {
if (_mask->run() != K_ENTER) if (_mask->magazz_ini().gestmag(TRUE))
return FALSE; {
_giorn_mag = new TGiornalemag("mg4300", "");
_form = new TGiornalemag("mg4300", ""); _giorn_mag->set_parametri(*_mask);
_form->set_parametri(*_mask); if (_giorn_mag->can_be_printed())
if (_form->can_be_printed()) _giorn_mag->print();
_form->print(); else
else error_box("Impossibile stampare il giornale dalla data indicata");
error_box("Impossibile stampare il giornale dalla data indicata"); delete _giorn_mag;
delete _form; }
} // while true } // while true
return TRUE; return ;
} }

View File

@ -20,10 +20,9 @@ END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 1
CARATTERE "X" FONT "Courier New"
INIZIALE 5 2 SIZE 10
FINALE 133
END END
SECTION HEADER ODD 5 SECTION HEADER ODD 5
@ -83,7 +82,7 @@ SECTION BODY ODD 2
MESSAGE RESET,3@ MESSAGE RESET,3@
END END
STRINGA 101 48 STRINGA 101 70
BEGIN BEGIN
FLAGS "H" FLAGS "H"
PROMPT 1 1 "" PROMPT 1 1 ""
@ -101,7 +100,7 @@ SECTION BODY ODD 2
SECTION HEADER_RAGG_FISC 1 2 0 GROUP SECTION HEADER_RAGG_FISC 1 2 0 GROUP
STRINGA 100 78 STRINGA 100 78
BEGIN BEGIN
PROMPT 1 1 "++" PROMPT 1 1 ""
MESSAGE _USER,INFO_FISC|COPY,FF_CODTOT MESSAGE _USER,INFO_FISC|COPY,FF_CODTOT
END END
STRINGA 102 12 STRINGA 102 12
@ -115,13 +114,13 @@ SECTION BODY ODD 2
SECTION RAGG_FISCALE 1 0 0 FILE LF_RMOVMAG GROUP FISC_FIELD SECTION RAGG_FISCALE 1 0 0 FILE LF_RMOVMAG GROUP FISC_FIELD
STRINGA 100 30 STRINGA 100 30
BEGIN BEGIN
PROMPT 1 1 ">>>" PROMPT 1 1 ""
MESSAGE _STREXPR,LF_RMOVMAG->NUMREG+LF_RMOVMAG->CODART+"/"+LF_RMOVMAG->LIVGIAC+":"+LF_RMOVMAG->CODMAG MESSAGE _STREXPR,LF_RMOVMAG->NUMREG+LF_RMOVMAG->CODART+"/"+LF_RMOVMAG->LIVGIAC+":"+LF_RMOVMAG->CODMAG
MESSAGE _USER,REGISTRASTAMPA MESSAGE _USER,REGISTRASTAMPA
END END
STRINGA 100 10 STRINGA 100 10
BEGIN BEGIN
PROMPT 31 1 ">>>" PROMPT 31 1 ""
FIELD LF_MOVMAG->DATAREG FIELD LF_MOVMAG->DATAREG
END END
STRINGA 101 12 STRINGA 101 12
@ -164,7 +163,7 @@ SECTION BODY ODD 2
STRINGA 101 30 STRINGA 101 30
BEGIN BEGIN
PROMPT 10 1 "Causale: " PROMPT 10 1 "Causale: "
FIELD ALIAS_CAUSALI@->CODTAB FIELD LF_MOVMAG->CODCAUS // == FIELD ALIAS_CAUSALI@->CODTAB
END END
STRINGA 101 30 STRINGA 101 30
BEGIN BEGIN
@ -231,7 +230,7 @@ SECTION BODY ODD 2
END // RAGG CRONOLOGICO END // RAGG CRONOLOGICO
END // BODY: CICLO MOV END // BODY: CICLO MOV
SECTION FOOTER ODD 2 SECTION FOOTER ODD 4
STRINGA 100 STRINGA 100
BEGIN BEGIN
KEY "NUMP" KEY "NUMP"
@ -242,9 +241,10 @@ SECTION FOOTER ODD 2
BEGIN BEGIN
KEY "NUMPAGE" KEY "NUMPAGE"
PROMPT 50 2 "" PROMPT 50 2 ""
MESSAGE _USER,PAGENO MESSAGE _PAGENO
PICTURE "-###-" PICTURE "-###-"
END END
END END

View File

@ -9,16 +9,16 @@ END
NUMBER F_ANNOES 4 NUMBER F_ANNOES 4
BEGIN BEGIN
FLAGS "A" FLAGS "A"
PROMPT 2 1 "Codice es. " PROMPT 2 1 "Codice es. "
USE REG SELECT I0=6 USE ESC
INPUT CODTAB[1,4] F_ANNOES INPUT CODTAB F_ANNOES
INPUT CODTAB[5,7] F_CODREG DISPLAY "Esercizio" CODTAB
DISPLAY "Esercizio" CODTAB[1,4] DISPLAY "Dal@12" D0
DISPLAY "Codice" CODTAB[5,7] DISPLAY "Al@12" D1
OUTPUT F_ANNOES CODTAB[1,4] OUTPUT F_ANNOES CODTAB
OUTPUT F_CODREG CODTAB[5,7] ADD NONE
ADD NONE CHECKTYPE NORMAL
END END
STRING F_CODREG 3 STRING F_CODREG 3

View File

@ -34,7 +34,7 @@ Caption = "Tabelle vendita"
Picture = <mg00.bmp> Picture = <mg00.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Categorie vendita", "ba3 -0 CVE", "" Item_01 = "Categorie vendita", "ba3 -0 CVE", "F"
Item_02 = "Note cliente", "ba3 -0 %NOT", "" Item_02 = "Note cliente", "ba3 -0 %NOT", ""
Item_03 = "Note documento", "ba3 -0 %NDO", "" Item_03 = "Note documento", "ba3 -0 %NDO", ""
Item_04 = "Modalita' di spedizione", "ba3 -0 %MSP", "" Item_04 = "Modalita' di spedizione", "ba3 -0 %MSP", ""
@ -42,10 +42,10 @@ Item_05 = "Modalita' di consegna", "ba3 -0 %POR", ""
Item_06 = "Causali di trasporto", "ba3 -0 %CTR", "" Item_06 = "Causali di trasporto", "ba3 -0 %CTR", ""
Item_07 = "Aspetto dei beni", "ba3 -0 %ABE", "" Item_07 = "Aspetto dei beni", "ba3 -0 %ABE", ""
Item_08 = "Vettori", "ba3 -0 %VET", "" Item_08 = "Vettori", "ba3 -0 %VET", ""
Item_09 = "Spese", "ba3 -0 SPP", "" Item_09 = "Spese", "ba3 -0 SPP", "F"
Item_10 = "Prestazioni", "ba3 -0 PRS", "" Item_10 = "Prestazioni", "ba3 -0 PRS", "F"
Item_11 = "Banche di presentazione", "ef0 -6 BNP", "" Item_11 = "Banche di presentazione", "ef0 -6 BNP", "F"
Item_12 = "Zone", "ba3 -0 ZON", "" Item_12 = "Zone", "ba3 -0 ZON", "F"
[MGAREA_005] [MGAREA_005]
Caption = "Tabelle contabili" Caption = "Tabelle contabili"
@ -55,32 +55,33 @@ Flags = ""
Item_01 = "Codici IVA", "ba3 -0 %iva", "" Item_01 = "Codici IVA", "ba3 -0 %iva", ""
Item_02 = "Condizioni pagamento", "ba3 -6", "" Item_02 = "Condizioni pagamento", "ba3 -6", ""
Item_03 = "Classificazione pagamento", "ba3 -0 %CLR", "" Item_03 = "Classificazione pagamento", "ba3 -0 %CLR", ""
Item_05 = "Categorie contabili C/F", "ba3 -0 CCO", "" Item_05 = "Categorie contabili C/F", "ba3 -0 CCO", "F"
Item_06 = "Banche", "ba3 -0 %BAN", "" Item_06 = "Banche", "ba3 -0 %BAN", ""
Item_07 = "Legali", "ba3 -0 %LEG", "" Item_07 = "Legali", "ba3 -0 %LEG", ""
Item_08 = "Nazioni", "ba3 -0 %STA", "" Item_08 = "Nazioni", "ba3 -0 %STA", ""
Item_09 = "Lingue", "ba3 -0 %LNG", "" Item_09 = "Lingue", "ba3 -0 %LNG", ""
Item_10 = "Divise", "ba3 -0 %VAL", "" Item_10 = "Divise", "ba3 -0 %VAL", ""
Item_11 = "Cambi giornalieri", "ba3 -0 CAM", "" Item_11 = "Cambi giornalieri", "ba3 -0 CAM", "F"
Item_12 = "Esercizi", "cg0 -5 esc", "" Item_12 = "Esercizi", "cg0 -5 esc", "F"
Item_13 = "Registri", "ba3 -0 REG","F"
[MGAREA_006] [MGAREA_006]
Caption = "Tabelle magazzino" Caption = "Tabelle magazzino"
Picture = <mg00.bmp> Picture = <mg00.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Gruppi merceologici", "ba3 -0 GMC", "" Item_01 = "Gruppi merceologici", "ba3 -0 GMC", "F"
Item_02 = "Magazzini e depositi", "ba3 -0 MAG", "" Item_02 = "Magazzini e depositi", "ba3 -0 MAG", "F"
Item_03 = "Unita' di misura", "ba3 -0 %UMS", "" Item_03 = "Unita' di misura", "ba3 -0 %UMS", ""
Item_04 = "Province d'origine", "ba3 -0 %PRV", "" Item_04 = "Province d'origine", "ba3 -0 %PRV", ""
Item_05 = "Classi fiscali articoli", "ba3 -0 ASF", "" Item_05 = "Classi fiscali articoli", "ba3 -0 ASF", "F"
Item_06 = "Categorie ricavi articoli", "ba3 -0 CRA", "" Item_06 = "Categorie ricavi articoli", "ba3 -0 CRA", "F"
Item_07 = "Categorie acquisti articoli", "ba3 -0 CAA", "" Item_07 = "Categorie acquisti articoli", "ba3 -0 CAA", "F"
Item_08 = "Raggrupp. fiscali articoli", "ba3 -0 RFA", "" Item_08 = "Raggrupp. fiscali articoli", "ba3 -0 RFA", "F"
Item_09 = "Raggruppamenti causali magazzino", "mg0 -0 %RFC", "" Item_09 = "Raggruppamenti causali magazzino", "mg0 -0 %RFC", ""
Item_10 = "Causali magazzino", "mg0 -0 %CAU", "" Item_10 = "Causali magazzino", "mg0 -0 %CAU", ""
Item_11 = "Gruppi codice articoli", "mg0 -0 GCA", "" Item_11 = "Gruppi codice articoli", "mg0 -0 GCA", "F"
Item_12 = "Gruppi codice giacenze", "mg0 -0 GCG", "" Item_12 = "Gruppi codice giacenze", "mg0 -0 GCG", "F"
[MGAREA_007] [MGAREA_007]
Caption = "Stampa tabelle" Caption = "Stampa tabelle"
@ -96,7 +97,7 @@ Caption = "Stampa tabelle vendita"
Picture = <ba03.bmp> Picture = <ba03.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Categorie vendita", "ba3 -1 CVE", "" Item_01 = "Categorie vendita", "ba3 -1 CVE", "F"
Item_02 = "Note anagrafiche", "ba3 -1 %NOT", "" Item_02 = "Note anagrafiche", "ba3 -1 %NOT", ""
Item_03 = "Note documento", "ba3 -1 %NDO", "" Item_03 = "Note documento", "ba3 -1 %NDO", ""
Item_04 = "Modalita' di spedizione", "ba3 -1 %MSP", "" Item_04 = "Modalita' di spedizione", "ba3 -1 %MSP", ""
@ -104,10 +105,10 @@ Item_05 = "Modalita' di consegna", "ba3 -1 %POR", ""
Item_06 = "Causali di trasporto", "ba3 -1 %CTR", "" Item_06 = "Causali di trasporto", "ba3 -1 %CTR", ""
Item_07 = "Aspetto dei beni", "ba3 -1 %ABE", "" Item_07 = "Aspetto dei beni", "ba3 -1 %ABE", ""
Item_08 = "Vettori", "ba3 -1 %VET", "" Item_08 = "Vettori", "ba3 -1 %VET", ""
Item_09 = "Spese", "ba3 -1 SPP", "" Item_09 = "Spese", "ba3 -1 SPP", "F"
Item_10 = "Prestazioni", "ba3 -1 PRS", "" Item_10 = "Prestazioni", "ba3 -1 PRS", "F"
Item_11 = "Banche di presentazione", "ba3 -1 BNP", "" Item_11 = "Banche di presentazione", "ba3 -1 BNP", "F"
Item_12 = "Zone", "ba3 -1 ZON", "" Item_12 = "Zone", "ba3 -1 ZON", "F"
[MGAREA_010] [MGAREA_010]
Caption = "Stampa tabelle contabili" Caption = "Stampa tabelle contabili"
@ -116,69 +117,69 @@ Module = 0
Flags = "" Flags = ""
Item_01 = "Codici IVA", "ba3 -1 %iva", "" Item_01 = "Codici IVA", "ba3 -1 %iva", ""
Item_02 = "Condizioni pagamento", "ba3 -9", "" Item_02 = "Condizioni pagamento", "ba3 -9", ""
Item_03 = "Classificazione pagamento", "ba3 -1 CLR", "" Item_03 = "Classificazione pagamento", "ba3 -1 CLR", "F"
Item_05 = "Categorie contabili C/F", "ba3 -1 CCO", "" Item_05 = "Categorie contabili C/F", "ba3 -1 CCO", "F"
Item_06 = "Banche", "ba3 -1 %ban", "" Item_06 = "Banche", "ba3 -1 %ban", ""
Item_07 = "Legali", "ba3 -1 %LEG", "" Item_07 = "Legali", "ba3 -1 %LEG", ""
Item_08 = "Nazioni", "ba3 -1 %sta", "" Item_08 = "Nazioni", "ba3 -1 %sta", ""
Item_09 = "Lingue", "ba3 -1 %lng", "" Item_09 = "Lingue", "ba3 -1 %lng", ""
Item_10 = "Divise", "ba3 -1 %val", "" Item_10 = "Divise", "ba3 -1 %val", ""
Item_11 = "Cambi giornalieri", "ba3 -1 CAM", "" Item_11 = "Cambi giornalieri", "ba3 -1 CAM", "F"
Item_12 = "Esercizi", "ba3 -1 esc", "" Item_12 = "Esercizi", "ba3 -1 esc", "F"
[MGAREA_011] [MGAREA_011]
Caption = "Stampa tabelle magazzino" Caption = "Stampa tabelle magazzino"
Picture = <ba03.bmp> Picture = <ba03.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Gruppi merceologici", "ba3 -1 GMC", "" Item_01 = "Gruppi merceologici", "ba3 -1 GMC", "F"
Item_02 = "Magazzini e depositi", "ba3 -1 MAG", "" Item_02 = "Magazzini e depositi", "ba3 -1 MAG", "F"
Item_03 = "Unita' di misura", "ba3 -1 %UMS", "" Item_03 = "Unita' di misura", "ba3 -1 %UMS", ""
Item_04 = "Classi fiscali e articoli", "ba3 -1 ASF", "" Item_04 = "Classi fiscali e articoli", "ba3 -1 ASF", "F"
Item_05 = "Categorie ricavi articoli", "ba3 -1 CRA", "" Item_05 = "Categorie ricavi articoli", "ba3 -1 CRA", "F"
Item_06 = "Categorie acquisti articoli", "ba3 -1 CAA", "" Item_06 = "Categorie acquisti articoli", "ba3 -1 CAA", "F"
Item_07 = "Raggrupp. fiscali articoli", "ba3 -1 RFA", "" Item_07 = "Raggrupp. fiscali articoli", "ba3 -1 RFA", "F"
Item_08 = "Raggruppamenti causali magazzino", "ba3 -1 %RFC", "" Item_08 = "Raggruppamenti causali magazzino", "ba3 -1 %RFC", ""
Item_09 = "Causali magazzino", "ba3 -1 %CAU", "" Item_09 = "Causali magazzino", "ba3 -1 %CAU", ""
Item_10 = "Formato e gruppi codice articoli", "mg0 -1 FCA", "" Item_10 = "Formato e gruppi codice articoli", "mg0 -1 FCA", "F"
Item_11 = "Formato e gruppi codice giacenze", "mg0 -1 FCG", "" Item_11 = "Formato e gruppi codice giacenze", "mg0 -1 FCG", "F"
[MGAREA_012] [MGAREA_012]
Caption = "Gestione archivi di base" Caption = "Gestione archivi di base"
Picture = <mg00.bmp> Picture = <mg00.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Articoli", "ve2 -3", "" Item_01 = "Articoli", "ve2 -3", "F"
Item_02 = "Listini", "ve2 -1 l", "" Item_02 = "Listini", "ve2 -1 l", "F"
Item_03 = "Contratti", "ve2 -1 c", "" Item_03 = "Contratti", "ve2 -1 c", "F"
Item_04 = "Offerte", "ve2 -1 o", "" Item_04 = "Offerte", "ve2 -1 o", "F"
Item_05 = "Sconti clienti", "ba3 -0 %SCC", "" Item_05 = "Sconti clienti", "ba3 -0 %SCC", "F"
Item_06 = "Sconti incondizionati", "ve2 -0 i", "" Item_06 = "Sconti incondizionati", "ve2 -0 i", "F"
Item_07 = "Sconti di riga", "ve2 -0 r", "" Item_07 = "Sconti di riga", "ve2 -0 r", "F"
Item_08 = "Clienti/Fornitori", "cg0 -1", "F" Item_08 = "Clienti/Fornitori", "cg0 -1", "F"
Item_09 = "Agenti", "pr0 -4", "" Item_09 = "Agenti", "pr0 -4", "F"
[MGAREA_013] [MGAREA_013]
Caption = "Stampa archivi di base" Caption = "Stampa archivi di base"
Picture = <ba03.bmp> Picture = <ba03.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Articoli", "ve3 -3", "" Item_01 = "Articoli", "ve3 -3", "F"
Item_02 = "Listini", "ve3 -1 l", "" Item_02 = "Listini", "ve3 -1 l", "F"
Item_03 = "Contratti", "ve3 -1 c", "" Item_03 = "Contratti", "ve3 -1 c", "F"
Item_04 = "Offerte", "ve3 -1 o", "" Item_04 = "Offerte", "ve3 -1 o", "F"
Item_05 = "Sconti clienti", "ba3 -1 %SCC", "" Item_05 = "Sconti clienti", "ba3 -1 %SCC", "F"
Item_06 = "Sconti incondizionati", "ve3 -0 i", "" Item_06 = "Sconti incondizionati", "ve3 -0 i", "F"
Item_07 = "Sconti di riga", "ve3 -0 r", "" Item_07 = "Sconti di riga", "ve3 -0 r", "F"
Item_08 = "Clienti/Fornitori", "cg1 -1", "F" Item_08 = "Clienti/Fornitori", "cg1 -1", "F"
Item_09 = "Agenti", "pr1 -0", "" Item_09 = "Agenti", "pr1 -0", "F"
[MGAREA_019] [MGAREA_019]
Caption = "Servizi" Caption = "Servizi"
Picture = <mg00.bmp> Picture = <mg00.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_09 = "Modifica valori", "ve4 -0", "" Item_09 = "Modifica valori", "ve4 -0", "F"
[MGAREA_020] [MGAREA_020]
Caption = "Configurazione" Caption = "Configurazione"
@ -186,21 +187,21 @@ Picture = <ba04.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Magazzino", [MGAREA_022] Item_01 = "Magazzino", [MGAREA_022]
Item_02 = "Condizioni di vendita", "ve0 -2 -1", "" Item_02 = "Condizioni di vendita", "ve0 -2 -1", "F"
Item_03 = "Agenti e dati generali", "ve0 -2 -2", "" Item_03 = "Agenti e dati generali", "ve0 -2 -2", "F"
Item_04 = "Contabilizzazione sconti", "ve0 -2 -3", "" Item_04 = "Contabilizzazione sconti", "ve0 -2 -3", "F"
Item_05 = "Contabilizzazione spese e bolli", "ve0 -2 -4", "" Item_05 = "Contabilizzazione spese e bolli", "ve0 -2 -4", "F"
Item_06 = "Contabilizzazione", "ve0 -2 -5", "" Item_06 = "Contabilizzazione", "ve0 -2 -5", "F"
Item_07 = "Gestione spese e bolli", "ve0 -2 -6", "" Item_07 = "Gestione spese e bolli", "ve0 -2 -6", "F"
[MGAREA_022] [MGAREA_022]
Caption = "Configurazione magazzino" Caption = "Configurazione magazzino"
Picture = <ba04.bmp> Picture = <ba04.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Parametri di magazzino", "mg0 -2 -1", "" Item_01 = "Parametri di magazzino", "mg0 -2 -1", "F"
Item_02 = "Formato codice articoli", "mg0 -0 FCA", "" Item_02 = "Formato codice articoli", "mg0 -0 FCA", "F"
Item_03 = "Formato codice giacenze", "mg0 -0 FCG", "" Item_03 = "Formato codice giacenze", "mg0 -0 FCG", "F"

68
mg/mginst.ini Executable file
View File

@ -0,0 +1,68 @@
[mg]
Data = 01-04-1998
Descrizione = Magazzino
Dischi = 1
Moduli = ba,ve9,cg9
Patch = 304
PostProcess =
PreProcess =
Prezzo(1) = 900,300
Versione = 19980102
[mg0]
File(0) = mg00.bmp
File(1) = mgarea.men
Patch = 304
Versione = 19980102
[mg1]
File(2) = bastfcg.msk
File(3) = batbfcg.msk
File(4) = batbgcg.msk
File(5) = batbubi.msk
File(6) = mg01.bmp
File(7) = mg1.exe
File(8) = mg1100.msk
File(9) = mg1200.msk
File(10) = mg1400.msk
File(11) = mg3.exe
File(12) = mg3100.msk
File(13) = mg3100a.frm
File(14) = mg3100b.frm
File(15) = mg3200.msk
File(16) = mg3200a.frm
File(17) = mg3200b.frm
File(18) = mg3300.msk
File(19) = mg3300a.frm
File(20) = mg3300b.frm
File(21) = mg3400.msk
File(22) = mg3400a.frm
File(23) = mg3400b.frm
File(24) = mg3500.frm
File(25) = mg3500.msk
File(26) = mg4.exe
File(27) = mg4100.frm
File(28) = mg4100.msk
File(29) = mg4200.msk
File(30) = mg4200a.frm
File(31) = mg4200b.frm
File(32) = mg4300.frm
File(33) = mg4300.msk
File(34) = mgprassi.men
File(35) = tab_fcg.frm
Patch = 304
Versione = 19980102
[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

View File

@ -290,27 +290,31 @@ public:
// classe che incapsula tutti i magazzini // classe che incapsula tutti i magazzini
class TMagazzini : public TRecord_cache class TMagazzini : public TRecord_cache
{ {
long _last_firm;
TString16 _stdmag; TString16 _stdmag;
TString16 _stddep; TString16 _stddep;
TConfig _mgconfig; TConfig *_mgconfig;
bool _gestmag ;
bool _gestdep ;
char _gestubi ;
bool _gestmultimag;
private:
void init();
void test_firm() const;
public: public:
const TString & standardmag() const const TString & standardmag() const
{ return _stdmag;} {test_firm() ; return _stdmag;}
const TString & standarddep() const const TString & standarddep() const
{ return _stddep;} {test_firm() ; return _stddep;}
bool gestmag() const bool gestmag(bool verbose=FALSE) const ;
{return ((TMagazzini *) this)->_mgconfig.get_bool("GESMAG");} bool gestdep() const ;
bool gestdep() const bool gestubi_man() const ;
{return ((TMagazzini *) this)->_mgconfig.get_bool("GESDEPOSITI");} bool gestubi_tab() const ;
bool gestubi_man() const bool gestmultimag() const ;
{return ((TMagazzini *) this)->_mgconfig.get("GESUBICAZ")=="M";}
bool gestubi_tab() const
{return ((TMagazzini *) this)->_mgconfig.get("GESUBICAZ")=="T";}
bool gestmultimag() const
{return ((TMagazzini *) this)->_mgconfig.get_bool("GESMULTIMAG");}
TMagazzini(); TMagazzini();
virtual ~TMagazzini() {} virtual ~TMagazzini();
}; };
@ -439,10 +443,13 @@ class TForm_stampemg : public TForm
bool setdettaglio(bool show, int fromlivart,int livart,int fromlivgiac,int livgiac,bool dettgiac); bool setdettaglio(bool show, int fromlivart,int livart,int fromlivgiac,int livgiac,bool dettgiac);
void add_giaclev(TString &levname); void add_giaclev(TString &levname);
public:
TCodart_livelli * _artlev; TCodart_livelli * _artlev;
TCodgiac_livelli * _giaclev; TCodgiac_livelli * _giaclev;
public:
TCodart_livelli & artlev() {return *_artlev;}
TCodgiac_livelli & giaclev(){return *_giaclev;}
public: public:
void gruppogiac(TForm_item &cf, TToken_string &s); void gruppogiac(TForm_item &cf, TToken_string &s);
void gruppoart(TForm_item &cf, TToken_string &s); void gruppoart(TForm_item &cf, TToken_string &s);
@ -454,6 +461,23 @@ public:
virtual ~TForm_stampemg(); virtual ~TForm_stampemg();
}; };
class TStampemg_mask: public TMask
{
TCodgiac_livelli _giaclev;
TCodart_livelli _artlev;
TMagazzini _magazz_ini;
public:
TCodgiac_livelli &giaclev() {return _giaclev;}
TCodart_livelli &artlev() {return _artlev;}
TMagazzini & magazz_ini() {return _magazz_ini;}
TStampemg_mask(const char * name) : TMask(name){}
virtual ~TStampemg_mask(){}
};
class TCondizione_vendita : public TObject class TCondizione_vendita : public TObject
{ {
TString80 _sconto; TString80 _sconto;

View File

@ -745,10 +745,9 @@ TString TCodice_livelli::build_tabcode(const TString & pc, const int levnum) con
TString valore; TString valore;
valore << levnum; valore << levnum;
valore << unpack_grpcode(pc,levnum); valore << unpack_grpcode(pc,levnum);
if (_lev_enabled && valore.len()>1) if (!(_lev_enabled && valore.len()>1))
return valore; valore.cut(0);
else return valore;
return "";
} }
@ -823,10 +822,29 @@ TCodgiac_livelli::TCodgiac_livelli()
TMagazzini::TMagazzini() : TMagazzini::TMagazzini() :
TRecord_cache("MAG") , _stdmag(""), _mgconfig(CONFIG_DITTA, "mg") TRecord_cache("MAG") , _mgconfig(NULL),_last_firm(-1)
{ {
init();
}
TMagazzini::~TMagazzini()
{
if (_mgconfig) delete _mgconfig;
}
void TMagazzini::init()
{
if (_mgconfig) delete _mgconfig;
_mgconfig = new TConfig(CONFIG_DITTA, "mg");
_gestmag=_mgconfig->get_bool("GESMAG");
_gestdep=_gestmag && _mgconfig->get_bool("GESDEPOSITI");
_gestmultimag=_gestmag && _mgconfig->get_bool("GESMULTIMAG");
_gestubi=_mgconfig->get_char("GESUBICAZ");
TTable mag("MAG"); TTable mag("MAG");
mag.first(); mag.first();
// look for standard mag & dep
while (!mag.eof() && !mag.get_bool("B1")) while (!mag.eof() && !mag.get_bool("B1"))
mag.next(); mag.next();
if (!mag.eof()) if (!mag.eof())
@ -835,5 +853,40 @@ TMagazzini::TMagazzini() :
_stdmag = codtab.left(3); _stdmag = codtab.left(3);
_stddep = codtab.mid(3); _stddep = codtab.mid(3);
} }
else
_stdmag.cut(0);
_last_firm = prefix().get_codditta();
} }
void TMagazzini::test_firm() const
{
long firm = prefix().get_codditta();
if (firm > 0 && firm != _last_firm)
((TMagazzini *)this)->init();
}
bool TMagazzini::gestmag(bool verbose) const
{
test_firm() ;
if (!_gestmag && verbose)
warning_box("La ditta corrente non gestisce il magazzino");
return _gestmag;
}
bool TMagazzini::gestdep() const
{
test_firm() ; return _gestdep;
}
bool TMagazzini::gestubi_man() const
{
test_firm() ; return _gestubi=='M';
}
bool TMagazzini::gestubi_tab() const
{
test_firm() ; return _gestubi=='T';
}
bool TMagazzini::gestmultimag() const
{
test_firm() ; return _gestmultimag;
}

View File

@ -145,29 +145,38 @@ bool TForm_stampemg::setdett_permag(int fromlivart,int livart,int fromlivgiac,in
find_field('B',odd_page,"TOT_MAGAZZINO").show(showmag); find_field('B',odd_page,"TOT_MAGAZZINO").show(showmag);
find_field('B',odd_page,"H_DEPOSITO").show(showdep && showdett); find_field('B',odd_page,"H_DEPOSITO").show(showdep && showdett);
find_field('B',odd_page,"TOT_DEPOSITO").show(showdep); find_field('B',odd_page,"TOT_DEPOSITO").show(showdep);
if (livgiac==0)
livgiac = _giaclev->last_level();
return setdettaglio(showdett,fromlivart,livart,fromlivgiac,livgiac,FALSE); return setdettaglio(showdett,fromlivart,livart,fromlivgiac,livgiac,FALSE);
} }
bool TForm_stampemg::setdettaglio(bool show, int fromlivart,int livart,int fromlivgiac,int livgiac,bool dettgiac) bool TForm_stampemg::setdettaglio(bool show, int fromlivart,int livart,int fromlivgiac,int livgiac,bool dettgiac)
{ {
const int last_artlev=_artlev->last_level();
const int last_giaclev=_giaclev->last_level();
const int tolivart =min(( livart ? livart :_artlev->last_level()) ,_artlev->last_level()-1) ;
const int tolivgiac=min((livgiac ? livgiac :_giaclev->last_level()),_giaclev->last_level()-1);
_fromlivart=fromlivart; _fromlivart=fromlivart;
_fromlivgiac=fromlivgiac; _fromlivgiac=fromlivgiac;
_tolivart=livart; _tolivart=livart;
_tolivgiac=livgiac; _tolivgiac=livgiac;
// *********** // ***********
int i, tolivart,tolivgiac;
// abilita le sezioni dei livelli di codice // abilita le sezioni dei livelli di codice
TForm_subsection &s1=(TForm_subsection &)find_field('B',odd_page,"H_ARTICOLO"); TForm_subsection &s1=(TForm_subsection &)find_field('B',odd_page,"H_ARTICOLO");
TForm_subsection &s2=(TForm_subsection &)find_field('B',odd_page,"TOT_ARTICOLO"); TForm_subsection &s2=(TForm_subsection &)find_field('B',odd_page,"TOT_ARTICOLO");
if (fromlivgiac==0 && (livart==0 ||livart==_artlev->last_level())) { if (fromlivgiac==0 // non raggruppo a partire dai livelli di giacenza
s1.show(show && livart<_artlev->last_level() || dettgiac); && (livart==0 ||livart==_artlev->last_level())) {
s1.show(show && dettgiac);
s2.show(show); s2.show(show);
} else { } else {
s1.hide(); s1.hide();
s2.hide(); s2.hide();
} }
tolivart =min(( livart ? livart :_artlev->last_level()),_artlev->last_level()-1) ; int i;
tolivgiac=livgiac ? livgiac :_giaclev->last_level();
for (i=1; i<=FORM_MAXARTLEV; i++) for (i=1; i<=FORM_MAXARTLEV; i++)
{ {
TString sname("TOT_GART"); TString sname("TOT_GART");

View File

@ -20,29 +20,36 @@ Caption = "Movimenti di magazzino"
Picture = <mg01.bmp> Picture = <mg01.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Gestione interattiva", "mg1 -0", "" Item_01 = "Gestione interattiva", "mg1 -0", "F"
Item_02 = "Ricostruzione saldi", "mg1 -1", "" Item_02 = "Ricostruzione saldi", "mg1 -1", "F"
Item_03 = "Lista di controllo", "mg4 -0", "" Item_03 = "Lista di controllo", "mg4 -0", "F"
[PRASSIMG_064] [PRASSIMG_064]
Caption = "Stampe" Caption = "Stampe"
Picture = <ba03.bmp> Picture = <ba03.bmp>
Module = 0 Module = 32
Flags = "" Flags = ""
Item_01 = "Stampa anagrafica articoli", "ve3 -3", "" Item_01 = "Stampa anagrafica articoli", "ve3 -3", "F"
Item_02 = "Stampa giacenza e prezzi", "mg3 -0", "" Item_02 = "Stampa giacenza e prezzi", "mg3 -0", "F"
Item_03 = "Stampa disponibilita'", "mg3 -1", "" Item_03 = "Stampa disponibilita'", "mg3 -1", "F"
Item_04 = "Stampa schede", "mg3 -2", "" Item_04 = "Stampa schede", "mg3 -2", "F"
Item_05 = "Stampa storico rimanenze", "mg3 -4", "" Item_05 = "Stampa storico rimanenze", "mg3 -4", "F"
Item_06 = "Stampa inventario", "mg4 -1", "" Item_06 = "Stampa inventario", "mg4 -1", "F"
Item_07 = "Stampa libro giornale", "mg4 -2", "" Item_07 = "Stampa libro giornale", "mg4 -2", "F"
[PRASSIMG_070]
Caption = "Servizi modulo magazzino"
Picture = <mg01.bmp>
Module = 32
Flags = ""
Item_01 = "Apertura/chiusura magazzino", "mg1 -3", "F"
[PRASSIMG_099] [PRASSIMG_099]
Caption = "Configurazione magazzino" Caption = "Configurazione magazzino"
Picture = <ba04.bmp> Picture = <ba04.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Parametri di magazzino", "mg0 -2 -1", "" Item_01 = "Parametri di magazzino", "mg0 -2 -1", "F"
Item_02 = "Formato codice articoli", "mg0 -0 FCA", "" Item_02 = "Formato codice articoli", "mg0 -0 FCA", "F"
Item_03 = "Formato codice giacenze", "mg0 -0 FCG", "" Item_03 = "Formato codice giacenze", "mg0 -0 FCG", "F"