Patch level : 12.0 310 316
Files correlati : or1.exe or1400a.msk Progetto 348 Cigno ------------------ Aggiunto richiamo documenti Budget Possibilità di aggiungere righe a ordini già esistenti git-svn-id: svn://10.65.10.50/branches/R_10_00@23477 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4daa30dd87
commit
2e23dfaee7
@ -8,10 +8,10 @@ int main(int argc,char** argv)
|
||||
|
||||
switch (n)
|
||||
{
|
||||
case 1: or1200(argc,argv); break; // stampa dettaglio disponibilita' articoli
|
||||
case 2: or1300(argc,argv); break; // stampa statistiche sui tempi di consegna
|
||||
case 3: or1400(argc,argv); break; // generazione ordini a fornitore
|
||||
default: or1100(argc,argv); break; // stampe ordini
|
||||
case 1: or1200(argc,argv); break; // stampa dettaglio disponibilita' articoli
|
||||
case 2: or1300(argc,argv); break; // stampa statistiche sui tempi di consegna
|
||||
case 3: or1400(argc,argv); break; // generazione ordini a fornitore
|
||||
default: or1100(argc,argv); break; // stampe ordini
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -110,7 +110,6 @@ protected:
|
||||
virtual void next_page(int p);
|
||||
|
||||
public:
|
||||
|
||||
TGenera_ordini_mask();
|
||||
~TGenera_ordini_mask();
|
||||
};
|
||||
@ -589,6 +588,30 @@ bool TGenera_ordini_mask::on_field_event(TOperable_field& o, TField_event e, lon
|
||||
ok = false; // Non uscire
|
||||
}
|
||||
break;
|
||||
case DLG_LINK:
|
||||
{
|
||||
TString appname("ve0 -0 -i");
|
||||
TFilename msg; msg.temp("msg", "ini");
|
||||
|
||||
appname << msg;
|
||||
|
||||
TExternal_app app(appname);
|
||||
|
||||
{
|
||||
TConfig ini(msg, "Transaction");
|
||||
|
||||
ini.set("Action", "LINK");
|
||||
TString para; para << LF_DOC;
|
||||
ini.set_paragraph(para);
|
||||
ini.set(DOC_PROVV, "D");
|
||||
ini.set(DOC_ANNO, get(F_ANNOB));
|
||||
ini.set(DOC_CODNUM, get(F_CODNUMB));
|
||||
ini.set(DOC_NDOC, get(F_NUMDOCB));
|
||||
}
|
||||
|
||||
app.run();
|
||||
}
|
||||
break;
|
||||
case DLG_OK:
|
||||
if (e == fe_button && jolly == 0)
|
||||
{
|
||||
@ -704,7 +727,7 @@ TGenera_ordini_mask::TGenera_ordini_mask()
|
||||
|
||||
TGenera_ordini_mask::~TGenera_ordini_mask()
|
||||
{
|
||||
// serialize(true);
|
||||
serialize(true);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -1021,9 +1044,6 @@ void TCreazione_ordini::generate_orders()
|
||||
{
|
||||
TGenera_ordini_mask& mask = *_mask;
|
||||
TSheet_field& sf = mask.sfield(F_ARTICLES);
|
||||
|
||||
long minforn = 999999L;
|
||||
long maxforn = 0L;
|
||||
TAssoc_array orders;
|
||||
|
||||
if (sf.items() > 0)
|
||||
@ -1064,11 +1084,14 @@ void TCreazione_ordini::generate_orders()
|
||||
const TString4 codiva(forven.get(CFV_ASSFIS));
|
||||
const TString commessa = row->get(sf.cid2index(F_CDC));
|
||||
const TString fase = row->get(sf.cid2index(F_FSC));
|
||||
const long ndoc = atol(row->get(sf.cid2index(F_NUMDOC)));
|
||||
|
||||
TDocumento* d = (TDocumento*)orders.objptr(codforn);
|
||||
key.format("%s|%ld", (const char *) codforn, ndoc);
|
||||
|
||||
TDocumento* d = (TDocumento*)orders.objptr(key);
|
||||
if (d == NULL)
|
||||
{
|
||||
d = new TDocumento('D', datadoc.year(), codnum, 0L);
|
||||
d = new TDocumento('D', datadoc.year(), codnum, ndoc);
|
||||
d->put(DOC_TIPODOC, tipodoc);
|
||||
d->put(DOC_TIPOCF, "F");
|
||||
d->put(DOC_CODCF, codforn);
|
||||
@ -1105,11 +1128,7 @@ void TCreazione_ordini::generate_orders()
|
||||
const TString& causmag = tipo.caus_mov();
|
||||
d->put(DOC_CAUSMAG, causmag);
|
||||
|
||||
orders.add(codforn, d);
|
||||
if (cod < minforn)
|
||||
minforn = cod;
|
||||
if (cod > maxforn)
|
||||
maxforn = cod;
|
||||
orders.add(key, d);
|
||||
}
|
||||
|
||||
TRiga_documento& rdoc = d->new_row("01");
|
||||
@ -1163,46 +1182,47 @@ void TCreazione_ordini::generate_orders()
|
||||
TProgind pi(orders.items(), TR("Registrazione ordini"), true, true);
|
||||
TString cmdline;
|
||||
int cnt = 0;
|
||||
TString8 key;
|
||||
TString_array keys;
|
||||
long mindoc = 0, maxdoc = 0;
|
||||
for (long cod = minforn; cod <= maxforn; cod++)
|
||||
{
|
||||
key.format("%ld", cod);
|
||||
TDocumento* d = (TDocumento*)orders.objptr(key);
|
||||
if (d != NULL)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
if (d->write() == NOERR)
|
||||
{
|
||||
if (cmdline.blank())
|
||||
{
|
||||
const TTipo_documento& tipo = d->tipo();
|
||||
TFilename rep;
|
||||
tipo.main_print_profile(rep, 0);
|
||||
rep.ext("rep");
|
||||
|
||||
if (rep.custom_path()) // Esiste il nuovo report :-)
|
||||
cmdline = "ve1 -2";
|
||||
else // Esiste il vecchio form :-(
|
||||
cmdline = "ve1 -0";
|
||||
}
|
||||
cnt++;
|
||||
const long ndoc = d->get_long(DOC_NDOC);
|
||||
if (mindoc <= 0 || ndoc < mindoc)
|
||||
mindoc = ndoc;
|
||||
if (ndoc > maxdoc)
|
||||
maxdoc = ndoc;
|
||||
}
|
||||
}
|
||||
orders.get_keys(keys);
|
||||
keys.sort();
|
||||
for (TString * key = (TString *) keys.first_item(); key != NULL; key = (TString *) keys.succ_item())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
TDocumento * d = (TDocumento *) orders.objptr(*key);
|
||||
if (d->write() == NOERR)
|
||||
{
|
||||
if (cmdline.blank())
|
||||
{
|
||||
const TTipo_documento& tipo = d->tipo();
|
||||
TFilename rep;
|
||||
tipo.main_print_profile(rep, 0);
|
||||
rep.ext("rep");
|
||||
|
||||
if (rep.custom_path()) // Esiste il nuovo report :-)
|
||||
cmdline = "ve1 -2";
|
||||
else // Esiste il vecchio form :-(
|
||||
cmdline = "ve1 -0";
|
||||
}
|
||||
cnt++;
|
||||
const long ndoc = d->get_long(DOC_NDOC);
|
||||
if (mindoc <= 0 || ndoc < mindoc)
|
||||
mindoc = ndoc;
|
||||
if (ndoc > maxdoc)
|
||||
maxdoc = ndoc;
|
||||
}
|
||||
}
|
||||
if (yesno_box(TR("Sono stati generati %d documenti:\nSi desidera stamparli ora?"), cnt))
|
||||
{
|
||||
const TString& codnum = mask.get(F_CODNUM);
|
||||
const TDate datadoc(TODAY);
|
||||
const int anno = datadoc.year();
|
||||
cmdline << " " << codnum << ' ' << anno << " D " << mindoc << ' ' << maxdoc;
|
||||
TExternal_app prg(cmdline);
|
||||
|
||||
cmdline << " " << codnum << ' ' << anno << " D " << mindoc << ' ' << maxdoc;
|
||||
|
||||
TExternal_app prg(cmdline);
|
||||
prg.run(true, true, false);
|
||||
}
|
||||
}
|
||||
|
@ -31,6 +31,12 @@
|
||||
#define DLG_DELDOC 179
|
||||
#define F_DATADOC 180
|
||||
#define DLG_PRINTINV 181
|
||||
#define F_ANNOB 182
|
||||
#define F_CODNUMB 183
|
||||
#define F_DASTATOB 184
|
||||
#define F_ASTATOB 185
|
||||
#define F_NUMDOCB 186
|
||||
#define F_DESNUMB 187
|
||||
|
||||
#define F_DASTATO 201
|
||||
#define F_ASTATO 202
|
||||
@ -45,26 +51,27 @@
|
||||
#define F_DATACONS 105
|
||||
#define F_FORNITORE 106
|
||||
#define F_RAGSOC 107
|
||||
#define F_CDC 108
|
||||
#define F_FSC 109
|
||||
#define F_CODAGG1 110
|
||||
#define F_CODAGG2 111
|
||||
#define F_LEADTIME 112
|
||||
#define F_LOTTOMIN 113
|
||||
#define F_DESCRAGG 114
|
||||
#define F_GIACENZA 115
|
||||
#define F_PPCONF 116
|
||||
#define F_DISPON 117
|
||||
#define F_USER1 118
|
||||
#define F_USER2 119
|
||||
#define F_USER3 120
|
||||
#define F_USER4 121
|
||||
#define F_USER5 122
|
||||
#define F_USER6 123
|
||||
#define F_USER7 124
|
||||
#define F_USER8 125
|
||||
#define F_USER9 126
|
||||
#define F_USER10 127
|
||||
#define F_NUMDOC 108
|
||||
#define F_CDC 109
|
||||
#define F_FSC 110
|
||||
#define F_CODAGG1 111
|
||||
#define F_CODAGG2 112
|
||||
#define F_LEADTIME 113
|
||||
#define F_LOTTOMIN 114
|
||||
#define F_DESCRAGG 115
|
||||
#define F_GIACENZA 116
|
||||
#define F_PPCONF 117
|
||||
#define F_DISPON 118
|
||||
#define F_USER1 119
|
||||
#define F_USER2 120
|
||||
#define F_USER3 121
|
||||
#define F_USER4 122
|
||||
#define F_USER5 123
|
||||
#define F_USER6 124
|
||||
#define F_USER7 125
|
||||
#define F_USER8 126
|
||||
#define F_USER9 127
|
||||
#define F_USER10 128
|
||||
|
||||
#define S_DATADOC 101
|
||||
#define S_NUMDOC 102
|
||||
|
@ -52,9 +52,39 @@ BEGIN
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
|
||||
NUMBER F_ANNOB 4
|
||||
BEGIN
|
||||
PROMPT 30 0 "Anno "
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
NUMBER F_NUMDOCB 6
|
||||
BEGIN
|
||||
PROMPT 45 0 "Numero budget "
|
||||
FIELD NDOC
|
||||
USE LF_DOC SELECT (STATO>=#F_DASTATOB)&&(STATO<=#F_ASTATOB)
|
||||
JOIN 20 INTO CODCF=CODCF TIPOCF=TIPOCF
|
||||
INPUT PROVV "D"
|
||||
INPUT ANNO F_ANNOB SELECT
|
||||
INPUT CODNUM F_CODNUMB SELECT
|
||||
INPUT NDOC F_NUMDOCB
|
||||
DISPLAY "Data@10" DATADOC
|
||||
DISPLAY "Numero@7" NDOC
|
||||
DISPLAY "Cliente/Fornitore@40" 20->RAGSOC
|
||||
OUTPUT F_NUMDOCB NDOC
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN ve0 -0
|
||||
END
|
||||
|
||||
BUTTON DLG_LINK 10 1
|
||||
BEGIN
|
||||
PROMPT 68 0 "Budget"
|
||||
END
|
||||
|
||||
SPREADSHEET F_ARTICLES
|
||||
BEGIN
|
||||
PROMPT 1 1 "Articoli"
|
||||
PROMPT 1 2 "Articoli"
|
||||
ITEM "Codice\nArticolo@20"
|
||||
ITEM "Descrizione@50"
|
||||
ITEM "UM"
|
||||
@ -62,6 +92,7 @@ BEGIN
|
||||
ITEM "Data\nConsegna@10"
|
||||
ITEM "Codice\nFornitore"
|
||||
ITEM "Ragione sociale@50"
|
||||
ITEM "Numero\nOrdine"
|
||||
ITEM "Commessa@20"
|
||||
ITEM "Fase@10"
|
||||
ITEM "Codice\nAggiuntivo 1@20"
|
||||
@ -208,7 +239,7 @@ BEGIN
|
||||
OUTPUT F_SGRMERC CODTAB[4,5]
|
||||
OUTPUT F_DSGRMERC S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD OR14_SGR
|
||||
FIELD OR14_SGR
|
||||
END
|
||||
|
||||
STRING F_DSGRMERC 50 35
|
||||
@ -307,7 +338,7 @@ ENDPAGE
|
||||
|
||||
PAGE "Parametri" 0 0 0 -3
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bTipologia documento ordine"
|
||||
END
|
||||
@ -362,15 +393,62 @@ BEGIN
|
||||
CHECKTYPE SEARCH
|
||||
END
|
||||
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
STRING F_CODNUMB 4
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bMagazzino / Deposito"
|
||||
PROMPT 2 4 "Num. budget "
|
||||
USE %NUM
|
||||
INPUT CODTAB F_CODNUMB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODNUMB CODTAB
|
||||
OUTPUT F_DESNUMB S0
|
||||
FLAG "UG"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD OR14_NUMB
|
||||
END
|
||||
|
||||
STRING F_DESNUMB 50
|
||||
BEGIN
|
||||
PROMPT 24 4 ""
|
||||
USE %NUM KEY 2
|
||||
INPUT S0 F_DESNUMB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_CODNUMB
|
||||
CHECKTYPE SEARCH
|
||||
END
|
||||
|
||||
STRING F_DASTATOB 1
|
||||
BEGIN
|
||||
PROMPT 2 5 "Da stato "
|
||||
USE %STD
|
||||
INPUT CODTAB F_DASTATOB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_DASTATOB CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD OR14_DASTATOB
|
||||
END
|
||||
|
||||
STRING F_ASTATOB 1
|
||||
BEGIN
|
||||
PROMPT 24 5 "A stato "
|
||||
COPY USE F_DASTATOB
|
||||
INPUT CODTAB F_ASTATOB
|
||||
COPY DISPLAY F_DASTATOB
|
||||
OUTPUT F_ASTATOB CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD OR14_ASTATOB
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 8
|
||||
BEGIN
|
||||
PROMPT 1 8 "@bMagazzino / Deposito"
|
||||
END
|
||||
|
||||
STRING F_MAG 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Magazzino "
|
||||
PROMPT 2 9 "Magazzino "
|
||||
FLAGS "UG"
|
||||
USE MAG SELECT CODTAB[4,5]==""
|
||||
INPUT CODTAB F_MAG
|
||||
@ -383,7 +461,7 @@ END
|
||||
|
||||
STRING F_DESMAG 50
|
||||
BEGIN
|
||||
PROMPT 24 7 ""
|
||||
PROMPT 24 9 ""
|
||||
USE MAG KEY 2 SELECT CODTAB[4,5]==""
|
||||
INPUT S0 F_DESMAG
|
||||
DISPLAY "Denominazione magazzino@50" S0
|
||||
@ -395,7 +473,7 @@ END
|
||||
|
||||
STRING F_DEP 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "Deposito "
|
||||
PROMPT 2 10 "Deposito "
|
||||
FLAGS "U"
|
||||
USE MAG SELECT (CODTAB[1,3]==#F_MAG)&&(CODTAB[4,5]!="")
|
||||
INPUT CODTAB[1,3] F_MAG
|
||||
@ -410,7 +488,7 @@ END
|
||||
|
||||
STRING F_DESDEP 50
|
||||
BEGIN
|
||||
PROMPT 24 8 ""
|
||||
PROMPT 24 10 ""
|
||||
USE MAG KEY 2 SELECT (CODTAB[1,3]==#F_MAG)&&(CODTAB[4,5]!="")
|
||||
INPUT S0 F_DESDEP
|
||||
COPY DISPLAY F_DESMAG
|
||||
@ -420,7 +498,7 @@ END
|
||||
|
||||
STRING F_MAGC 3
|
||||
BEGIN
|
||||
PROMPT 2 9 "Magazzino "
|
||||
PROMPT 2 11 "Magazzino "
|
||||
FLAGS "UG"
|
||||
USE MAG SELECT CODTAB[4,5]==""
|
||||
INPUT CODTAB F_MAGC
|
||||
@ -433,7 +511,7 @@ END
|
||||
|
||||
STRING F_DESMAGC 50
|
||||
BEGIN
|
||||
PROMPT 24 9 ""
|
||||
PROMPT 24 11 ""
|
||||
USE MAG KEY 2 SELECT CODTAB[4,5]==""
|
||||
INPUT S0 F_DESMAGC
|
||||
DISPLAY "Denominazione magazzino@50" S0
|
||||
@ -445,7 +523,7 @@ END
|
||||
|
||||
STRING F_DEPC 2
|
||||
BEGIN
|
||||
PROMPT 2 10 "Deposito "
|
||||
PROMPT 2 12 "Deposito "
|
||||
FLAGS "U"
|
||||
USE MAG SELECT (CODTAB[1,3]==#F_MAG)&&(CODTAB[4,5]!="")
|
||||
INPUT CODTAB[1,3] F_MAGC
|
||||
@ -460,7 +538,7 @@ END
|
||||
|
||||
STRING F_DESDEPC 50
|
||||
BEGIN
|
||||
PROMPT 24 10 ""
|
||||
PROMPT 24 12 ""
|
||||
USE MAG KEY 2 SELECT (CODTAB[1,3]==#F_MAG)&&(CODTAB[4,5]!="")
|
||||
INPUT S0 F_DESDEPC
|
||||
COPY DISPLAY F_DESMAG
|
||||
@ -470,12 +548,12 @@ END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 14 "@bValorizzazione"
|
||||
PROMPT 1 16 "@bValorizzazione"
|
||||
END
|
||||
|
||||
LIST F_PREZZO 15
|
||||
BEGIN
|
||||
PROMPT 2 15 "Prezzo "
|
||||
PROMPT 2 17 "Prezzo "
|
||||
ITEM "U|Ultimo Costo"
|
||||
ITEM "S|Costo Standard"
|
||||
FIELD OR14_TPR
|
||||
@ -567,9 +645,26 @@ BEGIN
|
||||
ADD RUN CG0 -1
|
||||
END
|
||||
|
||||
NUMBER F_NUMDOC 6
|
||||
BEGIN
|
||||
PROMPT 2 8 "Numero "
|
||||
FIELD NDOC
|
||||
USE LF_DOC SELECT CODCF==#F_FORNITORE
|
||||
JOIN 20 INTO CODCF=CODCF TIPOCF=TIPOCF
|
||||
INPUT PROVV "D"
|
||||
INPUT ANNO -F_ANNO SELECT
|
||||
INPUT CODNUM -F_CODNUM SELECT
|
||||
INPUT NDOC F_NUMDOC
|
||||
DISPLAY "Data@10" DATADOC
|
||||
DISPLAY "Numero@7" NDOC
|
||||
DISPLAY "Cliente/Fornitore@40" 20->RAGSOC
|
||||
OUTPUT F_NUMDOC NDOC
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_CDC 20
|
||||
BEGIN
|
||||
PROMPT 2 8 "CDC/Commessa "
|
||||
PROMPT 2 10 "CDC/Commessa "
|
||||
FLAGS "UZ"
|
||||
USE CMS
|
||||
INPUT CODTAB F_CDC
|
||||
@ -581,7 +676,7 @@ END
|
||||
|
||||
STRING F_FSC 10
|
||||
BEGIN
|
||||
PROMPT 42 8 "Fase "
|
||||
PROMPT 42 10 "Fase "
|
||||
FLAGS "UZ"
|
||||
USE FSC
|
||||
INPUT CODTAB F_FSC
|
||||
@ -593,29 +688,29 @@ END
|
||||
|
||||
STRING F_CODAGG1 20
|
||||
BEGIN
|
||||
PROMPT 2 9 "Codice agg. 1 "
|
||||
PROMPT 2 11 "Codice agg. 1 "
|
||||
END
|
||||
|
||||
STRING F_CODAGG2 20
|
||||
BEGIN
|
||||
PROMPT 42 9 "Codice agg. 2 "
|
||||
PROMPT 42 11 "Codice agg. 2 "
|
||||
END
|
||||
|
||||
NUMBER F_LEADTIME 5
|
||||
BEGIN
|
||||
PROMPT 2 11 "Lead time "
|
||||
PROMPT 2 13 "Lead time "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_LOTTOMIN 10 3
|
||||
BEGIN
|
||||
PROMPT 42 11 "Lotto "
|
||||
PROMPT 42 13 "Lotto "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
MEMO F_DESCRAGG 50 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "Descr.aggiuntiva"
|
||||
PROMPT 2 14 "Descr.aggiuntiva"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user