Patch level : 10.0 67
Files correlati : Ricompilazione Demo : [ ] Commento : RIportata la verione 3.2 1167 git-svn-id: svn://10.65.10.50/trunk@16719 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4541a40a90
commit
30f37d226d
@ -1,6 +1,7 @@
|
|||||||
#include "dblib.h"
|
#include "dblib.h"
|
||||||
|
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
|
#include <execp.h>
|
||||||
#include <modaut.h>
|
#include <modaut.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
@ -629,7 +630,6 @@ bool TDistinta_mask::test_row(const TToken_string& row)
|
|||||||
if (!ok)
|
if (!ok)
|
||||||
error_box(FR("Il codice '%s' non e' una lavorazione"), (const char*)code);
|
error_box(FR("Il codice '%s' non e' una lavorazione"), (const char*)code);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -740,6 +740,7 @@ bool TDistinta_mask::on_distsheet_event(TOperable_field& o, TField_event e, long
|
|||||||
case fe_close:
|
case fe_close:
|
||||||
{
|
{
|
||||||
TString80 code;
|
TString80 code;
|
||||||
|
TString80 code1;
|
||||||
for (int n = sheet.items()-1; n >= 0; n--)
|
for (int n = sheet.items()-1; n >= 0; n--)
|
||||||
{
|
{
|
||||||
const TToken_string& row = sheet.row(n);
|
const TToken_string& row = sheet.row(n);
|
||||||
@ -748,6 +749,14 @@ bool TDistinta_mask::on_distsheet_event(TOperable_field& o, TField_event e, long
|
|||||||
{
|
{
|
||||||
if (!test_row(row))
|
if (!test_row(row))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
for (int m = n - 1; m >= 0; m--)
|
||||||
|
{
|
||||||
|
const TToken_string& row = sheet.row(m);
|
||||||
|
row.get(F_CODART-FIRST_FIELD, code1);
|
||||||
|
if (code == code1)
|
||||||
|
if (!yesno_box("Il codice %s e' ripetuto alla riga %d,\ncontinuare ugualmente ?", (const char *) code, n + 1))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
sheet.destroy(n);
|
sheet.destroy(n);
|
||||||
@ -862,7 +871,7 @@ bool TDistinta_mask::on_distsheet_event(TOperable_field& o, TField_event e, long
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -973,6 +982,7 @@ bool TDistinta_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
|||||||
load_um();
|
load_um();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
break;
|
break;
|
||||||
case F_SORT:
|
case F_SORT:
|
||||||
if (e == fe_modify || e == fe_close)
|
if (e == fe_modify || e == fe_close)
|
||||||
@ -1001,7 +1011,69 @@ bool TDistinta_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case F_UNITA:
|
case F_SORTA:
|
||||||
|
if (e == fe_button)
|
||||||
|
{
|
||||||
|
TSheet_field& sheet = o.mask().sfield(F_SHEET);
|
||||||
|
|
||||||
|
sheet.sort();
|
||||||
|
sheet.force_update();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case DLG_MOV:
|
||||||
|
if (app().has_module(MGAUT))
|
||||||
|
{
|
||||||
|
TMask mov("db0500d");
|
||||||
|
TMagazzini m;
|
||||||
|
|
||||||
|
if (!m.gestmultimag())
|
||||||
|
{
|
||||||
|
mov.disable(F_CODMAG);
|
||||||
|
mov.disable(F_DESMAG);
|
||||||
|
mov.disable(F_CODDEP);
|
||||||
|
mov.disable(F_DESDEP);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (!m.gestdep())
|
||||||
|
{
|
||||||
|
mov.disable(F_CODDEP);
|
||||||
|
mov.disable(F_DESDEP);
|
||||||
|
}
|
||||||
|
mov.set(F_CODMAG, m.standardmag());
|
||||||
|
mov.set(F_CODDEP, m.standarddep());
|
||||||
|
mov.set(F_PREZZOM, get(F_PREZZO));
|
||||||
|
if (mov.run() == K_ENTER)
|
||||||
|
{
|
||||||
|
TFilename name;
|
||||||
|
|
||||||
|
name.temp("", "ini");
|
||||||
|
|
||||||
|
{
|
||||||
|
TConfig c(name);
|
||||||
|
c.set_paragraph("Transaction");
|
||||||
|
c.set("Action", "Insert");
|
||||||
|
c.set("Mode", "A");
|
||||||
|
c.set_paragraph(format("%d", LF_MOVMAG));
|
||||||
|
c.set(MOVMAG_DATAREG, mov.get(F_DATAREG));
|
||||||
|
c.set(MOVMAG_CODCAUS, mov.get(F_CODCAUS));
|
||||||
|
c.set_paragraph(format("%d,1", LF_RMOVMAG));
|
||||||
|
TString8 codmag(mov.get(F_CODMAG));
|
||||||
|
|
||||||
|
codmag.rpad(3);
|
||||||
|
codmag << mov.get(F_CODDEP);
|
||||||
|
c.set(RMOVMAG_CODMAG, codmag);
|
||||||
|
c.set(RMOVMAG_CODART, get(F_CODICE));
|
||||||
|
c.set(RMOVMAG_UM, get(F_UM));
|
||||||
|
c.set(RMOVMAG_QUANT, mov.get(F_QUANT));
|
||||||
|
c.set(RMOVMAG_PREZZO, mov.get(F_PREZZOM));
|
||||||
|
}
|
||||||
|
TExternal_app app(format("mg1 -0 -i%s", (const char *)name));
|
||||||
|
|
||||||
|
app.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case F_UNITA:
|
||||||
return on_unitsheet_event(o, e, jolly);
|
return on_unitsheet_event(o, e, jolly);
|
||||||
case F_SHEET:
|
case F_SHEET:
|
||||||
return on_distsheet_event(o, e, jolly);
|
return on_distsheet_event(o, e, jolly);
|
||||||
|
11
db/db0500a.h
11
db/db0500a.h
@ -18,6 +18,7 @@
|
|||||||
#define F_SHOW_LIV4 514
|
#define F_SHOW_LIV4 514
|
||||||
#define F_DESCR_SEP 515
|
#define F_DESCR_SEP 515
|
||||||
#define F_MIN_DEPTH 516
|
#define F_MIN_DEPTH 516
|
||||||
|
#define F_SORTA 517
|
||||||
|
|
||||||
#define F_DESCR 520
|
#define F_DESCR 520
|
||||||
#define F_ARTPROD 521
|
#define F_ARTPROD 521
|
||||||
@ -92,4 +93,14 @@
|
|||||||
#define F_GROUPMODE 107
|
#define F_GROUPMODE 107
|
||||||
#define F_STOPPROD 108
|
#define F_STOPPROD 108
|
||||||
|
|
||||||
|
#define DLG_MOV 120
|
||||||
|
#define F_DATAREG 121
|
||||||
|
#define F_CODCAUS 122
|
||||||
|
#define F_DESCAU 123
|
||||||
|
#define F_QUANT 124
|
||||||
|
#define F_CODMAG 125
|
||||||
|
#define F_CODDEP 126
|
||||||
|
#define F_PREZZOM 127
|
||||||
|
#define F_DESMAG 128
|
||||||
|
#define F_DESDEP 129
|
||||||
#endif
|
#endif
|
||||||
|
@ -137,6 +137,11 @@ BEGIN
|
|||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BUTTON F_SORTA 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 60 7 "Ordina per codice"
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_SORT 1
|
NUMBER F_SORT 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 9 "Cambia ordinamento "
|
PROMPT 2 9 "Cambia ordinamento "
|
||||||
|
117
db/db0500d.uml
Executable file
117
db/db0500d.uml
Executable file
@ -0,0 +1,117 @@
|
|||||||
|
#include "db0500a.h"
|
||||||
|
|
||||||
|
PAGE "Movimenti" -1 -1 80 15
|
||||||
|
|
||||||
|
DATE F_DATAREG
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "Data registraz. "
|
||||||
|
FLAGS "A"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CODCAUS 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 3 "Codice causale "
|
||||||
|
FIELD CODCAUS
|
||||||
|
USE %CAU
|
||||||
|
FLAGS "U"
|
||||||
|
INPUT CODTAB F_CODCAUS
|
||||||
|
DISPLAY "Codice " CODTAB
|
||||||
|
DISPLAY "Descrizione@50 " S0
|
||||||
|
OUTPUT F_CODCAUS CODTAB
|
||||||
|
OUTPUT F_DESCAU S0
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
ADD RUN MG0 -0 %CAU
|
||||||
|
GROUP G_DEFMOV
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCAU 50 45
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 3 ""
|
||||||
|
USE %CAU KEY 2
|
||||||
|
INPUT S0 F_DESCAU
|
||||||
|
DISPLAY "Descrizione@50 " S0
|
||||||
|
DISPLAY "Codice " CODTAB
|
||||||
|
COPY OUTPUT1 F_CODCAUS
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CODMAG 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 5 "Magazzino "
|
||||||
|
FLAGS "UG"
|
||||||
|
FIELD CODMAG[1,3]
|
||||||
|
USE MAG SELECT CODTAB[4,5]==""
|
||||||
|
INPUT CODTAB F_CODMAG
|
||||||
|
DISPLAY "Codice " CODTAB[1,3]
|
||||||
|
DISPLAY "Denominazione mag.@50 " S0
|
||||||
|
OUTPUT F_CODMAG CODTAB[1,3]
|
||||||
|
OUTPUT F_DESMAG S0
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESMAG 50 45
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 5 ""
|
||||||
|
USE MAG KEY 2 SELECT CODTAB[4,5]==""
|
||||||
|
INPUT S0 F_DESMAG
|
||||||
|
DISPLAY "Denominazione mag.@50" S0
|
||||||
|
DISPLAY "Cod. magazzino" CODTAB[1,3]
|
||||||
|
COPY OUTPUT F_CODMAG
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
STRING F_CODDEP 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 7 "Deposito "
|
||||||
|
FLAGS "U"
|
||||||
|
FIELD CODMAG[4,5]
|
||||||
|
USE MAG SELECT CODTAB[4,5]!=""
|
||||||
|
INPUT CODTAB[1,3] F_CODMAG SELECT
|
||||||
|
INPUT CODTAB[4,5] F_CODDEP
|
||||||
|
DISPLAY "Cod. magazzino" CODTAB[1,3]
|
||||||
|
DISPLAY "Cod. deposito" CODTAB[4,5]
|
||||||
|
DISPLAY "Denominazione dep.@50" S0
|
||||||
|
OUTPUT F_CODDEP CODTAB[4,5]
|
||||||
|
OUTPUT F_DESDEP S0
|
||||||
|
OUTPUT F_CODMAG CODTAB[1,3]
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
WARNING "Indicare il deposito"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESDEP 50 45
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 7 ""
|
||||||
|
USE MAG KEY 2 SELECT (CODTAB[4,5]!="")&&(CODTAB[1,3]==#F_CODMAG)
|
||||||
|
INPUT S0 F_DESDEP
|
||||||
|
COPY DISPLAY F_DESMAG
|
||||||
|
COPY OUTPUT F_CODDEP
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
MESSAGE EMPTY CHECK,F_CODDEP
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_QUANT 15 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Quantita' "
|
||||||
|
FIELD QUANT
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
WARNING "Indicare la quantità"
|
||||||
|
END
|
||||||
|
|
||||||
|
CURRENCY F_PREZZOM 18
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 11 "Prezzo "
|
||||||
|
FLAG "U"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_CANCEL 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user