Nuova preventivazione avanzata
git-svn-id: svn://10.65.10.50/branches/R_10_00@22908 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
572327d74c
commit
99d53e8ffc
249
pe/pe1400.cpp
249
pe/pe1400.cpp
@ -1,6 +1,6 @@
|
||||
#include <xinclude.h>
|
||||
#include <automask.h>
|
||||
#include <colors.h>
|
||||
#include <controls.h>
|
||||
#include <execp.h>
|
||||
#include <printer.h>
|
||||
#include <relapp.h>
|
||||
@ -16,6 +16,7 @@
|
||||
|
||||
#include "../db/rdist.h"
|
||||
#include "../mg/anamag.h"
|
||||
#include "../ca/commesse.h"
|
||||
|
||||
static real ricarico2perc(const TString& exp)
|
||||
{
|
||||
@ -108,7 +109,7 @@ class TPreventivo_app : public TRelation_application
|
||||
TString8 _codelab;
|
||||
|
||||
protected:
|
||||
int save_rows(const TMask& m, bool re);
|
||||
int save_rows(const TMask& m);
|
||||
virtual const char* extra_modules() const { return "ci"; }
|
||||
bool save_and_print(TPrtype mode);
|
||||
|
||||
@ -228,7 +229,7 @@ class TPreventivo_msk : public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
virtual TMask_field* TPreventivo_msk::parse_field(TScanner& s);
|
||||
virtual TMask_field* parse_field(TScanner& s);
|
||||
|
||||
public:
|
||||
int revision_length() const;
|
||||
@ -241,10 +242,7 @@ public:
|
||||
TMask_field* TPreventivo_msk::parse_field(TScanner& s)
|
||||
{
|
||||
if (s.key() == "TL")
|
||||
{
|
||||
XI_OBJ* itf = xi_get_itf((XinWindow)page_win(1));
|
||||
xi_set_app_data2(itf, 0x1); // Full screen
|
||||
}
|
||||
set_full_screen_interface(page_win(1), true);
|
||||
return TAutomask::parse_field(s);
|
||||
}
|
||||
|
||||
@ -353,7 +351,21 @@ bool TPreventivo_msk::on_field_event(TOperable_field& o, TField_event e, long jo
|
||||
reset(F_NPREV);
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
default:
|
||||
if ((e == fe_modify || e == fe_close) && (!o.empty() && o.is_edit()))
|
||||
{
|
||||
const TFieldref* fr = o.field();
|
||||
if (fr != NULL && fr->name() == RDOC_CODCMS)
|
||||
{
|
||||
TRelation rel(LF_RIGHEDOC);
|
||||
o.mask().autosave(rel);
|
||||
const TString& cms = rel.curr().get(RDOC_CODCMS);
|
||||
const TRectype& rec = cache().get(LF_COMMESSE, cms);
|
||||
if (rec.get_bool(COMMESSE_CHIUSA))
|
||||
return error_box(FR("Impossibile utilizzare la commesa chiusa %s"), (const char*)cms);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -402,7 +414,7 @@ private:
|
||||
bool on_misu_event(TOperable_field& o, TField_event e, long jolly);
|
||||
bool on_dist_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
real get_costo(const TString& codart) const;
|
||||
real get_costo(const TString& codart, TString& um, TString& iva) const;
|
||||
|
||||
protected:
|
||||
virtual bool on_key(KEY k);
|
||||
@ -439,6 +451,42 @@ TPreventivo_tree& TPreventivo_emsk::tree(bool reset)
|
||||
return *_tree;
|
||||
}
|
||||
|
||||
static bool set_and_check(TMask_field& f, const TRectype& rec)
|
||||
{
|
||||
const TFieldref* fr = f.field();
|
||||
if (fr == NULL)
|
||||
{
|
||||
if (f.ghost())
|
||||
return f.on_hit();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (fr->name() == RDOC_DESCR)
|
||||
{
|
||||
TString descr(255);
|
||||
descr = rec.get(RDOC_DESCR);
|
||||
if (rec.get_bool(RDOC_DESCLUNGA))
|
||||
descr << rec.get(RDOC_DESCEST);
|
||||
f.set(descr);
|
||||
}
|
||||
else
|
||||
{
|
||||
f.set(fr->read(rec));
|
||||
if (!f.empty() && f.is_edit() && f.shown())
|
||||
{
|
||||
const TBrowse* b = ((TEdit_field&)f).browse();
|
||||
if (b != NULL)
|
||||
{
|
||||
const TFixed_string of = b->get_output_fields();
|
||||
if (of.find('|') > 0) // C'è un pipe nell'output, per cui ci sono almeno due campi di output
|
||||
f.check(STARTING_CHECK);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// Riempie gli sheet di articoli e misure della distinta selezionata
|
||||
bool TPreventivo_emsk::set_dist(const TString& idd)
|
||||
{
|
||||
@ -471,14 +519,7 @@ bool TPreventivo_emsk::set_dist(const TString& idd)
|
||||
TSheet_field& s = rec.get(RDOC_TIPORIGA) == t.tipo_dett() ? a : m;
|
||||
TMask& m = s.sheet_row_mask(n);
|
||||
FOR_EACH_MASK_FIELD(m, i, f)
|
||||
{
|
||||
const TFieldref* fr = f->field();
|
||||
if (fr != NULL)
|
||||
{
|
||||
f->set(fr->read(rec));
|
||||
f->check(STARTING_CHECK);
|
||||
}
|
||||
}
|
||||
set_and_check(*f, rec);
|
||||
s.update_row(n++);
|
||||
}
|
||||
_locked = false;
|
||||
@ -537,14 +578,7 @@ bool TPreventivo_emsk::set_fase(const TString& idfase)
|
||||
const TRectype& rec = *t.curr_row();
|
||||
TMask& m = d.sheet_row_mask(n);
|
||||
FOR_EACH_MASK_FIELD(m, i, f)
|
||||
{
|
||||
const TFieldref* fr = f->field();
|
||||
if (fr != NULL)
|
||||
{
|
||||
f->set(fr->read(rec));
|
||||
f->check(STARTING_CHECK);
|
||||
}
|
||||
}
|
||||
set_and_check(*f, rec);
|
||||
d.update_row(n++);
|
||||
} while (t.goto_rbrother());
|
||||
}
|
||||
@ -561,6 +595,27 @@ bool TPreventivo_emsk::msk2rec(const TMask& msk, TRectype& rec) const
|
||||
rel.curr() = rec;
|
||||
msk.autosave(rel);
|
||||
rec = rel.curr();
|
||||
const TString& desc = msk.get(RDOC_DESCR);
|
||||
const int maxlen = rec.length(RDOC_DESCR);
|
||||
int spc = desc.find('\n');
|
||||
if (spc >= 0 || desc.len() > maxlen)
|
||||
{
|
||||
if (spc < 0 || spc > maxlen)
|
||||
{
|
||||
spc = desc.left(maxlen).rfind(' ');
|
||||
if (spc < maxlen/2)
|
||||
spc = maxlen;
|
||||
}
|
||||
rec.put(RDOC_DESCR, desc.left(spc));
|
||||
rec.put(RDOC_DESCLUNGA, "X");
|
||||
rec.put(RDOC_DESCEST, desc.mid(spc));
|
||||
}
|
||||
else
|
||||
{
|
||||
rec.put(RDOC_DESCR, desc);
|
||||
rec.zero(RDOC_DESCLUNGA);
|
||||
rec.put(RDOC_DESCEST, "");
|
||||
}
|
||||
return !rec.empty();
|
||||
}
|
||||
|
||||
@ -819,15 +874,15 @@ bool TPreventivo_emsk::on_dist_event(TOperable_field& o, TField_event e, long jo
|
||||
case se_notify_modify:
|
||||
if (_edit_dist >= 0)
|
||||
{
|
||||
TPreventivo_tree& t = tree();
|
||||
TRectype* rec = t.dist(_idfase, _edit_dist, true);
|
||||
const int r = _edit_dist; // Memorizza numero riga corrente
|
||||
_edit_dist = -1; // Annulla numero riga corrente
|
||||
TRectype* rec = tree().dist(_idfase, r, true);
|
||||
if (rec != NULL)
|
||||
{
|
||||
const TMask& m = ((TSheet_field&)o).sheet_row_mask(_edit_dist);
|
||||
const TMask& m = ((TSheet_field&)o).sheet_row_mask(r);
|
||||
msk2rec(m, *rec);
|
||||
sync_tree();
|
||||
}
|
||||
_edit_dist = -1;
|
||||
}
|
||||
break;
|
||||
case se_notify_del:
|
||||
@ -850,7 +905,7 @@ bool TPreventivo_emsk::on_dist_event(TOperable_field& o, TField_event e, long jo
|
||||
return true;
|
||||
}
|
||||
|
||||
real TPreventivo_emsk::get_costo(const TString& codart) const
|
||||
real TPreventivo_emsk::get_costo(const TString& codart, TString& um, TString& iva) const
|
||||
{
|
||||
real costo = ZERO;
|
||||
const int tc = get_int(F_TIPOCOSTO);
|
||||
@ -868,6 +923,10 @@ real TPreventivo_emsk::get_costo(const TString& codart) const
|
||||
}
|
||||
if (costo.is_zero())
|
||||
costo = art.get_real(ANAMAG_COSTSTD);
|
||||
|
||||
um = art.um().row(1).get(UMART_UM);
|
||||
iva = art.get(ANAMAG_CODIVA);
|
||||
|
||||
return costo;
|
||||
}
|
||||
|
||||
@ -879,10 +938,15 @@ bool TPreventivo_emsk::on_dett_event(TOperable_field& o, TField_event e, long jo
|
||||
if (e == fe_modify && !o.empty() && !_locked)
|
||||
{
|
||||
const TString& codart = o.get();
|
||||
const TArticolo_giacenza& art = cached_article_balances(codart);
|
||||
const real costo = get_costo(o.get());
|
||||
o.mask().set(105, costo, 0x3);
|
||||
o.mask().set(104, art.first_um());
|
||||
TString4 um, iva;
|
||||
const real costo = get_costo(codart, um, iva);
|
||||
TMask& m = o.mask();
|
||||
if (um.full())
|
||||
m.set(S_UMART, um, 0x3);
|
||||
if (iva.full() && m.get(S_CODIVA).blank())
|
||||
m.set(S_CODIVA, iva, 0x3);
|
||||
if (!costo.is_zero())
|
||||
m.set(S_COSTO, costo, 0x3);
|
||||
}
|
||||
break;
|
||||
case F_ARTICOLI:
|
||||
@ -909,16 +973,17 @@ bool TPreventivo_emsk::on_dett_event(TOperable_field& o, TField_event e, long jo
|
||||
case se_notify_modify:
|
||||
if (_edit_dett >= 0)
|
||||
{
|
||||
const int r = _edit_dett;
|
||||
_edit_dett = -1;
|
||||
TPreventivo_tree& t = tree();
|
||||
TRectype* rec = t.dett(_iddist, _edit_dett, true);
|
||||
TRectype* rec = t.dett(_iddist, r, true);
|
||||
if (rec != NULL)
|
||||
{
|
||||
const TMask& m = ((TSheet_field&)o).sheet_row_mask(_edit_dett);
|
||||
const TMask& m = ((TSheet_field&)o).sheet_row_mask(r);
|
||||
msk2rec(m, *rec);
|
||||
sync_tree();
|
||||
update_dist_costo();
|
||||
}
|
||||
_edit_dett = -1;
|
||||
}
|
||||
break;
|
||||
case se_notify_del:
|
||||
@ -1137,7 +1202,19 @@ bool TPreventivo_emsk::on_field_event(TOperable_field& o, TField_event e, long j
|
||||
case DLG_ELABORA:
|
||||
if (e == fe_button)
|
||||
{
|
||||
const TString& cod = pe_trova_elaborazione(*this);
|
||||
const TString& cod = pe_trova_elaborazione(*this, 'O');
|
||||
if (cod.full())
|
||||
{
|
||||
TPreventivo_app& relapp = (TPreventivo_app&)main_app();
|
||||
if (relapp.set_elab_code(cod))
|
||||
stop_run(K_SAVE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case DLG_ARCHIVE:
|
||||
if (e == fe_button)
|
||||
{
|
||||
const TString& cod = pe_trova_elaborazione(*this, 'F');
|
||||
if (cod.full())
|
||||
{
|
||||
TPreventivo_app& relapp = (TPreventivo_app&)main_app();
|
||||
@ -1210,6 +1287,8 @@ TPreventivo_emsk::TPreventivo_emsk() : TPreventivo_msk("pe1400b"), _tree(NULL),
|
||||
|
||||
bool TPreventivo_app::user_create()
|
||||
{
|
||||
open_files(LF_TAB, LF_TABCOM, LF_CLIFO,
|
||||
LF_DOC, LF_RIGHEDOC, LF_COMMESSE, LF_FASI, 0);
|
||||
_rel = new TRelation(LF_DOC);
|
||||
_qmsk = new TPreventivo_qmsk;
|
||||
_emsk = new TPreventivo_emsk;
|
||||
@ -1310,20 +1389,43 @@ static bool tree_save_row(TTree& tree, void* jolly, word /*flags*/)
|
||||
const TRectype* rec = t.curr_row();
|
||||
if (rec && !rec->empty() && rec->num() == LF_RIGHEDOC)
|
||||
{
|
||||
const TString& descr = rec->get(RDOC_DESCR);
|
||||
const real costo = rec->get(RPRV_COSTO);
|
||||
const real price = rec->get(RDOC_PREZZO);
|
||||
const TString& descr = rec->get(RDOC_DESCR);
|
||||
if (descr.full() || !costo.is_zero() || !price.is_zero())
|
||||
{
|
||||
TRecord_array& righe = *(TRecord_array*)jolly;
|
||||
TRectype& row = righe.row(-1, true);
|
||||
TDocumento& doc = *(TDocumento*)jolly;
|
||||
const TString4 tiporiga = rec->get(RDOC_TIPORIGA);
|
||||
TRectype& row = doc.new_row(tiporiga);
|
||||
|
||||
const TString80 codart = rec->get(RDOC_CODART);
|
||||
TString80 codartmag;
|
||||
if (codart.full())
|
||||
codartmag = cache().get(LF_ANAMAG, codart, ANAMAG_CODART);
|
||||
|
||||
for (int f = rec->items()-1; f > 5; f--)
|
||||
{
|
||||
const char* fld = rec->fieldname(f);
|
||||
if (rec->type(fld) == _memofld)
|
||||
break;
|
||||
const TString& src = rec->get(fld);
|
||||
if (src.full())
|
||||
{
|
||||
const TString& dst = row.get(fld);
|
||||
if (dst.blank())
|
||||
row.put(fld, src);
|
||||
}
|
||||
}
|
||||
|
||||
row.put(RDOC_IDRIGA, row.get(RDOC_NRIGA));
|
||||
row.put(RDOC_TIPORIGA, rec->get(RDOC_TIPORIGA));
|
||||
row.put(RDOC_QTA, rec->get(RDOC_QTA));
|
||||
row.put(RDOC_DESCR, rec->get(RDOC_DESCR));
|
||||
row.put(RDOC_DESCLUNGA, rec->get(RDOC_DESCLUNGA));
|
||||
row.put(RDOC_DESCEST, rec->get(RDOC_DESCEST));
|
||||
row.put(RDOC_CODART, rec->get(RDOC_CODART));
|
||||
row.put(RDOC_CODART, codart);
|
||||
row.put(RDOC_CODARTMAG, codartmag);
|
||||
row.put(RDOC_CHECKED, codartmag.full());
|
||||
row.put(RDOC_UMQTA, rec->get(RDOC_UMQTA));
|
||||
row.put(RDOC_QTAGG1, rec->get(RDOC_QTAGG1));
|
||||
row.put(RDOC_QTAGG2, rec->get(RDOC_QTAGG2));
|
||||
@ -1343,17 +1445,39 @@ static bool tree_save_row(TTree& tree, void* jolly, word /*flags*/)
|
||||
return false; // Don't stop scan
|
||||
}
|
||||
|
||||
int TPreventivo_app::save_rows(const TMask& m, bool re)
|
||||
int TPreventivo_app::save_rows(const TMask& m)
|
||||
{
|
||||
TPreventivo_tree& tree = ((TPreventivo_emsk&)m).tree();
|
||||
TRectype* rkey = tree.new_row(pl_fase1);
|
||||
TRecord_array rdoc(LF_RIGHEDOC, RDOC_NRIGA);
|
||||
rdoc.set_key(rkey);
|
||||
|
||||
TDocumento doc(get_relation()->curr());
|
||||
doc.destroy_rows();
|
||||
if (tree.goto_root() && tree.goto_firstson())
|
||||
tree.scan_depth_first(tree_save_row, &rdoc);
|
||||
int err = rdoc.write(re);
|
||||
tree.scan_depth_first(tree_save_row, &doc);
|
||||
|
||||
// Estrae campi analitica da maschera principale e li riporta sulle righe
|
||||
TString cms, fas, cos;
|
||||
FOR_EACH_MASK_FIELD(m, i, f) if (f->active() && f->is_edit() && f->dlg() >= F_CDC0)
|
||||
{
|
||||
const TFieldref* fref = f->field();
|
||||
if (fref != NULL)
|
||||
{
|
||||
if (fref->name() == DOC_CODCMS)
|
||||
cms << f->get();
|
||||
if (fref->name() == DOC_FASCMS)
|
||||
fas << f->get();
|
||||
if (fref->name() == DOC_CODCOSTO)
|
||||
cos << f->get();
|
||||
}
|
||||
}
|
||||
|
||||
TRecord_array& rdoc = doc.body();
|
||||
rdoc.renum_key(RDOC_CODCMS, cms);
|
||||
rdoc.renum_key(RDOC_FASCMS, fas);
|
||||
rdoc.renum_key(RDOC_CODCOSTO, cos);
|
||||
|
||||
const int err = doc.rewrite(get_relation()->file());
|
||||
if (err == NOERR && _codelab.full())
|
||||
pe_genera_ordine(get_relation()->curr(), _codelab);
|
||||
pe_genera_documento(doc, _codelab, 'O');
|
||||
_codelab.cut(0); // Azzera in ogni caso l'elaborazione
|
||||
|
||||
return err;
|
||||
@ -1363,7 +1487,7 @@ int TPreventivo_app::write(const TMask& m)
|
||||
{
|
||||
int err = TRelation_application::write(m);
|
||||
if (err == NOERR)
|
||||
err = save_rows(m, false);
|
||||
err = save_rows(m);
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -1371,7 +1495,7 @@ int TPreventivo_app::rewrite(const TMask& m)
|
||||
{
|
||||
int err = TRelation_application::rewrite(m);
|
||||
if (err == NOERR)
|
||||
err = save_rows(m, true);
|
||||
err = save_rows(m);
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -1395,7 +1519,8 @@ bool TPreventivo_app::remove()
|
||||
void TPreventivo_app::update_tools(TMask& m)
|
||||
{
|
||||
const bool is_edit = m.edit_mode();
|
||||
const bool can_elab = is_edit && pe_trova_elaborazione(m).full();
|
||||
const bool can_ord = is_edit && pe_trova_elaborazione(m, 'O').full();
|
||||
const bool can_fab = is_edit && pe_trova_elaborazione(m, 'F').full();
|
||||
bool can_print = is_edit;
|
||||
if (can_print)
|
||||
{
|
||||
@ -1406,7 +1531,8 @@ void TPreventivo_app::update_tools(TMask& m)
|
||||
|
||||
m.enable(DLG_COPY, is_edit);
|
||||
m.enable(DLG_NEWREC, is_edit);
|
||||
m.enable(DLG_ELABORA, can_elab);
|
||||
m.enable(DLG_ELABORA, can_ord);
|
||||
m.enable(DLG_ARCHIVE, can_fab);
|
||||
m.enable(DLG_PRINT, can_print);
|
||||
m.enable(DLG_PREVIEW, can_print);
|
||||
m.disable(F_STATO); // Enable with F12
|
||||
@ -1442,16 +1568,23 @@ bool TPreventivo_app::save_and_print(TPrtype mode)
|
||||
<< _emsk->get(F_ANNO) << " D " << _emsk->get(F_NDOC);
|
||||
switch (mode)
|
||||
{
|
||||
case exportprinter: commandline << " E"; break;
|
||||
case fileprinter : commandline << " P"; break;
|
||||
case screenvis : commandline << " A"; break;
|
||||
default : commandline << " S"; break;
|
||||
case exportprinter: commandline << " E P"; break;
|
||||
case fileprinter : commandline << " P P"; break;
|
||||
case screenvis : commandline << " A P"; break;
|
||||
default : commandline << " S D"; break;
|
||||
}
|
||||
commandline << " P";
|
||||
|
||||
TExternal_app interattivo( commandline );
|
||||
if (interattivo.run() == NOERR)
|
||||
{
|
||||
TLocalisamfile& f = _rel->file();
|
||||
f.zero();
|
||||
f.put(DOC_PROVV, 'D');
|
||||
f.put(DOC_ANNO, _emsk->get(F_ANNO));
|
||||
f.put(DOC_CODNUM, _emsk->get(F_CODNUM));
|
||||
f.put(DOC_NDOC, _emsk->get(F_NDOC));
|
||||
f.read();
|
||||
curr_mask().set(F_STATO, f.get(DOC_STATO));
|
||||
}
|
||||
already_printing = false;
|
||||
return true;
|
||||
|
@ -38,6 +38,9 @@
|
||||
|
||||
#define F_CDC0 250
|
||||
|
||||
#define F_CLIPOT 320
|
||||
#define F_RAGPOT 321
|
||||
|
||||
#define F_FASI 400
|
||||
#define F_DISTINTE 401
|
||||
#define F_ARTICOLI 402
|
||||
@ -45,6 +48,10 @@
|
||||
|
||||
#define S_CODART 101
|
||||
#define S_DESCR 102
|
||||
#define S_UMART 103
|
||||
#define S_COSTO 105
|
||||
#define S_PREZZO 106
|
||||
#define S_CODIVA 107
|
||||
|
||||
#define RPRV_COSTO "QTAGG5"
|
||||
#define RPRV_LEVEL "PRIORITY"
|
||||
|
686
pe/pe1400.rep
686
pe/pe1400.rep
@ -1,346 +1,238 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report libraries="ve1300" name="pe1400" lpi="6">
|
||||
<report libraries="ve1300" name="PE1400" lpi="6">
|
||||
<description>preventivo standard</description>
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head" height="28" pattern="1">
|
||||
<section type="Head" height="6" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<field x="90.5" y="19" type="Stringa" width="2" id="9" pattern="1">
|
||||
<prescript description="H0.9 PRESCRIPT">MESSAGE _PAGENO</prescript>
|
||||
<field x="0.5" type="Immagine" width="17.5" height="3.75" pattern="1">
|
||||
<source>"ruffoa.jpg"</source>
|
||||
</field>
|
||||
<field x="77" y="19" type="Data" width="10" id="10" pattern="1">
|
||||
<field x="52.5" y="1.55" type="Stringa" align="right" width="40" id="20" pattern="1">
|
||||
<prescript description="H0.20 PRESCRIPT">MESSAGE _CLIENTE,!RAGSOC</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="1" height="70" pattern="1">
|
||||
<field x="0.5" type="Immagine" width="45.5" height="9.5" pattern="1">
|
||||
<source>"ruffoa.jpg"</source>
|
||||
</field>
|
||||
<field x="0.5" y="10" type="Testo" width="27" height="1.25" pattern="1" text="COSTRUZIONI RUFFO S.r.l.">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="11.18" type="Testo" width="35" pattern="1" text="Viale dell'Artigianato, 66">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="12" type="Testo" width="42" pattern="1" text="37042 - CALDIERO - (VR) - C.F. e P.Iva 03138740232">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="13" type="Testo" width="46" pattern="1" text="Tel. 045F;7652265 - Fax 045F;6170180">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="14" type="Testo" width="44" pattern="1" text="E-Mail: info@costruzioniruffo.it - www.costruzioniruffo.it">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="0.5" y="15" type="Testo" width="46" pattern="1" text="Iscritta Reg. Impr.VR n. 03138740232 - R.E.A. n.VR-312003">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="48.5" y="26.25" type="Testo" width="4.5" pattern="1" text="P.iva:" />
|
||||
<field x="71" y="26.25" type="Testo" width="4.5" pattern="1" text="C.F.:" />
|
||||
<field x="48.5" y="27.5" type="Testo" width="7" pattern="1" text="Alla c.a.: " />
|
||||
<field x="0.5" y="35.75" type="Stringa" valign="center" align="center" dynamic_height="1" width="92" height="3" pattern="1">
|
||||
<font italic="1" face="Arial" bold="1" size="20" />
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="16.5" y="58.5" type="Testo" width="3" pattern="1" text="rev.">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="1" y="59.75" type="Testo" width="4" pattern="1" text="Data">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="1" y="60.75" type="Testo" valign="center" width="13" height="1.25" pattern="1" text="Responsabile:">
|
||||
<source>33.NOTE</source>
|
||||
</field>
|
||||
<field x="17" y="61" type="Stringa" width="27" pattern="1">
|
||||
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,122,CODAGE=#10,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="12.5" y="58.5" type="Stringa" width="3.5" id="7" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NDOC[1,1]</source>
|
||||
</field>
|
||||
<field x="19.5" y="58.5" type="Stringa" align="right" width="2" id="8" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NDOC[2,3]</source>
|
||||
</field>
|
||||
<field x="5" y="59.75" type="Data" width="10" id="9" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.DATADOC</source>
|
||||
</field>
|
||||
<field x="67.5" y="19" type="Stringa" align="right" width="6.5" id="11" pattern="1">
|
||||
<field x="11.5" y="61" type="Stringa" width="5" id="10" pattern="1">
|
||||
<source>33.CODAG</source>
|
||||
</field>
|
||||
<field x="75.5" y="26.25" type="Stringa" width="16" id="12" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,COFI</prescript>
|
||||
</field>
|
||||
<field x="55.5" y="26.25" type="Stringa" width="14" id="16" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,PAIV</prescript>
|
||||
</field>
|
||||
<field x="48.5" y="20" type="Stringa" width="44" height="2" id="20" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.NDOC</source>
|
||||
<prescript>MESSAGE _CLIENTE,!RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="43" y="19" type="Stringa" width="16" id="12" pattern="1">
|
||||
<prescript description="H0.12 PRESCRIPT">MESSAGE _CLIENTE,COFI</prescript>
|
||||
<field x="48.5" y="22" type="Stringa" width="44" id="21" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,!INDNUM</prescript>
|
||||
</field>
|
||||
<field x="59" y="19" type="Stringa" width="5" id="14" pattern="1">
|
||||
<source>IF(33.CODVAL='','EURO',33.CODVAL)</source>
|
||||
<field x="48.5" y="23" type="Stringa" width="44" id="22" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,LOCALITACF</prescript>
|
||||
</field>
|
||||
<field x="18" y="19" type="Stringa" align="right" width="6" id="15" pattern="1">
|
||||
<source>33.CODCF</source>
|
||||
<field x="48.5" y="24" type="Stringa" width="5" id="23" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,!CAP</prescript>
|
||||
</field>
|
||||
<field x="28" y="19" type="Stringa" width="14" id="16" pattern="1">
|
||||
<prescript description="H0.16 PRESCRIPT">MESSAGE _CLIENTE,PAIV</prescript>
|
||||
</field>
|
||||
<field x="1" y="21.5" type="Stringa" width="41" id="17" pattern="1">
|
||||
<source>201@.S0</source>
|
||||
</field>
|
||||
<field x="43" y="20.5" deactivated="1" type="Stringa" width="23" id="18" pattern="1">
|
||||
<source>208@.S0</source>
|
||||
</field>
|
||||
<field x="50.5" y="27" deactivated="1" type="Stringa" width="45" id="18" pattern="1">
|
||||
<source>208@.S0</source>
|
||||
</field>
|
||||
<field x="43" y="21.5" type="Stringa" width="51" id="19" pattern="1">
|
||||
<groups>71</groups>
|
||||
<source>204@.S0</source>
|
||||
</field>
|
||||
<field x="49" y="10.5" type="Stringa" width="59" height="2" id="20" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<prescript description="H0.20 PRESCRIPT">MESSAGE _CLIENTE,!RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="49" y="12.5" type="Stringa" width="44" id="21" pattern="1">
|
||||
<prescript description="H0.21 PRESCRIPT">MESSAGE _CLIENTE,!INDNUM</prescript>
|
||||
</field>
|
||||
<field x="49" y="13.5" type="Stringa" width="44" id="22" pattern="1">
|
||||
<prescript description="H0.22 PRESCRIPT">MESSAGE _CLIENTE,LOCALITACF</prescript>
|
||||
</field>
|
||||
<field x="49" y="14.5" type="Stringa" width="5" id="23" pattern="1">
|
||||
<prescript description="H0.23 PRESCRIPT">MESSAGE _CLIENTE,!CAP</prescript>
|
||||
</field>
|
||||
<field x="55" y="14.5" type="Stringa" hidden="1" width="30" height="2" id="24" pattern="1">
|
||||
<prescript description="H0.24 PRESCRIPT">MESSAGE _CLIENTE,!COM-E;DENCOM
|
||||
<field x="54" y="24" type="Stringa" hidden="1" width="30" height="2" id="24" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,!COM-E;DENCOM
|
||||
MESSAGE COPY,26</prescript>
|
||||
</field>
|
||||
<field x="55" y="14.5" type="Stringa" hidden="1" width="2" id="25" pattern="1">
|
||||
<prescript description="H0.25 PRESCRIPT">MESSAGE _CLIENTE,!COM-E;PROVCOM
|
||||
<field x="85" y="24" type="Stringa" hidden="1" width="2" id="25" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,!COM-E;PROVCOM
|
||||
MESSAGE APPEND,26</prescript>
|
||||
</field>
|
||||
<field x="55" y="14.5" type="Stringa" width="38" height="2" id="26" pattern="1" />
|
||||
<field x="43" y="27" type="Stringa" hidden="1" width="3" id="27" pattern="1">
|
||||
<prescript description="H0.27 PRESCRIPT">MESSAGE _CLIENTE,STATOCF</prescript>
|
||||
<field x="54" y="24" type="Stringa" width="38" height="2" id="26" pattern="1" />
|
||||
<field x="48.5" y="25" type="Stringa" width="25" id="28" pattern="1">
|
||||
<prescript>MESSAGE _TABLEREAD,%STA,#27,S0</prescript>
|
||||
</field>
|
||||
<field x="49" y="15.5" type="Stringa" width="25" id="28" pattern="1">
|
||||
<prescript description="H0.28 PRESCRIPT">MESSAGE _TABLEREAD,%STA,#27,S0</prescript>
|
||||
<field x="55.5" y="27.5" type="Stringa" width="36.5" id="29" pattern="1">
|
||||
<source>20.REFERENTE</source>
|
||||
</field>
|
||||
<field x="1" y="19" type="Stringa" width="16" id="31" pattern="1">
|
||||
<field x="1" y="58.5" type="Testo" width="11.5" id="31" pattern="1" text="Preventivo n&#B0; ">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
<field x="25.5" y="19" type="Stringa" width="2" id="33" pattern="1">
|
||||
<prescript description="H0.33 PRESCRIPT">MESSAGE _CLIENTE,STATOPAIV</prescript>
|
||||
<field x="53" y="26.25" type="Stringa" width="2" id="33" pattern="1">
|
||||
<prescript>MESSAGE _CLIENTE,STATOPAIV</prescript>
|
||||
</field>
|
||||
<field x="22.25" y="24.5" type="Stringa" width="70" id="36" pattern="1">
|
||||
<source>212@.S0</source>
|
||||
<field x="48.5" y="20" type="Stringa" width="42.5" height="2" id="40" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>18.RAGSOC</source>
|
||||
</field>
|
||||
<field x="1" y="26.5" deactivated="1" type="Stringa" width="27" id="36" pattern="1">
|
||||
<source>210@.S0</source>
|
||||
<field x="48.5" y="22" type="Stringa" width="42.5" id="41" pattern="1" />
|
||||
<field x="48.5" y="23" type="Stringa" width="42.5" id="43" pattern="1">
|
||||
<source>18.LOCALITA</source>
|
||||
</field>
|
||||
<field x="21" y="20.5" deactivated="1" type="Stringa" width="21" id="37" pattern="1">
|
||||
<source>211@.S0</source>
|
||||
<field x="48.5" y="24" type="Stringa" width="5" id="44" pattern="1">
|
||||
<source>18.CAP</source>
|
||||
</field>
|
||||
<field x="47.25" y="22.5" type="Stringa" width="34" id="62" pattern="1" text="## ## # ##### ##### ############">
|
||||
<groups>70</groups>
|
||||
<source>213@.S3</source>
|
||||
<field x="54" y="24" type="Stringa" width="33.5" id="45" pattern="1" />
|
||||
<field x="61.5" y="25" type="Stringa" hidden="1" width="4" height="2" id="46" pattern="1">
|
||||
<source>13.DENCOM</source>
|
||||
<prescript description="H1.46 PRESCRIPT">MESSAGE COPY,45</prescript>
|
||||
</field>
|
||||
<field x="43" y="22.5" type="Testo" width="4.5" id="63" pattern="1" text="Iban:">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
<groups>70</groups>
|
||||
<field x="54.5" y="25" type="Stringa" hidden="1" width="2" id="47" pattern="1">
|
||||
<source>13.PROVCOM</source>
|
||||
<prescript description="H1.47 PRESCRIPT">MESSAGE APPEND,45</prescript>
|
||||
</field>
|
||||
<field x="59" y="22.5" type="Numero" align="right" width="6.5" id="64" pattern="1" hide_zero="1" text="@@@@@">
|
||||
<groups>71</groups>
|
||||
<source>33.CODCABA</source>
|
||||
<field x="55.5" y="27.5" type="Stringa" width="36.5" id="48" pattern="1">
|
||||
<source>18.REFERENTE</source>
|
||||
</field>
|
||||
<field x="47.25" y="22.5" type="Numero" align="right" width="6.5" id="65" pattern="1" hide_zero="1" text="@@@@@">
|
||||
<groups>71</groups>
|
||||
<source>33.CODABIA</source>
|
||||
<field x="63" y="27.25" type="Stringa" hidden="1" width="3.5" id="50" pattern="1">
|
||||
<source>18.INDIR</source>
|
||||
<prescript description="H1.50 PRESCRIPT">MESSAGE COPY,41</prescript>
|
||||
</field>
|
||||
<field x="1.25" y="24.5" type="Stringa" width="20.5" id="65" pattern="1">
|
||||
<source>33.CODCMS</source>
|
||||
</field>
|
||||
<field x="71" y="22.5" type="Stringa" align="right" width="16.5" id="66" pattern="1">
|
||||
<groups>71</groups>
|
||||
<source>33.IBAN[16,]+' CIN:'+33.IBAN[5,5]</source>
|
||||
</field>
|
||||
<field x="43" y="22.5" type="Testo" width="3.5" id="67" pattern="1" text="Abi:">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
<groups>71</groups>
|
||||
</field>
|
||||
<field x="55" y="22.5" type="Testo" width="4" id="68" pattern="1" text="Cab:">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
<groups>71</groups>
|
||||
</field>
|
||||
<field x="66.75" y="22.5" type="Testo" width="4.5" id="69" pattern="1" text="CF;C">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
<groups>71</groups>
|
||||
</field>
|
||||
<field x="28.5" y="22.5" type="Array" hidden="1" width="3" id="117" pattern="1">
|
||||
<source>201@.S4</source>
|
||||
<list>
|
||||
<li Value=" " Code=" ">MESSAGE HIDE,71@|HIDE,70@</li>
|
||||
<li Value="1" Code="1">MESSAGE HIDE,71@|SHOW,70@</li>
|
||||
<li Value="3" Code="3">MESSAGE HIDE,70@|SHOW,71@</li>
|
||||
<li Value="9" Code="9">MESSAGE HIDE,71@|SHOW,70@ </li>
|
||||
</list>
|
||||
</field>
|
||||
<field x="32" y="22.5" type="Stringa" hidden="1" width="10" id="119" pattern="1">
|
||||
<source>33.CODABIP+33.CODCABP</source>
|
||||
</field>
|
||||
<field x="43" y="21.5" type="Stringa" width="51" id="129" pattern="1">
|
||||
<groups>70</groups>
|
||||
<prescript description="H0.129 PRESCRIPT">MESSAGE TABLEREAD,%BAN,#119,S0</prescript>
|
||||
<field x="58.5" y="27.25" type="Stringa" hidden="1" width="4" id="51" pattern="1">
|
||||
<source>18.CIV</source>
|
||||
<prescript description="H1.51 PRESCRIPT">MESSAGE APPEND,41</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="1" pattern="1" />
|
||||
<section type="Body" pattern="1">
|
||||
<field border="1" x="3" y="1" type="Rettangolo" bg_color="#C0C0C0" width="40" height="5" pattern="5" />
|
||||
<field x="12.5" y="3" type="Testo" width="20" pattern="1" text="Logo Personalizzato">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="3.5" y="6.5" type="Testo" width="16.5" pattern="1" text="INTESTAZIONE DITTA">
|
||||
<font face="Times New Roman" bold="1" size="9" />
|
||||
</field>
|
||||
<field x="3.5" y="7.25" type="Testo" width="13" pattern="1" text="Via ">
|
||||
<font face="Times New Roman" size="8" />
|
||||
</field>
|
||||
<field x="3.5" y="8" type="Testo" width="33" pattern="1" text="CAP COMUNE PROV Italy">
|
||||
<font face="Times New Roman" size="8" />
|
||||
</field>
|
||||
<field x="3.5" y="8.75" type="Testo" width="33" pattern="1" text="Tel. +39 xxxxxxx Fax +39 xxxxxxxxxxxxxxx">
|
||||
<font face="Times New Roman" size="8" />
|
||||
</field>
|
||||
<field x="3.5" y="9.5" type="Testo" width="33" pattern="1" text="P.IVA 01234567890 Trib. XX n. 12345 CCIAA n. 123456">
|
||||
<font face="Times New Roman" size="8" />
|
||||
</field>
|
||||
<field x="3.5" y="10.25" type="Testo" width="33" pattern="1" text="Cap. Soc. Euro 99.999 i.v.">
|
||||
<font face="Times New Roman" size="8" />
|
||||
</field>
|
||||
<field x="3.5" y="11" type="Testo" width="33" pattern="1" text="www.vostraditta.com info@vostraditta.com">
|
||||
<font face="Times New Roman" size="8" />
|
||||
</field>
|
||||
<field border="1" radius="100" x="0.5" y="18" type="Rettangolo" shade_offset="50" width="92" height="8" pattern="2" />
|
||||
<field border="1" x="0.5" y="20.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field border="1" x="0.5" y="23.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field border="1" radius="100" x="0.5" y="26.5" type="Rettangolo" shade_offset="50" width="92" height="23.5" pattern="2" />
|
||||
<field border="1" radius="100" x="0.5" y="51" type="Rettangolo" shade_offset="50" width="92" height="14.5" pattern="2" />
|
||||
<field border="1" x="0.75" y="53" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field border="1" x="6.5" y="53" type="Linea" height="6" pattern="1" />
|
||||
<field border="1" x="19" y="53" type="Linea" height="6" pattern="1" />
|
||||
<field border="1" x="34.5" y="53" type="Linea" height="6" pattern="1" />
|
||||
<field border="1" x="40.5" y="53" type="Linea" height="6" pattern="1" />
|
||||
<field border="1" x="75.25" y="53" type="Linea" height="6" pattern="1" />
|
||||
<field border="1" x="0.75" y="59" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field border="1" radius="100" x="76" y="59.25" type="Rettangolo" bg_color="#E0E0E0" shade_offset="30" width="16" height="2.75" pattern="2" />
|
||||
<field border="1" x="0.75" y="62.25" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="1" y="62.5" type="Testo" width="50" pattern="1" text="CONTRIBUTO CONAI ASSOLTO OVE DOVUTO">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="1" y="63.5" type="Array" width="50" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>33.IVAXCASSA</source>
|
||||
<list>
|
||||
<li />
|
||||
<li Value="Operazione con IVA per cassa, di cui all'art. 32-bis del D.L. 83F;2012" Code="X" />
|
||||
</list>
|
||||
</field>
|
||||
<field border="1" radius="100" x="45.5" y="9.5" type="Rettangolo" shade_offset="50" width="47" height="8" id="50" pattern="2" />
|
||||
<field x="49" y="9" type="Testo" width="16" id="53" pattern="2" text=" Intestatario Documento">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="1" y="18.25" type="Testo" width="11" id="53" pattern="1" text="Tipo Documento">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="17.5" y="18.25" type="Testo" width="8" id="53" pattern="1" text="Cod.Cliente">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="29" y="18.25" type="Testo" width="8.5" id="53" pattern="1" text="P.IVA">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="42.75" y="18.25" type="Testo" width="8.5" id="53" pattern="1" text="Cod. Fis:">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="59.5" y="18.25" type="Testo" width="5" id="53" pattern="1" text="Valuta">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="69.5" y="18.25" type="Testo" width="6" id="53" pattern="1" text="Numero">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="79" y="18.25" type="Testo" width="7" id="53" pattern="1" text="Data">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="88" y="18.25" type="Testo" width="5" id="53" pattern="1" text="Pagina">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="1" y="20.5" type="Testo" width="8" id="53" pattern="1" text="Pagamento">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="43" y="20.5" type="Testo" width="8" id="53" pattern="1" text="Banca">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="1" y="23.5" type="Testo" width="8" id="53" pattern="1" text="Commessa">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="2.5" y="51.25" type="Testo" width="10" id="53" pattern="1" text="Totale Merce">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="14" y="51.25" type="Testo" width="6" id="53" pattern="1" text="Sconto %">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="21.5" y="51.25" type="Testo" align="right" width="10" id="53" pattern="1" text="Netto Merce">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="33" y="51.25" type="Testo" width="7.5" id="53" pattern="1" text="Spese Varie">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="44.5" y="51.25" type="Testo" width="10.5" id="53" pattern="1" text="Spese Trasporto">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="61.5" y="51.25" type="Testo" width="11" id="53" pattern="1" text="Totale Imponibile">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="81" y="51.25" type="Testo" width="10.5" id="53" pattern="1" text="Totale Imposta">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="1" y="53.25" type="Testo" width="6" id="53" pattern="1" text="Cod.IVA">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="7.25" y="53.25" type="Testo" width="12" id="53" pattern="1" text="Spese Accessorie">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="19.25" y="53.25" type="Testo" align="center" width="15" id="53" pattern="1" text="Imponibile">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="36.25" y="53.25" type="Testo" width="3" id="53" pattern="1" text="IVA">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="41.5" y="53.25" type="Testo" width="17" id="53" pattern="1" text="Imposta">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="76.75" y="53.28" type="Testo" width="16" id="53" pattern="1" text="Bolli">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="76.75" y="55.75" type="Testo" width="6.5" id="53" pattern="1" text="Acconto">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="1.25" y="59.25" type="Testo" width="22.5" id="53" pattern="1" text="Scadenza Rate e Relativo Importo">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="78.25" y="59.5" type="Testo" width="12.5" id="53" pattern="1" text="Totale Documento">
|
||||
<font italic="1" face="Arial" size="8" />
|
||||
</field>
|
||||
<field x="1.5" y="27" type="Testo" width="8" id="202" pattern="1" text="Fase">
|
||||
<prescript description="B0 PRESCRIPT">#REPORT.PAGE @ 1 = IF
|
||||
"B0" HIDE
|
||||
ELSE
|
||||
"B0" SHOW
|
||||
THEN</prescript>
|
||||
<field border="1" radius="100" x="0.5" y="4" type="Rettangolo" shade_offset="50" width="92" height="60.5" pattern="2" />
|
||||
<field border="1" x="0.5" y="6" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field y="4.25" type="Testo" align="center" width="8" height="1.75" id="202" pattern="1" text="Fase articolo">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="17.5" y="27" type="Testo" width="28.5" id="203" pattern="1" text="Descrizione">
|
||||
<field x="7" y="4.25" type="Testo" align="center" width="28.5" id="203" pattern="1" text="Descrizione">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="53.75" y="27" type="Testo" width="3.5" id="204" pattern="1" text="UM">
|
||||
<field x="41.75" y="4.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="N&#B0;.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="58.25" y="27" type="Testo" width="6" id="209" pattern="1" text="Quantit&#E0;">
|
||||
<field x="46.75" y="4.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="Lungh.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="68" y="27" type="Testo" width="5.5" id="209" pattern="1" text="Prezzo">
|
||||
<field x="51.75" y="4.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="Largh.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="80.5" y="27" type="Testo" width="5.5" id="209" pattern="1" text="Importo">
|
||||
<field x="56.75" y="4.25" type="Testo" align="center" width="4.5" id="204" pattern="1" text="Alt.">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="89.5" y="27" type="Testo" width="2.5" id="209" pattern="1" text="C.I.">
|
||||
<field x="61.75" y="4.25" type="Testo" align="center" width="3" id="204" pattern="1" text="UM">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field border="1" x="15.5" y="26.5" type="Linea" height="23.5" id="500" pattern="1" />
|
||||
<field border="1" x="52.5" y="26.5" type="Linea" height="23.5" id="500" pattern="1" />
|
||||
<field border="1" x="57" y="26.5" type="Linea" height="23.5" id="500" pattern="1" />
|
||||
<field border="1" x="65.16" y="26.5" type="Linea" height="23.5" id="500" pattern="1" />
|
||||
<field border="1" x="77.25" y="26.5" type="Linea" height="23.5" id="500" pattern="1" />
|
||||
<field border="1" x="88.75" y="26.5" type="Linea" height="23.5" id="500" pattern="1" />
|
||||
<field x="64.75" y="4.25" type="Testo" align="center" width="8" id="209" pattern="1" text="Quantit&#E0;">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="72.5" y="4.25" type="Testo" align="center" width="10" id="209" pattern="1" text="Prezzo">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="82.5" y="4.25" type="Testo" align="center" width="10" id="209" pattern="1" text="Importo">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field border="1" x="7" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="41.5" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="46.5" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="51.5" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="56.5" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="61.5" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="64.5" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="72.66" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
<field border="1" x="82.25" y="4" type="Linea" height="60" id="500" pattern="1" />
|
||||
</section>
|
||||
<section type="Body" level="1" pattern="1">
|
||||
<condition>34.TIPORIGA='01'</condition>
|
||||
<condition>34.TIPORIGA='P1'</condition>
|
||||
<font face="Arial" size="10" />
|
||||
<field x="16" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="36" height="22" id="52" pattern="1">
|
||||
<field x="0.7" y="0.25" type="Stringa" width="6" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<source>34.CODART</source>
|
||||
</field>
|
||||
<field x="8" y="0.25" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="32" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<prescript description="B1.52 PRESCRIPT">MESSAGE _DESCRIGA</prescript>
|
||||
</field>
|
||||
<field x="53" type="Stringa" bg_color="#C0C0C0" width="3" id="53" pattern="1">
|
||||
<field x="61.5" y="0.25" type="Stringa" align="center" bg_color="#C0C0C0" width="3" id="53" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<source>34.UMQTA</source>
|
||||
<prescript description="B1.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="57" type="Numero" align="right" bg_color="#00FFFF" width="7.5" id="54" pattern="1" hide_zero="1" text="###.###">
|
||||
<field x="64.75" y="0.25" type="Numero" align="right" bg_color="#00FFFF" width="7.5" id="54" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>30</groups>
|
||||
<source>34.QTA</source>
|
||||
<prescript description="B1.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="65" type="Prezzo" align="right" bg_color="#FF80C0" width="10.5" codval="33.CODVAL" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<field x="72.8" y="0.25" type="Numero" align="right" bg_color="#FF80C0" width="9" codval="33.CODVAL" id="55" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZO</source>
|
||||
<prescript description="B1.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="76.5" type="Prezzo" align="right" bg_color="#00FFFF" width="12" codval="33.CODVAL" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<field x="82.5" y="0.25" type="Numero" align="right" bg_color="#00FFFF" width="9" codval="33.CODVAL" id="57" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" size="9" />
|
||||
<groups>29</groups>
|
||||
<source>34.IMPNS</source>
|
||||
<source>34.QTA*34.PREZZO</source>
|
||||
<prescript description="B1.57 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="89.75" type="Stringa" bg_color="#EFEFEF" width="3" id="58" pattern="1">
|
||||
<source>34.CODIVA</source>
|
||||
<prescript description="B1.58 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="94.5" type="Prezzo" hidden="1" align="right" bg_color="#E1E1E1" width="15" codval="33.CODVAL" id="59" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<field x="94.5" y="0.25" type="Prezzo" hidden="1" align="right" bg_color="#E1E1E1" width="15" codval="33.CODVAL" id="59" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>29</groups>
|
||||
<source>34.PREZZONS</source>
|
||||
<prescript description="B1.59 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="109.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="60" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<field x="109.5" y="0.25" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="60" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.PROVVR</source>
|
||||
<prescript description="B1.60 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="124.5" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="61" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<field x="124.5" y="0.25" type="Valuta" hidden="1" align="right" width="15" codval="33.CODVAL" id="61" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>34.IMPOSTA</source>
|
||||
<prescript description="B1.61 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
@ -348,204 +240,82 @@ MESSAGE APPEND,26</prescript>
|
||||
</section>
|
||||
<section type="Body" level="2" pattern="1">
|
||||
<condition>34.TIPORIGA='05'</condition>
|
||||
<field x="2" type="Stringa" bg_color="#FFFF80" width="13" id="51" pattern="2">
|
||||
<field border="1" x="0.5" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="0.7" y="0.25" type="Stringa" bg_color="#FFFF80" width="5.5" id="51" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>34.CODART</source>
|
||||
<prescript description="B2.51 PRESCRIPT">MON
|
||||
1
|
||||
"34.PRIORITY" @
|
||||
<prescript description="B2.51 PRESCRIPT">1 "34.PRIORITY" @
|
||||
+
|
||||
2 *
|
||||
0
|
||||
#THIS_FIELD SET_POS</prescript>
|
||||
</field>
|
||||
<field x="16" type="Stringa" bg_color="#00FF80" dynamic_height="1" width="36" height="22" id="52" pattern="2">
|
||||
<field x="8" y="0.25" type="Stringa" bg_color="#00FF80" dynamic_height="1" width="32" height="22" id="52" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<prescript description="B2.52 PRESCRIPT">MESSAGE _DESCRIGA</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section y="50" hidden_if_needed="1" type="Foot" pattern="1" />
|
||||
<section y="50" type="Foot" level="1" pattern="1">
|
||||
<section type="Body" level="3" pattern="1">
|
||||
<condition>34.TIPORIGA='P2'</condition>
|
||||
<field x="8" type="Stringa" bg_color="#D4D4D4" dynamic_height="1" width="32" height="22" id="52" pattern="1">
|
||||
<font face="Arial" size="7" />
|
||||
<prescript description="B3.52 PRESCRIPT">MESSAGE _DESCRIGA</prescript>
|
||||
</field>
|
||||
<field x="41.8" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="53" pattern="1" hide_zero="1">
|
||||
<font face="Arial" size="7" />
|
||||
<source>34.QTA</source>
|
||||
<prescript description="B3.53 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="46.8" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="54" pattern="1" hide_zero="1">
|
||||
<font face="Courier New" size="7" />
|
||||
<source>34.QTAGG1</source>
|
||||
<prescript description="B3.54 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="51.8" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="55" pattern="1" hide_zero="1">
|
||||
<font face="Courier New" size="7" />
|
||||
<source>34.QTAGG2</source>
|
||||
<prescript description="B3.55 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
<field x="56.8" type="Numero" align="right" bg_color="#00FFFF" width="4.5" id="56" pattern="1" hide_zero="1">
|
||||
<font face="Courier New" size="7" />
|
||||
<source>34.QTAGG3</source>
|
||||
<prescript description="B3.56 PRESCRIPT">MESSAGE _ALIGN,#52,BOTTOM</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" height="2" pattern="1">
|
||||
<field border="2" y="0.25" type="Linea" width="92" height="0" pattern="1" />
|
||||
<field x="11.5" y="0.5" type="Stringa" width="3.5" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>33.NDOC[1,1]</source>
|
||||
</field>
|
||||
<field x="15.5" y="0.5" type="Testo" width="3" pattern="1" text="rev.">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="18.5" y="0.5" type="Stringa" align="right" width="2" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>33.NDOC[2,3]</source>
|
||||
</field>
|
||||
<field x="77.5" y="0.5" type="Testo" width="6.5" pattern="1" text="Pagina">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="83.5" y="0.5" type="Stringa" align="center" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#PAGE</source>
|
||||
</field>
|
||||
<field x="86.5" y="0.5" type="Testo" align="center" width="2.5" pattern="1" text="di">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="89" y="0.5" type="Numero" align="right" width="3" pattern="1">
|
||||
<font face="Arial" size="10" />
|
||||
<source>#BOOKPAGES</source>
|
||||
</field>
|
||||
<field y="0.5" type="Testo" width="11.5" id="31" pattern="1" text="Preventivo n&#B0; ">
|
||||
<font face="Arial" size="10" />
|
||||
<source>210@.S0</source>
|
||||
</field>
|
||||
</section>
|
||||
<section y="50" type="Foot" level="1" page_break="1" pattern="1">
|
||||
<font face="Arial" size="9" />
|
||||
<field x="1" y="7" type="Stringa" width="80" height="2" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<prescript description="F1.0 PRESCRIPT">#DOC.LIQDIFF @
|
||||
EMPTY=
|
||||
NEGATE
|
||||
#CLI.ALLEG @
|
||||
7
|
||||
C;
|
||||
AND
|
||||
IF
|
||||
"IVA a esigibilit&#E0; differita ai sensi dell'art. 6 comma 5, del dpr n.633F;2973 e dell' art.7 legge 2F;2009"
|
||||
#THIS !
|
||||
THEN</prescript>
|
||||
</field>
|
||||
<field x="45" y="12.5" type="Stringa" width="40" height="2" pattern="1">
|
||||
<font face="Arial" size="8" />
|
||||
<prescript description="F1.0 PRESCRIPT">#DOC.LIQDIFF @
|
||||
EMPTY=
|
||||
NEGATE
|
||||
#CLI.ALLEG @
|
||||
7
|
||||
C;
|
||||
AND
|
||||
IF
|
||||
"IVA a esigibilit&#E0; differita ai sensi dell'art. 6 comma 5, del dpr n.633F;2973 e dell' art.7 legge 2F;2009"
|
||||
#THIS !
|
||||
THEN</prescript>
|
||||
</field>
|
||||
<field y="2" type="Valuta" align="right" bg_color="#00FFFF" width="12" codval="33.CODVAL" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>TOTMER</source>
|
||||
</field>
|
||||
<field x="14" y="2" type="Stringa" bg_color="#0000FF" width="5" id="102" pattern="1">
|
||||
<source>33.SCONTOPERC</source>
|
||||
</field>
|
||||
<field x="16" type="Valuta" hidden="1" align="right" width="10" codval="33.CODVAL" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>SCONTOT</source>
|
||||
</field>
|
||||
<field x="44" y="2" type="Valuta" align="right" bg_color="#FFFF00" width="10" codval="33.CODVAL" id="104" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>SPESTRA</source>
|
||||
</field>
|
||||
<field x="32.5" y="2" type="Valuta" align="right" bg_color="#7F007F" width="9.5" codval="33.CODVAL" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>SPESIMB</source>
|
||||
</field>
|
||||
<field x="76.5" y="7" type="Valuta" align="right" width="15" codval="33.CODVAL" id="106" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>33.IMPPAGATO</source>
|
||||
</field>
|
||||
<field x="1" y="4" type="Stringa" bg_color="#7F7F7F" width="4" id="107" pattern="1">
|
||||
<prescript description="F1.107 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,COD,0</prescript>
|
||||
</field>
|
||||
<field x="20" y="4" type="Valuta" align="right" bg_color="#FF00FF" width="14" codval="33.CODVAL" id="108" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.108 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,IMP,0</prescript>
|
||||
</field>
|
||||
<field x="35" y="4" type="Numero" align="right" width="4" id="109" pattern="1" hide_zero="1" text="##">
|
||||
<prescript description="F1.109 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,ALI,0</prescript>
|
||||
</field>
|
||||
<field x="41" y="4" type="Valuta" align="right" width="10" codval="33.CODVAL" id="110" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.110 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,IVA,1</prescript>
|
||||
</field>
|
||||
<field x="1" y="5" type="Stringa" width="4" id="111" pattern="1">
|
||||
<prescript description="F1.111 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,COD,0</prescript>
|
||||
</field>
|
||||
<field x="20" y="5" type="Valuta" align="right" width="14" codval="33.CODVAL" id="112" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.112 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,IMP,0</prescript>
|
||||
</field>
|
||||
<field x="35" y="5" type="Numero" align="right" width="4" id="113" pattern="1" hide_zero="1" text="##">
|
||||
<prescript description="F1.113 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,ALI,0</prescript>
|
||||
</field>
|
||||
<field x="41" y="5" type="Valuta" align="right" width="10" codval="33.CODVAL" id="114" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.114 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,IVA,1</prescript>
|
||||
</field>
|
||||
<field x="1" y="6" type="Stringa" width="4" id="115" pattern="1">
|
||||
<prescript description="F1.115 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,COD,0</prescript>
|
||||
</field>
|
||||
<field x="20" y="6" type="Valuta" align="right" bg_color="#FF00FF" width="14" codval="33.CODVAL" id="116" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.116 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,IMP,0</prescript>
|
||||
</field>
|
||||
<field x="35" y="6" type="Numero" align="right" width="4" id="117" pattern="1" hide_zero="1" text="##">
|
||||
<prescript description="F1.117 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,ALI,0</prescript>
|
||||
</field>
|
||||
<field x="41" y="6" type="Valuta" align="right" bg_color="#00FFFF" width="10" codval="33.CODVAL" id="118" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.118 PRESCRIPT">MESSAGE _RIEPILOGOIVA,1,IVA,1</prescript>
|
||||
</field>
|
||||
<field x="20" y="7" type="Valuta" align="right" bg_color="#FF00FF" width="14" codval="33.CODVAL" id="119" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.119 PRESCRIPT">MESSAGE _RIEPILOGOIVA,30,IMP,0</prescript>
|
||||
</field>
|
||||
<field x="1" y="7" type="Stringa" width="4" id="120" pattern="1">
|
||||
<prescript description="F1.120 PRESCRIPT">MESSAGE _RIEPILOGOIVA,30,COD,0</prescript>
|
||||
</field>
|
||||
<field x="41" y="7" type="Stringa" width="29" id="121" pattern="1">
|
||||
<prescript description="F1.121 PRESCRIPT">MESSAGE _RIEPILOGOIVA,30,DES,1</prescript>
|
||||
</field>
|
||||
<field x="20" y="8" type="Valuta" align="right" bg_color="#0000FF" width="14" codval="33.CODVAL" id="122" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.122 PRESCRIPT">MESSAGE _RIEPILOGOIVA,30,IMP,0</prescript>
|
||||
</field>
|
||||
<field x="1" y="8" type="Stringa" bg_color="#00FFFF" width="4" id="123" pattern="1">
|
||||
<prescript description="F1.123 PRESCRIPT">MESSAGE _RIEPILOGOIVA,30,COD,0</prescript>
|
||||
</field>
|
||||
<field x="41" y="8" type="Stringa" bg_color="#00FFFF" width="29" id="124" pattern="1">
|
||||
<prescript description="F1.124 PRESCRIPT">MESSAGE _RIEPILOGOIVA,30,DES,1</prescript>
|
||||
</field>
|
||||
<field x="60.5" y="2" type="Valuta" align="right" bg_color="#FF0000" width="13.5" codval="33.CODVAL" id="125" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>IMPONIBILI</source>
|
||||
</field>
|
||||
<field x="78.5" y="2" type="Valuta" align="right" bg_color="#007F7F" width="13" codval="33.CODVAL" id="126" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>IMPOSTE</source>
|
||||
</field>
|
||||
<field x="36" deactivated="1" type="Valuta" hidden="1" align="right" width="11" codval="33.CODVAL" id="127" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.127 PRESCRIPT">MESSAGE _TOTIMPONIBILI,28</prescript>
|
||||
</field>
|
||||
<field x="59" type="Valuta" hidden="1" align="right" width="10" codval="33.CODVAL" id="128" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>SPESINC</source>
|
||||
</field>
|
||||
<field x="48" type="Valuta" hidden="1" align="right" width="10" codval="33.CODVAL" id="129" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>BOLLI</source>
|
||||
</field>
|
||||
<field x="76.5" y="10.25" type="Valuta" align="right" width="15" codval="33.CODVAL" height="1.25" id="130" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<groups>31</groups>
|
||||
<source>TOTDOC</source>
|
||||
</field>
|
||||
<field x="45" y="13" deactivated="1" type="Valuta" align="right" width="11" codval="33.CODVAL" id="137" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<source>33.IMPPAGATO</source>
|
||||
<prescript description="F1.137 PRESCRIPT">MESSAGE SUB,138</prescript>
|
||||
</field>
|
||||
<field x="69" y="13" deactivated="1" type="Valuta" align="right" width="11" codval="33.CODVAL" id="138" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
</field>
|
||||
<field x="1" y="10" type="Data" bg_color="#7F7F7F" width="8" id="143" pattern="1">
|
||||
<prescript description="F1.143 PRESCRIPT">MESSAGE _SCADENZE,DATA,0</prescript>
|
||||
</field>
|
||||
<field x="10" y="10" type="Valuta" align="right" width="11" codval="33.CODVAL" id="144" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.144 PRESCRIPT">MESSAGE _SCADENZE,IMPORTO,1</prescript>
|
||||
</field>
|
||||
<field x="24" y="10" type="Data" width="8" id="145" pattern="1">
|
||||
<prescript description="F1.145 PRESCRIPT">MESSAGE _SCADENZE,DATA,0</prescript>
|
||||
</field>
|
||||
<field x="33" y="10" type="Valuta" align="right" width="11" codval="33.CODVAL" id="146" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.146 PRESCRIPT">MESSAGE _SCADENZE,IMPORTO,1</prescript>
|
||||
</field>
|
||||
<field x="46.5" y="10" type="Data" width="8" id="147" pattern="1">
|
||||
<prescript description="F1.147 PRESCRIPT">MESSAGE _SCADENZE,DATA,0</prescript>
|
||||
</field>
|
||||
<field x="55.5" y="10" type="Valuta" align="right" width="11" codval="33.CODVAL" id="148" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.148 PRESCRIPT">MESSAGE _SCADENZE,IMPORTO,1</prescript>
|
||||
</field>
|
||||
<field x="1" y="11" type="Data" width="8" id="149" pattern="1">
|
||||
<prescript description="F1.149 PRESCRIPT">MESSAGE _SCADENZE,DATA,0</prescript>
|
||||
</field>
|
||||
<field x="10" y="11" type="Valuta" align="right" bg_color="#00FFFF" width="11" codval="33.CODVAL" id="150" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.150 PRESCRIPT">MESSAGE _SCADENZE,IMPORTO,1</prescript>
|
||||
</field>
|
||||
<field x="24" y="11" type="Data" width="8" id="151" pattern="1">
|
||||
<prescript description="F1.151 PRESCRIPT">MESSAGE _SCADENZE,DATA,0</prescript>
|
||||
</field>
|
||||
<field x="33" y="11" type="Valuta" align="right" width="11" codval="33.CODVAL" id="152" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||
<groups>31</groups>
|
||||
<prescript description="F1.152 PRESCRIPT">MESSAGE _SCADENZE,IMPORTO,1</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<sql>USE 33
|
||||
JOIN 34 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
||||
@ -553,6 +323,8 @@ JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 18 TO 33 INTO CFPI==OCFPI
|
||||
JOIN 13 TO 18 INTO COM==COM STATO==STATO
|
||||
JOIN 47 TO 34 INTO CODART==CODART
|
||||
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
|
||||
JOIN 122 TO 33 INTO CODAGE==CODAG
|
||||
|
@ -124,6 +124,7 @@ BEGIN
|
||||
OUTPUT F_RAGSOC LF_CLIFO->RAGSOC
|
||||
OUTPUT F_NDOC LF_DOC->NDOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
|
314
pe/pe1400b.uml
314
pe/pe1400b.uml
@ -37,7 +37,13 @@ END
|
||||
|
||||
BUTTON DLG_ELABORA 2 2
|
||||
BEGIN
|
||||
PROMPT 1 2 "Elabora"
|
||||
PROMPT 1 2 "Ordine"
|
||||
PICTURE TOOL_ELABORA
|
||||
END
|
||||
|
||||
BUTTON DLG_ARCHIVE 2 2
|
||||
BEGIN
|
||||
PROMPT 1 2 "Fabbisogno"
|
||||
PICTURE TOOL_ELABORA
|
||||
END
|
||||
|
||||
@ -66,13 +72,13 @@ ENDPAGE
|
||||
|
||||
PAGE "Preventivi" 0 0 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
GROUPBOX -1 78 6
|
||||
BEGIN
|
||||
PROMPT 1 0 "@bPreventivo"
|
||||
END
|
||||
|
||||
LIST F_PROVV 1 12
|
||||
BEGIN
|
||||
LIST 201 1 12
|
||||
BEGIN
|
||||
PROMPT 69 69 ""
|
||||
ITEM "D|Definitivi"
|
||||
ITEM "P|Provvisori"
|
||||
@ -81,7 +87,7 @@ BEGIN
|
||||
KEY 1
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
NUMBER 202 4
|
||||
BEGIN
|
||||
PROMPT 2 1 "Anno "
|
||||
FLAGS "D"
|
||||
@ -90,25 +96,25 @@ BEGIN
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CODNUM 4
|
||||
STRING 203 4
|
||||
BEGIN
|
||||
PROMPT 2 2 "Numerazione "
|
||||
USE %NUM
|
||||
FLAGS "DGU"
|
||||
INPUT CODTAB F_CODNUM
|
||||
OUTPUT F_DESNUM S0
|
||||
INPUT CODTAB 203
|
||||
OUTPUT 204 S0
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD CODNUM
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_DESNUM 50
|
||||
STRING 204 50
|
||||
BEGIN
|
||||
PROMPT 24 2 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NDOC 7
|
||||
NUMBER 209 7
|
||||
BEGIN
|
||||
PROMPT 24 1 "Numero documento "
|
||||
FLAGS "DG"
|
||||
@ -117,81 +123,81 @@ BEGIN
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_STATO 1
|
||||
STRING 210 1
|
||||
BEGIN
|
||||
PROMPT 53 1 "Stato "
|
||||
USE %STD
|
||||
INPUT CODTAB F_STATO
|
||||
INPUT CODTAB 210
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_STATO CODTAB
|
||||
OUTPUT 210 CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD STATO
|
||||
FLAGS "DG"
|
||||
END
|
||||
|
||||
STRING F_TIPODOC 4
|
||||
STRING 205 4
|
||||
BEGIN
|
||||
PROMPT 2 3 "Tipo "
|
||||
FLAGS "H"
|
||||
FIELD TIPODOC
|
||||
USE %TIP
|
||||
INPUT CODTAB F_TIPODOC
|
||||
OUTPUT F_DESTIPO S0
|
||||
INPUT CODTAB 205
|
||||
OUTPUT 206 S0
|
||||
CHEKCTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DESTIPO 50
|
||||
STRING 206 50
|
||||
BEGIN
|
||||
PROMPT 24 3 ""
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_NPREV 7
|
||||
NUMBER 207 7
|
||||
BEGIN
|
||||
PROMPT 2 3 "Preventivo "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_NREV 2
|
||||
BEGIN
|
||||
NUMBER 208 2
|
||||
BEGIN
|
||||
PROMPT 24 3 "Revisione "
|
||||
FLAGS "DZ"
|
||||
END
|
||||
|
||||
DATE F_DATADOC
|
||||
DATE 211
|
||||
BEGIN
|
||||
PROMPT 46 3 "Data "
|
||||
FLAGS "A"
|
||||
FIELD DATADOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
END
|
||||
|
||||
STRING F_NUMDOCRIF 7
|
||||
BEGIN
|
||||
STRING 236 7
|
||||
BEGIN
|
||||
PROMPT 2 4 "Documento di riferimento "
|
||||
FIELD NUMDOCRIF
|
||||
END
|
||||
|
||||
DATE F_DATADOCRIF
|
||||
DATE 237
|
||||
BEGIN
|
||||
PROMPT 36 4 "del "
|
||||
FIELD DATADOCRIF
|
||||
END
|
||||
|
||||
GOLEM F_OGGETTI 10 2
|
||||
GOLEM 238 10 2
|
||||
BEGIN
|
||||
PROMPT 64 3 ""
|
||||
FIELD COLL_GOLEM
|
||||
FLAGS "M"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 9
|
||||
GR -1 78 7
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bCliente"
|
||||
END
|
||||
|
||||
LIST DLG_NULL 1 7
|
||||
LISTBOX -1 1 7
|
||||
BEGIN
|
||||
PROMPT 68 68 "Tipo "
|
||||
ITEM "C|Cliente"
|
||||
@ -206,7 +212,7 @@ BEGIN
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CLIFO
|
||||
DISPLAY "Cliente" CODCF
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
@ -216,8 +222,10 @@ BEGIN
|
||||
OUTPUT F_STATOPAIV STATOPAIV
|
||||
OUTPUT F_PAIV PAIV
|
||||
OUTPUT F_COFI COFI
|
||||
CHECKTYPE REQUIRED
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODCF
|
||||
ADD RU cg0 -1 C
|
||||
MESSAGE COPY,10@
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
@ -232,7 +240,9 @@ BEGIN
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
COPY OUTPUT F_CLIFO
|
||||
CHECKTYPE REQUIRED
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1 C
|
||||
MESSAGE COPY,10@
|
||||
END
|
||||
|
||||
STRING F_RICALT 30
|
||||
@ -252,7 +262,7 @@ END
|
||||
STRING F_STATOPAIV 2
|
||||
BEGIN
|
||||
PROMPT 52 8 "Stato CEE "
|
||||
HELP "Codice ISO dello stato"
|
||||
HE "Codice ISO dello stato"
|
||||
FLAGS "U"
|
||||
USE %SCE
|
||||
INPUT CODTAB F_STATOPAIV
|
||||
@ -274,8 +284,8 @@ BEGIN
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
COPY OUTPUT F_CLIFO
|
||||
HELP "Codice fiscale del cliente/fornitore"
|
||||
CO OUTPUT F_CLIFO
|
||||
HE "Codice fiscale del cliente/fornitore"
|
||||
END
|
||||
|
||||
STRING F_PAIV 12
|
||||
@ -291,85 +301,115 @@ BEGIN
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
COPY OUTPUT F_CLIFO
|
||||
HELP "Partita IVA del cliente/fornitore"
|
||||
VALIDATE PI_FUNC F_STATOPAIV
|
||||
CO OUTPUT F_CLIFO
|
||||
HE "Partita IVA del cliente/fornitore"
|
||||
VA 2 1 F_STATOPAIV
|
||||
END
|
||||
|
||||
ZOOM F_NOTE 62
|
||||
|
||||
STRING F_CLIPOT 7
|
||||
BEGIN
|
||||
PROMPT 2 10 "Oggetto "
|
||||
PROMPT 2 10 "Potenz. Cliente"
|
||||
USE LF_OCCAS
|
||||
INPUT CFPI F_CLIPOT
|
||||
DISPLAY "Codice@20" CFPI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_CLIPOT CFPI
|
||||
OUTPUT F_RAGPOT RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
FIELD OCFPI
|
||||
ADD RU cg0 -6
|
||||
END
|
||||
|
||||
STRING F_RAGPOT 45
|
||||
BEGIN
|
||||
PROMPT 29 10 ""
|
||||
USE LF_OCCAS KEY 2
|
||||
INPUT RAGSOC F_RAGPOT
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice@20" CFPI
|
||||
COPY OUTPUT F_CLIPOT
|
||||
ADD RUN cg0 -6
|
||||
END
|
||||
|
||||
GROUPBOX -1 78 7
|
||||
BEGIN
|
||||
PROMPT 1 13 "@bDati Commerciali"
|
||||
END
|
||||
|
||||
ZOOM 226 62
|
||||
BEGIN
|
||||
PROMPT 2 14 "Oggetto "
|
||||
FIELD NOTE
|
||||
END
|
||||
|
||||
STRING F_CODPAG 4
|
||||
STRING 227 4
|
||||
BEGIN
|
||||
PROMPT 2 11 "Pagamento "
|
||||
PROMPT 2 15 "Pagamento "
|
||||
USE %CPG
|
||||
INPUT CODTAB F_CODPAG
|
||||
INPUT CODTAB 227
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODPAG CODTAB
|
||||
OUTPUT F_DESPAG S0
|
||||
OUTPUT 227 CODTAB
|
||||
OUTPUT 228 S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODPAG
|
||||
END
|
||||
|
||||
STRING F_DESPAG 50
|
||||
BEGIN
|
||||
PROMPT 24 11 ""
|
||||
END
|
||||
STRING 228 50
|
||||
BEGIN
|
||||
PROMPT 24 15 ""
|
||||
USE %CPG KEY 2
|
||||
INPUT S0 F_DESPAG
|
||||
INPUT S0 228
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_CODPAG
|
||||
CO OUTPUT 227
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CODLIS 4
|
||||
STRING 229 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "Listino "
|
||||
PROMPT 2 16 "Listino "
|
||||
FLAGS "U"
|
||||
USE LF_CONDV
|
||||
USE 52
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN ""
|
||||
INPUT COD F_CODLIS
|
||||
INPUT COD 229
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Inizio@10" VALIN
|
||||
DISPLAY "Fine@10" VALFIN
|
||||
OUTPUT F_CODLIS COD
|
||||
OUTPUT F_DESLIS DESCR
|
||||
OUTPUT 229 COD
|
||||
OUTPUT 230 DESCR
|
||||
ADD RUN ve2 -1 L
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODLIST
|
||||
END
|
||||
|
||||
STRING F_DESLIS 50
|
||||
STRING 230 50
|
||||
BEGIN
|
||||
PROMPT 24 12 ""
|
||||
USE LF_CONDV KEY 2
|
||||
PROMPT 24 16 ""
|
||||
USE 52 KEY 2
|
||||
INPUT TIPO "L"
|
||||
INPUT CATVEN ""
|
||||
INPUT DESCR F_DESLIS
|
||||
INPUT DESCR 230
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Inizio@10" VALIN
|
||||
DISPLAY "Fine@10" VALFIN
|
||||
COPY OUTPUT F_CODLIS
|
||||
CO OUTPUT 229
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve2 -1 L
|
||||
ADD RU ve2 -1 L
|
||||
END
|
||||
|
||||
STRING F_RICARICO 25
|
||||
STRING 234 25
|
||||
BEGIN
|
||||
PROMPT 2 13 "Ricarico "
|
||||
PROMPT 2 17 "Ricarico "
|
||||
FIELD SCONTOPERC
|
||||
END
|
||||
|
||||
LIST F_TIPOCOSTO 1 25
|
||||
LIST 235 1 25
|
||||
BEGIN
|
||||
PROMPT 43 13 "Costo "
|
||||
PROMPT 43 17 "Costo "
|
||||
ITEM "0|"
|
||||
ITEM "1|Ultimo costo"
|
||||
ITEM "2|Media costi"
|
||||
@ -379,9 +419,39 @@ BEGIN
|
||||
FIELD CODNOTE
|
||||
END
|
||||
|
||||
GROUPBOX F_CDC0 78 6
|
||||
STRING 128 5
|
||||
BEGIN
|
||||
PROMPT 1 15 "@bAnalitica"
|
||||
PROMPT 2 18 "Responsabile"
|
||||
FLAGS "UZ"
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODAG
|
||||
USE 122
|
||||
INPUT CODAGE 128
|
||||
DISPLAY "Codice" CODAGE
|
||||
DISPLAY "Descrizione@50" RAGSOC
|
||||
OUTPUT 128 CODAGE
|
||||
OUTPUT 353 RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RU pr0 -4
|
||||
END
|
||||
|
||||
STRING 353 50
|
||||
BEGIN
|
||||
PROMPT 24 18 ""
|
||||
FLAGS ""
|
||||
CHECKTYPE NORMAL
|
||||
USE 122 KEY 2
|
||||
INPUT RAGSOC 353
|
||||
DISPLAY "Descrizione@50" RAGSOC
|
||||
DISPLAY "Codice" CODAGE
|
||||
OUTPUT 128 CODAGE
|
||||
OUTPUT 353 RAGSOC
|
||||
ADD RUN pr0 -4
|
||||
END
|
||||
|
||||
GROUPBOX F_CDC0 78 3
|
||||
BEGIN
|
||||
PROMPT 1 20 "@bAnalitica"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
@ -457,23 +527,32 @@ END
|
||||
SPREADSHEET F_DISTINTE 0 11
|
||||
BEGIN
|
||||
PROMPT 65 0 ""
|
||||
ITEM "Distinta@20"
|
||||
ITEM "Descrizione@50"
|
||||
ITEM "U.M."
|
||||
ITEM "Quantità@9"
|
||||
ITEM "Costo@16R"
|
||||
ITEM "Prezzo@16R"
|
||||
IT "Voce Elenco Prezzi@20"
|
||||
IT "Descrizione@50"
|
||||
IT "U.M."
|
||||
IT "Quantità@9"
|
||||
IT "Costo@16R"
|
||||
IT "Prezzo@16R"
|
||||
IT "IVA"
|
||||
IT "Data inizio@10"
|
||||
IT "Data fine@10"
|
||||
IT "ID@6"
|
||||
IT "Legame@6"
|
||||
IT "Tipo\nleg.@4"
|
||||
IT "Tot. Ricavi@16"
|
||||
IT "Tot. Costi@16"
|
||||
END
|
||||
|
||||
SPREADSHEET F_ARTICOLI 0 7
|
||||
BEGIN
|
||||
PROMPT 65 11 ""
|
||||
ITEM "Articolo@20"
|
||||
ITEM "Voce Analisi@20"
|
||||
ITEM "Descrizione@50"
|
||||
ITEM "U.M."
|
||||
ITEM "Quantità@9R"
|
||||
ITEM "Costo@16R"
|
||||
ITEM "Prezzo@16R"
|
||||
ITEM "IVA"
|
||||
END
|
||||
|
||||
SPREADSHEET F_MISURE
|
||||
@ -490,7 +569,7 @@ ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
PAGE "Distinta" -1 -1 65 6
|
||||
PAGE "Distinta" -1 -1 65 9
|
||||
|
||||
STRING 101 20
|
||||
BEGIN
|
||||
@ -504,7 +583,6 @@ BEGIN
|
||||
OUTPUT 101 CODDIST
|
||||
OUTPUT 102 DESCR
|
||||
OUTPUT 103 UM
|
||||
OUTPUT 105 PREZZO
|
||||
CHEKTYPE SEARCH
|
||||
ADD RUN db0 -4
|
||||
FIELD CODART
|
||||
@ -554,6 +632,71 @@ BEGIN
|
||||
FIELD PREZZO
|
||||
END
|
||||
|
||||
STRING 107 4
|
||||
BEGIN
|
||||
PROMPT 1 4 "IVA "
|
||||
USE %IVA
|
||||
INPUT CODTAB 107
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT 107 CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODIVA
|
||||
END
|
||||
|
||||
DATE 108
|
||||
BEGIN
|
||||
PROMPT 1 5 "Inizio attività "
|
||||
FIELD DATAINIATT
|
||||
END
|
||||
|
||||
DATE 109
|
||||
BEGIN
|
||||
PROMPT 35 5 "Fine attività "
|
||||
FIELD DATAFINATT
|
||||
END
|
||||
|
||||
NUMBER 110 6
|
||||
BEGIN
|
||||
PROMPT 1 6 "ID "
|
||||
FIELD IDRIGA
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER 111 6
|
||||
BEGIN
|
||||
PROMPT 15 6 "Legame "
|
||||
FIELD IDRIGACOLL
|
||||
END
|
||||
|
||||
LIST 112 1 15
|
||||
BEGIN
|
||||
PROMPT 35 6 "Tipo legame "
|
||||
ITEM "0|Nessuno"
|
||||
ITEM "1|Fine-Inizio"
|
||||
ITEM "2|Fine-Fine"
|
||||
ITEM "3|Inizio-Inizio"
|
||||
ITEM "4|Inizio-Fine"
|
||||
FIELD TIPOCOLL
|
||||
END
|
||||
|
||||
NUMBER 113 16 2
|
||||
BEGIN
|
||||
PROMPT 1 7 "Tot. Ricavi"
|
||||
FLAGS "DG"
|
||||
VALIDATE 14 1 #104*#106
|
||||
DRIVENBY 104 106
|
||||
END
|
||||
|
||||
NUMBER 114 16 2
|
||||
BEGIN
|
||||
PROMPT 35 7 "Tot. Costi"
|
||||
FLAGS "DG"
|
||||
VALIDATE 14 1 #104*#105
|
||||
DRIVENBY 104 105
|
||||
EN
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
@ -582,9 +725,11 @@ STRING 101 20
|
||||
BEGIN
|
||||
PROMPT 1 1 "Articolo "
|
||||
USE LF_ANAMAG
|
||||
JOIN LF_UMART INTO CODART==CODART
|
||||
INPUT CODART 101
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "U.M." LF_UMART->UM
|
||||
OUTPUT 101 CODART
|
||||
OUTPUT 102 DESCR
|
||||
CHEKTYPE NORMAL
|
||||
@ -596,9 +741,11 @@ STRING 102 50
|
||||
BEGIN
|
||||
PROMPT 1 2 "Descriz. "
|
||||
USE LF_ANAMAG KEY 2
|
||||
JOIN LF_UMART INTO CODART==CODART
|
||||
INPUT DESCR 102
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "U.M." LF_UMART->UM
|
||||
COPY OUTPUT 101
|
||||
FIELD DESCR
|
||||
ADD RUN ve2 -3
|
||||
@ -636,6 +783,17 @@ BEGIN
|
||||
FIELD PREZZO
|
||||
END
|
||||
|
||||
STRING 107 4
|
||||
BEGIN
|
||||
PROMPT 45 4 "IVA "
|
||||
USE %IVA
|
||||
INPUT CODTAB 107
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT 107 CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODIVA
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
@ -253,9 +253,11 @@ TFieldtypes TPreventivo_tree::get_var(const TString& name, TVariant& var) const
|
||||
} else
|
||||
if (name == RDOC_DESCR)
|
||||
{
|
||||
TString80 str = m.get(F_NOTE);
|
||||
TString str = m.get(F_NOTE);
|
||||
if (str.blank())
|
||||
get_description(str);
|
||||
const int spc = str.find('\n');
|
||||
if (spc > 0) str.cut(spc);
|
||||
var = str;
|
||||
ft = _alfafld;
|
||||
} else
|
||||
@ -408,8 +410,8 @@ TPreventivo_tree::TPreventivo_tree(TTree_field& owner) : _owner(owner)
|
||||
{
|
||||
// Legge i tipi riga standard per determinare i nodi dell'albero
|
||||
_strFasi = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaFase", "05");
|
||||
_strDist = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDist", "01");
|
||||
_strDett = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDett", "04");
|
||||
_strMisu = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaMisu", "09");
|
||||
_strDist = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDist", "P1");
|
||||
_strDett = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDett", "01");
|
||||
_strMisu = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaMisu", "P2");
|
||||
}
|
||||
|
||||
|
162
pe/pe1500.cpp
162
pe/pe1500.cpp
@ -6,10 +6,12 @@
|
||||
|
||||
class TOrdinazione : public TElaborazione_esterna
|
||||
{
|
||||
TString4 _strFasi, _strDist;
|
||||
|
||||
public:
|
||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
const TDate& data_elab, bool interattivo = false);
|
||||
TOrdinazione(const TString& cod) : TElaborazione_esterna(cod) { }
|
||||
TOrdinazione(const TString& cod);
|
||||
};
|
||||
|
||||
bool TOrdinazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
@ -23,29 +25,38 @@ bool TOrdinazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
{
|
||||
TDocumento* doc = new TDocumento('D', data_elab.year(), codice_numerazione_finale(), 0L);
|
||||
doc->put(DOC_TIPODOC, tipo_finale());
|
||||
doc->put(DOC_STATO, stato_finale());
|
||||
doc_out.add(doc);
|
||||
}
|
||||
|
||||
TDocumento& din = doc_in[i];
|
||||
TDocumento& don = doc_out[i];
|
||||
|
||||
don.put(DOC_TIPOCF, din.get(DOC_TIPOCF));
|
||||
don.put(DOC_CODCF, din.get(DOC_CODCF));
|
||||
don.put(DOC_DATADOC, data_elab);
|
||||
don.put(DOC_NOTE, din.get(DOC_NOTE));
|
||||
don.put(DOC_CODCMS, din.get(DOC_CODCMS));
|
||||
din.put(DOC_STATO, stato_finale_doc_iniziale());
|
||||
|
||||
don.put(DOC_TIPOCF, din.get(DOC_TIPOCF));
|
||||
don.put(DOC_CODCF, din.get(DOC_CODCF));
|
||||
don.put(DOC_DATADOC, data_elab);
|
||||
don.put(DOC_NOTE, din.get(DOC_NOTE));
|
||||
don.put(DOC_CODCMS, din.get(DOC_CODCMS));
|
||||
don.put(DOC_STATO, stato_finale());
|
||||
don.put(DOC_NUMDOCRIF, din.get(DOC_NDOC));
|
||||
don.put(DOC_DATADOCRIF, din.get(DOC_DATADOC));
|
||||
|
||||
TLocalisamfile fasi(LF_FASI);
|
||||
|
||||
const TMultilevel_code_info cfg_fasi(LF_FASI);
|
||||
TString16 fase;
|
||||
|
||||
const int nrows = din.rows();
|
||||
FOR_EACH_PHYSICAL_RDOC(din, r, rdoc)
|
||||
{
|
||||
if (rdoc->is_descrizione())
|
||||
const TString& tr = rdoc->get(RDOC_TIPORIGA);
|
||||
if (tr == _strFasi)
|
||||
{
|
||||
TRiga_documento& rout = don.new_row(rdoc->get(RDOC_TIPORIGA));
|
||||
if (r >= nrows || din[r+1].is_descrizione())
|
||||
continue; // Salta fasi vuote
|
||||
|
||||
TRiga_documento& rout = don.new_row(_strFasi);
|
||||
TDocumento::copy_data(rout, *rdoc);
|
||||
|
||||
const int last_lev = cfg_fasi.levels()-1;
|
||||
@ -60,9 +71,9 @@ bool TOrdinazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
fasi.write_rewrite();
|
||||
}
|
||||
} else
|
||||
if (rdoc->is_merce())
|
||||
if (tr == _strDist)
|
||||
{
|
||||
TRiga_documento& rout = don.new_row(rdoc->get(RDOC_TIPORIGA));
|
||||
TRiga_documento& rout = don.new_row(_strDist);
|
||||
TDocumento::copy_data(rout, *rdoc);
|
||||
rout.set_original_rdoc_key(*rdoc);
|
||||
rout.put(RDOC_FASCMS, fase);
|
||||
@ -73,21 +84,108 @@ bool TOrdinazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
return true;
|
||||
}
|
||||
|
||||
const TString& pe_trova_elaborazione(const TRectype& doc)
|
||||
TOrdinazione::TOrdinazione(const TString& cod) : TElaborazione_esterna(cod)
|
||||
{
|
||||
_strFasi = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaFase", "05");
|
||||
_strDist = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDist", "P1");
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Generazione fabbisogno
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TFabbisognazione : public TElaborazione_esterna
|
||||
{
|
||||
TString4 _strDett, _strDist;
|
||||
|
||||
public:
|
||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
const TDate& data_elab, bool interattivo = false);
|
||||
TFabbisognazione(const TString& cod);
|
||||
};
|
||||
|
||||
bool TFabbisognazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||
const TDate& data_elab, bool interattivo)
|
||||
{
|
||||
for (int i = 0; i < doc_in.items(); i++)
|
||||
{
|
||||
if (i >= doc_out.items())
|
||||
{
|
||||
TDocumento* doc = new TDocumento('D', data_elab.year(), codice_numerazione_finale(), 0L);
|
||||
doc->put(DOC_TIPODOC, tipo_finale());
|
||||
doc_out.add(doc);
|
||||
}
|
||||
|
||||
TDocumento& din = doc_in[i];
|
||||
TDocumento& don = doc_out[i];
|
||||
|
||||
din.put(DOC_STATO, stato_finale_doc_iniziale());
|
||||
|
||||
don.zero(DOC_TIPOCF);
|
||||
don.zero(DOC_CODCF); // NO clifo
|
||||
don.put(DOC_DATADOC, data_elab);
|
||||
don.put(DOC_NOTE, din.get(DOC_NOTE));
|
||||
don.put(DOC_CODCMS, din.get(DOC_CODCMS));
|
||||
don.put(DOC_STATO, stato_finale());
|
||||
don.put(DOC_NUMDOCRIF, din.get(DOC_NDOC));
|
||||
don.put(DOC_DATADOCRIF, din.get(DOC_DATADOC));
|
||||
|
||||
TLocalisamfile fasi(LF_FASI);
|
||||
|
||||
const TMultilevel_code_info cfg_fasi(LF_FASI);
|
||||
TString16 fase;
|
||||
real qta = UNO;
|
||||
const int nrows = din.rows();
|
||||
FOR_EACH_PHYSICAL_RDOC(din, r, rdoc)
|
||||
{
|
||||
const TString& tr = rdoc->get(RDOC_TIPORIGA);
|
||||
if (tr == _strDist)
|
||||
{
|
||||
qta = rdoc->get_real(RDOC_QTA);
|
||||
if (qta <= ZERO)
|
||||
qta = UNO;
|
||||
} else
|
||||
if (tr == _strDett)
|
||||
{
|
||||
TRiga_documento& rout = don.new_row(_strDett);
|
||||
TDocumento::copy_data(rout, *rdoc);
|
||||
rout.put(RDOC_QTA, real(qta * rdoc->get_real(RDOC_QTA)));
|
||||
rout.put(RDOC_PREZZO, rdoc->get(RDOC_QTAGG5));
|
||||
rout.set_original_rdoc_key(*rdoc);
|
||||
rout.put(RDOC_FASCMS, fase);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
TFabbisognazione::TFabbisognazione(const TString& cod) : TElaborazione_esterna(cod)
|
||||
{
|
||||
_strDist = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDist", "P1");
|
||||
_strDett = ini_get_string(CONFIG_DITTA, "pe", "TipoRigaDett", "01");
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Utility pubbliche
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
const TString& pe_trova_elaborazione(const TRectype& doc, char tipo)
|
||||
{
|
||||
TString16 cod;
|
||||
|
||||
const TString4 codnum = doc.get(DOC_CODNUM);
|
||||
const TString4 tipodoc = doc.get(DOC_TIPODOC);
|
||||
const TString4 stato = doc.get(DOC_STATO);
|
||||
const TString& codnum = doc.get(DOC_CODNUM);
|
||||
TString str;
|
||||
str << "USE %ELD SELECT (STR(I0=\"0\"))&&(S3=\"pe1 -4\")&&(S5=\"" << codnum << "\")";
|
||||
if (tipo == 'F')
|
||||
str << "USE %ELD SELECT (STR(I0=\"0\"))&&(S3=\"pe1 -5\")&&(S5=\"" << codnum << "\")"; // Fabbisogni
|
||||
else
|
||||
str << "USE %ELD SELECT (STR(I0=\"0\"))&&(S3=\"pe1 -4\")&&(S5=\"" << codnum << "\")"; // Ordini
|
||||
|
||||
TRecordset* eld = create_recordset(str);
|
||||
if (eld != NULL)
|
||||
{
|
||||
for (bool ok = eld->move_first(); ok; ok = eld->move_next())
|
||||
{
|
||||
const TString16 c = eld->get("CODTAB").as_string();
|
||||
const TString& c = eld->get("CODTAB").as_string();
|
||||
const TElaborazione e(c);
|
||||
if (e.is_document_ok(doc))
|
||||
{
|
||||
@ -100,7 +198,7 @@ const TString& pe_trova_elaborazione(const TRectype& doc)
|
||||
return get_tmp_string() = cod;
|
||||
}
|
||||
|
||||
const TString& pe_trova_elaborazione(const TMask& m)
|
||||
const TString& pe_trova_elaborazione(const TMask& m, char tipo)
|
||||
{
|
||||
TRectype doc(LF_DOC);
|
||||
doc.put(DOC_PROVV, 'D');
|
||||
@ -109,24 +207,35 @@ const TString& pe_trova_elaborazione(const TMask& m)
|
||||
doc.put(DOC_NDOC, m.get(DOC_NDOC));
|
||||
doc.put(DOC_TIPODOC, m.get(DOC_TIPODOC));
|
||||
doc.put(DOC_STATO, m.get(DOC_STATO));
|
||||
return pe_trova_elaborazione(doc);
|
||||
return pe_trova_elaborazione(doc, tipo);
|
||||
}
|
||||
|
||||
bool pe_genera_ordine(TRectype& doc, const TString& cod)
|
||||
bool pe_genera_documento(TRectype& doc, const TString& cod, char tipo)
|
||||
{
|
||||
TString16 codelab = cod;
|
||||
if (codelab.blank())
|
||||
codelab = pe_trova_elaborazione(doc);
|
||||
codelab = pe_trova_elaborazione(doc, tipo);
|
||||
|
||||
TOrdinazione prev(codelab);
|
||||
if (prev.empty())
|
||||
return false;
|
||||
const TString& app = cache().get("%ELD", codelab, "S3");
|
||||
tipo = app.find("-5") > 0 ? 'F' : 'O';
|
||||
|
||||
|
||||
TElaborazione* e = NULL;
|
||||
if (tipo == 'F')
|
||||
e = new TFabbisognazione(codelab);
|
||||
else
|
||||
e = new TOrdinazione(codelab);
|
||||
if (e->empty())
|
||||
{
|
||||
delete e;
|
||||
return error_box("Impossibile trovare l'elaborazione %s", (const char*)cod);
|
||||
}
|
||||
|
||||
const TDate oggi(TODAY);
|
||||
TLista_documenti doc_in, doc_out;
|
||||
doc_in.add(new TDocumento(doc));
|
||||
|
||||
bool ok = prev.elabora(doc_in, doc_out, oggi);
|
||||
bool ok = e->elabora(doc_in, doc_out, oggi);
|
||||
if (ok)
|
||||
{
|
||||
doc_in.rewrite();
|
||||
@ -141,6 +250,7 @@ bool pe_genera_ordine(TRectype& doc, const TString& cod)
|
||||
doc.put(fld, val);
|
||||
}
|
||||
}
|
||||
delete e;
|
||||
|
||||
return ok;
|
||||
}
|
||||
@ -174,7 +284,7 @@ void TOrdinazione_app::main_loop()
|
||||
doc.put(DOC_CODNUM, ini.get(DOC_CODNUM));
|
||||
doc.put(DOC_NDOC, ini.get(DOC_NDOC));
|
||||
|
||||
if (pe_genera_ordine(doc, codelab))
|
||||
if (pe_genera_documento(doc, codelab, 'O'))
|
||||
{
|
||||
ini.set_paragraph("Transaction");
|
||||
ini.set("Result", "OK");
|
||||
|
14
pe/pe1500.h
14
pe/pe1500.h
@ -1,8 +1,16 @@
|
||||
#ifndef __PE1500_H
|
||||
#define __PE1500_H
|
||||
|
||||
const TString& pe_trova_elaborazione(const TRectype& doc);
|
||||
const TString& pe_trova_elaborazione(const TMask& doc);
|
||||
bool pe_genera_ordine(TRectype& doc, const TString& codelab);
|
||||
#ifndef __ISAM_H
|
||||
#include <isam.h>
|
||||
#endif
|
||||
|
||||
#ifndef __MASK_H
|
||||
#include <mask.h>
|
||||
#endif
|
||||
|
||||
const TString& pe_trova_elaborazione(const TRectype& doc, char tipo);
|
||||
const TString& pe_trova_elaborazione(const TMask& doc, char tipo);
|
||||
bool pe_genera_documento(TRectype& doc, const TString& codelab, char tipo);
|
||||
|
||||
#endif
|
||||
|
50
pe/pe1600.cpp
Normal file
50
pe/pe1600.cpp
Normal file
@ -0,0 +1,50 @@
|
||||
#include <applicat.h>
|
||||
#include <doc.h>
|
||||
|
||||
#include "pe1500.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TFabbisognazione_app
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TFabbisognazione_app : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
};
|
||||
|
||||
void TFabbisognazione_app::main_loop()
|
||||
{
|
||||
TFilename ininame;
|
||||
if (argc() >= 2)
|
||||
{
|
||||
const TFixed_string arg = argv(2);
|
||||
ininame = arg.starts_with("-i", true) ? arg.mid(2) : arg;
|
||||
}
|
||||
|
||||
TConfig ini(ininame, "Transaction");
|
||||
const TString8 codelab = ini.get("Action");
|
||||
|
||||
ini.set_paragraph("33");
|
||||
TRectype doc(LF_DOC);
|
||||
doc.put(DOC_PROVV, ini.get(DOC_PROVV));
|
||||
doc.put(DOC_ANNO, ini.get(DOC_ANNO));
|
||||
doc.put(DOC_CODNUM, ini.get(DOC_CODNUM));
|
||||
doc.put(DOC_NDOC, ini.get(DOC_NDOC));
|
||||
|
||||
if (pe_genera_documento(doc, codelab, 'F'))
|
||||
{
|
||||
ini.set_paragraph("Transaction");
|
||||
ini.set("Result", "OK");
|
||||
ini.set("Error", "0");
|
||||
|
||||
ini.set_paragraph("33");
|
||||
for (int i = 0; i < doc.items(); i++)
|
||||
{
|
||||
const char* fld = doc.fieldname(i);
|
||||
const TString& val = doc.get(fld);
|
||||
if (val.full())
|
||||
ini.set(fld, val);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user