2008-11-14 00:40:30 +00:00
|
|
|
#include "pn0001.h"
|
|
|
|
#include "pn0001100.h"
|
|
|
|
#include <automask.h>
|
|
|
|
#include <progind.h>
|
|
|
|
#include <reprint.h>
|
|
|
|
#include <tabutil.h>
|
|
|
|
|
|
|
|
#include "../mg/anamag.h"
|
|
|
|
#include "../mg/mag.h"
|
|
|
|
#include "../mg/codcorr.h"
|
|
|
|
#include "../mg/umart.h"
|
|
|
|
#include "../ve/condv.h"
|
|
|
|
#include "../ve/rcondv.h"
|
|
|
|
#include <clifo.h>
|
|
|
|
#include <cfven.h>
|
|
|
|
|
|
|
|
#include <applicat.h>
|
|
|
|
#include <recarray.h>
|
|
|
|
#include <relation.h>
|
|
|
|
#include <reputils.h>
|
|
|
|
#include <textset.h>
|
|
|
|
|
|
|
|
#include "../cg/cglib01.h"
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TDettaglio_mask
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TDettaglio_mask : public TAutomask
|
|
|
|
{
|
|
|
|
|
|
|
|
private:
|
|
|
|
void serialize(bool bSave);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TDettaglio_mask();
|
|
|
|
~TDettaglio_mask();
|
|
|
|
};
|
|
|
|
|
|
|
|
bool TDettaglio_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|
|
|
{
|
|
|
|
bool ok = true;
|
|
|
|
switch (o.dlg())
|
|
|
|
{
|
|
|
|
case F_PATH:
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return ok;
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_mask::serialize(bool bSave)
|
|
|
|
{
|
|
|
|
const char* defpar = "tc";
|
|
|
|
TConfig ini(CONFIG_DITTA, defpar);
|
|
|
|
for (int i = fields()-1; i >= 0; i--)
|
|
|
|
{
|
|
|
|
TMask_field& f = fld(i);
|
|
|
|
const TFieldref* fr = f.field();
|
|
|
|
if (fr != NULL)
|
|
|
|
{
|
|
|
|
if (bSave)
|
|
|
|
fr->write(ini, defpar, f.get());
|
|
|
|
else
|
|
|
|
f.set(fr->read(ini, defpar));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
TDettaglio_mask::TDettaglio_mask()
|
|
|
|
: TAutomask("pn0001100")
|
|
|
|
{
|
|
|
|
serialize(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
TDettaglio_mask::~TDettaglio_mask()
|
|
|
|
{
|
|
|
|
serialize(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TDettaglio_receiver
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TDettaglio_receiver : public TSkeleton_application
|
|
|
|
{
|
|
|
|
int _len;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void load_clifo(const TDettaglio_mask & m);
|
2008-11-26 10:47:53 +00:00
|
|
|
void load_classi(const TDettaglio_mask & m);
|
|
|
|
void load_marche(const TDettaglio_mask & m);
|
2008-11-14 00:40:30 +00:00
|
|
|
void load_articoli(const TDettaglio_mask & m);
|
|
|
|
void load_barcode(const TDettaglio_mask & m);
|
|
|
|
void load_listino(const TDettaglio_mask & m);
|
|
|
|
void load_giacenze(const TDettaglio_mask & m);
|
|
|
|
void load_costi(const TDettaglio_mask & m);
|
2008-11-26 10:47:53 +00:00
|
|
|
void add_to_tab(const TString & codtab, const TString & cod, const char * desc = "");
|
2008-11-14 00:40:30 +00:00
|
|
|
const TString & build_codart(const TString & gruppo, const long codice);
|
|
|
|
virtual const char * extra_modules() const {return "vd";}
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual bool create();
|
|
|
|
virtual void main_loop();
|
|
|
|
virtual bool destroy();
|
|
|
|
TDettaglio_receiver() : _len(5) {}
|
|
|
|
};
|
|
|
|
|
|
|
|
TDettaglio_receiver& app() { return (TDettaglio_receiver&)main_app(); }
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TClifo_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TClifo_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TClifo_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TClifo_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TClifo_textset::TClifo_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(1947,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
|
|
|
|
|
|
|
add_field("VALICF", 1, an, 1); // MFANCF00
|
|
|
|
add_field("ATIPCF", 1, an, 2);
|
|
|
|
add_field("ACODCF", 22, an, 3);
|
|
|
|
add_field("AFIGIU", 1, an, 25);
|
|
|
|
add_field("ARAGSO", 40, an, 26);
|
|
|
|
add_field("AINDIR", 40, an, 66);
|
|
|
|
add_field("ALOCAL", 30, an, 106);
|
|
|
|
add_field("ACAP", 5, an, 136);
|
|
|
|
add_field("APROVI", 2, an, 141);
|
|
|
|
add_field("ANAZIO", 3, an, 143);
|
|
|
|
add_field("APOSCN", 6, an, 146);
|
|
|
|
add_field("APECOT", 30, an, 152);
|
|
|
|
add_field("ACOSPE", 22, an, 182);
|
|
|
|
add_field("APARIV", 11, an, 204);
|
|
|
|
add_field("ACODFI", 16, an, 215);
|
|
|
|
add_field("ANUTE1", 20, an, 231);
|
|
|
|
add_field("ANUTE2", 20, an, 251);
|
|
|
|
add_field("ANUFAX", 20, an, 271);
|
|
|
|
add_field("ACOPAG", 2, an, 291);
|
|
|
|
add_field("ACOIVA", 6, an, 293);
|
|
|
|
add_field("ACOABI", 22, an, 299);
|
|
|
|
add_field("ACOCAB", 22, an, 321);
|
|
|
|
add_field("ACODCC", 15, an, 343);
|
|
|
|
add_field("ACOPOR", 2, an, 358);
|
|
|
|
add_field("ACOSTA", 4, an, 360);
|
|
|
|
add_field("ACOST2", 4, an, 364);
|
|
|
|
add_field("ACOST3", 4, an, 368);
|
|
|
|
add_field("ACOTRA", 3, an, 372);
|
|
|
|
add_field("ACOZON", 4, an, 375);
|
|
|
|
add_field("ACOITI", 6, an, 379);
|
|
|
|
add_field("ACOVAL", 3, an, 385);
|
|
|
|
add_field("ATIFAT", 2, an, 388);
|
|
|
|
add_field("FIDO", 22, an, 390);
|
|
|
|
add_field("ASCOT1", 22, an, 412);
|
|
|
|
add_field("ASCOT2", 22, an, 434);
|
|
|
|
add_field("ASCOD1", 22, an, 456);
|
|
|
|
add_field("ASCOD2", 22, an, 478);
|
|
|
|
add_field("ASCOD3", 22, an, 500);
|
|
|
|
add_field("ASCOD4", 22, an, 522);
|
|
|
|
add_field("ACOAGE", 6, an, 544);
|
|
|
|
add_field("ACOISP", 6, an, 550);
|
|
|
|
add_field("ARITSC", 6, an, 556);
|
|
|
|
add_field("APETRA", 22, an, 562);
|
|
|
|
add_field("AAGEIV", 1, an, 584);
|
|
|
|
add_field("ARAGBO", 2, an, 585);
|
|
|
|
add_field("ACAINC", 1, an, 587);
|
|
|
|
add_field("ACABOL", 1, an, 588);
|
|
|
|
add_field("AAGPRA", 1, an, 589);
|
|
|
|
add_field("ATRASF", 1, an, 590);
|
|
|
|
add_field("ATRATE", 1, an, 591);
|
|
|
|
add_field("ANOCPR", 1, an, 592);
|
|
|
|
add_field("ASTSOL", 1, an, 593);
|
|
|
|
add_field("ADATSO", 22, an, 594);
|
|
|
|
add_field("ACOVET", 2, an, 616);
|
|
|
|
add_field("ADIPRE", 1, an, 618);
|
|
|
|
add_field("AGEPRE", 1, an, 619);
|
|
|
|
add_field("AINSPE", 22, an, 620);
|
|
|
|
add_field("AARBCO", 1, an, 642);
|
|
|
|
add_field("AGRUCO", 6, an, 643);
|
|
|
|
add_field("ACONTO", 6, an, 649);
|
|
|
|
add_field("ASOTCO", 22, an, 655);
|
|
|
|
add_field("AGRCON", 6, an, 677);
|
|
|
|
add_field("ACOCON", 6, an, 683);
|
|
|
|
add_field("AALLEG", 6, an, 689);
|
|
|
|
add_field("ADAGI1", 6, an, 695);
|
|
|
|
add_field("ADAME1", 6, an, 701);
|
|
|
|
add_field("AALGI1", 6, an, 707);
|
|
|
|
add_field("AALME1", 6, an, 713);
|
|
|
|
add_field("ADAGI2", 6, an, 719);
|
|
|
|
add_field("ADAME2", 6, an, 725);
|
|
|
|
add_field("AALGI2", 6, an, 731);
|
|
|
|
add_field("AALME2", 6, an, 737);
|
|
|
|
add_field("ALISCF", 1, an, 743);
|
|
|
|
add_field("AGIOCH", 9, an, 744);
|
|
|
|
add_field("AORACO", 15, an, 753);
|
|
|
|
add_field("ACALPR", 6, an, 768);
|
|
|
|
add_field("APERPR", 22, an, 774);
|
|
|
|
add_field("APROAR", 6, an, 796);
|
|
|
|
add_field("ANULIN", 6, an, 802);
|
|
|
|
add_field("ADALIN", 22, an, 808);
|
|
|
|
add_field("ADAINL", 22, an, 830);
|
|
|
|
add_field("ADAFIL", 22, an, 852);
|
|
|
|
add_field("ATABLI", 6, an, 874);
|
|
|
|
add_field("ALISIP", 6, an, 880);
|
|
|
|
add_field("ALISIS", 6, an, 886);
|
|
|
|
add_field("ACODCO", 5, an, 892);
|
|
|
|
add_field("ALINGU", 1, an, 897);
|
|
|
|
add_field("ACDTAR", 3, an, 898);
|
|
|
|
add_field("AKMTRA", 6, an, 901);
|
|
|
|
add_field("AMARCA", 6, an, 907);
|
|
|
|
add_field("ACOCOM", 4, an, 913);
|
|
|
|
add_field("AIMP01", 6, an, 917);
|
|
|
|
add_field("AIMP02", 22, an, 923);
|
|
|
|
add_field("AIMP03", 22, an, 945);
|
|
|
|
add_field("ABLOFO", 1, an, 967);
|
|
|
|
add_field("AFLA01", 1, an, 968);
|
|
|
|
add_field("AFLA02", 1, an, 969);
|
|
|
|
add_field("AFLA03", 1, an, 970);
|
|
|
|
add_field("AFLA04", 1, an, 971);
|
|
|
|
add_field("AFLA05", 1, an, 972);
|
|
|
|
add_field("AFLA06", 1, an, 973);
|
|
|
|
add_field("AFLA07", 1, an, 974);
|
|
|
|
add_field("AFLA08", 1, an, 975);
|
|
|
|
add_field("AFLA09", 1, an, 976);
|
|
|
|
add_field("AFLA10", 1, an, 977);
|
|
|
|
add_field("ACFTER", 10, an, 978);
|
|
|
|
add_field("AUTECR", 2, an, 988);
|
|
|
|
add_field("ADATCR", 22, an, 990);
|
|
|
|
add_field("AUTEVA", 2, an, 1012);
|
|
|
|
add_field("ADATVA", 22, an, 1014);
|
|
|
|
add_field("ATAVET", 3, an, 1036);
|
|
|
|
add_field("AORDEV", 1, an, 1039);
|
|
|
|
add_field("ABLOOR", 1, an, 1040);
|
|
|
|
add_field("AGESIN", 1, an, 1041);
|
|
|
|
add_field("AORFAX", 1, an, 1042);;
|
|
|
|
add_field("ACOREG", 6, an, 1043);
|
|
|
|
add_field("ACOSP1", 2, an, 1049);
|
|
|
|
add_field("ACOSP2", 2, an, 1051);
|
|
|
|
add_field("ACOSP3", 2, an, 1053);
|
|
|
|
add_field("FOTO1", 50, an, 1055);
|
|
|
|
add_field("FOTO2", 50, an, 1105);
|
|
|
|
add_field("WEB", 50, an, 1155);
|
|
|
|
add_field("NOTE", 512, an, 1205);
|
|
|
|
add_field("KEY_U", 10, an, 1717);
|
|
|
|
add_field("APRBAN", 5, an, 1727);
|
|
|
|
add_field("ASTEUR", 1, an, 1732);
|
|
|
|
add_field("AGERGO", 1, an, 1733);
|
|
|
|
add_field("ARITME", 22, an, 1734);
|
|
|
|
add_field("ASPIN1", 22, an, 1756);
|
|
|
|
add_field("ASPIN2", 22, an, 1778);
|
|
|
|
add_field("ASPIN3", 22, an, 1800);
|
|
|
|
add_field("ASPIN4", 22, an, 1822);
|
|
|
|
add_field("ASPIN5", 22, an, 1844);
|
|
|
|
add_field("AINDIR2", 40, an, 1866);
|
|
|
|
add_field("AINDIR3", 40, an, 1906);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TAnamag_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TAnamag_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TAnamag_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TAnamag_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TAnamag_textset::TAnamag_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(2550,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
|
|
|
|
|
|
|
add_field("AVALAN", 1, an, 1); // MFARTI00
|
|
|
|
add_field("AGRUPP", 2, an, 2);
|
|
|
|
add_field("ACODAR", 22, an, 4);
|
|
|
|
add_field("ADESAR", 40, an, 26);
|
|
|
|
add_field("AUNMVE", 2, an, 66);
|
|
|
|
add_field("AUNMAC", 2, an, 68);
|
|
|
|
add_field("ACOEFF", 22, an, 70);
|
|
|
|
add_field("ACODIV", 6, an, 92);
|
|
|
|
add_field("AIVAAG", 6, an, 98);
|
|
|
|
add_field("ACLASS", 2, an, 104);
|
|
|
|
add_field("ACATEG", 2, an, 106);
|
|
|
|
add_field("ALINEA", 4, an, 108);
|
|
|
|
add_field("ALINAQ", 4, an, 112);
|
|
|
|
add_field("ACOMAR", 6, an, 116);
|
|
|
|
add_field("ADTVAL", 22, an, 122);
|
|
|
|
add_field("ACONFE", 22, an, 144);
|
|
|
|
add_field("AQTAIM", 22, an, 166);
|
|
|
|
add_field("APESOA", 22, an, 188);
|
|
|
|
add_field("APESOC", 22, an, 210);
|
|
|
|
add_field("APESOI", 22, an, 232);
|
|
|
|
add_field("AVOLUA", 22, an, 254);
|
|
|
|
add_field("AVOLUC", 22, an, 276);
|
|
|
|
add_field("AVOLUI", 22, an, 298);
|
|
|
|
add_field("ACAMPR", 8, an, 320);
|
|
|
|
add_field("AFASCO", 2, an, 328);
|
|
|
|
add_field("AASPES", 2, an, 330);
|
|
|
|
add_field("ACOMPO", 2, an, 332);
|
|
|
|
add_field("ACODST", 4, an, 334);
|
|
|
|
add_field("ACODSG", 4, an, 338);
|
|
|
|
add_field("AGRURA", 2, an, 342);
|
|
|
|
add_field("ACODRA", 22, an, 344);
|
|
|
|
add_field("APROV1", 22, an, 366);
|
|
|
|
add_field("APROV2", 22, an, 388);
|
|
|
|
add_field("APROV3", 22, an, 410);
|
|
|
|
add_field("APROV4", 22, an, 432);
|
|
|
|
add_field("APROV5", 22, an, 454);
|
|
|
|
add_field("ATRASR", 1, an, 476);
|
|
|
|
add_field("ATRTER", 1, an, 477);
|
|
|
|
add_field("ANOLIS", 1, an, 478);
|
|
|
|
add_field("ARIDES", 1, an, 479);
|
|
|
|
add_field("ATAGCO", 4, an, 480);
|
|
|
|
add_field("APOSCU", 1, an, 484);
|
|
|
|
add_field("ATIPRO", 1, an, 485);
|
|
|
|
add_field("ACDCAL", 1, an, 486);
|
|
|
|
add_field("AGESCO", 8, an, 487);
|
|
|
|
add_field("ACDREP", 3, an, 495);
|
|
|
|
add_field("ACDNOM", 12, an, 498);
|
|
|
|
add_field("AUNMAL", 2, an, 510);
|
|
|
|
add_field("ACOEFA", 22, an, 512);
|
|
|
|
add_field("ANOINV", 1, an, 534);
|
|
|
|
add_field("AGEMAT", 1, an, 535);
|
|
|
|
add_field("AGEVUO", 1, an, 536);
|
|
|
|
add_field("AGECOL", 1, an, 537);
|
|
|
|
add_field("AGELOT", 1, an, 538);
|
|
|
|
add_field("AFLG01", 1, an, 539);
|
|
|
|
add_field("AFLG02", 1, an, 540);
|
|
|
|
add_field("AFLG03", 1, an, 541);
|
|
|
|
add_field("AFLG04", 1, an, 542);
|
|
|
|
add_field("AFLG05", 1, an, 543);
|
|
|
|
add_field("AFLG06", 1, an, 544);
|
|
|
|
add_field("AFLG07", 1, an, 545);
|
|
|
|
add_field("AFLG08", 1, an, 546);
|
|
|
|
add_field("AFLG09", 1, an, 547);
|
|
|
|
add_field("AFLG10", 1, an, 548);
|
|
|
|
add_field("ALISGR", 3, an, 549);
|
|
|
|
add_field("ALISSQ", 22, an, 552);
|
|
|
|
add_field("AIDTER", 10, an, 574);
|
|
|
|
add_field("ARUTCR", 2, an, 584);
|
|
|
|
add_field("ARDTCR", 19, an, 586);
|
|
|
|
add_field("ARUTVA", 2, an, 605);
|
|
|
|
add_field("ARDTVA", 19, an, 607);
|
|
|
|
add_field("FOTO", 250, an, 626);
|
|
|
|
add_field("KEY_U", 10, an, 876);
|
|
|
|
add_field("INVMAG", 8, an, 886);
|
|
|
|
add_field("ADTSOS", 19, an, 894);
|
|
|
|
add_field("AFLSOS", 1, an, 913);
|
|
|
|
add_field("AGEMIS", 1, an, 914);
|
|
|
|
add_field("AMISMM", 6, an, 915);
|
|
|
|
add_field("AMISMF", 22, an, 921);
|
|
|
|
add_field("AECOM1", 5, an, 943);
|
|
|
|
add_field("AECOM2", 5, an, 948);
|
|
|
|
add_field("AECOM3", 5, an, 953);
|
|
|
|
add_field("AECOM4", 5, an, 958);
|
|
|
|
add_field("ATRACA", 1, an, 963);
|
|
|
|
add_field("ATRACA1", 1, an, 964);
|
|
|
|
add_field("AFLG11", 1, an, 965);
|
|
|
|
add_field("AFLG12", 1, an, 966);
|
|
|
|
add_field("AFLG13", 1, an, 967);
|
|
|
|
add_field("AFLG14", 1, an, 968);
|
|
|
|
add_field("AFLG15", 1, an, 969);
|
|
|
|
add_field("AFLG16", 1, an, 970);
|
|
|
|
add_field("AFLG17", 1, an, 971);
|
|
|
|
add_field("AFLG18", 1, an, 972);
|
|
|
|
add_field("AFLG19", 1, an, 973);
|
|
|
|
add_field("AFLG20", 1, an, 974);
|
|
|
|
add_field("AANNOP", 6, an, 975);
|
|
|
|
add_field("ANUMPA", 6, an, 981);
|
|
|
|
add_field("ADESAR2", 40, an, 987);
|
|
|
|
add_field("FOTO2", 250, an, 1027);
|
|
|
|
add_field("FOTO3", 250, an, 1277);
|
|
|
|
add_field("FOTO4", 250, an, 1527);
|
|
|
|
add_field("FOTO5", 250, an, 1777);
|
|
|
|
add_field("FOTO6", 250, an, 2027);
|
|
|
|
add_field("FOTO7", 250, an, 2277);
|
|
|
|
add_field("ACODOFF", 22, an, 2527);
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TBarcoode_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TBarcode_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TBarcode_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TBarcode_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TBarcode_textset::TBarcode_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(320,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
|
|
|
|
|
|
|
add_field("BVALAR", 1, an, 1); // MFARB00
|
|
|
|
add_field("BGRUPP", 2, an, 2);
|
|
|
|
add_field("BCODAR", 22, an, 4);
|
|
|
|
add_field("BTIPRE", 1, an, 26);
|
|
|
|
add_field("BBARCO", 20, an, 27);
|
|
|
|
add_field("BTIPCF", 1, an, 47);
|
|
|
|
add_field("BCODCL", 22, an, 48);
|
|
|
|
add_field("BCOPRI", 1, an, 70);
|
|
|
|
add_field("BQTAMO", 22, an, 71);
|
|
|
|
add_field("BCONFE", 22, an, 93);
|
|
|
|
add_field("BQTAIM", 22, an, 115);
|
|
|
|
add_field("BNOT40", 40, an, 137);
|
|
|
|
add_field("BBLORI", 1, an, 177);
|
|
|
|
add_field("BRIFRI", 6, an, 178);
|
|
|
|
add_field("BRIFCO", 6, an, 184);
|
|
|
|
add_field("BLISTI", 22, an, 190);
|
|
|
|
add_field("BTIPMA", 1, an, 212);
|
|
|
|
add_field("BPERMA", 22, an, 213);
|
|
|
|
add_field("KEY_U", 40, an, 235);
|
|
|
|
add_field("KEYB", 40, an, 275);
|
|
|
|
add_field("BPESO", 1, an, 315);
|
|
|
|
add_field("BCODBIL", 3, an, 316);
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TListino_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TListino_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TListino_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TListino_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
2009-02-14 17:13:09 +00:00
|
|
|
if (tipo == 'r')
|
|
|
|
tipo = _realfld;
|
2008-11-14 00:40:30 +00:00
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TListino_textset::TListino_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(626,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
2009-02-14 17:13:09 +00:00
|
|
|
const char r = 'r';
|
2008-11-14 00:40:30 +00:00
|
|
|
|
|
|
|
add_field("LVALAR", 1, an, 1); // MFARLI00
|
|
|
|
add_field("LGRUPP", 2, an, 2);
|
|
|
|
add_field("LCODAR", 22, an, 4);
|
|
|
|
add_field("LCODLI", 6, an, 26);
|
|
|
|
add_field("LTIPCF", 1, an, 32);
|
|
|
|
add_field("LCFTAB", 6, an, 33);
|
|
|
|
add_field("LCOPRI", 1, an, 39);
|
|
|
|
add_field("LDESAR", 40, an, 40);
|
2009-02-14 17:13:09 +00:00
|
|
|
add_field("LLISTI", 22, r, 80);
|
|
|
|
add_field("LCOSTO", 22, r, 102);
|
2008-11-14 00:40:30 +00:00
|
|
|
add_field("LLIFVE", 22, an, 124);
|
|
|
|
add_field("LDTSCA", 19, an, 146);
|
|
|
|
add_field("LSCOD1", 22, an, 165);
|
|
|
|
add_field("LSCOD2", 22, an, 187);
|
|
|
|
add_field("LSCOD3", 22, an, 209);
|
|
|
|
add_field("LSCOD4", 22, an, 231);
|
|
|
|
add_field("LPROVV", 22, an, 253);
|
|
|
|
add_field("LNOMOD", 1, an, 275);
|
|
|
|
add_field("LNOSCO", 1, an, 276);
|
|
|
|
add_field("LCOFAM", 5, an, 277);
|
|
|
|
add_field("LGGAPR", 6, an, 282);
|
|
|
|
add_field("LMAGFO", 22, an, 288);
|
|
|
|
add_field("LNOTE", 20, an, 310);
|
|
|
|
add_field("LRINOT", 1, an, 330);
|
|
|
|
add_field("LLISTG", 22, an, 331);
|
|
|
|
add_field("LCOSTG", 22, an, 353);
|
|
|
|
add_field("LLIFVG", 22, an, 375);
|
|
|
|
add_field("LSCO1G", 22, an, 397);
|
|
|
|
add_field("LSCO2G", 22, an, 419);
|
|
|
|
add_field("LSCO3G", 22, an, 441);
|
|
|
|
add_field("LSCO4G", 22, an, 463);
|
|
|
|
add_field("LIDTER", 10, an, 485);
|
|
|
|
add_field("LUTECR", 2, an, 495);
|
|
|
|
add_field("LDATCR", 19, an, 497);
|
|
|
|
add_field("LUTEVA", 2, an, 516);
|
|
|
|
add_field("LDATVA", 19, an, 518);
|
|
|
|
add_field("KEY_U", 20, an, 537);
|
|
|
|
add_field("KEYB", 20, an, 557);
|
|
|
|
add_field("KEYFORART", 20, an, 577);
|
|
|
|
add_field("KEYART", 20, an, 597);
|
|
|
|
add_field("INVMAG", 8, an, 617);
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TGiacenze_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TGiacenze_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TGiacenze_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TGiacenze_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TGiacenze_textset::TGiacenze_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(1416,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
|
|
|
|
|
|
|
add_field("SVALAN", 1, an, 1); // MFARSA00
|
|
|
|
add_field("SGRUPP", 2, an, 2);
|
|
|
|
add_field("SCODAR", 22, an, 4);
|
|
|
|
add_field("SCODDE", 6, an, 26);
|
|
|
|
add_field("SSCMIN", 22, an, 32);
|
|
|
|
add_field("SSCMAX", 22, an, 54);
|
|
|
|
add_field("SCODUB", 5, an, 76);
|
|
|
|
add_field("SLOTRI", 22, an, 81);
|
|
|
|
add_field("SQTAOC", 22, an, 103);
|
|
|
|
add_field("SQTAOF", 22, an, 125);
|
|
|
|
add_field("SQTAIM", 22, an, 147);
|
|
|
|
add_field("SQTPRO", 22, an, 169);
|
|
|
|
add_field("SQTAPR", 22, an, 191);
|
|
|
|
add_field("SCOSPR", 22, an, 213);
|
|
|
|
add_field("SESINI", 22, an, 235);
|
|
|
|
add_field("SESIDI", 22, an, 257);
|
|
|
|
add_field("SESICO", 22, an, 279);
|
|
|
|
add_field("SESVIS", 22, an, 301);
|
|
|
|
add_field("SDAULA", 22, an, 323);
|
|
|
|
add_field("SDAENT", 19, an, 345);
|
|
|
|
add_field("SDAUSC", 19, an, 364);
|
|
|
|
add_field("STVACD", 22, an, 383);
|
|
|
|
add_field("STVACC", 22, an, 405);
|
|
|
|
add_field("STVASD", 22, an, 427);
|
|
|
|
add_field("STVASC", 22, an, 449);
|
|
|
|
add_field("SQTD01", 22, an, 471);
|
|
|
|
add_field("SQTD02", 22, an, 493);
|
|
|
|
add_field("SQTD03", 22, an, 515);
|
|
|
|
add_field("SQTD04", 22, an, 537);
|
|
|
|
add_field("SQTD05", 22, an, 559);
|
|
|
|
add_field("SQTD06", 22, an, 581);
|
|
|
|
add_field("SQTD07", 22, an, 603);
|
|
|
|
add_field("SQTD08", 22, an, 625);
|
|
|
|
add_field("SQTD09", 22, an, 647);
|
|
|
|
add_field("SQTD10", 22, an, 669);
|
|
|
|
add_field("SQTD11", 22, an, 691);
|
|
|
|
add_field("SQTD12", 22, an, 713);
|
|
|
|
add_field("SQTD13", 22, an, 735);
|
|
|
|
add_field("SQTD14", 22, an, 757);
|
|
|
|
add_field("SQTD15", 22, an, 779);
|
|
|
|
add_field("SQTD16", 22, an, 801);
|
|
|
|
add_field("SQTD17", 22, an, 823);
|
|
|
|
add_field("SQTD18", 22, an, 845);
|
|
|
|
add_field("SQTC01", 22, an, 867);
|
|
|
|
add_field("SQTC02", 22, an, 889);
|
|
|
|
add_field("SQTC03", 22, an, 911);
|
|
|
|
add_field("SQTC04", 22, an, 933);
|
|
|
|
add_field("SQTC05", 22, an, 955);
|
|
|
|
add_field("SQTC06", 22, an, 977);
|
|
|
|
add_field("SQTC07", 22, an, 999);
|
|
|
|
add_field("SQTC08", 22, an, 1021);
|
|
|
|
add_field("SQTC09", 22, an, 1043);
|
|
|
|
add_field("SQTC10", 22, an, 1065);
|
|
|
|
add_field("SQTC11", 22, an, 1087);
|
|
|
|
add_field("SQTC12", 22, an, 1109);
|
|
|
|
add_field("SQTC13", 22, an, 1131);
|
|
|
|
add_field("SQTC14", 22, an, 1153);
|
|
|
|
add_field("SQTC15", 22, an, 1175);
|
|
|
|
add_field("SQTC16", 22, an, 1197);
|
|
|
|
add_field("SQTC17", 22, an, 1219);
|
|
|
|
add_field("SQTC18", 22, an, 1241);
|
|
|
|
add_field("SQTULC", 22, an, 1263);
|
|
|
|
add_field("SQTULS", 22, an, 1285);
|
|
|
|
add_field("STIPDE", 1, an, 1307);
|
|
|
|
add_field("SIDTER", 10, an, 1308);
|
|
|
|
add_field("SUTECR", 2, an, 1318);
|
|
|
|
add_field("SDATCR", 22, an, 1320);
|
|
|
|
add_field("SUTEVA", 2, an, 1342);
|
|
|
|
add_field("SDATVA", 22, an, 1344);
|
|
|
|
add_field("SDESDE", 30, an, 1366);
|
|
|
|
add_field("KEY_U", 10, an, 1396);
|
|
|
|
add_field("INVMAG", 8, an, 1406);
|
|
|
|
add_field("SINVEN", 1, an, 1414);
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TCosti_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TCosti_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TCosti_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TCosti_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TCosti_textset::TCosti_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(390,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
|
|
|
|
|
|
|
add_field("SVALAN", 1, an, 1); // MFARC00
|
|
|
|
add_field("SGRUPP", 2, an, 2);
|
|
|
|
add_field("SCODAR", 22, an, 4);
|
|
|
|
add_field("STIPDE", 1, an, 26);
|
|
|
|
add_field("SCUFIA", 22, an, 27);
|
|
|
|
add_field("SQTACD", 22, an, 49);
|
|
|
|
add_field("SVALCD", 22, an, 71);
|
|
|
|
add_field("SQTACC", 22, an, 93);
|
|
|
|
add_field("SVALCC", 22, an, 115);
|
|
|
|
add_field("SCOULD", 22, an, 137);
|
|
|
|
add_field("SCOULC", 22, an, 159);
|
|
|
|
add_field("SPRULD", 22, an, 181);
|
|
|
|
add_field("SPRULC", 22, an, 203);
|
|
|
|
add_field("SQTAVD", 22, an, 225);
|
|
|
|
add_field("SVAAVD", 22, an, 247);
|
|
|
|
add_field("SQTAVC", 22, an, 269);
|
|
|
|
add_field("SVAAVC", 22, an, 291);
|
|
|
|
add_field("SIDTER", 10, an, 313);
|
|
|
|
add_field("SUTECR", 2, an, 323);
|
|
|
|
add_field("SDATCR", 22, an, 325);
|
|
|
|
add_field("SUTEVA", 2, an, 347);
|
|
|
|
add_field("SDATVA", 22, an, 349);
|
|
|
|
add_field("KEY_U", 10, an, 371);
|
|
|
|
add_field("INVMAG", 8, an, 381);
|
|
|
|
}
|
|
|
|
|
2008-11-26 10:47:53 +00:00
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TClasse_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TClasse_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TClasse_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TClasse_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TClasse_textset::TClasse_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(47,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
|
|
|
|
|
|
|
add_field("CODCLA", 2, an, 1);
|
|
|
|
add_field("DESCLA", 20, an, 3);
|
|
|
|
add_field("TRASF", 1, an, 23);
|
|
|
|
add_field("PERCENT", 22, an, 24);
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TMarca_textset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TMarca_textset : public TAS400_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void add_field(const char* name = "Filler", int len = 0, char tipo = 'a',
|
|
|
|
int from = -1, const char* def = NULL);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TMarca_textset(const char* query = "");
|
|
|
|
};
|
|
|
|
|
|
|
|
void TMarca_textset::add_field(const char* name, int len,
|
|
|
|
char tipo, int from, const char* def)
|
|
|
|
{
|
|
|
|
const bool required = false;
|
|
|
|
TString80 fname(name);
|
|
|
|
|
|
|
|
const TFieldtypes t = tipo == 'n' ? _longzerofld : _alfafld;
|
|
|
|
const int pos = from - 1;
|
|
|
|
if (def && *def)
|
|
|
|
{
|
|
|
|
CHECKS(def == NULL || (int)strlen(def) <= len, "Invalid default value ", def);
|
|
|
|
TVariant var(def); var.convert_to(t);
|
|
|
|
create_field(fname, pos, len, t, required, var);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
create_field(fname, pos, len, t, required);
|
|
|
|
}
|
|
|
|
|
|
|
|
TMarca_textset::TMarca_textset(const char* query)
|
|
|
|
: TAS400_recordset(TString("AS400(29,0,0)\n") << query)
|
|
|
|
{
|
|
|
|
const char an = 'a';
|
|
|
|
const char n = 'n';
|
|
|
|
|
|
|
|
add_field("CODMAR", 6, an, 1);
|
|
|
|
add_field("DESMAR", 20, an, 7);
|
|
|
|
add_field("TRASF", 1, an, 27);
|
|
|
|
}
|
|
|
|
|
2008-11-14 00:40:30 +00:00
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TDettaglio_receiver
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
bool TDettaglio_receiver::create()
|
|
|
|
{
|
|
|
|
return TSkeleton_application::create();
|
|
|
|
}
|
|
|
|
|
|
|
|
bool TDettaglio_receiver::destroy()
|
|
|
|
{
|
|
|
|
return TSkeleton_application::destroy();
|
|
|
|
}
|
|
|
|
|
|
|
|
const TString & TDettaglio_receiver::build_codart(const TString & gruppo, const long codice)
|
|
|
|
{
|
|
|
|
TString & tmp = get_tmp_string(80);
|
|
|
|
|
|
|
|
tmp.format("%ld", codice);
|
|
|
|
tmp.right_just(_len, '0');
|
|
|
|
tmp.insert(gruppo);
|
|
|
|
return tmp;
|
|
|
|
}
|
|
|
|
|
2008-11-26 10:47:53 +00:00
|
|
|
void TDettaglio_receiver::add_to_tab(const TString & codtab, const TString & cod, const char * desc)
|
2008-11-14 00:40:30 +00:00
|
|
|
{
|
|
|
|
if (cod.full())
|
|
|
|
{
|
|
|
|
TTable tab(codtab);
|
2008-11-26 10:47:53 +00:00
|
|
|
TString d(desc);
|
2008-11-14 00:40:30 +00:00
|
|
|
tab.put("CODTAB", cod);
|
2008-11-26 10:47:53 +00:00
|
|
|
d.trim();
|
2008-11-14 00:40:30 +00:00
|
|
|
if (tab.read() != NOERR)
|
|
|
|
{
|
|
|
|
tab.zero();
|
|
|
|
tab.put("CODTAB", cod);
|
2008-11-26 10:47:53 +00:00
|
|
|
tab.put("S0", desc);
|
2008-11-14 00:40:30 +00:00
|
|
|
tab.write();
|
|
|
|
}
|
2008-11-26 10:47:53 +00:00
|
|
|
else
|
|
|
|
if (d.full())
|
|
|
|
{
|
|
|
|
tab.put("S0", d);
|
|
|
|
tab.rewrite();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_classi(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
|
|
|
|
name.add("tab_cla.txt");
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TClasse_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("Importazione classi "), true, true);
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
const TString & cod = inputfile.get("CODCLA").as_string();
|
|
|
|
|
|
|
|
add_to_tab("GMC", cod, inputfile.get("DESCLA").as_string());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_marche(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
|
|
|
|
name.add("tab_mar.txt");
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TMarca_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("Importazione marche "), true, true);
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
const TString & cod = inputfile.get("CODMAR").as_string();
|
|
|
|
|
|
|
|
add_to_tab("RFA", cod, inputfile.get("DESMAR").as_string());
|
2008-11-14 00:40:30 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_articoli(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
|
|
|
|
name.add("mfarti00.txt");
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TAnamag_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("Importazione Articoli "), true, true);
|
|
|
|
TSystemisamfile anamag(LF_ANAMAG);
|
|
|
|
TSystemisamfile umart(LF_UMART);
|
|
|
|
TSystemisamfile deslin(LF_DESLIN);
|
|
|
|
|
|
|
|
anamag.zap();
|
|
|
|
umart.zap();
|
|
|
|
deslin.zap();
|
|
|
|
anamag.open();
|
|
|
|
umart.open();
|
|
|
|
deslin.open();
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
if (inputfile.get("AVALAN").as_string().blank())
|
|
|
|
{
|
|
|
|
anamag.zero();
|
|
|
|
const TString & codart = build_codart (inputfile.get("AGRUPP").as_string(), inputfile.get("ACODAR").as_int());
|
|
|
|
anamag.put(ANAMAG_CODART, codart);
|
|
|
|
|
|
|
|
anamag.put(ANAMAG_DESCR, inputfile.get("ADESAR").as_string());
|
|
|
|
anamag.put(ANAMAG_CODIVA, inputfile.get("ACODIV").as_string());
|
|
|
|
|
|
|
|
const TString & marca = inputfile.get("ACOMAR").as_string();
|
|
|
|
anamag.put(ANAMAG_RAGGFIS, marca);
|
|
|
|
add_to_tab("RFA", marca);
|
|
|
|
|
|
|
|
const TString & classe = inputfile.get("ACLASS").as_string();
|
|
|
|
|
2008-11-26 10:47:53 +00:00
|
|
|
anamag.put(ANAMAG_GRMERC, classe);
|
|
|
|
add_to_tab("GMC", classe);
|
2008-11-14 00:40:30 +00:00
|
|
|
|
|
|
|
const TString & categ = inputfile.get("ACATEG").as_string();
|
|
|
|
|
2008-11-26 10:47:53 +00:00
|
|
|
anamag.put(ANAMAG_CLASSEFIS, categ);
|
|
|
|
add_to_tab("ASF", categ);
|
2008-11-14 00:40:30 +00:00
|
|
|
|
|
|
|
anamag.put(ANAMAG_PPCONF, inputfile.get("ACONFE").as_string());
|
|
|
|
anamag.write();
|
|
|
|
|
|
|
|
int nr = 0;
|
|
|
|
const TString & umve = inputfile.get("AUNMVE").as_string();
|
|
|
|
|
|
|
|
if (umve.full())
|
|
|
|
{
|
|
|
|
umart.zero();
|
|
|
|
umart.put(UMART_CODART, codart);
|
|
|
|
umart.put(UMART_NRIGA, ++nr);
|
|
|
|
umart.put(UMART_UM, umve);
|
|
|
|
add_to_tab("%UMS", umve);
|
|
|
|
umart.put(UMART_FC, "1.0");
|
|
|
|
umart.write();
|
|
|
|
}
|
|
|
|
|
|
|
|
const TString & umacq = inputfile.get("AUNMAC").as_string();
|
|
|
|
|
|
|
|
if (umacq.full() && umacq != umve)
|
|
|
|
{
|
|
|
|
umart.zero();
|
|
|
|
umart.put(UMART_CODART, codart);
|
|
|
|
umart.put(UMART_NRIGA, ++nr);
|
|
|
|
umart.put(UMART_UM, umacq);
|
|
|
|
add_to_tab("%UMS", umacq);
|
|
|
|
umart.put(UMART_FC, "1.0");
|
|
|
|
umart.write();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pi.addstatus(1L);;
|
|
|
|
if (pi.iscancelled())
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
anamag.close();
|
|
|
|
umart.close();
|
|
|
|
deslin.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_barcode(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
|
|
|
|
name.add("mfarbc00.txt");
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TBarcode_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("Importazione Barcode "), true, true);
|
|
|
|
TSystemisamfile codcorr(LF_CODCORR);
|
|
|
|
TLocalisamfile umart(LF_UMART);
|
|
|
|
|
|
|
|
codcorr.zap();
|
|
|
|
codcorr.open();
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
if (inputfile.get("BVALAR").as_string().blank())
|
|
|
|
{
|
|
|
|
const TString & codart = build_codart (inputfile.get("BGRUPP").as_string(), inputfile.get("BCODAR").as_int());
|
|
|
|
|
|
|
|
codcorr.zero();
|
|
|
|
codcorr.put(CODCORR_CODART, codart);
|
|
|
|
|
|
|
|
const TRectype comp(codcorr.curr());
|
|
|
|
int nriga = 0;
|
|
|
|
|
|
|
|
codcorr.put(CODCORR_NRIGA, 999);
|
|
|
|
if (codcorr.read(_isgteq) == NOERR)
|
|
|
|
codcorr.prev();
|
|
|
|
if (codcorr.curr() == comp)
|
|
|
|
nriga = codcorr.get_int(CODCORR_NRIGA);
|
|
|
|
nriga++;
|
|
|
|
codcorr.zero();
|
|
|
|
codcorr.put(CODCORR_CODART, codart);
|
|
|
|
codcorr.put(CODCORR_NRIGA, nriga);
|
|
|
|
codcorr.put(CODCORR_CODART, codart);
|
|
|
|
|
|
|
|
const bool barcode = (inputfile.get("BTIPRE").as_string() == "B");
|
|
|
|
TString barcodeart(inputfile.get("BBARCO").as_string());
|
|
|
|
barcodeart.trim();
|
|
|
|
int len = barcodeart.len();
|
|
|
|
|
|
|
|
if (barcode)
|
|
|
|
codcorr.put(CODCORR_TIPO, len == 13 ? "1" : (len == 8 ? "8" : "3"));
|
|
|
|
else
|
|
|
|
codcorr.put(CODCORR_TIPO, "N");
|
|
|
|
codcorr.put(ANAMAG_CODARTALT, barcodeart);
|
|
|
|
const real conf = inputfile.get("BCONFE").as_real();
|
|
|
|
|
|
|
|
if (conf != UNO && conf != ZERO)
|
|
|
|
{
|
|
|
|
codcorr.put(CODCORR_UM, "CF");
|
|
|
|
umart.zero();
|
|
|
|
umart.setkey(2);
|
|
|
|
umart.put(UMART_CODART, codart);
|
|
|
|
umart.put(UMART_UM, "CF");
|
|
|
|
add_to_tab("%UMS", "CF");
|
|
|
|
|
|
|
|
if (umart.read() == NOERR)
|
|
|
|
{
|
|
|
|
umart.put(UMART_FC, inputfile.get("BCONFE").as_string());
|
|
|
|
umart.rewrite();
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
umart.zero();
|
|
|
|
umart.put(UMART_CODART, codart);
|
|
|
|
const TRectype compum(codcorr.curr());
|
|
|
|
int nriga = 0;
|
|
|
|
|
|
|
|
umart.put(UMART_NRIGA, 999);
|
|
|
|
if (umart.read(_isgteq) == NOERR)
|
|
|
|
umart.prev();
|
|
|
|
if (umart.curr() == compum)
|
|
|
|
nriga = umart.get_int(UMART_NRIGA);
|
|
|
|
nriga++;
|
|
|
|
|
|
|
|
umart.zero();
|
|
|
|
umart.put(UMART_CODART, codart);
|
|
|
|
umart.put(UMART_NRIGA, nriga);
|
|
|
|
umart.put(UMART_UM, "CF");
|
|
|
|
umart.put(UMART_FC, inputfile.get("BCONFE").as_real());
|
|
|
|
umart.write();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
codcorr.write();
|
|
|
|
}
|
|
|
|
pi.addstatus(1L);;
|
|
|
|
if (pi.iscancelled())
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
codcorr.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_listino(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
|
|
|
|
name.add("mfarli00.txt");
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TListino_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("Importazione Listino "), true, true);
|
|
|
|
TSystemisamfile rcondv(LF_RCONDV);
|
|
|
|
TSystemisamfile condv(LF_CONDV);
|
2008-11-26 10:47:53 +00:00
|
|
|
TLocalisamfile anamag(LF_ANAMAG);
|
|
|
|
TString4 codlist;
|
2008-11-14 00:40:30 +00:00
|
|
|
|
|
|
|
condv.zap();
|
|
|
|
rcondv.zap();
|
|
|
|
condv.open();
|
|
|
|
rcondv.open();
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
if (inputfile.get("LVALAR").as_string().blank())
|
|
|
|
{
|
2008-11-26 10:47:53 +00:00
|
|
|
const TString80 codart(build_codart(inputfile.get("LGRUPP").as_string(), inputfile.get("LCODAR").as_int()));
|
2008-11-14 00:40:30 +00:00
|
|
|
const int tipocf = inputfile.get("LTIPCF").as_int();
|
2008-11-26 10:47:53 +00:00
|
|
|
const int list = inputfile.get("LCODLI").as_int();
|
2008-11-14 00:40:30 +00:00
|
|
|
|
2008-11-26 10:47:53 +00:00
|
|
|
if (list == 0)
|
|
|
|
{
|
|
|
|
if (tipocf == 2)
|
|
|
|
{
|
|
|
|
long codforn = inputfile.get("LCFTAB").as_int();
|
2008-11-14 00:40:30 +00:00
|
|
|
|
2008-11-26 10:47:53 +00:00
|
|
|
anamag.zero();
|
|
|
|
anamag.put(ANAMAG_CODART, codart);
|
|
|
|
if (anamag.read() == NOERR)
|
|
|
|
{
|
|
|
|
anamag.put(ANAMAG_CODFORN, codforn);
|
|
|
|
anamag.rewrite();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2008-11-14 00:40:30 +00:00
|
|
|
else
|
|
|
|
{
|
2008-11-26 10:47:53 +00:00
|
|
|
codlist.format("%01d%02d", tipocf, list);
|
|
|
|
rcondv.zero();
|
|
|
|
rcondv.put(RCONDV_TIPO, "L");
|
|
|
|
rcondv.put(RCONDV_COD, codlist);
|
|
|
|
rcondv.put(RCONDV_TIPORIGA, "A");
|
|
|
|
rcondv.put(RCONDV_CODRIGA, codart);
|
|
|
|
real prezzo;
|
|
|
|
|
|
|
|
if (tipocf == 2)
|
|
|
|
prezzo = inputfile.get("LCOSTO").as_real();
|
|
|
|
else
|
|
|
|
prezzo = inputfile.get("LLISTI").as_real();
|
|
|
|
if (prezzo != ZERO)
|
2008-11-14 00:40:30 +00:00
|
|
|
{
|
2008-11-26 10:47:53 +00:00
|
|
|
rcondv.put(RCONDV_PREZZO, prezzo);
|
|
|
|
rcondv.write();
|
2008-11-14 00:40:30 +00:00
|
|
|
condv.zero();
|
|
|
|
condv.put(CONDV_TIPO, "L");
|
|
|
|
condv.put(CONDV_COD, codlist);
|
2008-11-26 10:47:53 +00:00
|
|
|
|
|
|
|
if (condv.read() != NOERR)
|
|
|
|
{
|
|
|
|
condv.zero();
|
|
|
|
condv.put(CONDV_TIPO, "L");
|
|
|
|
condv.put(CONDV_COD, codlist);
|
|
|
|
condv.write();
|
|
|
|
}
|
2008-11-14 00:40:30 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pi.addstatus(1L);;
|
|
|
|
if (pi.iscancelled())
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
condv.close();
|
|
|
|
rcondv.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_giacenze(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
|
|
|
|
name.add("mfarsa00.txt");
|
|
|
|
|
|
|
|
TEsercizi_contabili es;
|
|
|
|
const int codes = es.pred(es.last());
|
|
|
|
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TGiacenze_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("Importazione Giacenze"), true, true);
|
|
|
|
TSystemisamfile mag(LF_MAG);
|
|
|
|
|
|
|
|
mag.zap();
|
|
|
|
mag.open();
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
if (inputfile.get("SVALAR").as_string().blank())
|
|
|
|
{
|
|
|
|
const TString & codart = build_codart(inputfile.get("SGRUPP").as_string(), inputfile.get("SCODAR").as_int());
|
|
|
|
const TString8 codmag(inputfile.get("SCODDE").as_string());
|
|
|
|
|
|
|
|
mag.zero();
|
|
|
|
mag.put(MAG_ANNOES, codes);
|
|
|
|
mag.put(MAG_CODART, codart);
|
|
|
|
|
|
|
|
const TRectype comp(mag.curr());
|
|
|
|
int nriga = 0;
|
|
|
|
|
|
|
|
mag.put(MAG_NRIGA, 999);
|
|
|
|
if (mag.read(_isgteq) == NOERR)
|
|
|
|
mag.prev();
|
|
|
|
if (mag.curr() == comp)
|
|
|
|
nriga = mag.get_int(MAG_NRIGA);
|
|
|
|
nriga++;
|
|
|
|
mag.zero();
|
|
|
|
mag.put(MAG_ANNOES, codes);
|
|
|
|
mag.put(MAG_CODART, codart);
|
|
|
|
mag.put(MAG_NRIGA, nriga);
|
|
|
|
|
|
|
|
const real & rim_ini = inputfile.get("SESINI").as_real();
|
|
|
|
const real & giac = inputfile.get("SESIDI").as_real();
|
|
|
|
if (rim_ini != ZERO || giac != ZERO)
|
|
|
|
{
|
|
|
|
mag.put(MAG_RIM, rim_ini);
|
|
|
|
mag.put(MAG_GIAC, giac);
|
|
|
|
if (rim_ini > giac)
|
|
|
|
mag.put(MAG_VEN, rim_ini - giac);
|
|
|
|
else
|
|
|
|
mag.put(MAG_ACQ, giac - rim_ini);
|
|
|
|
|
|
|
|
mag.write();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pi.addstatus(1L);;
|
|
|
|
if (pi.iscancelled())
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
mag.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_costi(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
TEsercizi_contabili es;
|
|
|
|
const TDate oggi(TODAY);
|
|
|
|
const TDate inizio = es.esercizio(es.last()).inizio();
|
|
|
|
|
|
|
|
name.add("mfarco00.txt");
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TCosti_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("Importazione Costi "), true, true);
|
|
|
|
TLocalisamfile anamag(LF_ANAMAG);
|
|
|
|
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
if (inputfile.get("SVALAR").as_string().blank())
|
|
|
|
{
|
|
|
|
const real ultcos1 = inputfile.get("SCOULD").as_real();
|
|
|
|
const real ultcos2 = inputfile.get("SCUFIA").as_real();
|
|
|
|
|
|
|
|
if (ultcos1 != ZERO || ultcos2 != ZERO)
|
|
|
|
{
|
|
|
|
anamag.zero();
|
|
|
|
const TString & codart = build_codart (inputfile.get("SGRUPP").as_string(), inputfile.get("SCODAR").as_int());
|
|
|
|
anamag.put(ANAMAG_CODART, codart);
|
|
|
|
|
|
|
|
if (anamag.read() == NOERR)
|
|
|
|
{
|
|
|
|
if (ultcos1 != ZERO)
|
|
|
|
{
|
|
|
|
anamag.put(ANAMAG_ULTCOS1, ultcos1);
|
|
|
|
anamag.put(ANAMAG_DULTCOS1, oggi);
|
|
|
|
}
|
|
|
|
if (ultcos2 != ZERO)
|
|
|
|
{
|
|
|
|
anamag.put(ANAMAG_ULTCOS2, ultcos2);
|
|
|
|
anamag.put(ANAMAG_DULTCOS2, inizio);
|
|
|
|
}
|
|
|
|
anamag.rewrite();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pi.addstatus(1L);;
|
|
|
|
if (pi.iscancelled())
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::load_clifo(const TDettaglio_mask & m)
|
|
|
|
{
|
|
|
|
TString query("SELECT * FROM ");
|
|
|
|
TFilename name = m.get(F_PATH);
|
|
|
|
|
|
|
|
name.add("mfancf00.txt");
|
|
|
|
query << name;
|
|
|
|
|
|
|
|
TClifo_textset inputfile(query);
|
|
|
|
TProgind pi(inputfile.items(), TR("importazione Clienti/Fornitori "), true, true);
|
|
|
|
TSystemisamfile clifo(LF_CLIFO);
|
|
|
|
TSystemisamfile cfven(LF_CFVEN);
|
|
|
|
|
|
|
|
clifo.zap();
|
|
|
|
cfven.zap();
|
|
|
|
clifo.open();
|
|
|
|
cfven.open();
|
|
|
|
for (bool ok = inputfile.move_first(); ok; ok = inputfile.move_next())
|
|
|
|
{
|
|
|
|
clifo.zero();
|
|
|
|
|
|
|
|
if (inputfile.get("VALICF").as_string().blank())
|
|
|
|
{
|
|
|
|
clifo.put(CLI_TIPOCF, inputfile.get("ATIPCF").as_int() == 1 ? "C" : "F");
|
|
|
|
clifo.put(CLI_CODCF, inputfile.get("ACODCF").as_int());
|
|
|
|
clifo.put(CLI_TIPOAPER, inputfile.get("AFIGIU").as_int() == 1 ? "G" : "F");
|
|
|
|
clifo.put(CLI_RAGSOC, inputfile.get("ARAGSO").as_string());
|
|
|
|
clifo.put(CLI_INDCF, inputfile.get("AINDIR").as_string());
|
|
|
|
|
|
|
|
TString localita(inputfile.get("ALOCAL").as_string());
|
|
|
|
TString cap(inputfile.get("ACAP").as_string());
|
|
|
|
|
|
|
|
localita.trim();
|
|
|
|
const TString & com = cap2comune(cap, localita);
|
|
|
|
|
|
|
|
if (com.full())
|
|
|
|
clifo.put(CLI_COMCF, com);
|
|
|
|
else
|
|
|
|
{
|
|
|
|
TString prov(inputfile.get("APROVI").as_string());
|
|
|
|
|
|
|
|
if (prov.full())
|
|
|
|
localita << "(" << prov.upper() << ")";
|
|
|
|
clifo.put(CLI_LOCCF, localita);
|
|
|
|
}
|
|
|
|
clifo.put(CLI_CAPCF, cap);
|
|
|
|
clifo.put(CLI_STATOCF, inputfile.get("ANAZIO").as_string());
|
|
|
|
clifo.put(CLI_PAIV, inputfile.get("APARIV").as_string());
|
|
|
|
clifo.put(CLI_COFI, inputfile.get("ACODFI").as_string());
|
|
|
|
|
|
|
|
const TString & codpag = inputfile.get("ACOPAG").as_string();
|
|
|
|
|
|
|
|
clifo.put(CLI_CODPAG, codpag);
|
|
|
|
add_to_tab("%CPG", codpag);
|
|
|
|
clifo.put(CLI_TEL, inputfile.get("ANUTE1").as_string());
|
|
|
|
clifo.put(CLI_FAX, inputfile.get("ANUFAX").as_string());
|
|
|
|
|
|
|
|
TString8 abi;
|
|
|
|
TString8 cab;
|
|
|
|
|
|
|
|
abi.format("%05ld", inputfile.get("ACOABI").as_int());
|
|
|
|
|
|
|
|
if (abi != "00000")
|
|
|
|
{
|
|
|
|
clifo.put(CLI_CODABI, abi);
|
|
|
|
add_to_tab("%BAN", abi);
|
|
|
|
if (cab != "0000000000")
|
|
|
|
{
|
|
|
|
cab.format("%s%05ld",(const char *) abi, inputfile.get("ACOCAB").as_int());
|
|
|
|
clifo.put(CLI_CODCAB, cab);
|
|
|
|
add_to_tab("%BAN", cab);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
clifo.write();
|
|
|
|
cfven.zero();
|
|
|
|
cfven.put(CFV_TIPOCF, inputfile.get("ATIPCF").as_int() == 1 ? "C" : "F");
|
|
|
|
cfven.put(CFV_CODCF, inputfile.get("ACODCF").as_int());
|
|
|
|
|
|
|
|
const TString & codiva = inputfile.get("ACOIVA").as_string();
|
|
|
|
|
|
|
|
cfven.put(CFV_ASSFIS, codiva);
|
|
|
|
add_to_tab("%IVA", codiva);
|
|
|
|
cfven.write();
|
|
|
|
}
|
|
|
|
pi.addstatus(1L);;
|
|
|
|
if (pi.iscancelled())
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
clifo.close();
|
|
|
|
cfven.close();
|
|
|
|
}
|
|
|
|
|
|
|
|
void TDettaglio_receiver::main_loop()
|
|
|
|
{
|
|
|
|
TDettaglio_mask m;
|
|
|
|
while (m.run() != K_QUIT)
|
|
|
|
{
|
|
|
|
|
|
|
|
_len = m.get_int(F_LEN);
|
2008-11-26 10:47:53 +00:00
|
|
|
if (m.get_bool(F_TB))
|
|
|
|
{
|
|
|
|
load_classi(m);
|
|
|
|
load_marche(m);
|
|
|
|
}
|
2008-11-14 00:40:30 +00:00
|
|
|
if (m.get_bool(F_CF))
|
|
|
|
load_clifo(m);
|
|
|
|
if (m.get_bool(F_AM))
|
|
|
|
load_articoli(m);
|
|
|
|
if (m.get_bool(F_BC))
|
|
|
|
load_barcode(m);
|
|
|
|
if (m.get_bool(F_LI))
|
|
|
|
load_listino(m);
|
|
|
|
if (m.get_bool(F_GI))
|
|
|
|
load_giacenze(m);
|
|
|
|
if (m.get_bool(F_CS))
|
|
|
|
load_costi(m);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int pn0001100(int argc, char* argv[])
|
|
|
|
{
|
|
|
|
TDettaglio_receiver a;
|
|
|
|
a.run(argc, argv, TR("Importazione vendite al dettaglio"));
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Tabella Pagamenti
|
|
|
|
// Tabella UM
|
|
|
|
// Tabella Cat mefc
|
|
|
|
// Tabella raggfis (gruppo)
|
|
|
|
// Tabella classfis (classe)
|