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;
|
TCodgiac_livelli *_livelli_giac;
|
||||||
TString _numdoc;
|
TString _numdoc;
|
||||||
TDate _datadoc;
|
TDate _datadoc;
|
||||||
|
TString4 _tipocf;
|
||||||
|
TString8 _codcf;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void set_um_rif(int row);
|
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_NUMDOC, _numdoc);
|
||||||
mov.set(F_DATADOC, _datadoc);
|
mov.set(F_DATADOC, _datadoc);
|
||||||
}
|
}
|
||||||
|
mov.set(F_TIPOCF, _tipocf);
|
||||||
|
mov.set(F_CODCF, _codcf, 0x3);
|
||||||
mov.set(F_PREZZOM, get(F_PREZZO));
|
mov.set(F_PREZZOM, get(F_PREZZO));
|
||||||
if (mov.run() == K_ENTER)
|
if (mov.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
TFilename name;
|
TFilename name;
|
||||||
|
|
||||||
|
_tipocf = mov.get(F_TIPOCF);
|
||||||
|
_codcf = mov.get(F_CODCF);
|
||||||
if (do_mov)
|
if (do_mov)
|
||||||
{
|
{
|
||||||
TAssoc_array & arts = mov.costs();
|
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_NUMDOC, _numdoc);
|
||||||
c.set(MOVMAG_EXNUMDOC, _numdoc);
|
c.set(MOVMAG_EXNUMDOC, _numdoc);
|
||||||
c.set(MOVMAG_EXDATADOC, _datadoc.string());
|
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));
|
c.set_paragraph(format("%d,1", LF_RMOVMAG));
|
||||||
TString8 codmag(mov.get(F_CODMAG));
|
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();
|
app.run();
|
||||||
}
|
}
|
||||||
else
|
TLocalisamfile art(LF_ANAMAG);
|
||||||
|
art.put(ANAMAG_CODART, get(F_CODICE));
|
||||||
|
if (art.read(_isequal, _testandlock) == NOERR)
|
||||||
{
|
{
|
||||||
TLocalisamfile art(LF_ANAMAG);
|
const real costo(mov.get(F_PREZZOM)); // Aggiorna ultimo costo in anagrafica
|
||||||
art.put(ANAMAG_CODART, get(F_CODICE));
|
if (!do_mov)
|
||||||
if (art.read(_isequal, _testandlock) == NOERR)
|
|
||||||
{
|
|
||||||
const real costo(mov.get(F_PREZZOM)); // Aggiorna ultimo costo in anagrafica
|
|
||||||
art.put(ANAMAG_ULTCOS1, costo);
|
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));
|
const real prezzo(mov.get(F_PREZZOV));
|
||||||
TLocalisamfile umart(LF_UMART);
|
TLocalisamfile umart(LF_UMART);
|
||||||
umart.put(UMART_CODART, get(F_CODICE));
|
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();
|
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_NUMDOC 133
|
||||||
#define F_DATADOC 134
|
#define F_DATADOC 134
|
||||||
#define DLG_AGGPRZ 135
|
#define DLG_AGGPRZ 135
|
||||||
|
#define F_TIPOCF 136
|
||||||
|
#define F_CODCF 137
|
||||||
|
#define F_RAGSOC 138
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "db0500a.h"
|
#include "db0500a.h"
|
||||||
|
|
||||||
PAGE "Movimenti" -1 -1 80 19
|
PAGE "Movimenti" -1 -1 80 21
|
||||||
|
|
||||||
DATE F_DATAREG
|
DATE F_DATAREG
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -115,6 +115,47 @@ BEGIN
|
|||||||
FLAG "U"
|
FLAG "U"
|
||||||
END
|
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
|
BUTTON DLG_OK 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -12 -1 ""
|
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
|
// Il fabbisogno e': nr. componenti di questo articolo per residuo da produrre del padre
|
||||||
|
|
||||||
if (dettagliata && re.path().starts_with(noexplode_path))
|
if (dettagliata && re.path().starts_with(noexplode_path))
|
||||||
r = ZERO;
|
continue;
|
||||||
else
|
else
|
||||||
if (_p->_fabbisogno && _p->_explosion == scalare)
|
if (_p->_fabbisogno && _p->_explosion == scalare)
|
||||||
r = re.last_qta() * res2produce_by_father(re); // In UM locale...
|
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);
|
const TArticolo_giacenza art(dis);
|
||||||
switch (tipoval)
|
switch (tipoval)
|
||||||
{
|
{
|
||||||
case 0: total = art.ultimo_costo(_annoes); break;
|
case last_cost: total = art.ultimo_costo(_annoes); break;
|
||||||
case 1: total = art.media_costi(_annoes); break;
|
case last2cost: total = art.media_costi(_annoes); break;
|
||||||
case 2: total = art.prezzo_listino(_annoes, _catven, _codlist); break;
|
case std_cost: total = art.costo_standard(_annoes); break;
|
||||||
case 3: total = art.costo_standard(_annoes); break;
|
case average_cost: total = art.costo_medio(_annoes, _codmag, liv); break;
|
||||||
case 4: total = art.costo_medio(_annoes, _codmag, liv); break;
|
case pond_cost: total = art.costo_mediopond(_annoes, _codmag, liv); break;
|
||||||
case 5: total = art.costo_mediopond(_annoes, _codmag, liv); break;
|
case LIFO_annuale: total = art.LIFO_annuale(_annoes, _codmag, liv); break;
|
||||||
case 6: total = art.LIFO_annuale(_annoes, _codmag, liv); break;
|
case FIFO_annuale: total = art.FIFO_annuale(_annoes, _codmag, liv); break;
|
||||||
case 7: total = art.FIFO_annuale(_annoes, _codmag, liv); break;
|
case LIFO_storico: total = art.LIFO(_annoes, _codmag, liv); break;
|
||||||
case 8: total = art.LIFO(_annoes, _codmag, liv); break;
|
case FIFO_storico: total = art.FIFO(_annoes, _codmag, liv); break;
|
||||||
case 9: 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);
|
default: NFCHECK("Tipo valorizzazione errato: %d", _tipoval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,28 +113,28 @@ BEGIN
|
|||||||
PROMPT 1 5 "@bParametri in ingresso"
|
PROMPT 1 5 "@bParametri in ingresso"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_TIPO 1 22
|
LIST F_TIPO 2 22
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Tipo "
|
PROMPT 2 6 "Tipo "
|
||||||
ITEM "0|Ultimo costo"
|
ITEM "1|Ultimo costo"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "1|Media costi"
|
ITEM "2|Media costi"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "2|Prezzo listino"
|
ITEM "3|Prezzo listino"
|
||||||
MESSAGE SHOW,G_LISTINO@
|
MESSAGE SHOW,G_LISTINO@
|
||||||
ITEM "3|Costo standard"
|
ITEM "4|Costo standard"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "4|Costo medio"
|
ITEM "5|Costo medio"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "5|Costo medio ponderato"
|
ITEM "6|Costo medio ponderato"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "6|LIFO annuale"
|
ITEM "7|LIFO annuale"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "7|FIFO annuale"
|
ITEM "8|FIFO annuale"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "8|LIFO"
|
ITEM "9|LIFO"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
ITEM "9|FIFO"
|
ITEM "10|FIFO"
|
||||||
MESSAGE HIDE,G_LISTINO@
|
MESSAGE HIDE,G_LISTINO@
|
||||||
END
|
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);
|
_path.get(it - 2, (TString &) _tmp);
|
||||||
_tmp.get(1, code);
|
_tmp.get(1, code);
|
||||||
if (levnum>0)
|
if (levnum>0)
|
||||||
code = livgiac().unpack_grpcode(code, levnum).trim();
|
{
|
||||||
|
code = livgiac().unpack_grpcode(code, levnum);
|
||||||
|
code.trim();
|
||||||
|
}
|
||||||
return code.not_empty();
|
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);
|
path.get(-2, (TString &)_tmp);
|
||||||
_tmp.get(1, code);
|
_tmp.get(1, code);
|
||||||
if (levnum>0)
|
if (levnum>0)
|
||||||
code = livgiac().unpack_grpcode(code, levnum).trim();
|
{
|
||||||
|
code = livgiac().unpack_grpcode(code, levnum);
|
||||||
|
code.trim();
|
||||||
|
}
|
||||||
return code.not_empty();
|
return code.not_empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user