Patch level :10.0 964

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
aggiunta esportazione per ripristino magazzino su terminalino defunto


git-svn-id: svn://10.65.10.50/branches/R_10_00@21843 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2011-03-29 10:58:47 +00:00
parent 001e7a4f0c
commit 939e0f1e5d
4 changed files with 97 additions and 28 deletions

View File

@ -86,6 +86,7 @@ protected:
void genera_attrezzature_txt();
void genera_tabpag_txt();
void genera_carico_txt(const TMask& mask);
void genera_ripristino_txt(const TMask& mask);
void fill_anagrafica_cliente(const TISAM_recordset& archivio_clienti,
TEsporta_clienti_recordset& clienti, const bool is_fatt = false);
@ -674,18 +675,65 @@ void TFile2Txt::genera_carico_txt(const TMask& mask)
TString8 codage = archivio_rdoc.get("DOC.CODAG").as_string();
codage = codage.right(3);
carico.set("CodiceTerminale", codage);
carico.set(RDOC_CODART, archivio_rdoc.get(RDOC_CODART));
carico.set("CodiceArticolo", archivio_rdoc.get(RDOC_CODART));
real qta = archivio_rdoc.get(RDOC_QTA).as_real();
qta *= CENTO;
qta.round();
carico.set(RDOC_QTA, qta);
carico.set(RDOC_LIVELLO, archivio_rdoc.get(RDOC_LIVELLO));
carico.set("QuantitaCaricata", qta);
carico.set("CodiceLotto", archivio_rdoc.get(RDOC_LIVELLO));
}
TFilename output_path = genera_path("carico");
carico.save_as(output_path, fmt_text);
}
void TFile2Txt::genera_ripristino_txt(const TMask& mask)
{
TEsporta_carico_recordset ripristino;
TString query;
query << "USE 109 KEY 2";
query << "\nSELECT (STR(GIAC>0))&&(ANAMAG.USER1!=\"\")";
query << "\nJOIN ANAMAG INTO CODART==CODART";
query << "\nFROM ANNOES=#ANNOES CODMAG=#CODMAG";
query << "\nTO ANNOES=#ANNOES CODMAG=#CODMAG";
TISAM_recordset archivio_mag(query);
//parametri dalla maschera
const long annoes = mask.get_long(F_ANNOES);
archivio_mag.set_var("#ANNOES", annoes);
const TString& codmag = mask.get(F_CODMAG);
archivio_mag.set_var("#CODMAG", codmag);
//il codice terminale è il codice magazzino dell'agente selezionato sulla maschera..
//..poichè gli agenti devono avere codice lungo 3 zerofilled ed i magazzini Hardy sono..
//..lunghi 2 e numerici ->...
TString4 codage;
codage << 0 << codmag;
const long archivio_mag_items = archivio_mag.items();
TProgind progind(archivio_mag_items, "Ripristino magazzino...", false, true);
for (bool ok = archivio_mag.move_first(); ok; ok = archivio_mag.move_next())
{
progind.addstatus(1);
ripristino.new_rec("");
ripristino.set("CodiceTerminale", codage);
ripristino.set("CodiceArticolo", archivio_mag.get(MAG_CODART));
real qta = archivio_mag.get(MAG_GIAC).as_real();
qta *= CENTO;
qta.round();
ripristino.set("QuantitaCaricata", qta);
ripristino.set("CodiceLotto", archivio_mag.get(MAG_LIVELLO));
}
TFilename output_path = genera_path("ripristino");
ripristino.save_as(output_path, fmt_text);
}
//metodo di alto livello per la gestione delle chiamate
void TFile2Txt::elabora(const TMask& mask)
{
@ -730,6 +778,9 @@ void TFile2Txt::elabora(const TMask& mask)
if (mask.get_bool(F_CARICO))
genera_carico_txt(mask);
if (mask.get_bool(F_INIMAG))
genera_ripristino_txt(mask);
}

View File

@ -12,6 +12,7 @@
#define F_ATTREZZA 211
#define F_TABPAG 212
#define F_CARICO 213
#define F_INIMAG 214
#define F_DA_CODCLI 220
#define F_DA_SOSP_CODCLI 221
@ -20,4 +21,6 @@
#define F_PROVV 224
#define F_STATO 225
#define F_DA_CARDOC 226
#define F_A_CARDOC 227
#define F_A_CARDOC 227
#define F_ANNOES 230
#define F_CODMAG 231

View File

@ -1,6 +1,6 @@
#include "ha1200a.h"
PAGE "Esportazione archivi in formato .txt" -1 -1 78 12
PAGE "Esportazione archivi in formato .txt" -1 -1 78 13
STRING F_PATH 256 50
BEGIN
@ -8,7 +8,7 @@ BEGIN
FLAGS "D"
END
GROUPBOX DLG_NULL 76 9
GROUPBOX DLG_NULL 76 11
BEGIN
PROMPT 1 2 "@bArchivi da trasferire"
END
@ -16,13 +16,11 @@ END
BOOLEAN F_AGENTI
BEGIN
PROMPT 2 3 "Agenti"
GROUP 1
END
BOOLEAN F_CLIENTI
BEGIN
PROMPT 2 4 "Clienti"
GROUP 1
END
NUMBER F_DA_CODCLI 6
@ -35,13 +33,11 @@ BEGIN
DISPLAY "Ragione Sociale@50" RAGSOC
OUTPUT F_DA_CODCLI CODCF
CHECKTYPE NORMAL
GROUP 1
END
BOOLEAN F_SOSPESI
BEGIN
PROMPT 2 5 "Sospesi"
GROUP 1
END
NUMBER F_DA_SOSP_CODCLI 6
@ -54,67 +50,56 @@ BEGIN
DISPLAY "Ragione Sociale@50" RAGSOC
OUTPUT F_DA_SOSP_CODCLI CODCF
CHECKTYPE NORMAL
GROUP 1
END
BOOLEAN F_LISTINI
BEGIN
PROMPT 2 6 "Listini"
GROUP 1
END
BOOLEAN F_CONTRATTI
BEGIN
PROMPT 2 7 "Contratti"
GROUP 1
END
BOOLEAN F_PROMOZIONI
BEGIN
PROMPT 2 8 "Promozioni"
GROUP 1
END
BOOLEAN F_DECODART
BEGIN
PROMPT 2 9 "Codici articolo alternativi"
GROUP 1
END
BOOLEAN F_PRODOTTI
BEGIN
PROMPT 32 3 "Prodotti"
GROUP 1
END
BOOLEAN F_LINEE
BEGIN
PROMPT 32 4 "Linee"
GROUP 1
END
BOOLEAN F_BARCODE
BEGIN
PROMPT 32 5 "Barcode"
GROUP 1
END
BOOLEAN F_ATTREZZA
BEGIN
PROMPT 53 3 "Attrezzature"
GROUP 1
END
BOOLEAN F_TABPAG
BEGIN
PROMPT 53 4 "Condizioni pagamento"
GROUP 1
END
BOOLEAN F_CARICO
BEGIN
PROMPT 53 5 "Documenti di carico"
GROUP 1
MESSAGE FALSE HIDE,2@
MESSAGE TRUE SHOW,2@
END
@ -122,7 +107,6 @@ END
NUMBER F_DA_CARDOC 7
BEGIN
PROMPT 53 6 "Dal doc. n. "
GROUP 2
USE DOC SELECT (STATO=#F_STATO)
INPUT PROVV "D"
INPUT ANNO F_ANNO SELECT
@ -137,12 +121,12 @@ BEGIN
DISPLAY "Cliente" CODCF
OUTPUT F_DA_CARDOC NDOC
CHECKTYPE NORMAL
GROUP 2
END
NUMBER F_A_CARDOC 7
BEGIN
PROMPT 53 7 "Al doc n. "
GROUP 2
COPY USE F_DA_CARDOC
INPUT PROVV "D"
INPUT ANNO F_ANNO SELECT
@ -153,6 +137,7 @@ BEGIN
CHECKTYPE NORMAL
NUM_EXPR (#F_A_CARDOC>=#F_DA_CARDOC)||(#F_A_CARDOC==0)
WARNING "Il numero documento finale deve essere > di quello iniziale oppure lasciato vuoto"
GROUP 2
END
STRING F_CODNUM 4
@ -167,6 +152,7 @@ BEGIN
PROMPT 63 8 "Anno "
FLAGS "A"
MESSAGE K_SPACE,F_CARICO
CHECKTYPE REQUIRED
GROUP 2
END
@ -176,6 +162,35 @@ BEGIN
FLAGS "H"
END
BOOLEAN F_INIMAG
BEGIN
PROMPT 53 9 "Ripristina magazzino"
MESSAGE FALSE HIDE,3@
MESSAGE TRUE SHOW,3@
END
STRING F_CODMAG 3
BEGIN
PROMPT 53 10 "Mag. "
USE MAG SELECT CODTAB[4,5]==""
FLAGS "U"
INPUT CODTAB F_CODMAG
DISPLAY "Codice" CODTAB[1,3]
DISPLAY "Denominazione magazzino@50" S0
OUTPUT F_CODMAG CODTAB[1,3]
CHECKTYPE REQUIRED
GROUP 3
END
NUMBER F_ANNOES 4
BEGIN
PROMPT 64 10 "Anno "
FLAGS "A"
MESSAGE K_SPACE,F_INIMAG
CHECKTYPE REQUIRED
GROUP 3
END
ENDPAGE
TOOLBAR "topbar" 0 0 0 2

View File

@ -264,15 +264,15 @@ TEsporta_contratti_recordset::TEsporta_contratti_recordset(int rec_length)
}
//Rdoc (Carico) è una riga di un documento
//----------------
//Rdoc (Carico) è una riga di un documento o un movimento di magazzino nel caso del ripristino
//-------------
TEsporta_carico_recordset::TEsporta_carico_recordset(int rec_length)
: THardy_recordset(rec_length)
{
add_field("CodiceTerminale", T_N, 1, 3); //x
add_field(RDOC_CODART, T_X, 4, 5); //x
add_field(RDOC_QTA, T_Nv2N,9, 7); //x
add_field(RDOC_LIVELLO, T_X, 16, 10);
add_field("CodiceArticolo", T_X, 4, 5); //x
add_field("QuantitaCaricata",T_Nv2N,9, 7); //x
add_field("CodiceLotto", T_X, 16, 10);
add_eol_field();
}