Patch level : 10.0 patch 767

Files correlati     : co0.exe co1.exe
Ricompilazione Demo : [ ]
Commento            :

Aggiunto fornitore / cliente sulla maschera di movimentazione per Dassi

Documentazione lemco e lembi Zucchetti

Corretta esplosione dettagliata

Nel calcolo dettagliato dell'ordinato fornitori vengo no considerati tutti gli esercizi e non solo gli ultimi 2.

Dalla versione 3.2


git-svn-id: svn://10.65.10.50/trunk@20585 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-06-21 13:48:30 +00:00
parent d71be5b0cf
commit bb3d71fd61
7 changed files with 104 additions and 34 deletions

View File

@ -951,6 +951,8 @@ class TDistinta_mask : public TAutomask
TCodgiac_livelli *_livelli_giac;
TString _numdoc;
TDate _datadoc;
TString4 _tipocf;
TString8 _codcf;
private:
void set_um_rif(int row);
@ -1508,11 +1510,15 @@ bool TDistinta_mask::on_field_event(TOperable_field& o, TField_event e, long jol
mov.set(F_NUMDOC, _numdoc);
mov.set(F_DATADOC, _datadoc);
}
mov.set(F_TIPOCF, _tipocf);
mov.set(F_CODCF, _codcf, 0x3);
mov.set(F_PREZZOM, get(F_PREZZO));
if (mov.run() == K_ENTER)
{
TFilename name;
_tipocf = mov.get(F_TIPOCF);
_codcf = mov.get(F_CODCF);
if (do_mov)
{
TAssoc_array & arts = mov.costs();
@ -1544,6 +1550,8 @@ bool TDistinta_mask::on_field_event(TOperable_field& o, TField_event e, long jol
c.set(MOVMAG_NUMDOC, _numdoc);
c.set(MOVMAG_EXNUMDOC, _numdoc);
c.set(MOVMAG_EXDATADOC, _datadoc.string());
c.set(MOVMAG_TIPOCF, mov.get(F_TIPOCF));
c.set(MOVMAG_CODCF, mov.get(F_CODCF));
c.set_paragraph(format("%d,1", LF_RMOVMAG));
TString8 codmag(mov.get(F_CODMAG));
@ -1560,18 +1568,17 @@ bool TDistinta_mask::on_field_event(TOperable_field& o, TField_event e, long jol
app.run();
}
else
TLocalisamfile art(LF_ANAMAG);
art.put(ANAMAG_CODART, get(F_CODICE));
if (art.read(_isequal, _testandlock) == NOERR)
{
TLocalisamfile art(LF_ANAMAG);
art.put(ANAMAG_CODART, get(F_CODICE));
if (art.read(_isequal, _testandlock) == NOERR)
{
const real costo(mov.get(F_PREZZOM)); // Aggiorna ultimo costo in anagrafica
const real costo(mov.get(F_PREZZOM)); // Aggiorna ultimo costo in anagrafica
if (!do_mov)
art.put(ANAMAG_ULTCOS1, costo);
art.rewrite();
}
if (mov.get(F_TIPOCF) == "F")
art.put(ANAMAG_CODFORN, mov.get(F_CODCF));
art.rewrite();
}
const real prezzo(mov.get(F_PREZZOV));
TLocalisamfile umart(LF_UMART);
umart.put(UMART_CODART, get(F_CODICE));
@ -1601,6 +1608,19 @@ bool TDistinta_mask::on_field_event(TOperable_field& o, TField_event e, long jol
etich_app.run();
}
}
else
{
if (yesno_box("Vuoi stampare le etichette"))
{
const long annoes = TDate(TODAY).year();
const TString codart(get(F_CODICE));
TExternal_app etich_app(format("mg3 -5 101=%s,103=%s,106=G,116=%ld",
(const char *) codart, (const char *) codart, annoes));
etich_app.run();
}
}
}
}
}

View File

@ -110,4 +110,7 @@
#define F_NUMDOC 133
#define F_DATADOC 134
#define DLG_AGGPRZ 135
#define F_TIPOCF 136
#define F_CODCF 137
#define F_RAGSOC 138
#endif

View File

@ -1,6 +1,6 @@
#include "db0500a.h"
PAGE "Movimenti" -1 -1 80 19
PAGE "Movimenti" -1 -1 80 21
DATE F_DATAREG
BEGIN
@ -115,6 +115,47 @@ BEGIN
FLAG "U"
END
LISTBOX F_TIPOCF 9
BEGIN
PROMPT 2 17 ""
ITEM " |Nessuno"
MESSAGE HIDE,F_CODCF|HIDE,F_RAGSOC|RESET,F_CODCF|RESET,F_RAGSOC
ITEM "C|Cliente"
MESSAGE SHOW,F_CODCF|SHOW,F_RAGSOC
ITEM "F|Fornitore"
MESSAGE SHOW,F_CODCF|SHOW,F_RAGSOC
END
// agisce anche quando l'utente non entra in gioco (settaggio da contratto...)
NUMBER F_CODCF 6
BEGIN
PROMPT 16 17 "Codice "
USE LF_CLIFO
INPUT TIPOCF F_TIPOCF SELECT
INPUT CODCF F_CODCF
DISPLAY "Codice " CODCF
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODCF CODCF
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE NORMAL
ADD RUN CG0 -1
END
// esegue i controlli e ricopia i valori del codice sia in CLI che in FOR
STRING F_RAGSOC 50 40
BEGIN
PROMPT 32 17 ""
USE LF_CLIFO KEY 2
INPUT TIPOCF F_TIPOCF SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Codice " CODCF
OUTPUT F_CODCF CODCF
CHECKTYPE NORMAL
ADD RUN CG0 -1
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""

View File

@ -1044,7 +1044,7 @@ void TExplode_distinta_form::set_explosion_rows(TArray& exp_array)
// Il fabbisogno e': nr. componenti di questo articolo per residuo da produrre del padre
if (dettagliata && re.path().starts_with(noexplode_path))
r = ZERO;
continue;
else
if (_p->_fabbisogno && _p->_explosion == scalare)
r = re.last_qta() * res2produce_by_father(re); // In UM locale...

View File

@ -108,16 +108,16 @@ real TValorizzazione_mask::valore(const TCodice_articolo& dis, const char* liv)
const TArticolo_giacenza art(dis);
switch (tipoval)
{
case 0: total = art.ultimo_costo(_annoes); break;
case 1: total = art.media_costi(_annoes); break;
case 2: total = art.prezzo_listino(_annoes, _catven, _codlist); break;
case 3: total = art.costo_standard(_annoes); break;
case 4: total = art.costo_medio(_annoes, _codmag, liv); break;
case 5: total = art.costo_mediopond(_annoes, _codmag, liv); break;
case 6: total = art.LIFO_annuale(_annoes, _codmag, liv); break;
case 7: total = art.FIFO_annuale(_annoes, _codmag, liv); break;
case 8: total = art.LIFO(_annoes, _codmag, liv); break;
case 9: total = art.FIFO(_annoes, _codmag, liv); break;
case last_cost: total = art.ultimo_costo(_annoes); break;
case last2cost: total = art.media_costi(_annoes); break;
case std_cost: total = art.costo_standard(_annoes); break;
case average_cost: total = art.costo_medio(_annoes, _codmag, liv); break;
case pond_cost: total = art.costo_mediopond(_annoes, _codmag, liv); break;
case LIFO_annuale: total = art.LIFO_annuale(_annoes, _codmag, liv); break;
case FIFO_annuale: total = art.FIFO_annuale(_annoes, _codmag, liv); break;
case LIFO_storico: total = art.LIFO(_annoes, _codmag, liv); break;
case FIFO_storico: total = art.FIFO(_annoes, _codmag, liv); break;
case prezzo_listino: total = art.prezzo_listino(_annoes, _catven, _codlist); break;
default: NFCHECK("Tipo valorizzazione errato: %d", _tipoval);
}
}

View File

@ -113,28 +113,28 @@ BEGIN
PROMPT 1 5 "@bParametri in ingresso"
END
LIST F_TIPO 1 22
LIST F_TIPO 2 22
BEGIN
PROMPT 2 6 "Tipo "
ITEM "0|Ultimo costo"
ITEM "1|Ultimo costo"
MESSAGE HIDE,G_LISTINO@
ITEM "1|Media costi"
ITEM "2|Media costi"
MESSAGE HIDE,G_LISTINO@
ITEM "2|Prezzo listino"
ITEM "3|Prezzo listino"
MESSAGE SHOW,G_LISTINO@
ITEM "3|Costo standard"
ITEM "4|Costo standard"
MESSAGE HIDE,G_LISTINO@
ITEM "4|Costo medio"
ITEM "5|Costo medio"
MESSAGE HIDE,G_LISTINO@
ITEM "5|Costo medio ponderato"
ITEM "6|Costo medio ponderato"
MESSAGE HIDE,G_LISTINO@
ITEM "6|LIFO annuale"
ITEM "7|LIFO annuale"
MESSAGE HIDE,G_LISTINO@
ITEM "7|FIFO annuale"
ITEM "8|FIFO annuale"
MESSAGE HIDE,G_LISTINO@
ITEM "8|LIFO"
ITEM "9|LIFO"
MESSAGE HIDE,G_LISTINO@
ITEM "9|FIFO"
ITEM "10|FIFO"
MESSAGE HIDE,G_LISTINO@
END

View File

@ -497,7 +497,10 @@ bool TDistinta_tree::father_giaclev(TString& code, int levnum) const
_path.get(it - 2, (TString &) _tmp);
_tmp.get(1, code);
if (levnum>0)
code = livgiac().unpack_grpcode(code, levnum).trim();
{
code = livgiac().unpack_grpcode(code, levnum);
code.trim();
}
return code.not_empty();
}
@ -514,7 +517,10 @@ bool TDistinta_tree::path_giaclev(TString& code, int levnum, const TToken_string
path.get(-2, (TString &)_tmp);
_tmp.get(1, code);
if (levnum>0)
code = livgiac().unpack_grpcode(code, levnum).trim();
{
code = livgiac().unpack_grpcode(code, levnum);
code.trim();
}
return code.not_empty();
}