Patch level :R_02_01 06

Files correlati     :or1.exe + mask & forms
Ricompilazione Demo : [ ]
Commento            :
riportata correzione dalla D_02_00 riguardo la stampa livelli di giacenza


git-svn-id: svn://10.65.10.50/trunk@11790 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2004-03-01 11:29:19 +00:00
parent a2b823ccf7
commit d10d437540
7 changed files with 2257 additions and 1508 deletions

View File

@ -72,8 +72,10 @@ protected:
void filter_for_clifo_agent();
void filter_for_articolo();
void show_body_field_for_clifo_agent(short id, bool on);
void show_body_field_for_articolo(short id, bool on);
void show_giac_levels();
void show_body_field_for_number(short id, bool on, int from = 0, int to = 0);
void show_body_field_for_clifo_agent(short id, bool on, int from = 0, int to = 0);
void show_body_field_for_articolo(short id, bool on, int from = 0, int to = 0);
public:
TStampa_ordini() {};
@ -122,11 +124,13 @@ bool TStampa_ordini::detail_handler(TMask_field& f, KEY k)
m.enable(-GR_MAG,b);
m.enable(-GR_PRINT, b);
m.enable(F_STATORORD,b);
m.enable(F_DETAIL_BY_DOC, b);
}
m.enable(F_STATOORD,!b);
if (tipo != articolo)
m.set(F_DETAIL_BY_DOC, !b ? "" : "X");
const bool enable_field = !b && (tipo != articolo);
m.enable(F_DETAIL_BY_DOC, enable_field);
m.set(F_DETAIL_BY_DOC, enable_field ? "" : "X");
if (!b)
{
m.reset(F_FORCE_EVASE);
@ -140,7 +144,6 @@ bool TStampa_ordini::create()
{
open_files(LF_OCCAS, LF_CLIFO, LF_INDSP, LF_CFVEN, LF_UMART, LF_MAG, LF_STOMAG, LF_MOVMAG, LF_RMOVMAG, LF_RIGHEDOC, 0);
_m = new TMask ("or1100a");
//_m->set_handler(F_STATOORD, stato_handler);
_m->set_handler(F_DETTAGLIO, detail_handler);
_codgiac = new TCodgiac_livelli;
if (!_codgiac->enabled())
@ -251,6 +254,40 @@ bool TStampa_ordini::document_filter(const TRelation* rel)
return FALSE;
}
//********************SEZIONI DEDICATE ALLE 4 TIPOLOGIE DI STAMPA PRINCIPALI*******************
//Per Numero Documento
//********************
void TStampa_ordini::show_body_field_for_number(short id, bool on, int from, int to)
{
TForm_item* i = _frm->exist_field('B', odd_page, id);
if (i != NULL)
{
i->enable(on);
if (on && (to > from))
i->width() = to - from;
//aggiunto in prova da qui...
{
const short offset1 = 300;
TForm_subsection& ssec1 = (TForm_subsection&)_frm->find_field('B', odd_page, "RIGHEART"); // Sottosezione padre
TForm_string& fld1 = (TForm_string&)ssec1.printsection().find_field(id + offset1);
fld1.show(on);
fld1.width() = to - from;
}
//...a qui
const short offset = !_detail_doc && _detail_rows ? 400 : 100;
TForm_subsection& ssec = (TForm_subsection&)_frm->find_field('B', odd_page, "RIGHE"); // Sottosezione padre
TForm_string& fld = (TForm_string&)ssec.printsection().find_field(id + offset);
fld.show(on);
if (on && (to > from))
{
fld.width() = to - from;
fld.field(0).set_from(from);
fld.field(0).set_to(to);
}
}
}
void TStampa_ordini::filter_for_number()
{
CHECK(_frm, "Form non valido");
@ -352,7 +389,7 @@ void TStampa_ordini::filter_for_number()
if (_detail_rows)
{
for (short i = BODY_COL_7; i<=BODY_COL_12; i++)
for (short i = BODY_COL_UM; i<=BODY_COL_LAST; i++)
_frm->find_field('B', odd_page, i).show();
_frm->find_field('B', odd_page, "DET").show(); // Visualizza la sottosezione
TForm_subsection& ssec = (TForm_subsection&)_frm->find_field('B', odd_page, "RIGHE"); // Sottosezione padre
@ -478,7 +515,7 @@ void TStampa_ordini::filter_for_number()
{
TForm_subsection& ss = (TForm_subsection&)_frm->find_field('B', odd_page, "RIGHE");
TPrint_section& ps = ss.printsection();
for (short j = BODY_COL_1; j <= BODY_COL_12; j++)
for (short j = BODY_COL_FIRST; j <= BODY_COL_LAST; j++)
{
ps.find_field(j + 100).disable();
ps.find_field(j + 400).enable();
@ -487,29 +524,78 @@ void TStampa_ordini::filter_for_number()
}
// Abilitazione intestazioni di colonna
_frm->find_field('B', odd_page, BODY_COL_5).show(_opz_valore);
_frm->find_field('B', odd_page, BODY_COL_6).show(_opz_valore);
_frm->find_field('F', last_page, BODY_COL_5+200).show(_opz_valore);
_frm->find_field('F', last_page, BODY_COL_6+200).show(_opz_valore);
_frm->find_field('B', odd_page, BODY_COL_10).show(_opz_prezzo);
_frm->find_field('B', odd_page, BODY_COL_11).show(_opz_residuo);
_frm->find_field('B', odd_page, BODY_COL_12).show(_opz_giacenza);
show_body_field_for_number(BODY_COL_VALORE, _opz_valore);
show_body_field_for_number(BODY_COL_VALRES, _opz_valore);
show_body_field_for_number(BODY_COL_PRZSCON, _opz_prezzo);
show_body_field_for_number(BODY_COL_INTEST, _opz_residuo);
show_body_field_for_number(BODY_COL_GIACATT, _opz_giacenza);
// Abilitazione delle righe
const short id = !_detail_doc && _detail_rows ? 400 : 100;
TForm_subsection& ssec = (TForm_subsection&)_frm->find_field('B', odd_page, "RIGHE"); // Sottosezione padre
ssec.printsection().find_field(BODY_COL_5 + id).show(_opz_valore);
ssec.printsection().find_field(BODY_COL_6 + id).show(_opz_valore);
ssec.printsection().find_field(BODY_COL_10 + id).show(_opz_prezzo);
ssec.printsection().find_field(BODY_COL_11 + id).show(_opz_residuo);
ssec.printsection().find_field(BODY_COL_12 + id).show(_opz_giacenza);
_frm->find_field('F', last_page, BODY_COL_VALORE+200).show(_opz_valore);
_frm->find_field('F', last_page, BODY_COL_VALRES+200).show(_opz_valore);
show_giac_levels();
}
void TStampa_ordini::show_body_field_for_clifo_agent(short id, bool on)
//Per Cliente/Fornitore o per Agente
//**********************************
void TStampa_ordini::show_body_field_for_clifo_agent(short id, bool on, int from, int to)
{
TForm_item* i = _frm->exist_field('B', odd_page, id);
if (i != NULL)
i->enable(on);
{
i->show(on);
if (on && (to > from))
i->width() = to - from;
{
const short offset1 = 100;
TForm_subsection& ssec1 = (TForm_subsection&)_frm->find_field('B', odd_page, "DOCUMENTI"); // Sottosezione padre
TForm_string * fld1 = (TForm_string *) ssec1.printsection().exist_field(id + offset1);
if (fld1 != NULL)
{
fld1->show(on);
if (on && to > from)
fld1->width() = to - from;
}
}
/* {
const short offset1 = 300;
TForm_subsection& ssec1 = (TForm_subsection&)_frm->find_field('B', odd_page, "RIGHEART"); // Sottosezione padre
TForm_string& fld1 = (TForm_string&)ssec1.printsection().find_field(id + offset1);
fld1.show(on);
fld1.width() = to - from;
} */
{
const short offset1 = 400;
TString16 subsection;
if (_tipo == clifo)
subsection << "DOCUMENTI";
else
subsection << "ARTCLI";
TForm_subsection& ssec1 = (TForm_subsection&)_frm->find_field('B', odd_page, subsection); // Sottosezione padre
TForm_string& fld1 = (TForm_string&)ssec1.printsection().find_field(id + offset1);
fld1.show(on);
if (to > from)
{
fld1.width() = to - from;
fld1.field(0).set_from(from);
fld1.field(0).set_to(to);
}
}
const short offset2 = 200;
TForm_subsection& ssec2 = (TForm_subsection&)_frm->find_field('B', odd_page, "RIGHEDOC"); // Sottosezione padre
TForm_string& fld2 = (TForm_string&)ssec2.printsection().find_field(id + offset2);
fld2.show(on);
if (on && to > from)
{
fld2.width() = to - from;
fld2.field(0).set_from(from);
fld2.field(0).set_to(to);
}
}
}
void TStampa_ordini::filter_for_clifo_agent()
@ -725,8 +811,8 @@ void TStampa_ordini::filter_for_clifo_agent()
ssec.enable(); // Se stampa per agenti e dettaglia documenti per cliente abilita la sezione
else
{ // Se stampa per cli/fo abilita i campi corrispondenti al distinguo per documento (valuta, residuo evaso ecc...)
ssec.printsection().find_field(BODY_COL_1 + 100).show();
for (short id = BODY_COL_2 + 100; id <= (BODY_COL_6 + 100); id++)
ssec.printsection().find_field(BODY_COL_CODART + 100).show();
for (short id = BODY_COL_DESART + 100; id <= (BODY_COL_VALRES + 100); id++)
ssec.printsection().find_field(id).enable();
}
// Deve essere abilitata ma nascosta, per eseguire i raggruppamenti sulle righe
@ -738,12 +824,12 @@ void TStampa_ordini::filter_for_clifo_agent()
// In qualsiasi caso va fatta questa abilitazione
bool is_art = _detail_rows && !_detail_doc;
((TForm_subsection&) _frm->find_field('B', odd_page, "DOCUMENTI")).printsection().find_field(BODY_COL_5 + 100).enable(_opz_valore && !is_art);
((TForm_subsection&) _frm->find_field('B', odd_page, "DOCUMENTI")).printsection().find_field(BODY_COL_6 + 100).enable(_opz_valore && !is_art);
((TForm_subsection&) _frm->find_field('B', odd_page, "DOCUMENTI")).printsection().find_field(BODY_COL_VALORE + 100).enable(_opz_valore && !is_art);
((TForm_subsection&) _frm->find_field('B', odd_page, "DOCUMENTI")).printsection().find_field(BODY_COL_VALRES + 100).enable(_opz_valore && !is_art);
if (_detail_rows) // Stampa dettaglio righe...
{
for (short i = BODY_COL_7; i<=BODY_COL_12; i++)
for (short i = BODY_COL_UM; i<=BODY_COL_LAST; i++)
_frm->find_field('B', odd_page, i).show(); // Aggiunge le colonne di dettaglio
// dulcis in fundo (Dulcinea mia adorata), si abilita la sezione RIGHEART
// anziche' RIGHEDOC nel qual caso sia stato specificato il raggruppamento per Articoli (e sotto-opzioni)
@ -757,11 +843,11 @@ void TStampa_ordini::filter_for_clifo_agent()
{
TForm_subsection& ssec = (TForm_subsection&) _frm->find_field('B', odd_page, "ARTCLI");
ssec.enable();
ssec.printsection().find_field(BODY_COL_5 + 400).enable(_opz_valore);
ssec.printsection().find_field(BODY_COL_6 + 400).enable(_opz_valore);
ssec.printsection().find_field(BODY_COL_10 + 400).enable(_opz_prezzo);
ssec.printsection().find_field(BODY_COL_11 + 400).enable(_opz_residuo);
ssec.printsection().find_field(BODY_COL_12 + 400).enable(_opz_giacenza);
ssec.printsection().find_field(BODY_COL_VALORE + 400).enable(_opz_valore);
ssec.printsection().find_field(BODY_COL_VALRES + 400).enable(_opz_valore);
ssec.printsection().find_field(BODY_COL_PRZSCON + 400).enable(_opz_prezzo);
ssec.printsection().find_field(BODY_COL_INTEST + 400).enable(_opz_residuo);
ssec.printsection().find_field(BODY_COL_GIACATT + 400).enable(_opz_giacenza);
if (_detail_cli) // Se e' abilitata la distinzione per clienti setta l'espressione di raggruppamento
{
@ -784,51 +870,73 @@ void TStampa_ordini::filter_for_clifo_agent()
if (is_for_cli)
{ // I seguenti campi non necessitano di abilitazione se la stampa e' per agente
TForm_subsection& dsec = (TForm_subsection&) _frm->find_field('B', odd_page, "DOCUMENTI");
for (short id = BODY_COL_1 + 400; id <= (BODY_COL_12 + 400); id++)
for (short id = BODY_COL_FIRST + 400; id <= (BODY_COL_LAST + 400); id++)
dsec.printsection().find_field(id).enable();
dsec.printsection().find_field(BODY_COL_5 + 400).enable(_opz_valore);
dsec.printsection().find_field(BODY_COL_6 + 400).enable(_opz_valore);
dsec.printsection().find_field(BODY_COL_10 + 400).enable(_opz_prezzo);
dsec.printsection().find_field(BODY_COL_11 + 400).enable(_opz_residuo);
dsec.printsection().find_field(BODY_COL_12 + 400).enable(_opz_giacenza);
dsec.printsection().find_field(BODY_COL_VALORE + 400).enable(_opz_valore);
dsec.printsection().find_field(BODY_COL_VALRES + 400).enable(_opz_valore);
dsec.printsection().find_field(BODY_COL_PRZSCON + 400).enable(_opz_prezzo);
dsec.printsection().find_field(BODY_COL_INTEST + 400).enable(_opz_residuo);
dsec.printsection().find_field(BODY_COL_GIACATT + 400).enable(_opz_giacenza);
}
}
else
{
_frm->find_field('B', odd_page, "RIGHEDOC").enable(); // Abilita la sezione di dettaglio righe PER DOCUMENTO
TForm_subsection& rd = (TForm_subsection&) _frm->find_field('B', odd_page, "RIGHEDOC");
rd.printsection().find_field(BODY_COL_5 + 200).enable(_opz_valore);
rd.printsection().find_field(BODY_COL_6 + 200).enable(_opz_valore);
rd.printsection().find_field(BODY_COL_10 + 200).enable(_opz_prezzo);
rd.printsection().find_field(BODY_COL_11 + 200).enable(_opz_residuo);
rd.printsection().find_field(BODY_COL_12 + 200).enable(_opz_giacenza);
rd.printsection().find_field(BODY_COL_VALORE + 200).enable(_opz_valore);
rd.printsection().find_field(BODY_COL_VALRES + 200).enable(_opz_valore);
rd.printsection().find_field(BODY_COL_PRZSCON + 200).enable(_opz_prezzo);
rd.printsection().find_field(BODY_COL_INTEST + 200).enable(_opz_residuo);
rd.printsection().find_field(BODY_COL_GIACATT + 200).enable(_opz_giacenza);
}
}
// Abilitazione intestazioni di colonna
show_body_field_for_clifo_agent(BODY_COL_5, _opz_valore);
show_body_field_for_clifo_agent(BODY_COL_6, _opz_valore);
show_body_field_for_clifo_agent(BODY_COL_10, _opz_prezzo);
show_body_field_for_clifo_agent(BODY_COL_11, _opz_residuo);
show_body_field_for_clifo_agent(BODY_COL_12, _opz_giacenza);
show_body_field_for_clifo_agent(BODY_COL_VALORE, _opz_valore);
show_body_field_for_clifo_agent(BODY_COL_VALRES, _opz_valore);
show_body_field_for_clifo_agent(BODY_COL_PRZSCON, _opz_prezzo);
show_body_field_for_clifo_agent(BODY_COL_INTEST, _opz_residuo);
show_body_field_for_clifo_agent(BODY_COL_GIACATT, _opz_giacenza);
show_giac_levels();
set_totvaluta_items();
}
void TStampa_ordini::show_body_field_for_articolo(short id, bool on)
//Per Articolo
//************
void TStampa_ordini::show_body_field_for_articolo(short id, bool on, int from, int to)
{
TForm_item* i = _frm->exist_field('B', odd_page, id);
if (i != NULL)
{
i->enable(on);
if (on && (to > from))
i->width() = to - from;
i = _frm->exist_field('B', odd_page, id+400);
if (i != NULL)
{
i->enable(on);
if (on && (to > from))
{
TForm_string& fld = (TForm_string&) _frm->find_field('B', odd_page, id+300);
i->width() = to - from;
fld.width() = to - from;
fld.field(0).set_from(from);
fld.field(0).set_to(to);
}
}
TForm_subsection& asec = (TForm_subsection&)_frm->find_field('B', odd_page, "TOTVAL1");
i = asec.printsection().exist_field(id+500);
if (i != NULL)
{
i->enable(on);
if (on && (to > from))
i->width() = to - from;
}
}
}
@ -874,7 +982,7 @@ void TStampa_ordini::filter_for_articolo()
t = f;
t.put(RDOC_CODART, _to_art);
cur->setkey(2); // Questa chiave rende piu' veloce la costruzione se indicato un range di articoli
cur->setregion(f,t); // This is the region...
cur->setregion(f,t,0x2); // This is the region...
s.format("(%d->TIPOCF==\"",LF_DOC);
filter_expr << s << _tipocf << "\")"; // Nel caso di stampa per agenti e' sempre "C"
@ -987,19 +1095,51 @@ void TStampa_ordini::filter_for_articolo()
s << "+" << mag_str;
ssec.setcondition(s, _strexpr);
for (short id = BODY_COL_1 + 400; id <= (BODY_COL_12 + 400); id++)
for (short id = BODY_COL_FIRST + 400; id <= (BODY_COL_LAST + 400); id++)
_frm->find_field('B',odd_page,id).enable();
// Abilitazione intestazioni di colonna
show_body_field_for_articolo(BODY_COL_5,_opz_valore);
show_body_field_for_articolo(BODY_COL_6,_opz_valore);
show_body_field_for_articolo(BODY_COL_10,_opz_prezzo);
show_body_field_for_articolo(BODY_COL_11,_opz_residuo);
show_body_field_for_articolo(BODY_COL_12,_opz_giacenza);
show_body_field_for_articolo(BODY_COL_VALORE,_opz_valore);
show_body_field_for_articolo(BODY_COL_VALRES,_opz_valore);
show_body_field_for_articolo(BODY_COL_PRZSCON,_opz_prezzo);
show_body_field_for_articolo(BODY_COL_INTEST,_opz_residuo);
show_body_field_for_articolo(BODY_COL_GIACATT,_opz_giacenza);
//Abilitazione di eventuali colonne livelli di giacenza
show_giac_levels();
set_totvaluta_items();
}
//Parte comune
//************
void TStampa_ordini::show_giac_levels()
{
//accende le colonne con i livelli di giacenza esistenti ;
for (int l = 1; l <= _codgiac->max_levels(); l++)
{
const int level_fld = BODY_COL_LIVGIAC1 + l -1;
const bool on = (l <= _detail_level) && _codgiac->enabled(l);
const int from = _codgiac->code_start(l)-1;
const int len = _codgiac->code_length(l);
const int to = from + len;
switch (_tipo)
{
case clifo:
case agente:
show_body_field_for_clifo_agent(level_fld, on, from, to);
break;
case articolo:
show_body_field_for_articolo(level_fld, on, from, to);
break;
default:
show_body_field_for_number(level_fld, on, from, to);
break;
}
}
}
void TStampa_ordini::main_loop()
{
TString form_name;
@ -1057,7 +1197,11 @@ void TStampa_ordini::main_loop()
_detail_cli = _m->get_bool(F_DETAIL_BY_CLI);
_detail_mag = _m->get_bool(F_DETAIL_MAG);
_detail_dep = _m->get_bool(F_DETAIL_DEP);
if (_m->field(F_DETAIL_LEV).active())
_detail_level = _m->get_int(F_DETAIL_LEV);
else
_detail_level = _detail_rows ? _codgiac->last_level() : 0;
_pr_spese = _m->get_bool(F_PRINTSPESE);
_pr_prest = _m->get_bool(F_PRINTPREST);

View File

@ -52,133 +52,171 @@ END //HEADER
SECTION BODY ODD 2 COLUMNWISE
STRING BODY_COL_1 22
STRINGA BODY_COL_CODART 22
BEGIN
SPECIAL STRINGA INTESTAZIONE "Documento" "Documento"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Descrizione documento"
PROMPT 1 1 ""
PROMPT 1 1 "@b"
MESSAGE _STREXPR,CODNUM+"/"+NDOC+" del "+DATADOC
END
STRING BODY_COL_2 40
STRINGA BODY_COL_LIVGIAC1 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C1" "Livello giacenza 1"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 1" // Solo intestazione
PROMPT 2 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC2 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C2" "Livello giacenza 2"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 2" // Solo intestazione
PROMPT 3 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC3 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C3" "Livello giacenza 3"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 3" // Solo intestazione
PROMPT 4 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC4 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C4" "Livello giacenza 4"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 4" // Solo intestazione
PROMPT 5 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_DESART 40
BEGIN
SPECIAL STRINGA INTESTAZIONE "Cod./Descrizione" "Cod./Descrizione"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Cod./Descrizione"
PROMPT 2 1 ""
PROMPT 6 1 ""
MESSAGE _ORDINE,RAGSOC,1
END
STRINGA BODY_COL_3 4
STRINGA BODY_COL_CODVAL 4
BEGIN
SPECIAL STRINGA INTESTAZIONE "Val." "Val."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
FIELD CODVAL
END
DATA BODY_COL_4 10
DATA BODY_COL_DATACONS 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "Data cons." "Data cons."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Data consegna documento"
PROMPT 4 1 ""
PROMPT 8 1 ""
FIELD DATACONS
END
VALUTA BODY_COL_5 15
VALUTA BODY_COL_VALORE 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore"
PROMPT 5 1 ""
PROMPT 9 1 ""
FIELD TOTVALORE
DRIVENBY BODY_COL_3
// PICTURE "."
DRIVENBY BODY_COL_CODVAL
END
VALUTA BODY_COL_6 15
VALUTA BODY_COL_VALRES 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore Residuo"
PROMPT 6 1 ""
PROMPT 10 1 ""
FIELD TOTVALRES
DRIVENBY BODY_COL_3
// PICTURE "."
DRIVENBY BODY_COL_CODVAL
END
STRINGA BODY_COL_7 4
STRINGA BODY_COL_UM 4
BEGIN
SPECIAL STRINGA INTESTAZIONE "UM" "UM"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Unita' di misura" // Solo intestazione
FLAGS "H"
PROMPT 7 1 ""
PROMPT 11 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_8 15
STRINGA BODY_COL_QTAORD 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Q.ta Ordinata" "Q.ta Ordinata"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Ordinata" // Solo intestazione
FLAGS "H"
PROMPT 8 1 ""
PROMPT 12 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_9 15
STRINGA BODY_COL_QTAEVA 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CQ.ta Evasa" "Q.ta Evasa"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Evasa" // Solo intestazione
FLAGS "H"
PROMPT 9 1 ""
PROMPT 13 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_10 13
STRINGA BODY_COL_PRZSCON 13
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CPr. scontato" "Prezzo un. scontato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Prezzo un. scontato" // Solo intestazione
FLAGS "H"
PROMPT 10 1 ""
PROMPT 14 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_11 15
STRINGA BODY_COL_INTEST 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CResiduo" "Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Residuo" // Solo intestazione
FLAGS "H"
PROMPT 11 1 ""
PROMPT 15 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_12 15
STRINGA BODY_COL_GIACATT 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CGiac. Att." "Giacenza attuale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Giacenza attuale" // Solo intestazione
FLAGS "H"
PROMPT 12 1 ""
PROMPT 16 1 ""
GROUP G_DETTAGLIO
END
@ -195,56 +233,78 @@ SECTION DET 2 0 0 FILE LF_RIGHEDOC
PROMPT 1 1 ""
END
STRINGA 102 40
STRINGA 113 10
BEGIN
PROMPT 2 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 114 10
BEGIN
PROMPT 3 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 115 5
BEGIN
PROMPT 4 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 116 5
BEGIN
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 102 40
BEGIN
PROMPT 6 1 ""
MESSAGE _STREXPR, LF_RIGHEDOC->CODART+" "+LF_RIGHEDOC->DESCR
END
STRING 103 4
STRINGA 103 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA 104 10
BEGIN
PROMPT 4 1 ""
PROMPT 8 1 ""
FIELD LF_RIGHEDOC->DATACONS
END
VALUTA 105 15
BEGIN
PROMPT 5 1 "" // valore
PROMPT 9 1 "" // valore
MESSAGE _ORDINE,VALORE|ADD,FL->205
DRIVENBY 103
// PICTURE "."
END
VALUTA 106 15
BEGIN
PROMPT 6 1 "" // Val residuo riga
PROMPT 10 1 "" // Val residuo riga
MESSAGE _ORDINE,VALRES|ADD,FL->206
DRIVENBY 103
// PICTURE "."
END
STRINGA 107 4
BEGIN
PROMPT 7 1 "" // Unita' di misura
PROMPT 11 1 "" // Unita' di misura
FIELD LF_RIGHEDOC->UMQTA
END
NUMBER 108 15
NUMERO 108 15
BEGIN
PROMPT 8 1 "" // Q.ta Ordinata
PROMPT 12 1 "" // Q.ta Ordinata
MESSAGE _ORDINE,QTA
PICTURE "########@,@@@@@"
END
NUMBER 109 15
NUMERO 109 15
BEGIN
PROMPT 9 1 "" // Q.ta Evasa
PROMPT 13 1 "" // Q.ta Evasa
MESSAGE _ORDINE,QTAEVASA
PICTURE "########@,@@@@@"
END
@ -252,209 +312,283 @@ SECTION DET 2 0 0 FILE LF_RIGHEDOC
VALUTA 110 13
BEGIN
KEY "Prezzo un scontato"
PROMPT 10 1 ""
PROMPT 14 1 ""
MESSAGE _ORDINE,PREZZONS
// PICTURE "."
FLAGS "U"
DRIVENBY 103
END
NUMBER 111 15
NUMERO 111 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,RESIDUO
END
NUMBER 112 15
NUMERO 112 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
PROMPT 16 1 ""
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,GIACENZA
END
SECTION RIGHEART 1 0 0 FILE LF_RIGHEDOC GROUP CODART+DATACONS
FLAGS "D"
NUMBER 301 22
NUMERO 301 22
BEGIN
PROMPT 1 1 ""
FLAGS "H"
END
STRING 302 40 2
STRINGA 313 10
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
MESSAGE _ORDINE,DESCRIZIONE|COPY,402
FLAGS "H"
END
STRING 303 4
STRINGA 314 10
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
FLAGS "H"
END
STRINGA 315 5
BEGIN
PROMPT 4 1 ""
FLAGS "H"
END
STRINGA 316 5
BEGIN
PROMPT 5 1 ""
FLAGS "H"
END
STRINGA 302 40 2
BEGIN
KEY "Descrizione"
PROMPT 6 1 ""
MESSAGE _ORDINE,DESCRIZIONE|COPY,402
FLAGS "H"
END
STRINGA 303 4
BEGIN
KEY "Codice Valuta"
PROMPT 7 1 ""
FLAGS "H"
END
DATA 304 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
PROMPT 8 1 ""
FIELD LF_RIGHEDOC->DATACONS
MESSAGE COPY,404
FLAGS "H"
END
VALUTA 305 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
PROMPT 9 1 ""
MESSAGE _ORDINE,VALORE
// PICTURE "."
DRIVENBY 303
FLAGS "H"
END
VALUTA 306 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
PROMPT 10 1 ""
MESSAGE _ORDINE,VALRES
// PICTURE "."
DRIVENBY 303
FLAGS "H"
END
STRINGA 307 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
FIELD LF_RIGHEDOC->UMQTA
MESSAGE _ORDINE,SELECTUM|COPY,407
FLAGS "H"
END
NUMBER 308 15
NUMERO 308 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
PROMPT 12 1 ""
MESSAGE _ORDINE,QTA|_ORDINE,CONVUM|ADD,408
FLAGS "H"
END
NUMBER 309 15
NUMERO 309 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
PROMPT 13 1 ""
MESSAGE _ORDINE,QTAEVASA|_ORDINE,CONVUM|ADD,409
FLAGS "H"
END
VALUTA 310 13
BEGIN
KEY "Prezzo non scontato"
PROMPT 10 1 ""
PROMPT 14 1 ""
MESSAGE _ORDINE,PREZZONS|COPY,410
DRIVENBY 303
FLAGS "HU"
END
NUMBER 311 15
NUMERO 311 15
BEGIN
KEY " Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
FLAGS "H"
END
NUMBER 312 15
NUMERO 312 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
PROMPT 16 1 ""
MESSAGE _ORDINE,GIACENZA|COPY,412
FLAGS "H"
END
END // END SECTION RIGHEART
END //SECTION RIGHE
// Totalizers for section RIGHEART
NUMBER 401 22
NUMERO 401 22
BEGIN
PROMPT 1 1 ""
FLAGS "D"
END
STRING 402 40 2
STRINGA 413 10
BEGIN
KEY ""
PROMPT 2 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 414 10
BEGIN
KEY ""
PROMPT 3 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 415 5
BEGIN
KEY ""
PROMPT 4 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 416 5
BEGIN
KEY ""
PROMPT 5 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 402 40 2
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
PROMPT 6 1 ""
FLAGS "D"
END
STRING 403 4
STRINGA 403 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
FLAGS "D"
END
DATA 404 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
PROMPT 8 1 ""
FLAGS "D"
END
VALUTA 405 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
// PICTURE "."
PROMPT 9 1 ""
FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
VALUTA 406 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
// PICTURE "."
PROMPT 10 1 ""
FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
STRINGA 407 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 408 15
NUMERO 408 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 409 15
NUMERO 409 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
PROMPT 13 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
VALUTA 410 13
BEGIN
KEY "Pr. non scontato"
PROMPT 10 1 ""
// PICTURE "."
PROMPT 14 1 ""
FLAGS "DU"
DRIVENBY 403
GROUP G_TOTALEART
END
NUMBER 411 15
NUMERO 411 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 412 15
NUMERO 412 15
BEGIN
KEY "Giac. attuale"
PROMPT 12 1 ""
PROMPT 16 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
@ -490,14 +624,12 @@ SECTION FOOTER LAST 5 COLUMNWISE
BEGIN
PROMPT 5 1 "" // valore
DRIVENBY 203
// PICTURE "."
END
VALUTA 206 15
BEGIN
PROMPT 6 1 "" // Val residuo
DRIVENBY 203
// PICTURE "."
END
END //FOOTER

View File

@ -78,18 +78,26 @@
#define G_TOTALE 2
#define G_TOTALEART 3
#define BODY_COL_1 1
#define BODY_COL_2 2
#define BODY_COL_3 3
#define BODY_COL_4 4
#define BODY_COL_5 5
#define BODY_COL_6 6
#define BODY_COL_7 7
#define BODY_COL_8 8
#define BODY_COL_9 9
#define BODY_COL_10 10
#define BODY_COL_11 11
#define BODY_COL_12 12
#define BODY_COL_CODART 1
#define BODY_COL_DESART 2
#define BODY_COL_CODVAL 3
#define BODY_COL_DATACONS 4
#define BODY_COL_VALORE 5
#define BODY_COL_VALRES 6
#define BODY_COL_UM 7
#define BODY_COL_QTAORD 8
#define BODY_COL_QTAEVA 9
#define BODY_COL_PRZSCON 10
#define BODY_COL_INTEST 11
#define BODY_COL_GIACATT 12
#define BODY_COL_LIVGIAC1 13
#define BODY_COL_LIVGIAC2 14
#define BODY_COL_LIVGIAC3 15
#define BODY_COL_LIVGIAC4 16
//numeri utili per i cicli all'interno del programma (x non impazzire con le definizioni..)
#define BODY_COL_FIRST 1
#define BODY_COL_LAST 16
#define BODY_CODVAL 53
#define BODY_TOTVALORD 55

View File

@ -226,9 +226,9 @@ END
BOOLEAN F_DETAIL_BY_DOC
BEGIN
PROMPT 37 12 "Dettaglio per documento"
FLAGS "D"
MESSAGE TRUE DISABLE,GR_DETAILART@
MESSAGE FALSE ENABLE,GR_DETAILART@
// FLAGS "D"
// MESSAGE TRUE DISABLE,GR_DETAILART@
// MESSAGE FALSE ENABLE,GR_DETAILART@
GROUP GR_DETAIL
END

View File

@ -52,11 +52,11 @@ END //HEADER
SECTION BODY ODD 4 COLUMNWISE
NUMBER BODY_COL_1 10
NUMERO BODY_COL_CODART 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "Codice" "Codice"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Codice"
PROMPT 1 1 "@B"
FIELD LF_DOC->CODCF
@ -64,117 +64,157 @@ BEGIN
PICTURE "########"
END
STRING BODY_COL_2 40
STRINGA BODY_COL_LIVGIAC1 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C1" "Livello giacenza 1"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 1" // Solo intestazione
PROMPT 2 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC2 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C2" "Livello giacenza 2"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 2" // Solo intestazione
PROMPT 3 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC3 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C3" "Livello giacenza 3"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 3" // Solo intestazione
PROMPT 4 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC4 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C4" "Livello giacenza 4"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 4" // Solo intestazione
PROMPT 5 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_DESART 40
BEGIN
SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Descrizione Rag Soc"
PROMPT 2 1 ""
PROMPT 6 1 ""
MESSAGE _ORDINE,RAGSOC,0
END
STRINGA BODY_COL_3 4
STRINGA BODY_COL_CODVAL 4
BEGIN
SPECIAL STRINGA INTESTAZIONE "Val." "Val."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA BODY_COL_4 10
DATA BODY_COL_DATACONS 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "Data cons." "Data cons."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Data consegna documento"
PROMPT 4 1 ""
PROMPT 8 1 ""
END
VALUTA BODY_COL_5 15
VALUTA BODY_COL_VALORE 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore"
DRIVENBY BODY_COL_3
PROMPT 5 1 ""
DRIVENBY BODY_COL_CODVAL
PROMPT 9 1 ""
END
VALUTA BODY_COL_6 15
VALUTA BODY_COL_VALRES 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore Residuo"
DRIVENBY BODY_COL_3
PROMPT 6 1 ""
DRIVENBY BODY_COL_CODVAL
PROMPT 10 1 ""
END
STRINGA BODY_COL_7 4
STRINGA BODY_COL_UM 4
BEGIN
SPECIAL STRINGA INTESTAZIONE "UM" "UM"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Unita' di misura" // Solo intestazione
FLAGS "H"
PROMPT 7 1 ""
PROMPT 11 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_8 15
STRINGA BODY_COL_QTAORD 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Q.ta Ordinata" "Q.ta Ordinata"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Ordinata" // Solo intestazione
FLAGS "H"
PROMPT 8 1 ""
PROMPT 12 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_9 15
STRINGA BODY_COL_QTAEVA 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Q.ta Evasa" "Q.ta Evasa"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Evasa" // Solo intestazione
FLAGS "H"
PROMPT 9 1 ""
PROMPT 13 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_10 13
STRINGA BODY_COL_PRZSCON 13
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CPr. scontato" "Prezzo un. scontato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Prezzo un. scontato" // Solo intestazione
FLAGS "H"
PROMPT 10 1 ""
PROMPT 14 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_11 15
STRINGA BODY_COL_INTEST 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CResiduo" "Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Residuo" // Solo intestazione
FLAGS "H"
PROMPT 11 1 ""
PROMPT 15 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_12 15
STRINGA BODY_COL_GIACATT 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CGiac. Att." "Giacenza attuale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Giacenza attuale" // Solo intestazione
FLAGS "H"
PROMPT 12 1 ""
PROMPT 16 1 ""
GROUP G_DETTAGLIO
END
@ -182,25 +222,49 @@ END
// Raggruppamento righe documenti per lo stesso cli/fo
SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF+LF_DOC->OCFPI
NUMBER 101 10
NUMERO 101 10
BEGIN
PROMPT 1 1 ""
FLAGS "H"
MESSAGE RESET,G_TOTALEART@
END
STRING 102 40 2
STRINGA 113 10
BEGIN
PROMPT 2 1 ""
FLAGS "H"
END
STRINGA 114 10
BEGIN
PROMPT 3 1 ""
FLAGS "H"
END
STRINGA 115 5
BEGIN
PROMPT 4 1 ""
FLAGS "H"
END
STRINGA 116 5
BEGIN
PROMPT 5 1 ""
FLAGS "H"
END
STRINGA 102 40 2
BEGIN
KEY "Descrizione documento"
PROMPT 2 1 ""
PROMPT 6 1 ""
MESSAGE _STREXPR,"*Doc. "+LF_DOC->CODNUM+"/"+LF_DOC->ANNO+"-"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC
FLAGS "D"
END
STRING 103 4
STRINGA 103 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
FIELD LF_DOC->CODVAL
FLAGS "D"
END
@ -208,7 +272,7 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF+
DATA 104 10
BEGIN
KEY "Data consegna documento"
PROMPT 4 1 ""
PROMPT 8 1 ""
FLAGS "D"
FIELD LF_DOC->DATACONS
END
@ -216,291 +280,399 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF+
VALUTA 105 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
PROMPT 9 1 ""
FIELD LF_DOC->TOTVALORE
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALORD
FLAGS "D"
// PICTURE "."
END
VALUTA 106 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
PROMPT 10 1 ""
FIELD LF_DOC->TOTVALRES
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALRES
FLAGS "D"
// PICTURE "."
END
SECTION RIGHEDOC 2 1 1 FILE LF_RIGHEDOC GROUP ANNO+NDOC // changes into CODART grouping
FLAGS "D" // Da abilitare solo su dettaglio righe
NUMBER 201 10
NUMERO 201 10
BEGIN
PROMPT 1 1 ""
END
STRING 202 40 2
STRINGA 213 10
BEGIN
PROMPT 2 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 214 10
BEGIN
PROMPT 3 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 215 5
BEGIN
PROMPT 4 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 216 5
BEGIN
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 202 40 2
BEGIN
KEY "Descrizione articolo"
PROMPT 2 1 ""
PROMPT 6 1 ""
MESSAGE _STREXPR,"**Art. "+LF_RIGHEDOC->CODART+" "+LF_ANAMAG->DESCR
END
STRING 203 4
STRINGA 203 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA 204 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
PROMPT 8 1 ""
FIELD LF_RIGHEDOC->DATACONS
END
VALUTA 205 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
MESSAGE _ORDINE,VALORE
PROMPT 9 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
DRIVENBY 203
// PICTURE "."
END
VALUTA 206 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
MESSAGE _ORDINE,VALRES
PROMPT 10 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
DRIVENBY 203
// PICTURE "."
END
STRINGA 207 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
FIELD LF_RIGHEDOC->UMQTA
END
NUMBER 208 15
NUMERO 208 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
MESSAGE _ORDINE,QTA
PROMPT 12 1 ""
FIELD LF_RIGHEDOC->QTA
PICTURE "########@,@@@@@"
END
NUMBER 209 15
NUMERO 209 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
MESSAGE _ORDINE,QTAEVASA
PROMPT 13 1 ""
FIELD LF_RIGHEDOC->QTAEVASA
PICTURE "########@,@@@@@"
END
VALUTA 210 13
BEGIN
KEY "Pr. Scontato"
PROMPT 10 1 ""
PROMPT 14 1 ""
MESSAGE _ORDINE,PREZZONS
// PICTURE "."
DRIVENBY 203
FLAGS "U"
END
NUMBER 211 15
NUMERO 211 15
BEGIN
PROMPT 11 1 "" // Residuo
PROMPT 15 1 "" // Residuo
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,RESIDUO
END
NUMBER 212 15
NUMERO 212 15
BEGIN
PROMPT 12 1 "" // Giacenza attuale
PROMPT 16 1 "" // Giacenza attuale
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,GIACENZA
END
END // END SECTION RIGHEDOC
// Ecco la sezione per il resto
SECTION RIGHEART 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+CODART+DATACONS
FLAGS "D"
NUMBER 301 10
NUMERO 301 10
BEGIN
PROMPT 1 1 ""
FLAGS "H"
END
STRING 302 40 2
STRINGA 313 10
BEGIN
PROMPT 2 1 ""
FLAGS "H"
END
STRINGA 314 10
BEGIN
PROMPT 3 1 ""
FLAGS "H"
END
STRINGA 315 5
BEGIN
PROMPT 4 1 ""
FLAGS "H"
END
STRINGA 316 5
BEGIN
PROMPT 5 1 ""
FLAGS "H"
END
STRINGA 302 40 2
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
PROMPT 6 1 ""
MESSAGE _ORDINE,DESCRIZIONE|COPY,402
FLAGS "H"
END
STRING 303 4
STRINGA 303 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
FIELD LF_DOC->CODVAL
MESSAGE COPY,403
FLAGS "H"
END
DATA 304 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
PROMPT 8 1 ""
FIELD LF_RIGHEDOC->DATACONS
MESSAGE COPY,404
FLAGS "H"
END
VALUTA 305 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
MESSAGE _ORDINE,VALORE|_ORDINE,VALTABLE,VALORD|ADD,405
// PICTURE "."
PROMPT 9 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
DRIVENBY 303
FLAGS "H"
END
VALUTA 306 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
// PICTURE "."
PROMPT 10 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
DRIVENBY 303
FLAGS "H"
MESSAGE _ORDINE,VALRES|_ORDINE,VALTABLE,VALRES|ADD,406
MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
END
STRINGA 307 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
FIELD LF_RIGHEDOC->UMQTA
MESSAGE _ORDINE,SELECTUM|COPY,407
FLAGS "H"
END
NUMBER 308 15
NUMERO 308 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
MESSAGE _ORDINE,QTA|_ORDINE,CONVUM|ADD,408
PROMPT 12 1 ""
FIELD LF_RIGHEDOC->QTA
MESSAGE _ORDINE,CONVUM|ADD,408
FLAGS "H"
END
NUMBER 309 15
NUMERO 309 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
MESSAGE _ORDINE,QTAEVASA|_ORDINE,CONVUM|ADD,409
PROMPT 13 1 ""
FIELD LF_RIGHEDOC->QTAEVASA
MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H"
END
VALUTA 310 13
BEGIN
KEY "Prezzo non scontato"
PROMPT 10 1 ""
PROMPT 14 1 ""
MESSAGE _ORDINE,PREZZONS|COPY,410
DRIVENBY 303
FLAGS "HU"
END
NUMBER 311 15
NUMERO 311 15
BEGIN
KEY " Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
FLAGS "H"
END
NUMBER 312 15
NUMERO 312 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
PROMPT 16 1 ""
MESSAGE _ORDINE,GIACENZA|COPY,412
FLAGS "H"
END
END // END SECTION RIGHEART
// Totalizers for previous section
NUMBER 401 10
NUMERO 401 10
BEGIN
PROMPT 1 1 ""
FLAGS "D"
END
STRING 402 40 2
STRINGA 413 10
BEGIN
PROMPT 2 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 414 10
BEGIN
PROMPT 3 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 415 5
BEGIN
PROMPT 4 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 416 5
BEGIN
PROMPT 5 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
END
STRINGA 402 40 2
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
PROMPT 6 1 ""
FLAGS "D"
END
STRING 403 4
STRINGA 403 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
FLAGS "D"
END
DATA 404 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
PROMPT 8 1 ""
FLAGS "D"
END
VALUTA 405 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
// PICTURE "."
PROMPT 9 1 ""
FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
VALUTA 406 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
// PICTURE "."
PROMPT 10 1 ""
FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
STRINGA 407 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 408 15
NUMERO 408 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 409 15
NUMERO 409 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
PROMPT 13 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
VALUTA 410 13
BEGIN
KEY "Pr. non scontato"
PROMPT 10 1 ""
// PICTURE "."
PROMPT 14 1 ""
DRIVENBY 403
FLAGS "DU"
GROUP G_TOTALEART
END
NUMBER 411 15
NUMERO 411 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 412 15
NUMERO 412 15
BEGIN
KEY "Giac. attuale"
PROMPT 12 1 ""
PROMPT 16 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
@ -512,12 +684,13 @@ END // END SECTION DOCUMENTI
SECTION TOTVAL1 3 0 1 GROUP
FLAGS "D"
NUMBER 51 10
NUMERO 51 10
BEGIN
PROMPT 1 1 ""
END
STRING 52 40
STRINGA 52 40
BEGIN
PROMPT 2 1 ""
END
@ -537,7 +710,6 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
// PICTURE "."
DRIVENBY 53
END
@ -545,7 +717,6 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
// PICTURE "."
DRIVENBY 53
END
END // Fine sezione totale in valuta #1
@ -553,12 +724,12 @@ END // Fine sezione totale in valuta #1
SECTION TOTVAL2 1 0 1 GROUP
FLAGS "D"
NUMBER 61 10
NUMERO 61 10
BEGIN
PROMPT 1 1 ""
END
STRING 62 40
STRINGA 62 40
BEGIN
PROMPT 2 1 ""
END
@ -578,7 +749,6 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
// PICTURE "."
DRIVENBY 63
END
@ -586,7 +756,6 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
// PICTURE "."
DRIVENBY 63
END
END // Fine sezione totale in valuta #2
@ -594,12 +763,12 @@ END // Fine sezione totale in valuta #2
SECTION TOTVAL3 1 0 1 GROUP
FLAGS "D"
NUMBER 71 10
NUMERO 71 10
BEGIN
PROMPT 1 1 ""
END
STRING 72 40
STRINGA 72 40
BEGIN
PROMPT 2 1 ""
END
@ -619,7 +788,6 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
// PICTURE "."
DRIVENBY 73
END
@ -627,19 +795,19 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
// PICTURE "."
DRIVENBY 73
END
END // Fine sezione totale in valuta #3
SECTION TOTVAL4 1 0 1 GROUP
FLAGS "D"
NUMBER 81 10
NUMERO 81 10
BEGIN
PROMPT 1 1 ""
END
STRING 82 40
STRINGA 82 40
BEGIN
PROMPT 2 1 ""
END
@ -659,7 +827,6 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
// PICTURE "."
DRIVENBY 83
END
@ -667,11 +834,9 @@ FLAGS "D"
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
// PICTURE "."
DRIVENBY 83
END
END // Fine sezione totale in valuta #4
END // End of Body

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
// Form per la stampa ordini per articolo
#include "or1100a.h"
// Cursor sorting on main file is set also in application
//USE LF_RIGHEDOC BY CODART LIVELLO CODMAG DATACONS
USE LF_RIGHEDOC BY CODART LIVELLO CODMAG ANNO NDOC DATACONS
JOIN LF_DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
JOIN LF_ANAMAG INTO CODART==CODART
@ -52,7 +51,7 @@ END //HEADER
SECTION BODY ODD 4 COLUMNWISE
STRINGA BODY_COL_1 20
STRINGA BODY_COL_CODART 20
BEGIN
SPECIAL STRINGA INTESTAZIONE "Codice" "Codice"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -64,119 +63,158 @@ BEGIN
MESSAGE RESET,508|RESET,509|RESET,511
END
STRING BODY_COL_2 40
STRINGA BODY_COL_LIVGIAC1 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C1" "Livello giacenza 1"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 1" // Solo intestazione
PROMPT 2 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC2 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C2" "Livello giacenza 2"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 2" // Solo intestazione
PROMPT 3 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC3 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C3" "Livello giacenza 3"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 3" // Solo intestazione
PROMPT 4 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_LIVGIAC4 5
BEGIN
SPECIAL STRINGA INTESTAZIONE "@C4" "Livello giacenza 4"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Livello giacenza 4" // Solo intestazione
PROMPT 5 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_DESART 40
BEGIN
SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Descrizione art."
PROMPT 2 1 ""
PROMPT 6 1 ""
FIELD LF_RIGHEDOC->DESCR
//MESSAGE _ORDINE,DESCRIZIONE
END
STRINGA BODY_COL_3 4
STRINGA BODY_COL_CODVAL 4
BEGIN
SPECIAL STRINGA INTESTAZIONE "Val." "Val."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA BODY_COL_4 10
DATA BODY_COL_DATACONS 10
BEGIN
SPECIAL STRINGA INTESTAZIONE "Data cons." "Data cons."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Data consegna articolo"
PROMPT 4 1 ""
PROMPT 8 1 ""
END
VALUTA BODY_COL_5 15
VALUTA BODY_COL_VALORE 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore"
DRIVENBY BODY_COL_3
PROMPT 5 1 ""
DRIVENBY BODY_COL_CODVAL
PROMPT 9 1 ""
END
VALUTA BODY_COL_6 15
VALUTA BODY_COL_VALRES 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore Residuo"
DRIVENBY BODY_COL_3
PROMPT 6 1 ""
DRIVENBY BODY_COL_CODVAL
PROMPT 10 1 ""
END
STRINGA BODY_COL_7 4
STRINGA BODY_COL_UM 4
BEGIN
SPECIAL STRINGA INTESTAZIONE "UM" "UM"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Unita' di misura" // Solo intestazione
PROMPT 7 1 ""
PROMPT 11 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_8 15
STRINGA BODY_COL_QTAORD 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Q.ta Ordinata" "Q.ta Ordinata"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Ordinata" // Solo intestazione
PROMPT 8 1 ""
PROMPT 12 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_9 15
STRINGA BODY_COL_QTAEVA 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Q.ta Evasa" "Q.ta Evasa"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Evasa" // Solo intestazione
PROMPT 9 1 ""
PROMPT 13 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_10 13
STRINGA BODY_COL_PRZSCON 13
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CPr. scontato" "Prezzo un. scontato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Prezzo un. scontato" // Solo intestazione
PROMPT 10 1 ""
PROMPT 14 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_11 15
STRINGA BODY_COL_INTEST 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CResiduo" "Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Residuo" // Solo intestazione
PROMPT 11 1 ""
PROMPT 15 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_12 15
STRINGA BODY_COL_GIACATT 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "@CGiac. Att." "Giacenza attuale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Giacenza attuale" // Solo intestazione
PROMPT 12 1 ""
PROMPT 16 1 ""
GROUP G_DETTAGLIO
END
// Raggruppamento righe documenti per lo stesso codice articolo
SECTION ARTMAIN 2 1 1 FILE LF_RIGHEDOC GROUP CODART
STRING 201 20
STRINGA 201 20
BEGIN
FLAGS "H"
PROMPT 1 1 ""
@ -184,197 +222,265 @@ SECTION ARTMAIN 2 1 1 FILE LF_RIGHEDOC GROUP CODART
END
SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP ANNO+NDOC+CODVAL+DATACONS
// FLAGS "D"
NUMBER 301 20
NUMERO 301 20
BEGIN
PROMPT 1 1 ""
FLAGS "H"
END
STRING 302 40 2
STRINGA 313 10
BEGIN
PROMPT 2 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
MESSAGE COPY,413
END
STRINGA 314 10
BEGIN
PROMPT 3 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
MESSAGE COPY,414
END
STRINGA 315 5
BEGIN
PROMPT 4 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
MESSAGE COPY,415
END
STRINGA 316 5
BEGIN
PROMPT 5 1 ""
FLAGS "H"
FIELD LF_RIGHEDOC->LIVELLO
MESSAGE COPY,416
END
STRINGA 302 40 2
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
// MESSAGE _ORDINE,DESCRIZIONE|COPY,402
PROMPT 6 1 ""
MESSAGE _STREXPR,LF_DOC->CODNUM+"/"+LF_DOC->ANNO+"-"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC|COPY,402
FLAGS "H"
END
STRING 303 4
STRINGA 303 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
PROMPT 7 1 ""
FIELD LF_DOC->CODVAL
MESSAGE COPY,403
FLAGS "H"
END
DATA 304 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
PROMPT 8 1 ""
FIELD LF_RIGHEDOC->DATACONS
FIELD LF_DOC->DATACONS
MESSAGE COPY,404
FLAGS "H"
END
VALUTA 305 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
PROMPT 9 1 ""
MESSAGE _ORDINE,VALORE|_ORDINE,VALTABLE,VALORD|ADD,405
DRIVENBY 303
// PICTURE "."
FLAGS "H"
END
VALUTA 306 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
// PICTURE "."
PROMPT 10 1 ""
DRIVENBY 303
FLAGS "H"
MESSAGE _ORDINE,VALRES|_ORDINE,VALTABLE,VALRES|ADD,406
END
STRINGA 307 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
FIELD LF_RIGHEDOC->UMQTA
MESSAGE _ORDINE,SELECTUM|COPY,407
FLAGS "H"
END
NUMBER 308 15
NUMERO 308 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
PROMPT 12 1 ""
MESSAGE _ORDINE,QTA|_ORDINE,CONVUM|ADD,408
FLAGS "H"
END
NUMBER 309 15
NUMERO 309 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
PROMPT 13 1 ""
MESSAGE _ORDINE,QTAEVASA|_ORDINE,CONVUM|ADD,409
FLAGS "H"
END
VALUTA 310 13
BEGIN
KEY "Prezzo non scontato"
PROMPT 10 1 ""
PROMPT 14 1 ""
MESSAGE _ORDINE,PREZZONS|COPY,410
DRIVENBY 303
FLAGS "HU"
END
NUMBER 311 15
NUMERO 311 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
FLAGS "H"
END
NUMBER 312 15
NUMERO 312 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
PROMPT 16 1 ""
MESSAGE _ORDINE,GIACENZA|COPY,512
FLAGS "H"
END
END // END SECTION ARTICOLI
// Totalizers for previous section
NUMBER 401 20
NUMERO 401 20
BEGIN
PROMPT 1 1 ""
FLAGS "D"
END
STRING 402 40 2
STRINGA 413 10
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
FLAGS "D"
END
STRING 403 4
STRINGA 414 10
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
FLAGS "D"
END
DATA 404 10
STRINGA 415 5
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
FLAGS "D"
END
STRINGA 416 5
BEGIN
PROMPT 5 1 ""
FLAGS "D"
END
STRINGA 402 40 2
BEGIN
KEY "Descrizione"
PROMPT 6 1 ""
FLAGS "D"
END
STRINGA 403 4
BEGIN
KEY "Codice Valuta"
PROMPT 7 1 ""
FLAGS "D"
END
DATA 404 10
BEGIN
KEY "Data consegna articolo"
PROMPT 8 1 ""
FLAGS "D"
END
VALUTA 405 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
// PICTURE "."
PROMPT 9 1 ""
FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALORD
DRIVENBY 403
GROUP G_TOTALEART
END
VALUTA 406 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
// PICTURE "."
PROMPT 10 1 ""
FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALRES
DRIVENBY 403
GROUP G_TOTALEART
END
STRINGA 407 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
FLAGS "D"
MESSAGE COPY,507
GROUP G_TOTALEART
END
NUMBER 408 15
NUMERO 408 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
MESSAGE ADD,508
GROUP G_TOTALEART
END
NUMBER 409 15
NUMERO 409 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
PROMPT 13 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
MESSAGE ADD,509
GROUP G_TOTALEART
END
VALUTA 410 13
BEGIN
KEY "Pr. non scontato"
PROMPT 10 1 ""
// PICTURE "."
PROMPT 14 1 ""
DRIVENBY 403
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 411 15
NUMERO 411 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
MESSAGE ADD,511
GROUP G_TOTALEART
END
NUMBER 412 15
NUMERO 412 15
BEGIN
KEY "Giac. attuale"
PROMPT 12 1 ""
// PICTURE "########@,@@@@@"
// FLAGS "H"
// MESSAGE COPY,512
// GROUP G_TOTALEART
PROMPT 16 1 ""
END
END // SEZIONE ARTMAIN
@ -382,78 +488,99 @@ END // SEZIONE ARTMAIN
SECTION TOTVAL1 3 0 1 GROUP
FLAGS "D"
NUMBER 51 20
NUMERO 51 20
BEGIN
PROMPT 1 1 ""
END
STRING 52 40
STRINGA 513 10
BEGIN
PROMPT 2 1 ""
END
STRINGA 514 10
BEGIN
PROMPT 3 1 ""
END
STRINGA 515 5
BEGIN
PROMPT 4 1 ""
END
STRINGA 516 5
BEGIN
PROMPT 5 1 ""
END
STRINGA 52 40
BEGIN
PROMPT 6 1 ""
END
STRINGA 53 4
BEGIN
KEY "Codice valuta #1"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA 54 10
BEGIN
PROMPT 4 1 ""
PROMPT 8 1 ""
END
VALUTA 55 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PROMPT 9 1 ""
DRIVENBY 53
END
VALUTA 56 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PROMPT 10 1 ""
DRIVENBY 53
END
STRINGA 507 4
BEGIN
KEY "Unitá di misura"
PROMPT 7 1 ""
PROMPT 11 1 ""
END
NUMERO 508 15 5
BEGIN
KEY "Tot Q.ta ordinata"
PROMPT 8 1 ""
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
END
NUMERO 509 15 5
BEGIN
KEY "Tot Q.ta evasa"
PROMPT 9 1 ""
PROMPT 13 1 ""
PICTURE "########@,@@@@@"
END
VALUTA 510 13
BEGIN
KEY "Pr. Scontato"
PROMPT 10 1 ""
PROMPT 14 1 ""
END
NUMERO 511 15 5
BEGIN
KEY "Tot Residuo"
PROMPT 11 1 ""
PROMPT 15 1 ""
PICTURE "########@,@@@@@"
END
NUMERO 512 15 5
BEGIN
KEY "Tot Giacenza"
PROMPT 12 1 ""
PROMPT 16 1 ""
PICTURE "########@,@@@@@"
END
@ -462,125 +589,126 @@ END // Fine sezione totale in valuta #1
SECTION TOTVAL2 1 0 1 GROUP
FLAGS "D"
NUMBER 61 20
NUMERO 61 20
BEGIN
PROMPT 1 1 ""
END
STRING 62 40
STRINGA 62 40
BEGIN
PROMPT 2 1 ""
PROMPT 6 1 ""
END
STRINGA 63 4
BEGIN
KEY "Codice valuta #2"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA 64 10
BEGIN
PROMPT 4 1 ""
PROMPT 8 1 ""
END
VALUTA 65 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PROMPT 9 1 ""
DRIVENBY 63
// PICTURE "."
END
VALUTA 66 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PROMPT 10 1 ""
DRIVENBY 63
// PICTURE "."
END
END // Fine sezione totale in valuta #2
SECTION TOTVAL3 1 0 1 GROUP
FLAGS "D"
NUMBER 71 20
NUMERO 71 20
BEGIN
PROMPT 1 1 ""
END
STRING 72 40
STRINGA 72 40
BEGIN
PROMPT 2 1 ""
PROMPT 6 1 ""
END
STRINGA 73 4
BEGIN
KEY "Codice valuta #3"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA 74 10
BEGIN
PROMPT 4 1 ""
PROMPT 8 1 ""
END
VALUTA 75 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PROMPT 9 1 ""
DRIVENBY 73
// PICTURE "."
END
VALUTA 76 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PROMPT 10 1 ""
DRIVENBY 73
// PICTURE "."
END
END // Fine sezione totale in valuta #3
SECTION TOTVAL4 1 0 1 GROUP
FLAGS "D"
NUMBER 81 20
NUMERO 81 20
BEGIN
PROMPT 1 1 ""
END
STRING 82 40
STRINGA 82 40
BEGIN
PROMPT 2 1 ""
PROMPT 6 1 ""
END
STRINGA 83 4
BEGIN
KEY "Codice valuta #4"
PROMPT 3 1 ""
PROMPT 7 1 ""
END
DATA 84 10
BEGIN
PROMPT 4 1 ""
PROMPT 8 1 ""
END
VALUTA 85 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PROMPT 9 1 ""
DRIVENBY 83
// PICTURE "."
END
VALUTA 86 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PROMPT 10 1 ""
DRIVENBY 83
// PICTURE "."
END
END // Fine sezione totale in valuta #4
END // End of Body