Patch level : xx.811

Files correlati     :
Ricompilazione Demo : [ ]
Commento           : Riportata la versione 1.5 fino alla patch 811


git-svn-id: svn://10.65.10.50/trunk@8982 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2000-05-05 14:32:44 +00:00
parent e94b044ffe
commit 623bb0d214
9 changed files with 1015 additions and 195 deletions

View File

@ -381,7 +381,8 @@ void TStampa_ordini::filter_for_number()
f.put(DOC_DATADOC, _from_date);
t.put(DOC_DATADOC, _to_date);
filter_expr << " && (PROVV==\"" << _provv << "\")";
filter_expr << " && (ANNO==\"" << _anno << "\")";
if (_anno != 0)
filter_expr << " && (ANNO==\"" << _anno << "\")";
filter_expr << " && (CODNUM==\"" << _codnum << "\")";
}
cur->setregion(f,t);
@ -525,9 +526,18 @@ void TStampa_ordini::filter_for_clifo_agent()
TRectype f(LF_RIGHEDOC), t(LF_RIGHEDOC);
TString filter_expr;
f.put(DOC_PROVV, _provv);
f.put(DOC_ANNO, _anno);
f.put(DOC_CODNUM, _codnum);
if (_anno != 0)
{
f.put(DOC_PROVV, _provv);
f.put(DOC_ANNO, _anno);
}
else
{
s.format("(PROVV==\"%c\")&&", _provv);
filter_expr << s;
}
t = f;
cur->setregion(f,t); // This is the region...
@ -577,7 +587,7 @@ void TStampa_ordini::filter_for_clifo_agent()
s.format("&&(ANSI(%d->DATADOC)<=\"%s\")", LF_DOC,
(const char*)_to_date.string(ANSI));
filter_expr << s;
}
}
// Filtro sulla data consegna...
if (_from_cons.ok())
@ -691,6 +701,12 @@ void TStampa_ordini::filter_for_clifo_agent()
ssec.printsection().find_field(id).enable();
}
}
// 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);
if (_detail_rows) // Stampa dettaglio righe...
{
@ -768,9 +784,19 @@ void TStampa_ordini::filter_for_articolo()
TRectype f(LF_RIGHEDOC), t(LF_RIGHEDOC);
TString filter_expr;
f.put(DOC_PROVV, _provv);
f.put(DOC_ANNO, _anno);
f.put(DOC_CODNUM, _codnum);
f.put(RDOC_CODART, _from_art);
if (_anno != 0)
{
f.put(DOC_PROVV, _provv);
f.put(DOC_ANNO, _anno);
}
else
{
s.format("(PROVV==\"%c\") &&", _provv);
filter_expr << s;
}
t = f;
cur->setregion(f,t); // This is the region...
@ -791,7 +817,7 @@ void TStampa_ordini::filter_for_articolo()
}
// Filtro sulla data ordine...
if (_from_date.ok())
{
{
s.format("&&(ANSI(%d->DATADOC)>=\"%s\")", LF_DOC,
(const char*)_from_date.string(ANSI));
filter_expr << s;
@ -801,7 +827,7 @@ void TStampa_ordini::filter_for_articolo()
s.format("&&(ANSI(%d->DATADOC)<=\"%s\")", LF_DOC,
(const char*)_to_date.string(ANSI));
filter_expr << s;
}
}
// Filtro sulla data consegna...
if (_from_cons.ok())

View File

@ -15,8 +15,6 @@ END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 10
END
@ -54,7 +52,7 @@ END //HEADER
SECTION BODY ODD 2 COLUMNWISE
STRING 1 22
STRING BODY_COL_1 22
BEGIN
SPECIAL STRINGA INTESTAZIONE "Documento" "Documento"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -64,83 +62,127 @@ BEGIN
MESSAGE _STREXPR,CODNUM+"/"+NDOC+" del "+DATADOC
END
STRING 2 50
STRING BODY_COL_2 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 ""
MESSAGE _STREXPR,CODCF+" "+LF_CLIFO->RAGSOC
//MESSAGE _CLIENTE, !RAGSOC da implementare a causa degli occasionali...
MESSAGE _ORDINE,RAGSOC,1
END
STRINGA BODY_COL_3 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 ""
FIELD CODVAL
END
DATA 3 10
DATA BODY_COL_4 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 3 1 ""
PROMPT 4 1 ""
FIELD DATACONS
END
NUMBER 4 15
VALUTA BODY_COL_5 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 4 1 ""
PROMPT 5 1 ""
FIELD TOTVALORE
PICTURE "."
DRIVENBY BODY_COL_3
// PICTURE "."
END
NUMBER 5 11
VALUTA BODY_COL_6 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 5 1 ""
PROMPT 6 1 ""
FIELD TOTVALRES
PICTURE "."
DRIVENBY BODY_COL_3
// PICTURE "."
END
STRINGA 6 4
STRINGA BODY_COL_7 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 6 1 ""
PROMPT 7 1 ""
GROUP G_DETTAGLIO
END
STRINGA 7 13
STRINGA BODY_COL_8 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 7 1 ""
PROMPT 8 1 ""
GROUP G_DETTAGLIO
END
STRINGA 8 13
STRINGA BODY_COL_9 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 8 1 ""
PROMPT 9 1 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_10 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 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_11 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 ""
GROUP G_DETTAGLIO
END
STRINGA BODY_COL_12 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 ""
GROUP G_DETTAGLIO
END
// Sezione di dettaglio righe / raggruppamento articoli per ordine corrente
SECTION DET 2 0 0 FILE LF_RIGHEDOC
@ -148,92 +190,318 @@ SECTION DET 2 0 0 FILE LF_RIGHEDOC
SECTION RIGHE 1 1 1 GROUP // Viene cambiata in STREXPR da programma
STRINGA 100 22
STRINGA 101 22
BEGIN
PROMPT 1 1 ""
END
STRINGA 101 50
STRINGA 102 40
BEGIN
PROMPT 2 1 ""
MESSAGE _STREXPR, LF_RIGHEDOC->CODART+" "+LF_RIGHEDOC->DESCR
END
DATA 102 10
STRING 103 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
END
DATA 104 10
BEGIN
PROMPT 3 1 ""
PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS
END
NUMBER 103 15
VALUTA 105 15
BEGIN
PROMPT 4 1 "" // valore
PROMPT 5 1 "" // valore
FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE ADD, FL->203
PICTURE "."
MESSAGE ADD, FL->205
DRIVENBY 103
// PICTURE "."
END
NUMBER 104 11
VALUTA 106 15
BEGIN
PROMPT 5 1 "" // Val residuo riga
PROMPT 6 1 "" // Val residuo riga
FIELD LF_RIGHEDOC->RIGAVALRES
MESSAGE ADD, FL->204
PICTURE "."
MESSAGE ADD, FL->206
DRIVENBY 103
// PICTURE "."
END
STRINGA 105 4
STRINGA 107 4
BEGIN
PROMPT 6 1 "" // Unita' di misura
PROMPT 7 1 "" // Unita' di misura
FIELD LF_RIGHEDOC->UMQTA
END
NUMBER 106 13
NUMBER 108 15
BEGIN
PROMPT 7 1 "" // Q.ta Ordinata
PROMPT 8 1 "" // Q.ta Ordinata
FIELD LF_RIGHEDOC->QTA
PICTURE "#@,@@@"
END
NUMBER 107 13
BEGIN
PROMPT 8 1 "" // Q.ta Evasa
FIELD LF_RIGHEDOC->QTAEVASA
PICTURE "#@,@@@"
PICTURE "########@,@@@@@"
END
NUMBER 109 15
BEGIN
PROMPT 9 1 "" // Q.ta Evasa
FIELD LF_RIGHEDOC->QTAEVASA
PICTURE "########@,@@@@@"
END
VALUTA 110 13
BEGIN
KEY "Prezzo un scontato"
PROMPT 10 1 ""
MESSAGE _ORDINE,PREZZONS
// PICTURE "."
FLAGS "U"
DRIVENBY 103
END
NUMBER 111 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,RESIDUO
END
NUMBER 112 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,GIACENZA
END
SECTION RIGHEART 1 0 0 FILE LF_RIGHEDOC GROUP CODART+DATACONS
FLAGS "D"
NUMBER 301 22
BEGIN
PROMPT 1 1 ""
FLAGS "H"
END
STRING 302 40 2
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
MESSAGE _ORDINE,DESCRIZIONE|COPY,402
FLAGS "H"
END
STRING 303 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
FLAGS "H"
END
DATA 304 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS
MESSAGE COPY,404
FLAGS "H"
END
VALUTA 305 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
// PICTURE "."
DRIVENBY 303
FLAGS "H"
END
VALUTA 306 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
// PICTURE "."
DRIVENBY 303
FLAGS "H"
END
STRINGA 307 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
FIELD LF_RIGHEDOC->UMQTA
MESSAGE _ORDINE,SELECTUM|COPY,407
FLAGS "H"
END
NUMBER 308 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
FIELD LF_RIGHEDOC->QTA
MESSAGE _ORDINE,CONVUM|ADD,408
FLAGS "H"
END
NUMBER 309 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
FIELD LF_RIGHEDOC->QTAEVASA
MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H"
END
VALUTA 310 13
BEGIN
KEY "Prezzo non scontato"
PROMPT 10 1 ""
MESSAGE _ORDINE,PREZZONS|COPY,410
DRIVENBY 303
FLAGS "HU"
END
NUMBER 311 15
BEGIN
KEY " Residuo"
PROMPT 11 1 ""
MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
FLAGS "H"
END
NUMBER 312 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
MESSAGE _ORDINE,GIACENZA|COPY,412
FLAGS "H"
END
END // END SECTION RIGHEART
END //SECTION RIGHE
// Totalizers for section RIGHEART
NUMBER 401 22
BEGIN
PROMPT 1 1 ""
FLAGS "D"
END
STRING 402 40 2
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
FLAGS "D"
END
STRING 403 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
FLAGS "D"
END
DATA 404 10
BEGIN
KEY "Data consegna articolo"
PROMPT 4 1 ""
FLAGS "D"
END
VALUTA 405 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
// PICTURE "."
FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
VALUTA 406 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
// PICTURE "."
FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
STRINGA 407 4
BEGIN
KEY "Unita' di misura"
PROMPT 7 1 ""
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 408 15
BEGIN
KEY "Q.ta Ordinata"
PROMPT 8 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 409 15
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
VALUTA 410 13
BEGIN
KEY "Pr. non scontato"
PROMPT 10 1 ""
// PICTURE "."
FLAGS "DU"
DRIVENBY 403
GROUP G_TOTALEART
END
NUMBER 411 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 412 15
BEGIN
KEY "Giac. attuale"
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
END // SECTION DET
END //BODY
END //BODY
SECTION FOOTER LAST 5 COLUMNWISE
STRINGA 200 22
STRINGA 201 22
BEGIN
PROMPT 1 1 ""
END
STRINGA 201 50
STRINGA 202 40
BEGIN
PROMPT 2 1 "@BTotale:"
END
DATA 202 10
STRINGA 203 4
BEGIN
PROMPT 3 1 ""
END
NUMBER 203 15
DATA 204 10
BEGIN
PROMPT 4 1 "" // valore
PICTURE "."
PROMPT 4 1 ""
END
NUMBER 204 11
VALUTA 205 15
BEGIN
PROMPT 5 1 "" // Val residuo riga
PICTURE "."
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

@ -49,7 +49,7 @@ END
NUMBER F_ANNO 4
BEGIN
PROMPT 65 2 "Anno "
CHECKTYPE REQUIRED
// CHECKTYPE REQUIRED
END
LIST F_PROVV 12
@ -63,9 +63,9 @@ LISTBOX F_DATA_O_NUM 20
BEGIN
PROMPT 36 4 "Selezione su "
ITEM "N|Numero documento"
MESSAGE HIDE,GR_DATA@|SHOW,GR_NDOC@
MESSAGE HIDE,GR_DATA@|SHOW,GR_NDOC@|REQUIRED,F_ANNO
ITEM "D|Data documento"
MESSAGE SHOW,GR_DATA@|HIDE,GR_NDOC@
MESSAGE SHOW,GR_DATA@|HIDE,GR_NDOC@|NORMAL,F_ANNO
END
NUMBER F_NDOCFROM 7

View File

@ -1,7 +1,7 @@
// Form per la stampa ordini per cliente/fornitore
#include "or1100a.h"
// Cursor sorting on main file is set also in application
USE LF_RIGHEDOC BY LF_DOC->TIPOCF LF_DOC->CODCF CODNUM NDOC CODART DATACONS
USE LF_RIGHEDOC BY LF_DOC->TIPOCF LF_DOC->CODCF LF_DOC->OCFPI ANNO CODNUM NDOC CODART DATACONS
JOIN LF_DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
JOIN LF_ANAMAG INTO CODART==CODART
JOIN LF_CLIFO TO LF_DOC INTO TIPOCF==TIPOCF CODCF==CODCF
@ -94,21 +94,23 @@ BEGIN
PROMPT 4 1 ""
END
NUMBER 5 15
VALUTA BODY_COL_5 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 ""
END
NUMBER 6 15
VALUTA BODY_COL_6 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 ""
END
@ -149,6 +151,21 @@ END
// Raggruppamento righe documenti per lo stesso cli/fo
SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
STRINGA BODY_COL_12 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 ""
GROUP G_DETTAGLIO
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
BEGIN
PROMPT 1 1 ""
@ -160,7 +177,7 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
BEGIN
KEY "Descrizione documento"
PROMPT 2 1 ""
MESSAGE _STREXPR,"*Doc. "+LF_DOC->CODNUM+"/"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC
MESSAGE _STREXPR,"*Doc. "+LF_DOC->CODNUM+"/"+LF_DOC->ANNO+"-"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC
FLAGS "D"
END
@ -176,32 +193,32 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
BEGIN
KEY "Data consegna documento"
PROMPT 4 1 ""
FIELD LF_DOC->DATACONS
FLAGS "D"
FIELD LF_DOC->DATACONS
END
NUMBER 105 15
VALUTA 105 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_DOC->TOTVALORE
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALORD
PICTURE "."
FLAGS "D"
END
NUMBER 106 15
VALUTA 106 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_DOC->TOTVALRES
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALRES
PICTURE "."
FLAGS "D"
END
SECTION RIGHEDOC 2 1 1 FILE LF_RIGHEDOC GROUP NDOC // changes into CODART grouping
SECTION RIGHEDOC 2 1 1 FILE LF_RIGHEDOC GROUP NDOC // changes into CODART grouping
FLAGS "D" // Da abilitare solo su dettaglio righe
NUMBER 201 10
@ -225,19 +242,19 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS
END
NUMBER 205 15
VALUTA 205 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
PICTURE "."
DRIVENBY 203
END
NUMBER 206 15
VALUTA 206 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "."
DRIVENBY 203
END
STRINGA 207 4
BEGIN
@ -257,7 +274,27 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
KEY "Q.ta Evasa"
PROMPT 9 1 ""
FIELD LF_RIGHEDOC->QTAEVASA
PICTURE "#@,@@@"
PICTURE "########@,@@@@@"
END
VALUTA 210 13
BEGIN
KEY "Pr. Scontato"
PROMPT 10 1 ""
MESSAGE _ORDINE,PREZZONS
DRIVENBY 203
FLAGS "U"
END
NUMBER 211 15
BEGIN
PROMPT 11 1 "" // Residuo
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,RESIDUO
END
NUMBER 212 15
BEGIN
PROMPT 12 1 "" // Giacenza attuale
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,GIACENZA
END
END // END SECTION RIGHEDOC
@ -293,21 +330,21 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
MESSAGE COPY,404
FLAGS "H"
END
NUMBER 305 15
VALUTA 305 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
PICTURE "."
DRIVENBY 303
FLAGS "H"
END
NUMBER 306 15
VALUTA 306 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "."
DRIVENBY 303
FLAGS "H"
MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
END
@ -335,6 +372,28 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H"
END
VALUTA 310 13
BEGIN
KEY "Prezzo non scontato"
PROMPT 10 1 ""
MESSAGE _ORDINE,PREZZONS|COPY,410
DRIVENBY 303
FLAGS "HU"
END
NUMBER 311 15
BEGIN
KEY " Residuo"
PROMPT 11 1 ""
MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
FLAGS "H"
END
NUMBER 312 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
MESSAGE _ORDINE,GIACENZA|COPY,412
FLAGS "H"
END
END // END SECTION RIGHEART
// Totalizers for previous section
@ -361,22 +420,20 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
PROMPT 4 1 ""
FLAGS "D"
END
NUMBER 405 15
VALUTA 405 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
PICTURE "."
FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALORD
DRIVENBY 403
GROUP G_TOTALEART
END
NUMBER 406 15
VALUTA 406 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
PICTURE "."
FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALRES
DRIVENBY 403
GROUP G_TOTALEART
END
STRINGA 407 4
@ -398,7 +455,31 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
BEGIN
KEY "Q.ta Evasa"
PROMPT 9 1 ""
PICTURE "#@,@@@"
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
VALUTA 410 13
BEGIN
KEY "Pr. non scontato"
PROMPT 10 1 ""
DRIVENBY 403
FLAGS "DU"
GROUP G_TOTALEART
END
NUMBER 411 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 412 15
BEGIN
KEY "Giac. attuale"
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
GROUP G_TOTALEART
END
@ -430,18 +511,18 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 55 15
VALUTA 55 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 53
END
NUMBER 56 15
VALUTA 56 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 53
END
END // Fine sezione totale in valuta #1
@ -469,18 +550,18 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 65 15
VALUTA 65 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 63
END
NUMBER 66 15
VALUTA 66 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 63
END
END // Fine sezione totale in valuta #2
@ -508,18 +589,18 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 75 15
VALUTA 75 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 73
END
NUMBER 76 15
VALUTA 76 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 73
END
END // Fine sezione totale in valuta #3
@ -546,18 +627,18 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 85 15
VALUTA 85 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 83
END
NUMBER 86 15
VALUTA 86 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 83
END
END // Fine sezione totale in valuta #4

View File

@ -1,7 +1,7 @@
// Form per la stampa ordini per agente
#include "or1100a.h"
// Cursor sorting on main file is set also in application
USE LF_RIGHEDOC BY LF_DOC->CODAG LF_DOC->TIPOCF LF_DOC->CODCF CODNUM NDOC CODART DATACONS
USE LF_RIGHEDOC BY LF_DOC->CODAG LF_DOC->TIPOCF LF_DOC->CODCF LF_DOC->OCFPI ANNO CODNUM NDOC CODART DATACONS
JOIN LF_DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
JOIN LF_AGENTI TO LF_DOC INTO CODAGE==CODAG
JOIN LF_ANAMAG INTO CODART==CODART
@ -95,21 +95,23 @@ BEGIN
PROMPT 4 1 ""
END
NUMBER 5 15
VALUTA BODY_COL_5 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 ""
END
NUMBER 6 15
VALUTA BODY_COL_6 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 ""
END
@ -183,7 +185,7 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
BEGIN
KEY "Descrizione documento"
PROMPT 2 1 ""
MESSAGE _STREXPR,"*Doc. "+LF_DOC->CODNUM+"/"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC
MESSAGE _STREXPR,"*Doc. "+LF_DOC->CODNUM+"/"+LF_DOC->ANNO+"-"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC
END
STRING 103 4
@ -200,22 +202,22 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
FIELD LF_DOC->DATACONS
END
NUMBER 105 15
VALUTA 105 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_DOC->TOTVALORE
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALORD
PICTURE "."
END
NUMBER 106 15
VALUTA 106 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_DOC->TOTVALRES
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALRES
PICTURE "."
END
// Raggruppamento righe stesso documento
@ -242,19 +244,21 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS
END
NUMBER 205 15
VALUTA 205 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
PICTURE "."
DRIVENBY 203
// PICTURE "."
END
NUMBER 206 15
VALUTA 206 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "."
DRIVENBY 203
// PICTURE "."
END
STRINGA 207 4
BEGIN
@ -274,7 +278,28 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
KEY "Q.ta Evasa"
PROMPT 9 1 ""
FIELD LF_RIGHEDOC->QTAEVASA
PICTURE "#@,@@@"
PICTURE "########@,@@@@@"
END
VALUTA 210 13
BEGIN
KEY "Pr. Scontato"
PROMPT 10 1 ""
MESSAGE _ORDINE,PREZZONS
// PICTURE "."
DRIVENBY 203
FLAGS "U"
END
NUMBER 211 15
BEGIN
PROMPT 11 1 "" // Residuo
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,RESIDUO
END
NUMBER 212 15
BEGIN
PROMPT 12 1 "" // Giacenza attuale
PICTURE "########@,@@@@@"
MESSAGE _ORDINE,GIACENZA
END
END // END SECTION RIGHEDOC
END // END SECTION DOCUMENTI
@ -288,7 +313,7 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
FLAGS "D" // Sezione abilitata se non si stampa per documenti
SECTION RIGHEART 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+CODART+DATACONS
//FLAGS "D"
// FLAGS "D"
NUMBER 301 10
BEGIN
PROMPT 1 1 ""
@ -317,21 +342,21 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
MESSAGE COPY,404
FLAGS "H"
END
NUMBER 305 15
VALUTA 305 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
PICTURE "."
DRIVENBY 303
FLAGS "H"
END
NUMBER 306 15
VALUTA 306 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "."
DRIVENBY 303
FLAGS "H"
MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
END
@ -359,6 +384,28 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H"
END
VALUTA 310 13
BEGIN
KEY "Prezzo non scontato"
PROMPT 10 1 ""
MESSAGE _ORDINE,PREZZONS|COPY,410
DRIVENBY 303
FLAGS "HU"
END
NUMBER 311 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
FLAGS "H"
END
NUMBER 312 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
MESSAGE _ORDINE,GIACENZA|COPY,412
FLAGS "H"
END
END // END SECTION RIGHEART
// Totalizers for previous section
@ -385,20 +432,22 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
PROMPT 4 1 ""
//FLAGS "D"
END
NUMBER 405 15
VALUTA 405 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
PICTURE "."
// PICTURE "."
//FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
NUMBER 406 15
VALUTA 406 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
PICTURE "."
// PICTURE "."
//FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART
END
STRINGA 407 4
@ -424,6 +473,29 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
//FLAGS "D"
GROUP G_TOTALEART
END
VALUTA 410 13
BEGIN
KEY "Pr. non scontato"
PROMPT 10 1 ""
// PICTURE "."
DRIVENBY 403
FLAGS "U"
GROUP G_TOTALEART
END
NUMBER 411 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PICTURE "########@,@@@@@"
GROUP G_TOTALEART
END
NUMBER 412 15
BEGIN
KEY "Giac. attuale"
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
GROUP G_TOTALEART
END
END // END SECTION ARTCLI
@ -454,18 +526,20 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 55 15
VALUTA 55 15
BEGIN
KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 ""
PICTURE "."
// PICTURE "."
DRIVENBY 53
END
NUMBER 56 15
VALUTA 56 15
BEGIN
KEY "Tot Valore Residuo per agente"
PROMPT 6 1 ""
PICTURE "."
// PICTURE "."
DRIVENBY 53
END
END // Fine sezione totale in valuta #1
@ -493,18 +567,20 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 65 15
VALUTA 65 15
BEGIN
KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 ""
PICTURE "."
// PICTURE "."
DRIVENBY 63
END
NUMBER 66 15
VALUTA 66 15
BEGIN
KEY "Tot Valore Residuo per agente"
PROMPT 6 1 ""
PICTURE "."
// PICTURE "."
DRIVENBY 63
END
END // Fine sezione totale in valuta #2
@ -532,18 +608,20 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 75 15
VALUTA 75 15
BEGIN
KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 ""
PICTURE "."
// PICTURE "."
DRIVENBY 73
END
NUMBER 76 15
VALUTA 76 15
BEGIN
KEY "Tot Valore Residuo per agente"
PROMPT 6 1 ""
PICTURE "."
// PICTURE "."
DRIVENBY 73
END
END // Fine sezione totale in valuta #3
@ -570,18 +648,18 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 85 15
VALUTA 85 15
BEGIN
KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 83
END
NUMBER 86 15
VALUTA 86 15
BEGIN
KEY "Tot Valore Residuo per agente"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 83
END
END // Fine sezione totale in valuta #4

View File

@ -61,8 +61,8 @@ BEGIN
KEY "Codice"
PROMPT 1 1 "@B"
FIELD LF_RIGHEDOC->CODART
MESSAGE _ORDINE,VALTABLE,RESET
PICTURE "########"
MESSAGE RESET,G_TOTALEART@|_ORDINE,VALTABLE,RESET
MESSAGE RESET,508|RESET,509|RESET,511
END
STRING 2 40
@ -72,7 +72,7 @@ BEGIN
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
KEY "Descrizione art."
PROMPT 2 1 ""
FIELD LF_ANAMAG->DESCR
FIELD LF_RIGHEDOC->DESCR
END
STRINGA 3 4
@ -93,21 +93,23 @@ BEGIN
PROMPT 4 1 ""
END
NUMBER 5 15
VALUTA BODY_COL_5 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 ""
END
NUMBER 6 15
VALUTA BODY_COL_6 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 ""
END
@ -155,7 +157,7 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+DATACONS
BEGIN
KEY "Descrizione"
PROMPT 2 1 ""
MESSAGE _ORDINE,DESCRIZIONE|COPY,402
MESSAGE _STREXPR,LF_DOC->CODNUM+"/"+LF_DOC->ANNO+"-"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC|COPY,402
FLAGS "H"
END
STRING 303 4
@ -171,24 +173,27 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+DATACONS
KEY "Data consegna articolo"
PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS
FIELD LF_DOC->DATACONS
MESSAGE COPY,404
FLAGS "H"
END
NUMBER 305 15
VALUTA 305 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
PICTURE "."
DRIVENBY 303
// PICTURE "."
FLAGS "H"
END
NUMBER 306 15
VALUTA 306 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "."
// PICTURE "."
DRIVENBY 303
FLAGS "H"
MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
END
@ -216,6 +221,28 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+DATACONS
MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H"
END
VALUTA 310 13
BEGIN
KEY "Prezzo non scontato"
PROMPT 10 1 ""
MESSAGE _ORDINE,PREZZONS|COPY,410
DRIVENBY 303
FLAGS "HU"
END
NUMBER 311 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
FLAGS "H"
END
NUMBER 312 15
BEGIN
KEY "Giacenza attuale"
PROMPT 12 1 ""
MESSAGE _ORDINE,GIACENZA|COPY,512
FLAGS "H"
END
END // END SECTION ARTICOLI
// Totalizers for previous section
@ -242,22 +269,24 @@ DATA 404 10
PROMPT 4 1 ""
FLAGS "D"
END
NUMBER 405 15
VALUTA 405 15
BEGIN
KEY "Valore Ordinato"
PROMPT 5 1 ""
PICTURE "."
// PICTURE "."
FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALORD
DRIVENBY 403
GROUP G_TOTALEART
END
NUMBER 406 15
VALUTA 406 15
BEGIN
KEY "Valore Residuo"
PROMPT 6 1 ""
PICTURE "."
// PICTURE "."
FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALRES
DRIVENBY 403
GROUP G_TOTALEART
END
STRINGA 407 4
@ -265,6 +294,7 @@ STRINGA 407 4
KEY "Unita' di misura"
PROMPT 7 1 ""
FLAGS "D"
MESSAGE COPY,507
GROUP G_TOTALEART
END
NUMBER 408 13
@ -273,6 +303,7 @@ NUMBER 408 13
PROMPT 8 1 ""
PICTURE "#@,@@@"
FLAGS "D"
MESSAGE ADD,508
GROUP G_TOTALEART
END
NUMBER 409 13
@ -281,8 +312,32 @@ NUMBER 409 13
PROMPT 9 1 ""
PICTURE "#@,@@@"
FLAGS "D"
MESSAGE ADD,509
GROUP G_TOTALEART
END
VALUTA 410 13
BEGIN
KEY "Pr. non scontato"
PROMPT 10 1 ""
// PICTURE "."
DRIVENBY 403
FLAGS "D"
GROUP G_TOTALEART
END
NUMBER 411 15
BEGIN
KEY "Residuo"
PROMPT 11 1 ""
PICTURE "########@,@@@@@"
FLAGS "D"
MESSAGE ADD,511
GROUP G_TOTALEART
END
NUMBER 412 15
BEGIN
KEY "Giac. attuale"
PROMPT 12 1 ""
END
END // SEZIONE ARTMAIN
// Sezioni di totalizzazione per Valuta (4, shown & hidden at runtime by VALTABLE messages in application code)
@ -310,19 +365,60 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 55 15
VALUTA 55 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 53
END
NUMBER 56 15
VALUTA 56 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 53
END
STRINGA 507 4
BEGIN
KEY "Unitá di misura"
PROMPT 7 1 ""
END
NUMERO 508 15 5
BEGIN
KEY "Tot Q.ta ordinata"
PROMPT 8 1 ""
PICTURE "########@,@@@@@"
END
NUMERO 509 15 5
BEGIN
KEY "Tot Q.ta evasa"
PROMPT 9 1 ""
PICTURE "########@,@@@@@"
END
VALUTA 510 13
BEGIN
KEY "Pr. Scontato"
PROMPT 10 1 ""
END
NUMERO 511 15 5
BEGIN
KEY "Tot Residuo"
PROMPT 11 1 ""
PICTURE "########@,@@@@@"
END
NUMERO 512 15 5
BEGIN
KEY "Tot Giacenza"
PROMPT 12 1 ""
PICTURE "########@,@@@@@"
END
END // Fine sezione totale in valuta #1
@ -349,18 +445,20 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 65 15
VALUTA 65 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 63
// PICTURE "."
END
NUMBER 66 15
VALUTA 66 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 63
// PICTURE "."
END
END // Fine sezione totale in valuta #2
@ -388,18 +486,20 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 75 15
VALUTA 75 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 73
// PICTURE "."
END
NUMBER 76 15
VALUTA 76 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 73
// PICTURE "."
END
END // Fine sezione totale in valuta #3
@ -426,18 +526,20 @@ FLAGS "D"
PROMPT 4 1 ""
END
NUMBER 85 15
VALUTA 85 15
BEGIN
KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 ""
PICTURE "."
DRIVENBY 83
// PICTURE "."
END
NUMBER 86 15
VALUTA 86 15
BEGIN
KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 ""
PICTURE "."
DRIVENBY 83
// PICTURE "."
END
END // Fine sezione totale in valuta #4

View File

@ -3,7 +3,29 @@
class TStampa_dettaglio_articoli : public TSkeleton_application
{
TMask *_m;
TOrdine_form
*_frm;
TCodgiac_livelli
*_codgiac;
TTable *_fcg;
TString _fromcodnum, _tocodnum; // Range calcolati automaticamente all'inizio del prg
int _anno;
char _provv;
bool _da_ordinare, // Se TRUE solo gli articoli da ordinare, FALSE tutti.
_detail_mag, _detail_dep,
_giac_eff, _val_comp;
TDate _data_oss; // Data di osservazione
TDate _data_inizio;
TArray _date_array; // Array di date di suddivisione periodi di osservazione
TArray _file; // Array di files da aprire per i malditos TRecord_array
int _periods,
_detail_level; //0..4 0 = Articoli 4 = FCG #4 Maximum detail level
TString _from_art, //ranges
_to_art,
_from_mag, _to_mag,
_from_dep, _to_dep;
TString_array _from_giac, _to_giac;
protected:
virtual bool create();
virtual bool destroy();
@ -15,6 +37,39 @@ public:
bool TStampa_dettaglio_articoli::create()
{
open_files(LF_UMART, LF_OCCAS, LF_CLIFO, LF_INDSP, LF_CFVEN, LF_TABCOM, LF_MAG, 0);
_m = new TMask("or1200a");
// Reperisce i flags per vedere se e' abilitata la gestione depositi e la gestione livelli di giacenza
// Abilita quindi i campi relativi per la selezione dettaglio deposito/livello di giacenza
TConfig conf(CONFIG_DITTA,"mg");
bool geslivgiac = conf.get_bool("GESLIVGIAC");
bool gesdepositi = conf.get_bool("GESDEPOSITI");
_m->enable(-GR_DEP, gesdepositi);
_m->enable(-GR_GIAC, geslivgiac);
_fcg = new TTable("FCG");
_codgiac = new TCodgiac_livelli;
if (geslivgiac) // Completa i campi per i livelli di giacenza al fine di poter effettuare le ricerche
{
short id = F_GIAC1;
for (_fcg->first(); _fcg->good(); _fcg->next(), id+=4)
_m->set(id, _fcg->get("CODTAB"));
}
// Trova gli estremi codice numerazione per tutti i documenti ordine
TTable tip("%TIP");
TString cod;
for (tip.first(); tip.good(); tip.next())
{
if (tip.get_int("I1") == 3) // Trattasi di ordine ??
{
cod = tip.get("CODTAB");
if (_fromcodnum.empty() || cod < _fromcodnum)
_fromcodnum = cod;
if (cod > _tocodnum)
_tocodnum = cod;
}
}
return TSkeleton_application::create();
}
@ -23,9 +78,213 @@ bool TStampa_dettaglio_articoli::destroy()
return TSkeleton_application::destroy();
}
void TStampa_dettaglio_articoli::set_date_array()
{
TDate dday;
_date_array.destroy();
const long ndays = _data_oss - _data_inizio;
const long daysperiod = ndays / _periods;
dday = _data_inizio;
for (int i = 0; i < _periods; i++)
{
dday += daysperiod;
if (i == _periods -1)
dday = _data_oss;
_date_array.add(dday);
}
}
void TStampa_dettaglio_articoli::set_form()
{
CHECK(_frm,"Invalid form");
_frm->set_options(_detail_level, _detail_mag, _detail_dep, _giac_eff, _val_comp, &_date_array);
// Setta il filtro e l'ordinamento per il cursore del form...
TString lev_str, mag_str, s, filter_expr;
TSorted_cursor* cur = (TSorted_cursor*)_frm->cursor();
TDocumento *doc = new TDocumento; // Don't delete it
cur->file().set_curr(doc);
cur->file(LF_RIGHEDOC).set_curr(new TRiga_documento(doc));
if (_detail_level > 0)
lev_str.format("LIVELLO[1,%d]",_codgiac->packed_length(_detail_level));
if (_detail_mag)
mag_str.format("CODMAG[1,3]");
if (_detail_dep)
mag_str.format("CODMAG");
s = "CODART|";
if (lev_str.not_empty())
s << lev_str << "|";
if (mag_str.not_empty())
s << mag_str << "|";
s << "CODNUM|ANNO|PROVV|NDOC";
cur->change_order(s); // Cursor order expression
TRectype f(LF_RIGHEDOC), t(LF_RIGHEDOC);
if (_anno != 0)
{
f.put(DOC_PROVV, _provv);
f.put(DOC_ANNO, _anno);
}
else
{
s.format("(PROVV==\"%c\") &&", _provv);
filter_expr << s;
}
f.put(DOC_CODNUM, _fromcodnum);
t = f;
t.put(DOC_CODNUM, _tocodnum);
cur->setregion(f,t); // Cursor region
// TDate oggi(TODAY);
// Considera solo i documenti con data consegna compresa tra oggi e la data di osservazione
s.format("(ANSI(%d->DATACONS)>=\"%s\")", LF_RIGHEDOC,
(const char*)_data_inizio.string(ANSI));
filter_expr << s;
s.format("&& (ANSI(%d->DATACONS)<=\"%s\")", LF_RIGHEDOC,
(const char*)_data_oss.string(ANSI));
filter_expr << s;
// Setta i range per il codice articolo
if (_from_art.not_empty())
{
s.format("&&(%d->CODART>=\"%s\")",
LF_RIGHEDOC, (const char*)_from_art);
filter_expr << s;
}
if (_to_art.not_empty())
{
filter_expr << "&&";
s.format("(%d->CODART<=\"%s\")",
LF_RIGHEDOC, (const char*)_to_art);
filter_expr << s;
}
// Setta i range per i livelli di giacenza (da 1 a 4)
if (_detail_level > 0)
for (int lev=1, index=0; lev <= _detail_level; lev++)
{
if (!_codgiac->enabled(lev))
continue;
TString& from = (TString&) _from_giac[index];
TString& to = (TString&) _to_giac[index++];
const int starts = _codgiac->code_start(lev);
const int ends = starts+_codgiac->code_length(lev);
if (from.not_empty())
{
s.format("&&(%d->LIVELLO[%d,%d]>=\"%s\")",
LF_RIGHEDOC,starts,ends,(const char*)from);
filter_expr << s;
}
if (to.not_empty())
{
s.format("&&(%d->LIVELLO[%d,%d]<=\"%s\")",
LF_RIGHEDOC,starts,ends,(const char*)to);
filter_expr << s;
}
}
// Setta i range per il codice magazzino (deposito incluso)
if (_from_mag.not_empty())
{
s.format("&&(%d->CODMAG>=\"%s\")",
LF_RIGHEDOC, (const char*)_from_mag);
filter_expr << s;
}
if (_to_mag.not_empty())
{
s.format("&&(%d->CODMAG<=\"%s\")",
LF_RIGHEDOC, (const char*)_to_mag);
filter_expr << s;
}
if (_da_ordinare)
{
s.format("&&(%d->RIGAEVASA!=\"X\")", LF_RIGHEDOC);
filter_expr << s;
}
cur->setfilter(filter_expr,TRUE); // Cursor filter expression
// Una volta settato il cursore del form, pensiamo ai campi del form
// ed alle espressioni delle sottosezioni, le colonne da abilitare etc. etc...
// Disabilita le colonne in base al numero di periodi da suddividere
for (short id = 4+_periods*2; id <= 15; id++)
{
_frm->find_field('B',odd_page,id).disable();
_frm->find_field('B',odd_page,id+50).disable();
}
// Fincature & altro
const int hh = 7;
const int fl = printer().formlen();
int rows[5]; // Righe orizzontali
rows[0] = hh-4;
rows[1] = hh-2;
rows[2] = hh;
rows[3] = fl-1;
rows[4] = 0;
_frm->genera_intestazioni(odd_page, hh-1);
_frm->genera_intestazione_supplementare(odd_page, hh-3);
_frm->genera_fincatura(odd_page, hh-4, fl-1, rows);
}
void TStampa_dettaglio_articoli::main_loop()
{
sorry_box("Programma non ancora implementato.");
while (_m->run()!=K_QUIT)
{
_provv = _m->get(F_PROVV)[0];
_anno = _m->get_int(F_ANNO);
_data_inizio = _m->get_date(F_DATE_H);
_data_oss = _m->get_date(F_DATAOSS);
_from_mag = _m->get(F_MAGFROM);
_to_mag = _m->get(F_MAGTO);
_from_dep = _m->get(F_DEPFROM);
_to_dep = _m->get(F_DEPTO);
if (_from_mag.not_empty())
_from_mag.left_just(3);
if (_to_mag.not_empty())
_to_mag.left_just(3);
_from_mag << _from_dep;
_to_mag << _to_dep;
_from_art = _m->get(F_ARTFROM);
_to_art = _m->get(F_ARTTO);
_from_giac.destroy();
_to_giac.destroy();
_from_giac.add(_m->get(F_GIAC1_FROM),0);
_to_giac.add(_m->get(F_GIAC1_TO),0);
_from_giac.add(_m->get(F_GIAC2_FROM),1);
_to_giac.add(_m->get(F_GIAC2_TO),1);
_from_giac.add(_m->get(F_GIAC3_FROM),2);
_to_giac.add(_m->get(F_GIAC3_TO),2);
_from_giac.add(_m->get(F_GIAC4_FROM),3);
_to_giac.add(_m->get(F_GIAC4_TO),3);
_detail_mag = _m->get_bool(F_DETAIL_MAG);
_detail_dep = _m->get_bool(F_DETAIL_DEP);
_detail_level = _m->get_int(F_DETAIL_LEV);
_periods = _m->get_int(F_PERIODS);
_da_ordinare = _m->get(F_RIGHETUTTE) == "O";
_giac_eff = _m->get_bool(F_GIACEFF);
_val_comp = _m->get_bool(F_VALCOMP);
set_date_array();
_frm = new TOrdine_form("or1200a");
set_form();
if (_frm->cursor()->items() > 0)
_frm->print();
// Reset mask
_m->reset();
delete _frm;
}
}
int or1200(int argc, char** argv)

View File

@ -16,7 +16,7 @@ ENDPAGE
PAGE "Disponibilita' articoli" -1 -1 70 16
GROUPBOX DLG_NULL 40 5
GROUPBOX DLG_NULL 40 7
BEGIN
PROMPT 1 1 "Ordine"
END
@ -38,7 +38,7 @@ END
NUMBER F_ANNO 4
BEGIN
PROMPT 2 2 "Anno "
CHECKTYPE REQUIRED
// CHECKTYPE REQUIRED
END
LIST F_PROVV 12
@ -50,15 +50,16 @@ END
DATE F_DATE_H
BEGIN
FLAGS "AH"
PROMTP 2 4 ""
FLAGS "A"
PROMTP 2 4 "Data iniziale "
CHECKTYPE REQUIRED
END
DATE F_DATAOSS
BEGIN
PROMPT 2 4 "Data osservazione "
PROMPT 2 6 "Data osservazione "
VALIDATE DATE_CMP_FUNC >= F_DATE_H
WARNING "La data osservazione deve essere minore della data attuale"
WARNING "La data osservazione deve essere maggiore della data iniziale"
END
NUMBER F_DETAIL_LEV 1
@ -86,7 +87,7 @@ END
LISTBOX F_PERIODS 1
BEGIN
PROMPT 2 7 "Numero periodi "
PROMPT 2 8 "Numero periodi "
ITEM "1|1"
ITEM "2|2"
ITEM "3|3"
@ -97,9 +98,9 @@ END
LIST F_RIGHETUTTE 12
BEGIN
PROMPT 2 8 "Tipo righe ordine "
PROMPT 2 9 "Tipo righe ordine "
ITEM "T|Tutte"
ITEM "O|Da ordinare"
ITEM "O|Non evase"
END
GROUPBOX DLG_NULL 30 4

View File

@ -375,12 +375,17 @@ bool TOrdine_form::validate(TForm_item &cf, TToken_string &s)
}
else
if (action == "GIACENZA")
{
TString16 annoes;
annoes << _esercizi->date2esc(doc.get_date(DOC_DATADOC));
const TString16 codmag(rdoc.get("CODMAG")); // Riferito al magazzino indicato sulla riga...
const TString16 livello(_level > 0 ? rdoc.get(RDOC_LIVELLO) : "");
const real g = _art_giac->read(rdoc.get(RDOC_CODART)) == NOERR ? _art_giac->disponibilita(annoes, codmag, livello) : ZERO;// Giacenza attuale
{
real g = ZERO;
const TString& codart = rdoc.get(RDOC_CODARTMAG);
if (codart.not_empty() && _art_giac->read(codart) == NOERR)
{
const TDate oggi(TODAY);
TString16 annoes; annoes.format("%04d", _esercizi->date2esc(oggi));
const TString16 codmag(rdoc.get("CODMAG")); // Riferito al magazzino indicato sulla riga...
const TString16 livello(_level > 0 ? rdoc.get(RDOC_LIVELLO) : "");
g = _art_giac->disponibilita(annoes, codmag, livello, TRUE); // Giacenza attuale
}
cf.set(g.string());
}
//Ignore any other command