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

View File

@ -15,8 +15,6 @@ END
GENERAL GENERAL
BEGIN BEGIN
OFFSET 0 0 OFFSET 0 0
FONT "Courier New"
SIZE 10
END END
@ -54,7 +52,7 @@ END //HEADER
SECTION BODY ODD 2 COLUMNWISE SECTION BODY ODD 2 COLUMNWISE
STRING 1 22 STRING BODY_COL_1 22
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Documento" "Documento" SPECIAL STRINGA INTESTAZIONE "Documento" "Documento"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -64,83 +62,127 @@ BEGIN
MESSAGE _STREXPR,CODNUM+"/"+NDOC+" del "+DATADOC MESSAGE _STREXPR,CODNUM+"/"+NDOC+" del "+DATADOC
END END
STRING 2 50 STRING BODY_COL_2 40
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Cod./Descrizione" "Cod./Descrizione" SPECIAL STRINGA INTESTAZIONE "Cod./Descrizione" "Cod./Descrizione"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Cod./Descrizione" KEY "Cod./Descrizione"
PROMPT 2 1 "" PROMPT 2 1 ""
MESSAGE _STREXPR,CODCF+" "+LF_CLIFO->RAGSOC MESSAGE _ORDINE,RAGSOC,1
//MESSAGE _CLIENTE, !RAGSOC da implementare a causa degli occasionali...
END 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 BEGIN
SPECIAL STRINGA INTESTAZIONE "Data cons." "Data cons." SPECIAL STRINGA INTESTAZIONE "Data cons." "Data cons."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Data consegna documento" KEY "Data consegna documento"
PROMPT 3 1 "" PROMPT 4 1 ""
FIELD DATACONS FIELD DATACONS
END END
NUMBER 4 15 VALUTA BODY_COL_5 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore" SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore" KEY "Valore"
PROMPT 4 1 "" PROMPT 5 1 ""
FIELD TOTVALORE FIELD TOTVALORE
PICTURE "." DRIVENBY BODY_COL_3
// PICTURE "."
END END
NUMBER 5 11 VALUTA BODY_COL_6 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo" SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 5 1 "" PROMPT 6 1 ""
FIELD TOTVALRES FIELD TOTVALRES
PICTURE "." DRIVENBY BODY_COL_3
// PICTURE "."
END END
STRINGA 6 4 STRINGA BODY_COL_7 4
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "UM" "UM" SPECIAL STRINGA INTESTAZIONE "UM" "UM"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Unita' di misura" // Solo intestazione KEY "Unita' di misura" // Solo intestazione
FLAGS "H" FLAGS "H"
PROMPT 6 1 "" PROMPT 7 1 ""
GROUP G_DETTAGLIO GROUP G_DETTAGLIO
END END
STRINGA 7 13 STRINGA BODY_COL_8 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Q.ta Ordinata" "Q.ta Ordinata" SPECIAL STRINGA INTESTAZIONE "Q.ta Ordinata" "Q.ta Ordinata"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Ordinata" // Solo intestazione KEY "Q.ta Ordinata" // Solo intestazione
FLAGS "H" FLAGS "H"
PROMPT 7 1 "" PROMPT 8 1 ""
GROUP G_DETTAGLIO GROUP G_DETTAGLIO
END END
STRINGA 8 13 STRINGA BODY_COL_9 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CQ.ta Evasa" "Q.ta Evasa" SPECIAL STRINGA INTESTAZIONE "@CQ.ta Evasa" "Q.ta Evasa"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Q.ta Evasa" // Solo intestazione KEY "Q.ta Evasa" // Solo intestazione
FLAGS "H" FLAGS "H"
PROMPT 8 1 "" PROMPT 9 1 ""
GROUP G_DETTAGLIO GROUP G_DETTAGLIO
END 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 // Sezione di dettaglio righe / raggruppamento articoli per ordine corrente
SECTION DET 2 0 0 FILE LF_RIGHEDOC 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 SECTION RIGHE 1 1 1 GROUP // Viene cambiata in STREXPR da programma
STRINGA 100 22 STRINGA 101 22
BEGIN BEGIN
PROMPT 1 1 "" PROMPT 1 1 ""
END END
STRINGA 101 50 STRINGA 102 40
BEGIN BEGIN
PROMPT 2 1 "" PROMPT 2 1 ""
MESSAGE _STREXPR, LF_RIGHEDOC->CODART+" "+LF_RIGHEDOC->DESCR MESSAGE _STREXPR, LF_RIGHEDOC->CODART+" "+LF_RIGHEDOC->DESCR
END END
DATA 102 10 STRING 103 4
BEGIN
KEY "Codice Valuta"
PROMPT 3 1 ""
END
DATA 104 10
BEGIN BEGIN
PROMPT 3 1 "" PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS FIELD LF_RIGHEDOC->DATACONS
END END
NUMBER 103 15 VALUTA 105 15
BEGIN BEGIN
PROMPT 4 1 "" // valore PROMPT 5 1 "" // valore
FIELD LF_RIGHEDOC->RIGAVALORE FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE ADD, FL->203 MESSAGE ADD, FL->205
PICTURE "." DRIVENBY 103
// PICTURE "."
END END
NUMBER 104 11 VALUTA 106 15
BEGIN BEGIN
PROMPT 5 1 "" // Val residuo riga PROMPT 6 1 "" // Val residuo riga
FIELD LF_RIGHEDOC->RIGAVALRES FIELD LF_RIGHEDOC->RIGAVALRES
MESSAGE ADD, FL->204 MESSAGE ADD, FL->206
PICTURE "." DRIVENBY 103
// PICTURE "."
END END
STRINGA 105 4 STRINGA 107 4
BEGIN BEGIN
PROMPT 6 1 "" // Unita' di misura PROMPT 7 1 "" // Unita' di misura
FIELD LF_RIGHEDOC->UMQTA FIELD LF_RIGHEDOC->UMQTA
END END
NUMBER 106 13 NUMBER 108 15
BEGIN BEGIN
PROMPT 7 1 "" // Q.ta Ordinata PROMPT 8 1 "" // Q.ta Ordinata
FIELD LF_RIGHEDOC->QTA FIELD LF_RIGHEDOC->QTA
PICTURE "#@,@@@" PICTURE "########@,@@@@@"
END
NUMBER 107 13
BEGIN
PROMPT 8 1 "" // Q.ta Evasa
FIELD LF_RIGHEDOC->QTAEVASA
PICTURE "#@,@@@"
END 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 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 // SECTION DET
END //BODY END //BODY
SECTION FOOTER LAST 5 COLUMNWISE SECTION FOOTER LAST 5 COLUMNWISE
STRINGA 200 22 STRINGA 201 22
BEGIN BEGIN
PROMPT 1 1 "" PROMPT 1 1 ""
END END
STRINGA 201 50 STRINGA 202 40
BEGIN BEGIN
PROMPT 2 1 "@BTotale:" PROMPT 2 1 "@BTotale:"
END END
DATA 202 10 STRINGA 203 4
BEGIN BEGIN
PROMPT 3 1 "" PROMPT 3 1 ""
END END
NUMBER 203 15 DATA 204 10
BEGIN BEGIN
PROMPT 4 1 "" // valore PROMPT 4 1 ""
PICTURE "."
END END
NUMBER 204 11 VALUTA 205 15
BEGIN BEGIN
PROMPT 5 1 "" // Val residuo riga PROMPT 5 1 "" // valore
PICTURE "." DRIVENBY 203
// PICTURE "."
END
VALUTA 206 15
BEGIN
PROMPT 6 1 "" // Val residuo
DRIVENBY 203
// PICTURE "."
END END
END //FOOTER END //FOOTER

View File

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

View File

@ -1,7 +1,7 @@
// Form per la stampa ordini per cliente/fornitore // Form per la stampa ordini per cliente/fornitore
#include "or1100a.h" #include "or1100a.h"
// Cursor sorting on main file is set also in application // 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_DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
JOIN LF_ANAMAG INTO CODART==CODART JOIN LF_ANAMAG INTO CODART==CODART
JOIN LF_CLIFO TO LF_DOC INTO TIPOCF==TIPOCF CODCF==CODCF JOIN LF_CLIFO TO LF_DOC INTO TIPOCF==TIPOCF CODCF==CODCF
@ -94,21 +94,23 @@ BEGIN
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 5 15 VALUTA BODY_COL_5 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore" SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore" KEY "Valore"
DRIVENBY BODY_COL_3
PROMPT 5 1 "" PROMPT 5 1 ""
END END
NUMBER 6 15 VALUTA BODY_COL_6 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo" SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore Residuo" KEY "Valore Residuo"
DRIVENBY BODY_COL_3
PROMPT 6 1 "" PROMPT 6 1 ""
END END
@ -149,6 +151,21 @@ END
// Raggruppamento righe documenti per lo stesso cli/fo // Raggruppamento righe documenti per lo stesso cli/fo
SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF 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 NUMBER 101 10
BEGIN BEGIN
PROMPT 1 1 "" PROMPT 1 1 ""
@ -160,7 +177,7 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
BEGIN BEGIN
KEY "Descrizione documento" KEY "Descrizione documento"
PROMPT 2 1 "" 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" FLAGS "D"
END END
@ -176,32 +193,32 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
BEGIN BEGIN
KEY "Data consegna documento" KEY "Data consegna documento"
PROMPT 4 1 "" PROMPT 4 1 ""
FIELD LF_DOC->DATACONS
FLAGS "D" FLAGS "D"
FIELD LF_DOC->DATACONS
END END
NUMBER 105 15 VALUTA 105 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
FIELD LF_DOC->TOTVALORE FIELD LF_DOC->TOTVALORE
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALORD MESSAGE _ORDINE,VALTABLE,VALORD
PICTURE "."
FLAGS "D" FLAGS "D"
END END
NUMBER 106 15 VALUTA 106 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
FIELD LF_DOC->TOTVALRES FIELD LF_DOC->TOTVALRES
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALRES MESSAGE _ORDINE,VALTABLE,VALRES
PICTURE "."
FLAGS "D" FLAGS "D"
END 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 FLAGS "D" // Da abilitare solo su dettaglio righe
NUMBER 201 10 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 "" PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS FIELD LF_RIGHEDOC->DATACONS
END END
NUMBER 205 15 VALUTA 205 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE FIELD LF_RIGHEDOC->RIGAVALORE
PICTURE "." DRIVENBY 203
END END
NUMBER 206 15 VALUTA 206 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "." DRIVENBY 203
END END
STRINGA 207 4 STRINGA 207 4
BEGIN BEGIN
@ -257,7 +274,27 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
KEY "Q.ta Evasa" KEY "Q.ta Evasa"
PROMPT 9 1 "" PROMPT 9 1 ""
FIELD LF_RIGHEDOC->QTAEVASA 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 // END SECTION RIGHEDOC 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 MESSAGE COPY,404
FLAGS "H" FLAGS "H"
END END
NUMBER 305 15 VALUTA 305 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405 MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
PICTURE "." DRIVENBY 303
FLAGS "H" FLAGS "H"
END END
NUMBER 306 15 VALUTA 306 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "." DRIVENBY 303
FLAGS "H" FLAGS "H"
MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406 MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
END 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 MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H" FLAGS "H"
END 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 // END SECTION RIGHEART
// Totalizers for previous section // 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 "" PROMPT 4 1 ""
FLAGS "D" FLAGS "D"
END END
NUMBER 405 15 VALUTA 405 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "."
FLAGS "D" FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALORD DRIVENBY 403
GROUP G_TOTALEART GROUP G_TOTALEART
END END
NUMBER 406 15 VALUTA 406 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "."
FLAGS "D" FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALRES DRIVENBY 403
GROUP G_TOTALEART GROUP G_TOTALEART
END END
STRINGA 407 4 STRINGA 407 4
@ -398,7 +455,31 @@ SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF
BEGIN BEGIN
KEY "Q.ta Evasa" KEY "Q.ta Evasa"
PROMPT 9 1 "" 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" FLAGS "D"
GROUP G_TOTALEART GROUP G_TOTALEART
END END
@ -430,18 +511,18 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 55 15 VALUTA 55 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 53
END END
NUMBER 56 15 VALUTA 56 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 53
END END
END // Fine sezione totale in valuta #1 END // Fine sezione totale in valuta #1
@ -469,18 +550,18 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 65 15 VALUTA 65 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 63
END END
NUMBER 66 15 VALUTA 66 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 63
END END
END // Fine sezione totale in valuta #2 END // Fine sezione totale in valuta #2
@ -508,18 +589,18 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 75 15 VALUTA 75 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 73
END END
NUMBER 76 15 VALUTA 76 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 73
END END
END // Fine sezione totale in valuta #3 END // Fine sezione totale in valuta #3
@ -546,18 +627,18 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 85 15 VALUTA 85 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 83
END END
NUMBER 86 15 VALUTA 86 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 83
END END
END // Fine sezione totale in valuta #4 END // Fine sezione totale in valuta #4

View File

@ -1,7 +1,7 @@
// Form per la stampa ordini per agente // Form per la stampa ordini per agente
#include "or1100a.h" #include "or1100a.h"
// Cursor sorting on main file is set also in application // 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_DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
JOIN LF_AGENTI TO LF_DOC INTO CODAGE==CODAG JOIN LF_AGENTI TO LF_DOC INTO CODAGE==CODAG
JOIN LF_ANAMAG INTO CODART==CODART JOIN LF_ANAMAG INTO CODART==CODART
@ -95,21 +95,23 @@ BEGIN
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 5 15 VALUTA BODY_COL_5 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore" SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore" KEY "Valore"
DRIVENBY BODY_COL_3
PROMPT 5 1 "" PROMPT 5 1 ""
END END
NUMBER 6 15 VALUTA BODY_COL_6 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo" SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore Residuo" KEY "Valore Residuo"
DRIVENBY BODY_COL_3
PROMPT 6 1 "" PROMPT 6 1 ""
END END
@ -183,7 +185,7 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
BEGIN BEGIN
KEY "Descrizione documento" KEY "Descrizione documento"
PROMPT 2 1 "" 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 END
STRING 103 4 STRING 103 4
@ -200,22 +202,22 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
FIELD LF_DOC->DATACONS FIELD LF_DOC->DATACONS
END END
NUMBER 105 15 VALUTA 105 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
FIELD LF_DOC->TOTVALORE FIELD LF_DOC->TOTVALORE
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALORD MESSAGE _ORDINE,VALTABLE,VALORD
PICTURE "."
END END
NUMBER 106 15 VALUTA 106 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
FIELD LF_DOC->TOTVALRES FIELD LF_DOC->TOTVALRES
DRIVENBY 103
MESSAGE _ORDINE,VALTABLE,VALRES MESSAGE _ORDINE,VALTABLE,VALRES
PICTURE "."
END END
// Raggruppamento righe stesso documento // Raggruppamento righe stesso documento
@ -242,19 +244,21 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
PROMPT 4 1 "" PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS FIELD LF_RIGHEDOC->DATACONS
END END
NUMBER 205 15 VALUTA 205 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE FIELD LF_RIGHEDOC->RIGAVALORE
PICTURE "." DRIVENBY 203
// PICTURE "."
END END
NUMBER 206 15 VALUTA 206 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "." DRIVENBY 203
// PICTURE "."
END END
STRINGA 207 4 STRINGA 207 4
BEGIN BEGIN
@ -274,7 +278,28 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
KEY "Q.ta Evasa" KEY "Q.ta Evasa"
PROMPT 9 1 "" PROMPT 9 1 ""
FIELD LF_RIGHEDOC->QTAEVASA 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 // END SECTION RIGHEDOC END // END SECTION RIGHEDOC
END // END SECTION DOCUMENTI 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 FLAGS "D" // Sezione abilitata se non si stampa per documenti
SECTION RIGHEART 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+CODART+DATACONS SECTION RIGHEART 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+CODART+DATACONS
//FLAGS "D" // FLAGS "D"
NUMBER 301 10 NUMBER 301 10
BEGIN BEGIN
PROMPT 1 1 "" PROMPT 1 1 ""
@ -317,21 +342,21 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
MESSAGE COPY,404 MESSAGE COPY,404
FLAGS "H" FLAGS "H"
END END
NUMBER 305 15 VALUTA 305 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405 MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
PICTURE "." DRIVENBY 303
FLAGS "H" FLAGS "H"
END END
NUMBER 306 15 VALUTA 306 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "." DRIVENBY 303
FLAGS "H" FLAGS "H"
MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406 MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
END END
@ -359,6 +384,28 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
MESSAGE _ORDINE,CONVUM|ADD,409 MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H" FLAGS "H"
END 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 // END SECTION RIGHEART
// Totalizers for previous section // Totalizers for previous section
@ -385,20 +432,22 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
PROMPT 4 1 "" PROMPT 4 1 ""
//FLAGS "D" //FLAGS "D"
END END
NUMBER 405 15 VALUTA 405 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." // PICTURE "."
//FLAGS "D" //FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART GROUP G_TOTALEART
END END
NUMBER 406 15 VALUTA 406 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." // PICTURE "."
//FLAGS "D" //FLAGS "D"
DRIVENBY 403
GROUP G_TOTALEART GROUP G_TOTALEART
END END
STRINGA 407 4 STRINGA 407 4
@ -424,6 +473,29 @@ SECTION AGENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_DOC->CODAG
//FLAGS "D" //FLAGS "D"
GROUP G_TOTALEART GROUP G_TOTALEART
END 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 END // END SECTION ARTCLI
@ -454,18 +526,20 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 55 15 VALUTA 55 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per agente" KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." // PICTURE "."
DRIVENBY 53
END END
NUMBER 56 15 VALUTA 56 15
BEGIN BEGIN
KEY "Tot Valore Residuo per agente" KEY "Tot Valore Residuo per agente"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." // PICTURE "."
DRIVENBY 53
END END
END // Fine sezione totale in valuta #1 END // Fine sezione totale in valuta #1
@ -493,18 +567,20 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 65 15 VALUTA 65 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per agente" KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." // PICTURE "."
DRIVENBY 63
END END
NUMBER 66 15 VALUTA 66 15
BEGIN BEGIN
KEY "Tot Valore Residuo per agente" KEY "Tot Valore Residuo per agente"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." // PICTURE "."
DRIVENBY 63
END END
END // Fine sezione totale in valuta #2 END // Fine sezione totale in valuta #2
@ -532,18 +608,20 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 75 15 VALUTA 75 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per agente" KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." // PICTURE "."
DRIVENBY 73
END END
NUMBER 76 15 VALUTA 76 15
BEGIN BEGIN
KEY "Tot Valore Residuo per agente" KEY "Tot Valore Residuo per agente"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." // PICTURE "."
DRIVENBY 73
END END
END // Fine sezione totale in valuta #3 END // Fine sezione totale in valuta #3
@ -570,18 +648,18 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 85 15 VALUTA 85 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per agente" KEY "Tot Valore Ordinato per agente"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 83
END END
NUMBER 86 15 VALUTA 86 15
BEGIN BEGIN
KEY "Tot Valore Residuo per agente" KEY "Tot Valore Residuo per agente"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 83
END END
END // Fine sezione totale in valuta #4 END // Fine sezione totale in valuta #4

View File

@ -61,8 +61,8 @@ BEGIN
KEY "Codice" KEY "Codice"
PROMPT 1 1 "@B" PROMPT 1 1 "@B"
FIELD LF_RIGHEDOC->CODART FIELD LF_RIGHEDOC->CODART
MESSAGE _ORDINE,VALTABLE,RESET MESSAGE RESET,G_TOTALEART@|_ORDINE,VALTABLE,RESET
PICTURE "########" MESSAGE RESET,508|RESET,509|RESET,511
END END
STRING 2 40 STRING 2 40
@ -72,7 +72,7 @@ BEGIN
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
KEY "Descrizione art." KEY "Descrizione art."
PROMPT 2 1 "" PROMPT 2 1 ""
FIELD LF_ANAMAG->DESCR FIELD LF_RIGHEDOC->DESCR
END END
STRINGA 3 4 STRINGA 3 4
@ -93,21 +93,23 @@ BEGIN
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 5 15 VALUTA BODY_COL_5 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore" SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore" KEY "Valore"
DRIVENBY BODY_COL_3
PROMPT 5 1 "" PROMPT 5 1 ""
END END
NUMBER 6 15 VALUTA BODY_COL_6 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo" SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Valore Residuo" KEY "Valore Residuo"
DRIVENBY BODY_COL_3
PROMPT 6 1 "" PROMPT 6 1 ""
END END
@ -155,7 +157,7 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+DATACONS
BEGIN BEGIN
KEY "Descrizione" KEY "Descrizione"
PROMPT 2 1 "" 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" FLAGS "H"
END END
STRING 303 4 STRING 303 4
@ -171,24 +173,27 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+DATACONS
KEY "Data consegna articolo" KEY "Data consegna articolo"
PROMPT 4 1 "" PROMPT 4 1 ""
FIELD LF_RIGHEDOC->DATACONS FIELD LF_RIGHEDOC->DATACONS
FIELD LF_DOC->DATACONS
MESSAGE COPY,404 MESSAGE COPY,404
FLAGS "H" FLAGS "H"
END END
NUMBER 305 15 VALUTA 305 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
FIELD LF_RIGHEDOC->RIGAVALORE FIELD LF_RIGHEDOC->RIGAVALORE
MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405 MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
PICTURE "." DRIVENBY 303
// PICTURE "."
FLAGS "H" FLAGS "H"
END END
NUMBER 306 15 VALUTA 306 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
FIELD LF_RIGHEDOC->RIGAVALRES FIELD LF_RIGHEDOC->RIGAVALRES
PICTURE "." // PICTURE "."
DRIVENBY 303
FLAGS "H" FLAGS "H"
MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406 MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
END END
@ -216,6 +221,28 @@ SECTION ARTICOLI 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+DATACONS
MESSAGE _ORDINE,CONVUM|ADD,409 MESSAGE _ORDINE,CONVUM|ADD,409
FLAGS "H" FLAGS "H"
END 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 END // END SECTION ARTICOLI
// Totalizers for previous section // Totalizers for previous section
@ -242,22 +269,24 @@ DATA 404 10
PROMPT 4 1 "" PROMPT 4 1 ""
FLAGS "D" FLAGS "D"
END END
NUMBER 405 15 VALUTA 405 15
BEGIN BEGIN
KEY "Valore Ordinato" KEY "Valore Ordinato"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." // PICTURE "."
FLAGS "D" FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALORD //MESSAGE _ORDINE,VALTABLE,VALORD
DRIVENBY 403
GROUP G_TOTALEART GROUP G_TOTALEART
END END
NUMBER 406 15 VALUTA 406 15
BEGIN BEGIN
KEY "Valore Residuo" KEY "Valore Residuo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." // PICTURE "."
FLAGS "D" FLAGS "D"
//MESSAGE _ORDINE,VALTABLE,VALRES //MESSAGE _ORDINE,VALTABLE,VALRES
DRIVENBY 403
GROUP G_TOTALEART GROUP G_TOTALEART
END END
STRINGA 407 4 STRINGA 407 4
@ -265,6 +294,7 @@ STRINGA 407 4
KEY "Unita' di misura" KEY "Unita' di misura"
PROMPT 7 1 "" PROMPT 7 1 ""
FLAGS "D" FLAGS "D"
MESSAGE COPY,507
GROUP G_TOTALEART GROUP G_TOTALEART
END END
NUMBER 408 13 NUMBER 408 13
@ -273,6 +303,7 @@ NUMBER 408 13
PROMPT 8 1 "" PROMPT 8 1 ""
PICTURE "#@,@@@" PICTURE "#@,@@@"
FLAGS "D" FLAGS "D"
MESSAGE ADD,508
GROUP G_TOTALEART GROUP G_TOTALEART
END END
NUMBER 409 13 NUMBER 409 13
@ -281,8 +312,32 @@ NUMBER 409 13
PROMPT 9 1 "" PROMPT 9 1 ""
PICTURE "#@,@@@" PICTURE "#@,@@@"
FLAGS "D" FLAGS "D"
MESSAGE ADD,509
GROUP G_TOTALEART GROUP G_TOTALEART
END 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 END // SEZIONE ARTMAIN
// Sezioni di totalizzazione per Valuta (4, shown & hidden at runtime by VALTABLE messages in application code) // 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 "" PROMPT 4 1 ""
END END
NUMBER 55 15 VALUTA 55 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 53
END END
NUMBER 56 15 VALUTA 56 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 53
END 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 END // Fine sezione totale in valuta #1
@ -349,18 +445,20 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 65 15 VALUTA 65 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 63
// PICTURE "."
END END
NUMBER 66 15 VALUTA 66 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 63
// PICTURE "."
END END
END // Fine sezione totale in valuta #2 END // Fine sezione totale in valuta #2
@ -388,18 +486,20 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 75 15 VALUTA 75 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 73
// PICTURE "."
END END
NUMBER 76 15 VALUTA 76 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 73
// PICTURE "."
END END
END // Fine sezione totale in valuta #3 END // Fine sezione totale in valuta #3
@ -426,18 +526,20 @@ FLAGS "D"
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 85 15 VALUTA 85 15
BEGIN BEGIN
KEY "Tot Valore Ordinato per cli/fo" KEY "Tot Valore Ordinato per cli/fo"
PROMPT 5 1 "" PROMPT 5 1 ""
PICTURE "." DRIVENBY 83
// PICTURE "."
END END
NUMBER 86 15 VALUTA 86 15
BEGIN BEGIN
KEY "Tot Valore Residuo per cli/fo" KEY "Tot Valore Residuo per cli/fo"
PROMPT 6 1 "" PROMPT 6 1 ""
PICTURE "." DRIVENBY 83
// PICTURE "."
END END
END // Fine sezione totale in valuta #4 END // Fine sezione totale in valuta #4

View File

@ -3,7 +3,29 @@
class TStampa_dettaglio_articoli : public TSkeleton_application 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: protected:
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
@ -15,6 +37,39 @@ public:
bool TStampa_dettaglio_articoli::create() 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(); return TSkeleton_application::create();
} }
@ -23,9 +78,213 @@ bool TStampa_dettaglio_articoli::destroy()
return TSkeleton_application::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() 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) int or1200(int argc, char** argv)

View File

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

View File

@ -375,12 +375,17 @@ bool TOrdine_form::validate(TForm_item &cf, TToken_string &s)
} }
else else
if (action == "GIACENZA") if (action == "GIACENZA")
{ {
TString16 annoes; real g = ZERO;
annoes << _esercizi->date2esc(doc.get_date(DOC_DATADOC)); const TString& codart = rdoc.get(RDOC_CODARTMAG);
const TString16 codmag(rdoc.get("CODMAG")); // Riferito al magazzino indicato sulla riga... if (codart.not_empty() && _art_giac->read(codart) == NOERR)
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 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()); cf.set(g.string());
} }
//Ignore any other command //Ignore any other command