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:
parent
d71be5b0cf
commit
bb3d71fd61
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 ""
|
||||
|
@ -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...
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
10
db/dblib.cpp
10
db/dblib.cpp
@ -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();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user