Modificata l'anagrafica di magazzino
git-svn-id: svn://10.65.10.50/trunk@1706 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b1210fb257
commit
8a791b0304
12
ve/ve2.cpp
12
ve/ve2.cpp
@ -5,11 +5,12 @@
|
|||||||
// #define MAIN
|
// #define MAIN
|
||||||
|
|
||||||
|
|
||||||
#define usage "Errore - Utilizzo: %s -{1|2|3}"
|
#define usage "Errore - Utilizzo: %s -{0|1|2|3}"
|
||||||
|
|
||||||
extern int ve2100(int argc, char* argv[]); // listini
|
extern int ve2100(int argc, char* argv[]); // listini
|
||||||
extern int ve2200(int argc, char* argv[]); // contratti
|
extern int ve2200(int argc, char* argv[]); // contratti
|
||||||
extern int ve2300(int argc, char* argv[]); // offerte-campagne
|
extern int ve2300(int argc, char* argv[]); // offerte-campagne
|
||||||
|
extern int ve2400(int argc, char* argv[]); // anagrafica di magazzino
|
||||||
|
|
||||||
int main( int argc, char** argv)
|
int main( int argc, char** argv)
|
||||||
{
|
{
|
||||||
@ -18,15 +19,18 @@ int main( int argc, char** argv)
|
|||||||
|
|
||||||
switch (r)
|
switch (r)
|
||||||
{
|
{
|
||||||
case 1:
|
case 0:
|
||||||
rt = ve2100( argc, argv );
|
rt = ve2100( argc, argv );
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 1:
|
||||||
rt = ve2200( argc, argv );
|
rt = ve2200( argc, argv );
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 2:
|
||||||
rt = ve2300( argc, argv );
|
rt = ve2300( argc, argv );
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
rt = ve2400( argc, argv );
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
error_box( usage, argv[0] );
|
error_box( usage, argv[0] );
|
||||||
break;
|
break;
|
||||||
|
436
ve/ve2400.cpp
436
ve/ve2400.cpp
@ -1,11 +1,6 @@
|
|||||||
|
|
||||||
#include "ve2400.h"
|
#include "ve2400.h"
|
||||||
|
|
||||||
#define LF_ANAMAG 47
|
|
||||||
#define LF_CODCORR 48
|
|
||||||
#define LF_DESLIN 51
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef __CHECKS_H
|
#ifndef __CHECKS_H
|
||||||
#include <checks.h>
|
#include <checks.h>
|
||||||
#endif
|
#endif
|
||||||
@ -14,244 +9,375 @@
|
|||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __TABUTIL_H
|
||||||
|
#include <tabutil.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __MSKSHEET_H
|
#ifndef __MSKSHEET_H
|
||||||
#include <msksheet.h>
|
#include <msksheet.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __LFFILES_H
|
#ifndef __ASSOC_H
|
||||||
#include <lffiles.h>
|
#include <assoc.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define F_SHEET1 300
|
|
||||||
#define F_SHEET2 301
|
|
||||||
|
|
||||||
|
|
||||||
class TAnamag_application : public TRelation_application
|
class TAnamag_application: public TRelation_application {
|
||||||
{
|
TMask *_msk; // maschera principale
|
||||||
TMask* _msk;
|
TRelation *_rel; // relazione principale di un solo file (anagrafiche di magazzino)
|
||||||
TRelation* _rel;
|
TLocalisamfile *_umart; // file di accesso alle unità di misura
|
||||||
|
TLocalisamfile *_deslin; // file di accesso alle descrizioni in lingua
|
||||||
|
TLocalisamfile *_codcorr; // file di accesso ai codici corrispondenti
|
||||||
|
TRecord_array *_linee_rec0; // record array di accoppiamento delle unità di misura
|
||||||
|
TRecord_array *_linee_rec1; // record array di accoppiamento delle descrizioni in lingua con il primo sheet
|
||||||
|
TRecord_array *_linee_rec2; // record array di accoppiamento delle codici corrispondenti con il secondo sheet
|
||||||
|
|
||||||
TRecord_array * _linee_rec1;
|
|
||||||
TSheet_field * _sheet1;
|
|
||||||
|
|
||||||
TRecord_array * _linee_rec2;
|
|
||||||
TSheet_field * _sheet2;
|
|
||||||
|
|
||||||
|
|
||||||
virtual int read(TMask& m);
|
|
||||||
virtual bool user_create();
|
virtual bool user_create();
|
||||||
virtual bool user_destroy();
|
virtual bool user_destroy();
|
||||||
virtual TMask* get_mask(int mode) { return _msk;}
|
virtual TMask *get_mask(int) {return _msk;}
|
||||||
virtual bool changing_mask(int mode) { return FALSE;}
|
virtual bool changing_mask(int) {return FALSE;}
|
||||||
virtual TRelation* get_relation() const { return _rel;}
|
virtual TRelation *get_relation() const {return _rel;}
|
||||||
TSheet_field& ss() const { return *_sheet1; }
|
virtual void init_insert_mode(TMask &);
|
||||||
|
|
||||||
|
virtual int read(TMask& m);
|
||||||
virtual int write(const TMask& m);
|
virtual int write(const TMask& m);
|
||||||
virtual int rewrite(const TMask& m);
|
virtual int rewrite(const TMask& m);
|
||||||
|
|
||||||
|
|
||||||
|
static bool handle_sheet0(TMask_field &, KEY); // handler dello sheet delle unità di misura
|
||||||
|
static bool handle_sheet1(TMask_field &, KEY); // handler dello sheet delle descrizioni in lingua
|
||||||
|
static bool handle_sheet2(TMask_field &, KEY); // handler dello sheer dei codici alternativi
|
||||||
|
static bool handle_sheet0_um(TMask_field &, KEY); // handler del campo UM dello sheet delle unità di misura
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
TAnamag_application() {}
|
||||||
TAnamag_application( ) { };
|
virtual ~TAnamag_application() {}
|
||||||
virtual ~TAnamag_application() { }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool TAnamag_application::user_create()
|
|
||||||
{
|
|
||||||
_msk = new TMask( "VE2400" );
|
bool TAnamag_application::user_create() {
|
||||||
_sheet1 = &(TSheet_field &)_msk->field( F_SHEET1 );
|
_msk= new TMask("VE2400");
|
||||||
_sheet2 = &(TSheet_field &)_msk->field( F_SHEET2 );
|
_msk->set_handler(F_SHEET0, handle_sheet0);
|
||||||
|
_msk->set_handler(F_SHEET1, handle_sheet1);
|
||||||
|
_msk->set_handler(F_SHEET2, handle_sheet2);
|
||||||
|
|
||||||
_rel = new TRelation( LF_ANAMAG );
|
TSheet_field &f= (TSheet_field &)_msk->field(F_SHEET0);
|
||||||
_linee_rec1 = new TRecord_array( LF_DESLIN, "NRIGA", 1 );
|
TMask &fm= f.sheet_mask();
|
||||||
_rel->add( LF_DESLIN, "CODART=CODART" );
|
fm.set_handler(FS_CODUM, handle_sheet0_um);
|
||||||
|
|
||||||
_linee_rec2 = new TRecord_array( LF_CODCORR, "NRIGA", 1 );
|
|
||||||
_rel->add( LF_CODCORR, "CODART=CODART" );
|
|
||||||
|
|
||||||
|
_rel= new TRelation(LF_ANAGR);
|
||||||
|
_umart= new TLocalisamfile(LF_UMART);
|
||||||
|
_deslin= new TLocalisamfile(LF_DESLIN);
|
||||||
|
_codcorr= new TLocalisamfile(LF_CODCORR);
|
||||||
|
_linee_rec0= new TRecord_array(LF_UMART, "NRIGA");
|
||||||
|
_linee_rec1= new TRecord_array(LF_DESLIN, "NRIGA");
|
||||||
|
_linee_rec2= new TRecord_array(LF_CODCORR, "NRIGA");
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TAnamag_application::user_destroy()
|
bool TAnamag_application::user_destroy() {
|
||||||
{
|
delete _linee_rec2;
|
||||||
delete _msk;
|
delete _linee_rec1;
|
||||||
delete _rel;
|
delete _linee_rec0;
|
||||||
|
delete _codcorr;
|
||||||
|
delete _deslin;
|
||||||
|
delete _umart;
|
||||||
|
delete _rel;
|
||||||
|
delete _msk;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int TAnamag_application::read(TMask& m) {
|
||||||
|
int err= TRelation_application::read(m);
|
||||||
|
if (err == NOERR) {
|
||||||
|
TRectype rum(_umart->curr()); // prende il record corrente dal file delle unità di misura
|
||||||
|
rum.zero();
|
||||||
|
rum.put("CODART", m.get(F_CODART)); // imposta il record corrente sul codice articolo (dalla maschera)
|
||||||
|
_linee_rec0->read(rum); // legge il record array
|
||||||
|
TSheet_field &f0= (TSheet_field &)m.field(F_SHEET0); // prende il sheet delle unità di misura
|
||||||
|
f0.destroy(); // cancella lo sheet
|
||||||
|
int last= _linee_rec0->last_row();
|
||||||
|
if (last>0) {
|
||||||
|
for (int i= 1; i <= last; i++) {
|
||||||
|
TRectype &rec= _linee_rec0->row(i, TRUE); // prende il record della riga corrente dal record array
|
||||||
|
TToken_string &row= f0.row(i-1);
|
||||||
|
row= rec.get("UM"); // imposta la riga dello sheet con i campi del record della riga corrente
|
||||||
|
if (i != 1) row.add(rec.get("FC"));
|
||||||
|
else row.add("1"); // forza a 1 il secondo campo della prima riga (il fattore di conversione della prima U.M. deve essere 1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
TToken_string &row= f0.row(-1); // aggiunge una riga allo sheet
|
||||||
|
row.add("");
|
||||||
|
row.add("1"); // setta il secondo campo della riga aggiunta a 1
|
||||||
|
}
|
||||||
|
f0.disable_cell(0, 1); // mette in sola lettura il secondo campo della prima riga (il fattore di conversione della prima U.M. è fisso a 1)
|
||||||
|
f0.force_update(0); // aggiorna lo stato della riga 0
|
||||||
|
|
||||||
int TAnamag_application::read(TMask& m)
|
TRectype r(_deslin->curr()); // prende il record corrente dal file delle descrizioni in lingua
|
||||||
{
|
|
||||||
int err = TRelation_application::read( m );
|
|
||||||
if ( err == NOERR )
|
|
||||||
{
|
|
||||||
// message_box( "Entrato nel ciclo di caricamento delle righe!" );
|
|
||||||
TLocalisamfile& rdoc = _rel->lfile(LF_DESLIN);
|
|
||||||
TRectype r(rdoc.curr());
|
|
||||||
r.zero();
|
r.zero();
|
||||||
r.put( "CODART", m.get( F_CODART ) );
|
r.put("CODART", m.get(F_CODART)); // imposta il record corrente sul codice articolo (dalla maschera)
|
||||||
_linee_rec1->read( r );
|
_linee_rec1->read(r); // legge il record array
|
||||||
|
TSheet_field &f1= (TSheet_field &)m.field(F_SHEET1); // prende il sheet delle descrizioni in lingua
|
||||||
TSheet_field& f = (TSheet_field&) m.field( F_SHEET1 );
|
f1.destroy(); // cancella lo sheet
|
||||||
f.destroy();
|
last= _linee_rec1->last_row();
|
||||||
int last = _linee_rec1->last_row();
|
for (int i= 1; i <= last; i++) {
|
||||||
for( int i = 1; i <= last; i ++ )
|
TRectype &rec= _linee_rec1->row(i, TRUE); // prende il record della riga corrente dal record array
|
||||||
{ TRectype &rec = _linee_rec1->row( i, TRUE );
|
TToken_string &row= f1.row(i-1);
|
||||||
TToken_string& row = f.row( i -1 );
|
row= rec.get("CODLIN"); // imposta la riga dello sheet con i campi del record della riga corrente
|
||||||
row = rec.get("CODLIN");
|
row.add(rec.get("DESCR"));
|
||||||
row.add( rec.get("DESCR") );
|
}
|
||||||
}
|
|
||||||
|
|
||||||
TLocalisamfile& rdoccor = _rel->lfile(LF_CODCORR);
|
TRectype rcor(_codcorr->curr()); // prende il record corrente dal file dei codici corrispondenti
|
||||||
TRectype rcor(rdoccor.curr());
|
|
||||||
rcor.zero();
|
rcor.zero();
|
||||||
rcor.put( "CODART", m.get( F_CODART ) );
|
rcor.put("CODART", m.get(F_CODART)); // imposta il record corrente sul codice articolo (dalla maschera)
|
||||||
_linee_rec2->read( rcor );
|
_linee_rec2->read(rcor); // legge il record array
|
||||||
|
TSheet_field &f2= (TSheet_field &)m.field(F_SHEET2); // prende lo sheet dei codici corrispondenti
|
||||||
TSheet_field& fcorr = (TSheet_field&) m.field( F_SHEET2 );
|
f2.destroy(); // cancella lo sheet
|
||||||
fcorr.destroy();
|
last= _linee_rec2->last_row();
|
||||||
last = _linee_rec2->last_row();
|
for (i= 1; i <= last; i++) {
|
||||||
for( i = 1; i <= last; i ++ )
|
TRectype &rec= _linee_rec2->row(i, TRUE); // prende il record della riga corrente dal record array
|
||||||
{ TRectype &rec = _linee_rec2->row( i, TRUE );
|
TToken_string &row= f2.row(i-1);
|
||||||
TToken_string& row = f.row( i -1 );
|
row= rec.get("CODARTALT"); // imposta la riga dello sheet con i campi del record della riga corrente
|
||||||
row = rec.get("CODARTALT");
|
row.add(rec.get("TIPO"));
|
||||||
row.add( rec.get("TIPO") );
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TAnamag_application::write(const TMask& m)
|
int TAnamag_application::write(const TMask& m) {
|
||||||
{
|
int err= TRelation_application::write(m);
|
||||||
int err = TRelation_application::write(m);
|
if (err == NOERR) {
|
||||||
if (err == NOERR)
|
TSheet_field &f0= (TSheet_field &)m.field(F_SHEET0);
|
||||||
{
|
_linee_rec0->destroy_rows();
|
||||||
TSheet_field& f = (TSheet_field&) m.field( F_SHEET1 );
|
|
||||||
|
if (m.insert_mode()) _linee_rec0->renum_key("CODART", m.get(F_CODART));
|
||||||
|
|
||||||
|
for (int i= 0; i < f0.items(); i++) {
|
||||||
|
TToken_string &row= f0.row(i);
|
||||||
|
const TString16 um(row.get(0));
|
||||||
|
const real fc(row.get());
|
||||||
|
|
||||||
|
if (um.not_empty() && (!fc.is_zero())) {
|
||||||
|
TRectype &rec= _linee_rec0->row(i+1, TRUE);
|
||||||
|
rec.put("UM", um);
|
||||||
|
rec.put("FC", fc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
err= _linee_rec0->write();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err == NOERR) {
|
||||||
|
TSheet_field &f1= (TSheet_field &)m.field(F_SHEET1);
|
||||||
_linee_rec1->destroy_rows();
|
_linee_rec1->destroy_rows();
|
||||||
|
|
||||||
if (m.insert_mode())
|
if (m.insert_mode()) _linee_rec1->renum_key("CODART", m.get(F_CODART));
|
||||||
_linee_rec1->renum_key("CODART", m.get(F_CODART));
|
|
||||||
|
for (int i= 0; i < f1.items(); i++) {
|
||||||
|
TToken_string &row= f1.row(i);
|
||||||
for (int i = 0; i < f.items(); i++)
|
|
||||||
{
|
|
||||||
TToken_string & row = f.row(i);
|
|
||||||
const TString16 codlin(row.get(0));
|
const TString16 codlin(row.get(0));
|
||||||
const TString80 descr(row.get());
|
const TString80 descr(row.get());
|
||||||
|
|
||||||
if (codlin.not_empty() || descr.not_empty() )
|
if (codlin.not_empty() && descr.not_empty()) {
|
||||||
{
|
TRectype &rec= _linee_rec1->row(i+1, TRUE);
|
||||||
TRectype & rec = _linee_rec1->row( i+1 , TRUE);
|
|
||||||
|
|
||||||
rec.put("CODLIN", codlin);
|
rec.put("CODLIN", codlin);
|
||||||
rec.put("DESCR", descr);
|
rec.put("DESCR", descr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = _linee_rec1->write();
|
err= _linee_rec1->write();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err == NOERR)
|
if (err == NOERR) {
|
||||||
{
|
TSheet_field &f2= (TSheet_field &)m.field(F_SHEET2);
|
||||||
TSheet_field& f = (TSheet_field&) m.field( F_SHEET2 );
|
|
||||||
_linee_rec2->destroy_rows();
|
_linee_rec2->destroy_rows();
|
||||||
|
|
||||||
if (m.insert_mode())
|
if (m.insert_mode()) _linee_rec2->renum_key("CODART", m.get(F_CODART));
|
||||||
_linee_rec2->renum_key("CODART", m.get(F_CODART));
|
|
||||||
|
|
||||||
|
for (int i= 0; i < f2.items(); i++) {
|
||||||
for (int i = 0; i < f.items(); i++)
|
TToken_string &row= f2.row(i);
|
||||||
{
|
|
||||||
TToken_string & row = f.row(i);
|
|
||||||
const TString80 codartalt(row.get(0));
|
const TString80 codartalt(row.get(0));
|
||||||
const TString16 tipo(row.get());
|
const TString16 tipo(row.get());
|
||||||
|
|
||||||
if (codartalt.not_empty() || tipo.not_empty() )
|
if (codartalt.not_empty()) {
|
||||||
{
|
TRectype &reccor= _linee_rec2->row(i+1, TRUE);
|
||||||
TRectype & reccor = _linee_rec2->row( i+1 , TRUE);
|
|
||||||
|
|
||||||
reccor.put("CODARTALT", codartalt);
|
reccor.put("CODARTALT", codartalt);
|
||||||
reccor.put("TIPO", tipo);
|
reccor.put("TIPO", tipo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = _linee_rec2->write();
|
err= _linee_rec2->write();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TAnamag_application::rewrite(const TMask& m)
|
int TAnamag_application::rewrite(const TMask& m) {
|
||||||
{
|
int err= TRelation_application::rewrite(m);
|
||||||
int err = TRelation_application::rewrite(m);
|
if (err == NOERR) {
|
||||||
if (err == NOERR)
|
TSheet_field &f0= (TSheet_field &)m.field(F_SHEET0);
|
||||||
{
|
_linee_rec0->destroy_rows();
|
||||||
TSheet_field& f = (TSheet_field&) m.field( F_SHEET1 );
|
|
||||||
|
if (m.insert_mode()) _linee_rec0->renum_key("CODART", m.get(F_CODART));
|
||||||
|
|
||||||
|
for (int i= 0; i < f0.items(); i++) {
|
||||||
|
TToken_string & row = f0.row(i);
|
||||||
|
const TString16 um(row.get(0));
|
||||||
|
const real fc(row.get());
|
||||||
|
|
||||||
|
if (um.not_empty() && (!fc.is_zero())) {
|
||||||
|
TRectype &rec= _linee_rec0->row(i+1, TRUE);
|
||||||
|
rec.put("UM", um);
|
||||||
|
rec.put("FC", fc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
err= _linee_rec0->rewrite();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err == NOERR) {
|
||||||
|
TSheet_field &f1= (TSheet_field &)m.field(F_SHEET1);
|
||||||
_linee_rec1->destroy_rows();
|
_linee_rec1->destroy_rows();
|
||||||
|
|
||||||
if (m.insert_mode())
|
if (m.insert_mode()) _linee_rec1->renum_key("CODART", m.get(F_CODART));
|
||||||
_linee_rec1->renum_key("CODART", m.get(F_CODART));
|
|
||||||
|
for (int i= 0; i < f1.items(); i++) {
|
||||||
|
TToken_string & row = f1.row(i);
|
||||||
for (int i = 0; i < f.items(); i++)
|
|
||||||
{
|
|
||||||
TToken_string & row = f.row(i);
|
|
||||||
const TString16 codlin(row.get(0));
|
const TString16 codlin(row.get(0));
|
||||||
const TString80 descr(row.get());
|
const TString80 descr(row.get());
|
||||||
|
|
||||||
if (codlin.not_empty() || descr.not_empty() )
|
if (codlin.not_empty() && descr.not_empty()) {
|
||||||
{
|
TRectype &rec= _linee_rec1->row(i+1, TRUE);
|
||||||
TRectype & rec = _linee_rec1->row( i+1 , TRUE);
|
|
||||||
|
|
||||||
rec.put("CODLIN", codlin);
|
rec.put("CODLIN", codlin);
|
||||||
rec.put("DESCR", descr);
|
rec.put("DESCR", descr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = _linee_rec1->rewrite();
|
err= _linee_rec1->rewrite();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err == NOERR)
|
if (err == NOERR) {
|
||||||
{
|
TSheet_field &f2= (TSheet_field &)m.field(F_SHEET2);
|
||||||
TSheet_field& f = (TSheet_field&) m.field( F_SHEET2 );
|
|
||||||
_linee_rec2->destroy_rows();
|
_linee_rec2->destroy_rows();
|
||||||
|
|
||||||
if (m.insert_mode())
|
if (m.insert_mode()) _linee_rec2->renum_key("CODART", m.get(F_CODART));
|
||||||
_linee_rec2->renum_key("CODART", m.get(F_CODART));
|
|
||||||
|
|
||||||
|
for (int i= 0; i < f2.items(); i++) {
|
||||||
for (int i = 0; i < f.items(); i++)
|
TToken_string &row= f2.row(i);
|
||||||
{
|
|
||||||
TToken_string & row = f.row(i);
|
|
||||||
const TString80 codartalt(row.get(0));
|
const TString80 codartalt(row.get(0));
|
||||||
const TString80 tipo(row.get());
|
const TString80 tipo(row.get());
|
||||||
|
|
||||||
if (codartalt.not_empty() || tipo.not_empty() )
|
if (codartalt.not_empty()) {
|
||||||
{
|
TRectype &reccor= _linee_rec2->row(i+1, TRUE);
|
||||||
TRectype & reccor = _linee_rec2->row( i+1 , TRUE);
|
|
||||||
|
|
||||||
reccor.put("CODARTALT", codartalt);
|
reccor.put("CODARTALT", codartalt);
|
||||||
reccor.put("TIPO", tipo);
|
reccor.put("TIPO", tipo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err = _linee_rec2->write();
|
err= _linee_rec2->write();
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TAnamag_application::init_insert_mode(TMask &m) {
|
||||||
|
TSheet_field &f= (TSheet_field &)m.field(F_SHEET0);
|
||||||
|
if (f.items()==0) {
|
||||||
|
TToken_string &row= f.row(-1); // aggiunge una riga allo sheet
|
||||||
|
row.add("");
|
||||||
|
row.add("1"); // setta il secondo campo della riga aggiunta a 1
|
||||||
|
f.disable_cell(0, 1); // mette in sola lettura il secondo campo della prima riga (il fattore di conversione della prima U.M. è fisso a 1)
|
||||||
|
f.force_update(0); // aggiorna lo stato della riga 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnamag_application::handle_sheet0(TMask_field &fld, KEY k) {
|
||||||
|
if (k==K_ENTER) {
|
||||||
|
TSheet_field &f= (TSheet_field &)fld; // typecast del campo al suo sheet corrispondente
|
||||||
|
TAssoc_array v; // istanzia l'hash table per il controllo di univocità
|
||||||
|
for (int i= 0; i<f.items(); i++) {
|
||||||
|
if (!v.add(f.cell(i,0))) { // aggiunge all'hash table l'elemento 0 (primo) della riga corrente e controlla che non esista già
|
||||||
|
error_box("Le unità di misura devono essere diverse tra loro");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (i==f.items());
|
||||||
|
} else return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnamag_application::handle_sheet1(TMask_field &fld, KEY k) {
|
||||||
|
if (k==K_ENTER) {
|
||||||
|
TSheet_field &f= (TSheet_field &)fld; // typecast del campo al suo sheet corrispondente
|
||||||
|
TAssoc_array v; // istanzia l'hash table per il controllo di univocità
|
||||||
|
for (int i= 0; i<f.items(); i++) {
|
||||||
|
if (!v.add(f.cell(i,0))) { // aggiunge all'hash table l'elemento 0 (primo) della riga corrente e controlla che non esista già
|
||||||
|
error_box("I codici di lingua devono essere diversi tra loro");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (i==f.items());
|
||||||
|
} else return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
bool TAnamag_application::handle_sheet2(TMask_field &fld, KEY k) {
|
||||||
{
|
if (k==K_ENTER) {
|
||||||
|
TSheet_field &f= (TSheet_field &)fld; // typecast del campo al suo sheet corrispondente
|
||||||
|
TMask &m= fld.mask(); // prende la maschere d'origine del campo
|
||||||
|
TAssoc_array v; // istanzia l'hash table per il controllo di univocità
|
||||||
|
v.add(m.get(F_CODART)); // aggiunge all'hash table il codice articolo originale
|
||||||
|
for (int i= 0; i<f.items(); i++) {
|
||||||
|
if (!v.add(f.cell(i,0))) { // aggiunge all'hash table l'elemento 0 (primo) della riga corrente e controlla che non esista già
|
||||||
|
error_box("I codici alternativi devono essere diversi tra loro e dal codice dell'articolo");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (i==f.items());
|
||||||
|
} else return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnamag_application::handle_sheet0_um(TMask_field &fld, KEY k) {
|
||||||
|
if (k==K_TAB) {
|
||||||
|
TMask &m= fld.mask(); // prende la maschera d'origine del campo (maschera dello sheet)
|
||||||
|
TSheet_field *f= m.get_sheet(); // prende lo sheet d'origine della maschera del campo
|
||||||
|
CHECK(f != NULL, "Il puntatore allo sheet è nullo");
|
||||||
|
TString16 me(fld.get()); // prende il contenuto del campo corrente (unità di misura corrente)
|
||||||
|
if ((f->selected() != 0) && me.not_empty()) {
|
||||||
|
|
||||||
|
// ALGORITMO DI PRECALCOLO DEL RAPPORTO DELLE UNITA' DI MISURA NELLO SHEET
|
||||||
|
//
|
||||||
|
// SHEET:
|
||||||
|
// -----
|
||||||
|
// riga u.m. f.c.
|
||||||
|
// 1) KM 1 -> kilometri (you), riferiti al metro (your) con f.c. 1000 (your_fc)
|
||||||
|
// ... ... ...
|
||||||
|
// ...) MM X -> millimetri (me), riferiti al metro (my) con f.c. 0,001 (my_fc)
|
||||||
|
//
|
||||||
|
// se (your==my) allora X=(your_fc/my_fc) ...chiaro, no!? :-)
|
||||||
|
|
||||||
|
TTable t("%UM");
|
||||||
|
real x(0.0); // fattore di conversione dell'unità di misura corrente
|
||||||
|
const TString16 you(f->row(0).get(0)); // prende l'unità di misura di rapporto (dalla prima linea dello sheet)
|
||||||
|
t.zero();
|
||||||
|
t.put("CODTAB", me);
|
||||||
|
if (t.read() == NOERR) {
|
||||||
|
TString16 my(t.get("S7")); // prende l'unità di misura di riferimento dell'unità di misura corrente
|
||||||
|
real my_fc(t.get_real("R0")); // prende il suo fattore di conversione
|
||||||
|
t.zero();
|
||||||
|
t.put("CODTAB", you);
|
||||||
|
if (t.read() == NOERR) {
|
||||||
|
TString16 your(t.get("S7")); // prende l'unità di misura di riferimento dell'unità di misura di rapporto
|
||||||
|
real your_fc(t.get_real("R0")); // prende il suo fattore di conversione
|
||||||
|
if (your==my) {
|
||||||
|
x= your_fc/my_fc;
|
||||||
|
message_box("me:%s, my:%s, my_fc:%s, you:%s your:%s, your_fc:%s, x:%s", (const char *)me, (const char *)my, my_fc.stringa(), (const char *)you, (const char *)your, your_fc.stringa(), x.stringa());
|
||||||
|
} // NON FUNZIONA UN CAZZO!
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TToken_string &row= f->row(f->selected()); // prende la riga corrente dello sheet
|
||||||
|
row.add(x.stringa(), 1); // inserisce il valore precalcolato (0 se non è possibile calcolarlo);
|
||||||
|
f->force_update(f->selected()); // forza l'aggiornamento della riga corrente dello sheet
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ve2400(int argc, char* argv[]) {
|
||||||
TAnamag_application a;
|
TAnamag_application a;
|
||||||
|
|
||||||
a.run(argc, argv, "Anagrafica di magazzino " );
|
a.run(argc, argv, "Anagrafica di magazzino ");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
102
ve/ve2400.h
102
ve/ve2400.h
@ -1,61 +1,67 @@
|
|||||||
#define F_CODART 101
|
#define F_CODART 101
|
||||||
#define F_TIPO 102
|
#define F_TIPO 102
|
||||||
#define F_DESCR 103
|
#define F_DESCR 103
|
||||||
#define F_GRMERC1 104
|
#define F_GRMERC1 104
|
||||||
#define F_GRMERC1A 105
|
#define F_GRMERC1B 105
|
||||||
#define F_GRMERC2 106
|
#define F_GRMERC1D 106
|
||||||
#define F_GRMERC2A 107
|
#define F_GRMERC2 107
|
||||||
#define F_GRMERC3 108
|
#define F_GRMERC2B 108
|
||||||
#define F_GRMERC3A 109
|
#define F_GRMERC2D 109
|
||||||
|
#define F_GRMERC3 110
|
||||||
|
#define F_GRMERC3B 111
|
||||||
|
#define F_GRMERC3D 112
|
||||||
|
|
||||||
#define F_UMA 111
|
#define F_UMA 121
|
||||||
#define F_FCA 112
|
#define F_FCA 122
|
||||||
#define F_UMV 113
|
#define F_UMV 123
|
||||||
#define F_UM2 114
|
#define F_UM2 124
|
||||||
#define F_FC2 115
|
#define F_FC2 125
|
||||||
#define F_UM3 116
|
#define F_UM3 126
|
||||||
#define F_CATCONA 117
|
#define F_CATCONA 127
|
||||||
#define F_CATCONA1 118
|
#define F_CATCONA1 128
|
||||||
#define F_GRUPPOA 119
|
#define F_GRUPPOA 129
|
||||||
#define F_CONTOA 120
|
#define F_CONTOA 130
|
||||||
#define F_SOTTOCA 121
|
#define F_SOTTOCA 131
|
||||||
#define F_DESCRA 122
|
#define F_DESCRA 132
|
||||||
#define F_CATCONV 123
|
#define F_CATCONV 133
|
||||||
#define F_CATCONV1 124
|
#define F_CATCONV1 134
|
||||||
#define F_GRUPPOV 125
|
#define F_GRUPPOV 135
|
||||||
#define F_CONTOV 126
|
#define F_CONTOV 136
|
||||||
#define F_SOTTOCV 127
|
#define F_SOTTOCV 137
|
||||||
#define F_DESCRV 128
|
#define F_DESCRV 138
|
||||||
#define F_UMP 129
|
#define F_UMP 139
|
||||||
#define F_PESO 130
|
#define F_PESO 140
|
||||||
#define F_CLASSDOG 131
|
#define F_CLASSDOG 141
|
||||||
#define F_CLASSDOG1 132
|
#define F_CLASSDOG1 142
|
||||||
#define F_UBICAZIONE 133
|
#define F_UBICAZIONE 143
|
||||||
#define F_UBICAZIONE1 134
|
#define F_UBICAZIONE1 144
|
||||||
#define F_COSTSTD 135
|
#define F_COSTSTD 145
|
||||||
#define F_CODIVA 136
|
#define F_CODIVA 146
|
||||||
#define F_CODIVA1 137
|
#define F_CODIVA1 147
|
||||||
#define F_CODFORN 138
|
#define F_CODFORN 148
|
||||||
#define F_CODFORN1 139
|
#define F_CODFORN1 149
|
||||||
#define F_ARTFIS 140
|
#define F_ARTFIS 150
|
||||||
#define F_RAGGFIS 142
|
#define F_RAGGFIS 152
|
||||||
#define F_RAGGFIS1 143
|
#define F_RAGGFIS1 153
|
||||||
#define F_CLASSEFIS 144
|
#define F_CLASSEFIS 154
|
||||||
#define F_CLASSEFIS1 145
|
#define F_CLASSEFIS1 155
|
||||||
#define F_ARTPROD 146
|
#define F_ARTPROD 156
|
||||||
#define F_TIPOCF 147
|
#define F_TIPOCF 157
|
||||||
#define F_LINEAPROD 148
|
#define F_LINEAPROD 158
|
||||||
#define F_LINEAPROD1 149
|
#define F_LINEAPROD1 159
|
||||||
|
|
||||||
|
#define F_SHEET0 200
|
||||||
|
#define F_SHEET1 201
|
||||||
|
#define F_SHEET2 202
|
||||||
|
|
||||||
|
#define FS_CODUM 101
|
||||||
|
#define FS_FCUM 102
|
||||||
|
|
||||||
#define FS_CODLIN 101
|
#define FS_CODLIN 101
|
||||||
#define FS_DESCR 102
|
#define FS_DESCR 102
|
||||||
//#define FS_CODLIN1 103
|
|
||||||
|
|
||||||
#define FS_CODARTALT 101
|
#define FS_CODARTALT 101
|
||||||
#define FS_TIPO 102
|
#define FS_TIPO 102
|
||||||
//#define FS_CODARTALT1 103
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
529
ve/ve2400.uml
529
ve/ve2400.uml
@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
|
#include <lffiles.h>
|
||||||
#include "VE2400.H"
|
#include "VE2400.H"
|
||||||
#define ANAMAG 47
|
|
||||||
#define PCON 19
|
|
||||||
#define CLIFOR 20
|
|
||||||
|
|
||||||
TOOLBAR "" 0 20 60 2
|
TOOLBAR "" 0 20 60 2
|
||||||
#include <toolbar.h>
|
#include <toolbar.h>
|
||||||
@ -9,39 +8,35 @@ ENDPAGE
|
|||||||
|
|
||||||
PAGE "Gestione anagrafica di magazzino " 0 0 70 20
|
PAGE "Gestione anagrafica di magazzino " 0 0 70 20
|
||||||
|
|
||||||
STRING F_CODART 30
|
STRING F_CODART 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Codice articolo "
|
PROMPT 2 1 "Codice art. "
|
||||||
FIELD ANAMAG->CODART
|
FIELD LF_ANAGR->CODART
|
||||||
KEY 1
|
KEY 1
|
||||||
FLAG "U"
|
FLAG "U"
|
||||||
USE ANAMAG
|
USE LF_ANAGR
|
||||||
INPUT CODART F_CODART
|
INPUT CODART F_CODART
|
||||||
DISPLAY "Codice@30" CODART
|
DISPLAY "Codice@20" CODART
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT F_CODART CODART
|
OUTPUT F_CODART CODART
|
||||||
OUTPUT F_DESCR DESCR
|
OUTPUT F_DESCR DESCR
|
||||||
|
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_TIPO 1
|
STRING F_TIPO 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 55 1 "Tipo "
|
PROMPT 42 1 "Tipo "
|
||||||
FIELD ANAMAG->TIPO
|
FIELD LF_ANAGR->TIPO
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESCR 50
|
STRING F_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Descrizione "
|
PROMPT 2 3 "Descrizione "
|
||||||
FIELD ANAMAG->DESCR
|
FIELD LF_ANAGR->DESCR
|
||||||
KEY 2
|
KEY 2
|
||||||
USE ANAMAG KEY 2
|
USE LF_ANAGR KEY 2
|
||||||
INPUT DESCR F_DESCR
|
INPUT DESCR F_DESCR
|
||||||
DISPLAY "Codice@30" CODART
|
DISPLAY "Codice@20" CODART
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
OUTPUT F_CODART CODART
|
OUTPUT F_CODART CODART
|
||||||
OUTPUT F_DESCR DESCR
|
OUTPUT F_DESCR DESCR
|
||||||
@ -55,121 +50,141 @@ BEGIN
|
|||||||
FLAG "R"
|
FLAG "R"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
STRING F_GRMERC1 3
|
STRING F_GRMERC1 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Gruppo merc. 1 "
|
PROMPT 1 5 "Gruppo merc. 1 "
|
||||||
FIELD ANAMAG->GRMERC1
|
FIELD LF_ANAGR->GRMERC1[1,3]
|
||||||
USE GMC
|
GROUP 1
|
||||||
INPUT CODTAB F_GRMERC1
|
FLAG "U"
|
||||||
DISPLAY "Codice" CODTAB
|
|
||||||
DISPLAY "Descrizione@50" S0
|
|
||||||
OUTPUT F_GRMERC1 CODTAB
|
|
||||||
OUTPUT F_GRMERC1A S0
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_GRMERC1A 50
|
STRING F_GRMERC1B 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 23 5 ""
|
PROMPT 21 5 ""
|
||||||
USE GMC KEY 2
|
FIELD LF_ANAGR->GRMERC1[4,5]
|
||||||
INPUT S0 F_GRMERC1A
|
GROUP 1
|
||||||
|
FLAG "U"
|
||||||
|
MESSAGE EMPTY CLEAR,2@
|
||||||
|
MESSAGE ENABLE,2@
|
||||||
|
USE %GMC
|
||||||
|
INPUT CODTAB[1,3] F_GRMERC1
|
||||||
|
INPUT CODTAB[4,5] F_GRMERC1B
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_GRMERC1 CODTAB
|
OUTPUT F_GRMERC1 CODTAB[1,3]
|
||||||
OUTPUT F_GRMERC1A S0
|
OUTPUT F_GRMERC1B CODTAB[4,5]
|
||||||
|
OUTPUT F_GRMERC1D S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_GRMERC1D 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 26 5 ""
|
||||||
|
GROUP 1
|
||||||
|
USE %GMC KEY 2
|
||||||
|
INPUT S0 F_GRMERC1D
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT F_GRMERC1 CODTAB[1,3]
|
||||||
|
OUTPUT F_GRMERC1B CODTAB[4,5]
|
||||||
|
OUTPUT F_GRMERC1D S0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_GRMERC2 3
|
STRING F_GRMERC2 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Gruppo merc. 2 "
|
PROMPT 1 6 "Gruppo merc. 2 "
|
||||||
FIELD ANAMAG->GRMERC2
|
FIELD LF_ANAGR->GRMERC2[1,3]
|
||||||
USE GMC
|
GROUP 2
|
||||||
INPUT CODTAB F_GRMERC2
|
FLAG "U"
|
||||||
DISPLAY "Codice" CODTAB
|
|
||||||
DISPLAY "Descrizione@50" S0
|
|
||||||
OUTPUT F_GRMERC2 CODTAB
|
|
||||||
OUTPUT F_GRMERC2A S0
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_GRMERC2A 50
|
STRING F_GRMERC2B 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 23 6 ""
|
PROMPT 21 6 ""
|
||||||
USE GMC KEY 2
|
FIELD LF_ANAGR->GRMERC2[4,5]
|
||||||
INPUT S0 F_GRMERC2A
|
GROUP 2
|
||||||
|
FLAG "U"
|
||||||
|
MESSAGE EMPTY CLEAR,3@
|
||||||
|
MESSAGE ENABLE,3@
|
||||||
|
NUM_EXPR (#F_GRMERC2=="")||(#F_GRMERC2!=#F_GRMERC1)
|
||||||
|
USE %GMC
|
||||||
|
INPUT CODTAB[1,3] F_GRMERC2
|
||||||
|
INPUT CODTAB[4,5] F_GRMERC2B
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_GRMERC2 CODTAB
|
OUTPUT F_GRMERC2 CODTAB[1,3]
|
||||||
OUTPUT F_GRMERC2A S0
|
OUTPUT F_GRMERC2B CODTAB[4,5]
|
||||||
|
OUTPUT F_GRMERC2D S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_GRMERC2D 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 26 6 ""
|
||||||
|
GROUP 2
|
||||||
|
USE %GMC KEY 2
|
||||||
|
INPUT S0 F_GRMERC2D
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT F_GRMERC2 CODTAB[1,3]
|
||||||
|
OUTPUT F_GRMERC2B CODTAB[4,5]
|
||||||
|
OUTPUT F_GRMERC2D S0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_GRMERC3 3
|
STRING F_GRMERC3 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Gruppo merc. 3 "
|
PROMPT 1 7 "Gruppo merc. 3 "
|
||||||
FIELD ANAMAG->GRMERC3
|
FIELD LF_ANAGR->GRMERC3[1,3]
|
||||||
USE GMC
|
GROUP 3
|
||||||
INPUT CODTAB F_GRMERC3
|
FLAG "U"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_GRMERC3B 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 21 7 ""
|
||||||
|
FIELD LF_ANAGR->GRMERC3[4,5]
|
||||||
|
GROUP 3
|
||||||
|
FLAG "U"
|
||||||
|
NUM_EXPR (#F_GRMERC3=="")||((#F_GRMERC3!=#F_GRMERC1)&&(#F_GRMERC3!=#F_GRMERC2))
|
||||||
|
USE %GMC
|
||||||
|
INPUT CODTAB[1,3] F_GRMERC3
|
||||||
|
INPUT CODTAB[4,5] F_GRMERC3B
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_GRMERC3 CODTAB
|
OUTPUT F_GRMERC3 CODTAB[1,3]
|
||||||
OUTPUT F_GRMERC3A S0
|
OUTPUT F_GRMERC3B CODTAB[4,5]
|
||||||
|
OUTPUT F_GRMERC3D S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_GRMERC3A 50
|
STRING F_GRMERC3D 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 23 7 ""
|
PROMPT 26 7 ""
|
||||||
USE GMC KEY 2
|
GROUP 3
|
||||||
INPUT S0 F_GRMERC3A
|
USE %GMC KEY 2
|
||||||
|
INPUT S0 F_GRMERC3D
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_GRMERC3 CODTAB
|
OUTPUT F_GRMERC3 CODTAB[1,3]
|
||||||
OUTPUT F_GRMERC3A S0
|
OUTPUT F_GRMERC3B CODTAB[4,5]
|
||||||
|
OUTPUT F_GRMERC3D S0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_UMA 3
|
SPREADSHEET F_SHEET0 77 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "U.M. di acq. "
|
PROMPT 1 8 ""
|
||||||
FIELD ANAMAG->UMA
|
ITEM " U.M. @2"
|
||||||
END
|
ITEM "Fattore conversione@30"
|
||||||
|
|
||||||
NUMBER F_FCA 15 5
|
|
||||||
BEGIN
|
|
||||||
PROMPT 21 8 "Fatt. di conv. "
|
|
||||||
FIELD ANAMAG->FCA
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_UMV 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 55 8 "U.M. di vendita "
|
|
||||||
FIELD ANAMAG->UMV
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_UM2 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 9 "Seconda U.M. "
|
|
||||||
FIELD ANAMAG->UM2
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER F_FC2 15 5
|
|
||||||
BEGIN
|
|
||||||
PROMPT 21 9 "Fatt. di conv. "
|
|
||||||
FIELD ANAMAG->FC2
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_UM3 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 55 9 "Terza U.M. "
|
|
||||||
FIELD ANAMAG->UM3
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CATCONA 3
|
STRING F_CATCONA 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Categoria conto acquisti "
|
PROMPT 1 12 "Categoria conto acquisti "
|
||||||
FIELD ANAMAG->CATCONA
|
FIELD LF_ANAGR->CATCONA
|
||||||
// MESSAGE CLEAR , F_GRUPPOA
|
GROUP 11
|
||||||
// MESSAGE CLEAR , F_CONTOA
|
MESSAGE CLEAR,12@
|
||||||
// MESSAGE CLEAR , F_SOTTOCA
|
MESSAGE EMPTY ENABLE,12@
|
||||||
// MESSAGE CLEAR , F_DESCRA
|
FLAG "UZ"
|
||||||
USE CAA
|
USE CAA
|
||||||
INPUT CODTAB F_CATCONA
|
INPUT CODTAB F_CATCONA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
@ -177,69 +192,86 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" S1
|
DISPLAY "Gruppo" S1
|
||||||
DISPLAY "Conto" S2
|
DISPLAY "Conto" S2
|
||||||
DISPLAY "Sottoconto" S3
|
DISPLAY "Sottoconto" S3
|
||||||
|
|
||||||
OUTPUT F_CATCONA CODTAB
|
OUTPUT F_CATCONA CODTAB
|
||||||
OUTPUT F_CATCONA1 S0
|
OUTPUT F_CATCONA1 S0
|
||||||
|
CHEKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CATCONA1 40
|
STRING F_CATCONA1 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 33 10 ""
|
PROMPT 36 12 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
|
GROUP 11
|
||||||
|
USE CAA KEY 2
|
||||||
|
INPUT S0 F_CATCONA1
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Gruppo" S1
|
||||||
|
DISPLAY "Conto" S2
|
||||||
|
DISPLAY "Sottoconto" S3
|
||||||
|
COPY OUTPUT F_CATCONA
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
STRING F_GRUPPOA 2
|
STRING F_GRUPPOA 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "Conto d'acquisto "
|
PROMPT 1 13 "Conto d'acquisto "
|
||||||
FIELD ANAMAG->GRUPPOA
|
FIELD LF_ANAGR->GRUPPOA
|
||||||
// MESSAGE CLEAR , F_CATCONA
|
GROUP 12
|
||||||
// MESSAGE CLEAR , F_CATCONA1
|
MESSAGE CLEAR,11@
|
||||||
|
MESSAGE EMPTY ENABLE,11@
|
||||||
USE PCON
|
|
||||||
INPUT GRUPPO F_GRUPPOA
|
|
||||||
INPUT CONTO F_CONTOA
|
|
||||||
INPUT SOTTOCONTO F_SOTTOCA
|
|
||||||
DISPLAY "Descrizione@50" DESCR
|
|
||||||
DISPLAY "Gruppo" GRUPPO
|
|
||||||
DISPLAY "Conto" CONTO
|
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
|
||||||
|
|
||||||
OUTPUT F_GRUPPOA GRUPPO
|
|
||||||
OUTPUT F_CONTOA CONTO
|
|
||||||
OUTPUT F_SOTTOCA SOTTOCONTO
|
|
||||||
OUTPUT F_DESCRA DESCR
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CONTOA 2
|
STRING F_CONTOA 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 24 11 ""
|
PROMPT 22 13 ""
|
||||||
FIELD ANAMAG->CONTOA
|
FIELD LF_ANAGR->CONTOA
|
||||||
|
GROUP 12
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SOTTOCA 6
|
STRING F_SOTTOCA 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 28 11 ""
|
PROMPT 26 13 ""
|
||||||
FIELD ANAMAG->SOTTOCA
|
FIELD LF_ANAGR->SOTTOCA
|
||||||
|
GROUP 12
|
||||||
|
USE LF_PCON
|
||||||
|
INPUT GRUPPO F_GRUPPOA
|
||||||
|
INPUT CONTO F_CONTOA
|
||||||
|
INPUT SOTTOCONTO F_SOTTOCA
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
OUTPUT F_GRUPPOA GRUPPO
|
||||||
|
OUTPUT F_CONTOA CONTO
|
||||||
|
OUTPUT F_SOTTOCA SOTTOCONTO
|
||||||
|
OUTPUT F_DESCRA DESCR
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESCRA 40
|
STRING F_DESCRA 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 36 11 ""
|
PROMPT 36 13 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
|
GROUP 12
|
||||||
|
USE LF_PCON KEY 2
|
||||||
|
INPUT DESCR F_DESCRA
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
COPY OUTPUT F_SOTTOCA
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
STRING F_CATCONV 3
|
STRING F_CATCONV 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Categoria conto vendite "
|
PROMPT 1 14 "Categoria conto vendite "
|
||||||
FIELD ANAMAG->CATCONV
|
FIELD LF_ANAGR->CATCONV
|
||||||
// MESSAGE CLEAR , F_GRUPPOV
|
GROUP 21
|
||||||
// MESSAGE CLEAR , F_CONTOV
|
MESSAGE CLEAR,22@
|
||||||
// MESSAGE CLEAR , F_SOTTOCV
|
MESSAGE EMPTY ENABLE,22@
|
||||||
// MESSAGE CLEAR , F_DESCRV
|
FLAG "UZ"
|
||||||
USE CRA
|
USE CRA
|
||||||
INPUT CODTAB F_CATCONV
|
INPUT CODTAB F_CATCONV
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
@ -247,163 +279,144 @@ BEGIN
|
|||||||
DISPLAY "Gruppo" S1
|
DISPLAY "Gruppo" S1
|
||||||
DISPLAY "Conto" S2
|
DISPLAY "Conto" S2
|
||||||
DISPLAY "Sottoconto" S3
|
DISPLAY "Sottoconto" S3
|
||||||
|
|
||||||
OUTPUT F_CATCONV CODTAB
|
OUTPUT F_CATCONV CODTAB
|
||||||
OUTPUT F_CATCONV1 S0
|
OUTPUT F_CATCONV1 S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CATCONV1 40
|
STRING F_CATCONV1 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 33 12 ""
|
PROMPT 36 14 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
|
GROUP 21
|
||||||
|
USE CRA KEY 2
|
||||||
|
INPUT S0 F_CATCONV1
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Gruppo" S1
|
||||||
|
DISPLAY "Conto" S2
|
||||||
|
DISPLAY "Sottoconto" S3
|
||||||
|
COPY OUTPUT F_CATCONV
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_GRUPPOV 2
|
STRING F_GRUPPOV 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "Conto di vendita "
|
PROMPT 1 15 "Conto di vendita "
|
||||||
FIELD ANAMAG->GRUPPOV
|
FIELD LF_ANAGR->GRUPPOV
|
||||||
// MESSAGE CLEAR , F_CATCONV
|
GROUP 22
|
||||||
// MESSAGE CLEAR , F_CATCONV1
|
MESSAGE CLEAR,21@
|
||||||
|
MESSAGE EMPTY ENABLE,21@
|
||||||
USE PCON
|
|
||||||
INPUT GRUPPO F_GRUPPOV
|
|
||||||
INPUT CONTO F_CONTOV
|
|
||||||
INPUT SOTTOCONTO F_SOTTOCV
|
|
||||||
DISPLAY "Descrizione@50" DESCR
|
|
||||||
DISPLAY "Gruppo" GRUPPO
|
|
||||||
DISPLAY "Conto" CONTO
|
|
||||||
DISPLAY "Sottoconto" SOTTOCONTO
|
|
||||||
|
|
||||||
OUTPUT F_GRUPPOV GRUPPO
|
|
||||||
OUTPUT F_CONTOV CONTO
|
|
||||||
OUTPUT F_SOTTOCV SOTTOCONTO
|
|
||||||
OUTPUT F_DESCRV DESCR
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CONTOV 2
|
STRING F_CONTOV 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 24 13 ""
|
PROMPT 22 15 ""
|
||||||
FIELD ANAMAG->CONTOV
|
FIELD LF_ANAGR->CONTOV
|
||||||
|
GROUP 22
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SOTTOCV 6
|
STRING F_SOTTOCV 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 28 13 ""
|
PROMPT 26 15 ""
|
||||||
FIELD ANAMAG->SOTTOCV
|
FIELD LF_ANAGR->SOTTOCV
|
||||||
|
GROUP 22
|
||||||
|
USE LF_PCON
|
||||||
|
INPUT GRUPPO F_GRUPPOV
|
||||||
|
INPUT CONTO F_CONTOV
|
||||||
|
INPUT SOTTOCONTO F_SOTTOCV
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
OUTPUT F_GRUPPOV GRUPPO
|
||||||
|
OUTPUT F_CONTOV CONTO
|
||||||
|
OUTPUT F_SOTTOCV SOTTOCONTO
|
||||||
|
OUTPUT F_DESCRV DESCR
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESCRV 40
|
STRING F_DESCRV 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 36 13 ""
|
PROMPT 36 15 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
|
GROUP 22
|
||||||
|
USE LF_PCON KEY 2
|
||||||
|
INPUT DESCR F_DESCRV
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
COPY OUTPUT F_SOTTOCV
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
STRING F_UMP 3
|
STRING F_UMP 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 "U.M. peso "
|
PROMPT 1 16 "U.M. peso "
|
||||||
FIELD ANAMAG->UMP
|
FIELD LF_ANAGR->UMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PESO 15 5
|
NUMBER F_PESO 15 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 14 "Peso "
|
PROMPT 30 16 "Peso "
|
||||||
FIELD ANAMAG->PESO
|
FIELD LF_ANAGR->PESO
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CLASSDOG 10
|
STRING F_CLASSDOG 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 15 "Classe doganale "
|
PROMPT 1 17 "Classe doganale "
|
||||||
FIELD ANAMAG->CLASSDOG
|
FIELD LF_ANAGR->CLASSDOG
|
||||||
|
FLAG "UZ"
|
||||||
|
USE %CLD
|
||||||
|
INPUT CODTAB F_CLASSDOG
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
OUTPUT F_CLASSDOG CODTAB
|
||||||
|
OUTPUT F_CLASSDOG1 S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CLASSDOG1 40
|
STRING F_CLASSDOG1 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 34 15 ""
|
PROMPT 36 17 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
|
USE %CLD KEY 2
|
||||||
|
INPUT S0 F_CLASSDOG1
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
OUTPUT F_CLASSDOG CODTAB
|
||||||
|
OUTPUT F_CLASSDOG1 S0
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
STRING F_UBICAZIONE 10
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 16 "Ubicazione "
|
|
||||||
FIELD ANAMAG->CLASSDOG
|
|
||||||
USE UBI
|
|
||||||
INPUT CODTAB F_UBICAZIONE
|
|
||||||
DISPLAY "Codice " CODTAB
|
|
||||||
DISPLAY "Descrizione@40" S0
|
|
||||||
DISPLAY "Piano " S6
|
|
||||||
DISPLAY "Corridoio " S7
|
|
||||||
DISPLAY "Fila " S8
|
|
||||||
DISPLAY "Scaffale " S9
|
|
||||||
DISPLAY "Piano scaffale " S5
|
|
||||||
OUTPUT F_UBICAZIONE CODTAB
|
|
||||||
OUTPUT F_UBICAZIONE1 S0
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
STRING F_UBICAZIONE1 40
|
|
||||||
BEGIN
|
|
||||||
PROMPT 34 16 ""
|
|
||||||
FLAG "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
/*
|
|
||||||
STRING F_LINEAPROD 5
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 17 "Linea prodotto "
|
|
||||||
FIELD ANAMAG->LINEAPROD
|
|
||||||
USE LIC
|
|
||||||
INPUT CODTAB F_LINEAPROD
|
|
||||||
DISPLAY "Codice " CODTAB
|
|
||||||
DISPLAY "Descrizione@40" S0
|
|
||||||
OUTPUT F_LINEAPROD CODTAB
|
|
||||||
OUTPUT F_LINEAPROD1 S0
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING F_LINEAPROD1 40
|
|
||||||
BEGIN
|
|
||||||
PROMPT 34 17 ""
|
|
||||||
FLAG "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PAGE "Gestione anagrafica di magazzino " 0 0 70 20
|
PAGE "Gestione anagrafica di magazzino " 0 0 70 20
|
||||||
|
|
||||||
|
|
||||||
STRING F_CODIVA 4
|
STRING F_CODIVA 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Codice IVA "
|
PROMPT 2 1 "Codice IVA "
|
||||||
FIELD ANAMAG->CODIVA
|
FIELD LF_ANAGR->CODIVA
|
||||||
USE %IVA
|
USE %IVA
|
||||||
INPUT CODTAB F_CODIVA
|
INPUT CODTAB F_CODIVA
|
||||||
DISPLAY "Codice " CODTAB
|
DISPLAY "Codice " CODTAB
|
||||||
DISPLAY "Descrizione@40" S0
|
DISPLAY "Descrizione@40" S0
|
||||||
OUTPUT F_CODIVA CODTAB
|
OUTPUT F_CODIVA CODTAB
|
||||||
OUTPUT F_CODIVA1 S0
|
OUTPUT F_CODIVA1 S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CODIVA1 40
|
STRING F_CODIVA1 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 23 1 ""
|
PROMPT 29 1 ""
|
||||||
FLAG "D"
|
USE %IVA KEY 2
|
||||||
|
INPUT S0 F_CODIVA1
|
||||||
|
DISPLAY "Descrizione@40" S0
|
||||||
|
DISPLAY "Codice " CODTAB
|
||||||
|
OUTPUT F_CODIVA CODTAB
|
||||||
|
OUTPUT F_CODIVA1 S0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_COSTSTD 18 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT 37 2 "Costo standard "
|
|
||||||
FIELD ANAMAG->COSTSTD
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
LISTBOX F_TIPOCF 1
|
LISTBOX F_TIPOCF 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 0 ""
|
PROMPT 0 0 ""
|
||||||
@ -414,21 +427,26 @@ END
|
|||||||
NUMBER F_CODFORN 6
|
NUMBER F_CODFORN 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 "Codice fornitore "
|
PROMPT 2 2 "Codice fornitore "
|
||||||
FIELD ANAMAG->CODFORN
|
FIELD LF_ANAGR->CODFORN
|
||||||
USE CLIFOR
|
USE LF_CLIFO
|
||||||
INPUT TIPOCF F_TIPOCF SELECT
|
INPUT TIPOCF F_TIPOCF SELECT
|
||||||
INPUT CODCF F_CODFORN
|
INPUT CODCF F_CODFORN
|
||||||
DISPLAY "Codice " CODCF
|
DISPLAY "Codice " CODCF
|
||||||
DISPLAY "Ragione sociale@50" RAGSOC
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
OUTPUT F_CODFORN CODCF
|
OUTPUT F_CODFORN CODCF
|
||||||
OUTPUT F_CODFORN1 RAGSOC
|
OUTPUT F_CODFORN1 RAGSOC
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_COSTSTD 18 0
|
||||||
|
BEGIN
|
||||||
|
PROMPT 37 2 "Costo standard "
|
||||||
|
FIELD LF_ANAGR->COSTSTD
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CODFORN1 50
|
STRING F_CODFORN1 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "Ragione sociale "
|
PROMPT 2 3 "Ragione sociale "
|
||||||
USE CLIFOR KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF F_TIPOCF SELECT
|
INPUT TIPOCF F_TIPOCF SELECT
|
||||||
INPUT RAGSOC F_CODFORN1
|
INPUT RAGSOC F_CODFORN1
|
||||||
DISPLAY "Codice " CODCF
|
DISPLAY "Codice " CODCF
|
||||||
@ -437,70 +455,75 @@ BEGIN
|
|||||||
OUTPUT F_CODFORN1 RAGSOC
|
OUTPUT F_CODFORN1 RAGSOC
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN F_ARTFIS
|
BOOLEAN F_ARTFIS
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Articolo fiscale "
|
PROMPT 2 4 "Articolo fiscale "
|
||||||
FIELD ANAMAG->ARTFIS
|
FIELD LF_ANAGR->ARTFIS
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING F_RAGGFIS 5
|
||||||
|
|
||||||
STRING F_RAGGFIS 1
|
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 5 "Raggruppamento fiscale "
|
PROMPT 2 5 "Raggrupp. fiscale "
|
||||||
FIELD ANAMAG->RAGGFIS
|
FIELD LF_ANAGR->RAGGFIS
|
||||||
|
USE %RFA
|
||||||
|
INPUT CODTAB F_RAGGFIS
|
||||||
|
DISPLAY "Codice " CODTAB
|
||||||
|
DISPLAY "Descrizione@40" S0
|
||||||
|
OUTPUT F_RAGGFIS CODTAB
|
||||||
|
OUTPUT F_RAGGFIS1 S0
|
||||||
|
OUTPUT F_CLASSEFIS S8
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_RAGGFIS1 40
|
STRING F_RAGGFIS1 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 5 ""
|
PROMPT 31 5 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CLASSEFIS 3
|
STRING F_CLASSEFIS 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Classe fiscale "
|
PROMPT 2 6 "Classe fiscale "
|
||||||
FIELD ANAMAG->CLASSEFIS
|
FIELD LF_ANAGR->CLASSEFIS
|
||||||
|
USE %ASF
|
||||||
|
INPUT CODTAB F_CLASSEFIS
|
||||||
|
DISPLAY "Codice " CODTAB
|
||||||
|
DISPLAY "Descrizione@40" S0
|
||||||
|
OUTPUT F_CLASSEFIS CODTAB
|
||||||
|
OUTPUT F_CLASSEFIS1 S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CLASSEFIS1 40
|
STRING F_CLASSEFIS1 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 6 ""
|
PROMPT 31 6 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_ARTPROD
|
BOOLEAN F_ARTPROD
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 7 "Articolo di produzione "
|
PROMPT 2 7 "Articolo di produzione "
|
||||||
FIELD ANAMAG->ARTPROD
|
FIELD LF_ANAGR->ARTPROD
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET 300 70 5
|
SPREADSHEET F_SHEET1 71 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 8 ""
|
PROMPT 2 8 ""
|
||||||
ITEM "Cod. lingua"
|
ITEM "Cod. lingua"
|
||||||
ITEM "Descrizione@50"
|
ITEM "Descrizione@50"
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET 301 60 5
|
SPREADSHEET F_SHEET2 71 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 14 ""
|
PROMPT 2 13 ""
|
||||||
ITEM "Cod. art.@30"
|
ITEM "Cod. art.@20"
|
||||||
ITEM "Tipo@10"
|
ITEM "Tipo@10"
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
|
||||||
|
#include "VE2400A.UML"
|
||||||
#include "VE2400B.UML"
|
#include "VE2400B.UML"
|
||||||
#include "VE2400C.UML"
|
#include "VE2400C.UML"
|
||||||
|
31
ve/ve2400a.uml
Executable file
31
ve/ve2400a.uml
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
// SHEET 0 (unità di misura) DI VE2400
|
||||||
|
|
||||||
|
PAGE "Pagina 1" 8 5 65 14
|
||||||
|
|
||||||
|
STRING FS_CODUM 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 3 "U.M. "
|
||||||
|
FIELD LF_UMART->UM
|
||||||
|
FLAG "U"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER FS_FCUM 15 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 7 "Fattore conv. "
|
||||||
|
FIELD LF_UMART->FC
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON 1 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 15 12 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON 2 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 38 12 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
@ -1,15 +1,13 @@
|
|||||||
// SHEET DI VE2400
|
|
||||||
#include "VE2400.H"
|
|
||||||
#define DESLIN 51
|
|
||||||
|
|
||||||
|
// SHEET 1 (descrizioni in lingua) DI VE2400
|
||||||
|
|
||||||
PAGE "Pagina 1" 8 5 65 14
|
PAGE "Pagina 1" 8 5 65 14
|
||||||
|
|
||||||
STRING FS_CODLIN 1
|
STRING FS_CODLIN 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 3 "Codice lingua "
|
PROMPT 3 3 "Codice lingua "
|
||||||
FIELD DESLIN->CODLIN
|
FIELD LF_DESLIN->CODLIN
|
||||||
USE %LIN
|
USE %LNG
|
||||||
INPUT CODTAB FS_CODLIN
|
INPUT CODTAB FS_CODLIN
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
DISPLAY "Descrizione@30" S0
|
DISPLAY "Descrizione@30" S0
|
||||||
@ -20,7 +18,8 @@ BEGIN
|
|||||||
STRING FS_DESCR 50
|
STRING FS_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Descrizione "
|
PROMPT 1 7 "Descrizione "
|
||||||
FIELD DESLIN->DESCR
|
FIELD LF_DESLIN->DESCR
|
||||||
|
VALIDATE REQIF_FUNC 1 FS_CODLIN
|
||||||
END
|
END
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -31,6 +30,7 @@ BEGIN
|
|||||||
END
|
END
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BUTTON 1 9 2
|
BUTTON 1 9 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 15 12 ""
|
PROMPT 15 12 ""
|
||||||
@ -40,8 +40,6 @@ BUTTON 2 9 2
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 38 12 ""
|
PROMPT 38 12 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
|
@ -1,22 +1,13 @@
|
|||||||
// SHEET DI VE2400
|
|
||||||
#include "VE2400.H"
|
|
||||||
#define CODCORR 48
|
|
||||||
#define ANAMAG 47
|
|
||||||
|
|
||||||
|
// SHEET 2 (codici alternativi) DI VE2400
|
||||||
|
|
||||||
PAGE "Pagina 1" 8 5 65 14
|
PAGE "Pagina 1" 8 5 65 14
|
||||||
|
|
||||||
STRING FS_CODARTALT 30
|
STRING FS_CODARTALT 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 3 "Codice art. alt. "
|
PROMPT 3 3 "Codice art. alt. "
|
||||||
FIELD CODCORR->CODARTALT
|
FIELD LF_CODCORR->CODARTALT
|
||||||
USE ANAMAG
|
END
|
||||||
INPUT CODART FS_CODARTALT
|
|
||||||
DISPLAY "Codice" CODART
|
|
||||||
DISPLAY "Descrizione@50" DESCR
|
|
||||||
OUTPUT FS_CODARTALT CODART
|
|
||||||
// OUTPUT FS_CODARTALT1 DESCR
|
|
||||||
END
|
|
||||||
|
|
||||||
LISTBOX FS_TIPO 10
|
LISTBOX FS_TIPO 10
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -26,8 +17,7 @@ BEGIN
|
|||||||
ITEM "1|EA13 "
|
ITEM "1|EA13 "
|
||||||
ITEM "3|3/9 "
|
ITEM "3|3/9 "
|
||||||
ITEM "C|Codabar"
|
ITEM "C|Codabar"
|
||||||
|
FIELD LF_CODCORR->TIPO
|
||||||
FIELD CODCORR->TIPO
|
|
||||||
END
|
END
|
||||||
|
|
||||||
/* STRING FS_CODARTALT1 50
|
/* STRING FS_CODARTALT1 50
|
||||||
@ -35,7 +25,6 @@ BEGIN
|
|||||||
PROMPT 2 5 ""
|
PROMPT 2 5 ""
|
||||||
FLAG "D"
|
FLAG "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BUTTON 1 9 2
|
BUTTON 1 9 2
|
||||||
@ -48,7 +37,6 @@ BEGIN
|
|||||||
PROMPT 38 12 ""
|
PROMPT 38 12 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
Loading…
x
Reference in New Issue
Block a user