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:
alex 2008-06-11 10:31:35 +00:00
parent 4541a40a90
commit 30f37d226d
4 changed files with 208 additions and 3 deletions

View File

@ -1,6 +1,7 @@
#include "dblib.h"
#include <automask.h>
#include <execp.h>
#include <modaut.h>
#include <progind.h>
#include <relapp.h>
@ -629,7 +630,6 @@ bool TDistinta_mask::test_row(const TToken_string& row)
if (!ok)
error_box(FR("Il codice '%s' non e' una lavorazione"), (const char*)code);
}
return ok;
}
@ -740,6 +740,7 @@ bool TDistinta_mask::on_distsheet_event(TOperable_field& o, TField_event e, long
case fe_close:
{
TString80 code;
TString80 code1;
for (int n = sheet.items()-1; n >= 0; 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))
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
sheet.destroy(n);
@ -862,7 +871,7 @@ bool TDistinta_mask::on_distsheet_event(TOperable_field& o, TField_event e, long
}
}
break;
default:
default:
break;
}
return TRUE;
@ -973,6 +982,7 @@ bool TDistinta_mask::on_field_event(TOperable_field& o, TField_event e, long jol
load_um();
}
}
else
break;
case F_SORT:
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;
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);
case F_SHEET:
return on_distsheet_event(o, e, jolly);

View File

@ -18,6 +18,7 @@
#define F_SHOW_LIV4 514
#define F_DESCR_SEP 515
#define F_MIN_DEPTH 516
#define F_SORTA 517
#define F_DESCR 520
#define F_ARTPROD 521
@ -92,4 +93,14 @@
#define F_GROUPMODE 107
#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

View File

@ -137,6 +137,11 @@ BEGIN
CHECKTYPE NORMAL
END
BUTTON F_SORTA 15
BEGIN
PROMPT 60 7 "Ordina per codice"
END
NUMBER F_SORT 1
BEGIN
PROMPT 2 9 "Cambia ordinamento "

117
db/db0500d.uml Executable file
View 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