Patch level :

Files correlati     : ha0.exe ha1.exe ha0600a.msk
Ricompilazione Demo : [ ]
Commento            :
Adeguato invio codici corrispondenti al nuovo tracciato


git-svn-id: svn://10.65.10.50/branches/R_10_00@22454 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2011-10-13 10:21:15 +00:00
parent 37f9d93ce5
commit c6dac1728d
5 changed files with 44 additions and 46 deletions

View File

@ -6,6 +6,7 @@
#include <recset.h>
#include <clifo.h>
#include <multirel.h>
#include "../mg/anamag.h"
///////////////////////////////////////////////////////////
@ -54,26 +55,26 @@ bool TCodcorr_msk::save()
row->get(3, descr);
multirel.zero();
multirel.put("COD", "HACOR");
multirel.put(MULTI_COD, "HACOR");
// Compila opportunamente la chiave di multirel: FIRST=cliente; SECOND=articolo;
if (_mode == 'A')
{
multirel.put("FIRST", _code); // Cliente
multirel.put("SECOND", code); // Articolo
multirel.put(MULTI_FIRST, _code); // Cliente
multirel.put(MULTI_SECOND, code); // Articolo
}
else
{
multirel.put("FIRST", code); // Cliente
multirel.put("SECOND", _code); // Articolo
multirel.put(MULTI_FIRST, code); // Cliente
multirel.put(MULTI_SECOND, _code); // Articolo
}
int err = NOERR;
if (codalt.full() || descr.full()) // Riga da aggiornare in quanto piena
{
// Il campo DATA è così organizzato: DATA[1,5]=codalt; DATA[6,50]=descr
// Il campo DATA è così organizzato: DATA[1,6]=codalt; DATA[7,36]=descr
data = codalt;
data.overwrite(descr, 5);
multirel.put("DATA", data);
data.overwrite(descr, 6, 30);
multirel.put(MULTI_DATA, data);
err = multirel.rewrite_write();
}
else
@ -117,16 +118,16 @@ bool TCodcorr_msk::load_articles()
for (bool ok = multirel.move_first(); ok; ok = multirel.move_next())
{
TToken_string& row = sf.row(-1);
TString8 cod = multirel.get("SECOND").as_string().left(5);
TString8 cod = multirel.get(MULTI_SECOND).as_string().left(5);
row.add(cod); // Codice articolo
row.add(cache().get(LF_ANAMAG, cod, ANAMAG_DESCR)); // Descrizione articolo
// Spezza il campo DATA in codice alternativo [1,5] e descrizione [6,50]
const TString& data = multirel.get("DATA").as_string();
cod = data.left(5);
// Spezza il campo DATA in codice alternativo [1,6] e descrizione [7,36]
const TString& data = multirel.get(MULTI_DATA).as_string();
cod = data.left(6);
row.add(cod);
if (data.len() > 5)
row.add(data.mid(5, 45));
if (data.len() > 6)
row.add(data.mid(6, 30));
else
row.add(cache().get(LF_ANAMAG, cod, ANAMAG_DESCR));
@ -154,17 +155,17 @@ bool TCodcorr_msk::load_customers()
for (bool ok = multirel.move_first(); ok; ok = multirel.move_next())
{
TToken_string& row = sf.row(-1);
TString8 cod = multirel.get("FIRST").as_string(); // Codice cliente
TString8 cod = multirel.get(MULTI_FIRST).as_string(); // Codice cliente
row.add(cod);
cod.insert("C|"); // Chiave cliente
row.add(cache().get(LF_CLIFO, cod, CLI_RAGSOC)); // Ragione sociale
// Spezza il campo DATA in codice alternativo [1,5] e descrizione [6,50]
const TString& data = multirel.get("DATA").as_string();
cod = data.left(5);
// Spezza il campo DATA in codice alternativo [1,6] e descrizione [7,36]
const TString& data = multirel.get(MULTI_DATA).as_string();
cod = data.left(6);
row.add(cod);
if (data.len() > 5)
row.add(data.mid(5, 45));
if (data.len() > 6)
row.add(data.mid(6, 30));
else
row.add(cache().get(LF_ANAMAG, cod, ANAMAG_DESCR));

View File

@ -86,8 +86,8 @@ BEGIN
PROMPT 1 4 ""
ITEM "Codice\nArticolo@8"
ITEM "Descrizione@50"
ITEM "Codice\nAlt.@5"
ITEM "Descrizione@45"
ITEM "Codice\nAlt.@6"
ITEM "Descrizione@30"
FLAGS "H"
END
@ -96,8 +96,8 @@ BEGIN
PROMPT 1 4 ""
ITEM "Codice\nCliente@6"
ITEM "Ragione Sociale@50"
ITEM "Codice\nAlt.@5"
ITEM "Descrizione@45"
ITEM "Codice\nAlt.@6"
ITEM "Descrizione@30"
FLAGS "H"
END
@ -105,7 +105,7 @@ ENDPAGE
ENDMASK
PAGE "Articolo" -1 -1 60 5
PAGE "Articolo" -1 -1 65 5
STRING A_CODART 5
BEGIN
@ -134,7 +134,7 @@ BEGIN
ADD RUN ve2 -0
END
STRING A_CODALT 5
STRING A_CODALT 6
BEGIN
PROMPT 1 3 "Alternativo "
COPY USE A_CODART
@ -145,7 +145,7 @@ BEGIN
ADD RUN ve2 -0
END
STRING A_DESCALT 45
STRING A_DESCALT 30
BEGIN
PROMPT 1 4 "Descrizione "
END
@ -206,7 +206,7 @@ BEGIN
ADD RUN cg0 -1
END
STRING C_CODALT 5
STRING C_CODALT 6
BEGIN
PROMPT 1 4 "Alternativo "
USE LF_ANAMAG SELECT USER1!=""
@ -219,7 +219,7 @@ BEGIN
ADD RUN ve2 -0
END
STRING C_DESCALT 45
STRING C_DESCALT 30
BEGIN
PROMPT 1 5 "Descrizione "
END

View File

@ -5,6 +5,7 @@
#include <utility.h>
#include <comuni.h>
#include <multirel.h>
#include <scadenze.h>
#include "../cg/cgsaldac.h"
#include "../ve/condv.h"
@ -621,11 +622,7 @@ bool TFile2Txt::genera_decodart_txt()
{
TEsporta_decodart_recordset decodart;
TString query;
query << "USE CODCORR";
query << "\nSELECT (TIPOCF='C')";
query << "\nBY CODCF";
const char* const query = "USE MULTIREL\nFROM COD=HACOR\nTO COD=HACOR";
TISAM_recordset archivio_codcorr(query);
const long archivio_codcorr_items = archivio_codcorr.items();
@ -635,10 +632,12 @@ bool TFile2Txt::genera_decodart_txt()
progind.addstatus(1);
decodart.new_rec("");
decodart.set(CODCORR_CODCF, archivio_codcorr.get(MULTI_FIRST));
decodart.set(CODCORR_CODART, archivio_codcorr.get(MULTI_SECOND));
decodart.set(CODCORR_CODART, archivio_codcorr.get(CODCORR_CODART));
decodart.set(CODCORR_CODCF, archivio_codcorr.get(CODCORR_CODCF));
decodart.set(CODCORR_CODARTALT, archivio_codcorr.get(CODCORR_CODARTALT));
const TString& data = archivio_codcorr.get(MULTI_DATA).as_string();
decodart.set(CODCORR_CODARTALT, data.left(6));
decodart.set(CODCORR_DESCR, data.mid(6, 30));
}
return salva_recordset(decodart, "decodart");

View File

@ -309,12 +309,13 @@ TEsporta_sospesiVAR_recordset::TEsporta_sospesiVAR_recordset()
//Decodart ()
//---------------
TEsporta_decodart_recordset::TEsporta_decodart_recordset(int rec_length)
: THardy_recordset(rec_length)
TEsporta_decodart_recordset::TEsporta_decodart_recordset()
: THardy_recordset(49)
{
add_field(CODCORR_CODART, T_X, 1, 5); //x
add_field(CODCORR_CODCF, T_N, 6, 6); //x
add_field(CODCORR_CODARTALT, T_X, 12, 6); //x
add_field(CODCORR_CODART, T_X, 1, 5); //x
add_field(CODCORR_CODCF, T_N, 6, 6); //x
add_field(CODCORR_CODARTALT, T_X, 12, 6); //x
add_field(CODCORR_DESCR, T_X, 18,30); //x
add_eol_field();
}
@ -404,9 +405,6 @@ const TString& TCodArtEsselunga_cache::decode(const TString& codart)
return *(const TString*)objptr(codart);
}
/////////////////////////////////////////////////////////////
// Metodi di utility
/////////////////////////////////////////////////////////////

View File

@ -185,7 +185,7 @@ public:
class TEsporta_decodart_recordset : public THardy_recordset
{
public:
TEsporta_decodart_recordset(int rec_length = 19);
TEsporta_decodart_recordset();
};
//Barcode ()