Patch level : 2.0 496

Files correlati     : mg4.exe mg4200.msk mg4200a.frm
Ricompilazione Demo : [ ]
Commento            :

GF20041
Eseguendo la stampa dell'inventario con la spunta stampa totali livelli di
giacenza dal 1° al 1°livello (colore) il 2° livello sarebbe la taglia mi
segnala due righe di giacenza per il colore rosso di 100 e 200 pezzi qundo
invece mi aspettavo un'unica riga per 400 pz. (invio dati sui quali si può
esegure la verifica)


git-svn-id: svn://10.65.10.50/trunk@11235 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-06-12 13:49:45 +00:00
parent 2613e57dd1
commit 99c4035bb0
4 changed files with 56 additions and 47 deletions

View File

@ -19,14 +19,12 @@ TCursor* TForm_inventario::cursor() const
bool TForm_inventario::validate(TForm_item &cf, TToken_string &s)
{
const TString code(s.get(0)); // prende il primo parametro, il codice del messaggio
TString subcode;
const TString80 code = s.get(0); // prende il primo parametro, il codice del messaggio
if (code=="_USER")
{
TLocalisamfile & magfile=relation()->lfile(LF_MAG);
TRectype & magrec=magfile.curr();
subcode=s.get();
const TRectype& magrec=relation()->curr(LF_MAG);
const TString subcode=s.get();
if (subcode=="GIAC")
{
real v=curr_art().giacenza_corretta(magrec, FALSE,_valcomp);
@ -84,7 +82,7 @@ bool TForm_inventario::validate(TForm_item &cf, TToken_string &s)
TArticolo_giacenza_loadable &TForm_inventario::curr_art()
{
TString80 newcode(relation()->lfile(LF_ANAMAG).curr().get(ANAMAG_CODART));
const TString80 newcode(relation()->curr(LF_ANAMAG).get(ANAMAG_CODART));
if (_curr_art==NULL || newcode != _curr_art->codice())
{
if (_curr_art) delete _curr_art;
@ -141,13 +139,13 @@ bool TForm_inventario::valorizzazione(TForm_item &cf, TTipo_valorizz t)
v=curr_art().costo_standard(annoes);
}
if (t==valorizz_costmediopond) {
TString codmag(magrec.get(MAG_CODMAG));codmag.left(3);
const TString livello(magrec.get(MAG_LIVELLO));
const TString4 codmag = magrec.get(MAG_CODMAG).left(3);
const TString80 livello(magrec.get(MAG_LIVELLO));
v=curr_art().costo_mediopond(annoes,codmag,livello);
}
if (t==valorizz_costmedio) {
TString codmag(magrec.get(MAG_CODMAG));codmag.left(3);
const TString livello(magrec.get(MAG_LIVELLO));
const TString4 codmag = magrec.get(MAG_CODMAG).left(3);
const TString80 livello(magrec.get(MAG_LIVELLO));
v=curr_art().costo_medio(annoes,codmag,livello);
}
// arrotonda le valorizzazioni a costo unitario
@ -156,23 +154,23 @@ bool TForm_inventario::valorizzazione(TForm_item &cf, TTipo_valorizz t)
v = _currency->get_num();
if (t==valorizz_LIFO) {
TString codmag(magrec.get(MAG_CODMAG));codmag.left(3);
const TString livello(magrec.get(MAG_LIVELLO));
const TString4 codmag = magrec.get(MAG_CODMAG).left(3);
const TString80 livello(magrec.get(MAG_LIVELLO));
v=curr_art().LIFO(annoes,codmag,livello, FALSE,_valcomp);
}
if (t==valorizz_FIFO) {
TString codmag(magrec.get(MAG_CODMAG));codmag.left(3);
const TString livello(magrec.get(MAG_LIVELLO));
const TString4 codmag = magrec.get(MAG_CODMAG).left(3);
const TString80 livello(magrec.get(MAG_LIVELLO));
v=curr_art().FIFO(annoes,codmag,livello, FALSE,_valcomp);
}
if (t==valorizz_LIFOa) {
TString codmag(magrec.get(MAG_CODMAG));codmag.left(3);
const TString livello(magrec.get(MAG_LIVELLO));
const TString80 livello(magrec.get(MAG_LIVELLO));
v=curr_art().LIFO_annuale(annoes,codmag,livello, FALSE,_valcomp);
}
if (t==valorizz_FIFOa) {
TString codmag(magrec.get(MAG_CODMAG));codmag.left(3);
const TString livello(magrec.get(MAG_LIVELLO));
const TString4 codmag = magrec.get(MAG_CODMAG).left(3);
const TString80 livello(magrec.get(MAG_LIVELLO));
v=curr_art().FIFO_annuale(annoes,codmag,livello, FALSE,_valcomp);
}
const real giac_corretta = curr_art().giacenza_corretta(magrec, FALSE,_valcomp);
@ -683,14 +681,14 @@ void TStampa_inventario::setprint_permagazzini()
// ORDINAMENTO
void TStampa_inventario::setprint_perarticoli()
{
char subordine=*_mask->get(F_ORDINEART);
char subordine=_mask->get(F_ORDINEART)[0];
TRectype darec(LF_MAG),arec(LF_MAG);
TString cfilter, espr1, espr2;
_cur = _form->cursor();
// setta il filtro sul cursore
if (*_mask->get(F_FILTRO)=='N')
if (_mask->get(F_FILTRO)[0]=='N')
cfilter << "(STR(GIAC!=\"0\"))&&" ;
if (*_mask->get(F_FILTRO)=='+')
if (_mask->get(F_FILTRO)[0]=='+')
cfilter << "(STR(GIAC>\"0\"))&&" ;
if (cfilter.not_empty())
cfilter.rtrim(2);
@ -990,10 +988,9 @@ void TStampa_inventario::main_loop()
const bool b = _mask->get_bool(F_ALLADATA);
const bool r = *_mask->get(F_REALE_GIAC)=='R';
if (*_mask->get(F_ORDINE)=='A')
if (_mask->get(F_ORDINE)[0]=='A')
{
if (*_mask->get(F_FILTRO)=='T') // tutti gli articoli
if (_mask->get(F_FILTRO)[0]=='T') // tutti gli articoli
{
_form = new TForm_inventario("mg4200aa", "");
if (b && !calcola_giacenze(FALSE))

View File

@ -1,4 +1,19 @@
#include "mg4200.h"
TOOLBAR "Toolbar" 0 -3 0 3
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -11 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -11 ""
END
ENDPAGE
PAGE "Stampa inventario" -1 -1 78 20
LISTBOX F_ORDINE 10
@ -10,7 +25,6 @@ BEGIN
MESSAGE " ",F_FILTRO|SHOW,F_TOTALIDEPOSITI|HIDE,F_TOTALIMAGAZZINI|HIDE,F_DETTAGLIOMAG
END
LISTBOX F_ORDINEART 20
BEGIN
FLAGS "G"
@ -471,16 +485,6 @@ BEGIN
GROUP G_LISTINO
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -11,18 +11,17 @@ END
DESCRIPTION
BEGIN
47->* "Anagrafica articoli"
109->* "Archivio Giacenze"
MAG->* "Tabella magazzini"
49->* "Unità di misura articoli"
47->* "Anagrafica articoli"
109->* "Archivio Giacenze"
MAG->* "Tabella magazzini"
49->* "Unità di misura articoli"
END
GENERAL
BEGIN
OFFSET 0 1
OFFSET 0 1
END
SECTION GRAPHIC
BEGIN
END
@ -39,7 +38,7 @@ END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 120 1 "Data "
PROMPT 110 1 "Data "
MESSAGE _TODAY
END
@ -53,7 +52,7 @@ END
NUMERO 4 32
BEGIN
KEY "Intestazione stampa"
PROMPT 45 2 "Stampa inventario esercizio "
PROMPT 45 2 "@bStampa inventario esercizio "
MESSAGE _ANNO
END

View File

@ -358,11 +358,20 @@ bool TForm_stampemg::setdettaglio(bool show, int fromlivart,int livart,int froml
for (i=fromlivgiac;i<=tolivgiac ; i++) {
if (livart==0)
{
TString sname=("GRUPPI_LIVGIAC");
sname << i;
TString80 sname;
sname << "GRUPPI_LIVGIAC" << i;
TForm_subsection &s=(TForm_subsection &)find_field('B',odd_page,sname);
TString cond(s.condition());
cond << "+LIVELLO[" << livelli_giacenza().packed_length(i-1)+1 << "," << livelli_giacenza().packed_length(i) <<']';
// ATTENZIONE, WARNING, ACHTUNG: Libera interpretazione
// cond finiva per essere CODART+CODART+LIVELLO+LIVELLO[1.6]+LIVELLO[7,8]
// cond ora vale "giustamente" CODART+LIVELLO[1,8]
// TString cond(s.condition()); // Augusto Mode
// cond << "+LIVELLO[" << livelli_giacenza().packed_length(i-1)+1 << "," << livelli_giacenza().packed_length(i) <<']';
TString cond = "CODART"; // Guy Mode
cond << "+LIVELLO[1," << livelli_giacenza().packed_length(i) <<']';
s.setcondition(cond,_strexpr);
}
}