Patch level : 10.0 398
Files correlati : ve0.exe ve1.exe ve5.exe ve6.exe Ricompilazione Demo : [ ] Commento Gestione degli imballaggi poliaccoppiati nella dichiarazione conai Per attivare questa gestione bisogna selezionare tuttii tipi di imballaggio presenti nel poliaccopiato(poliaccoppiati secondari) tranne il primo (principale) nella configurazione condizioni di vendita pagina conai. per ognuno di questi poi bisogna definire una terna di campi sulle righe documento come segue : Per pesi unitari uno di questi : PUNACC PUNALL PUNCAR PUNPLA PUNLEG PUNVET Per la categoria uno di questi : CATACC CATALL CATCAR CATPLA CATLEG CATVET Per la sotto categoria uno di questi : SCAACC SCAALL SCACAR SCAPLA SCALEG SCAVET git-svn-id: svn://10.65.10.50/trunk@19170 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
59eb735102
commit
ea4eb93a55
@ -84,7 +84,6 @@ TDichiarazione_CONAI_csv_recordset::TDichiarazione_CONAI_csv_recordset()
|
||||
|
||||
class TDichiarazione_CONAI : public TSkeleton_application
|
||||
{
|
||||
|
||||
protected:
|
||||
real clifo_conai(const TCli_for& clifo, const int conai_specie, TString& paiv) const;
|
||||
void elabora(const TMask& mask) const;
|
||||
@ -158,7 +157,7 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con
|
||||
const TRiga_documento& rdoc = doc[j];
|
||||
|
||||
//servono SOLO le righe CONAI!!!!!
|
||||
const TString& codagg1 = rdoc.get(RDOC_CODAGG1);
|
||||
const TString& codagg1 = rdoc.get(rdoc.get_conai_cat_name(conai_specie));
|
||||
|
||||
if (codagg1 == conai_codart)
|
||||
{
|
||||
@ -177,12 +176,12 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, con
|
||||
const TRiga_documento& rdoc = doc[i];
|
||||
|
||||
//servono SOLO le righe CONAI!!!!!
|
||||
const TString& codagg1 = rdoc.get(RDOC_CODAGG1);
|
||||
const TString& codagg1 = rdoc.get(rdoc.get_conai_cat_name(conai_specie));
|
||||
|
||||
if (codagg1 == conai_codart)
|
||||
{
|
||||
//se non e' stata definita la sottocategoria conai (maiali!!) va messa uguale a quella generica
|
||||
TString4 codagg2 = rdoc.get(RDOC_CODAGG2);
|
||||
TString4 codagg2 = rdoc.get(rdoc.get_conai_sottocat_name(conai_specie));
|
||||
if (codagg2.empty())
|
||||
codagg2 = codagg1;
|
||||
//puo' capitare che la sottocategoria sia stata troncata alla categoria
|
||||
@ -279,12 +278,12 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazio
|
||||
const TRiga_documento& rdoc = doc[i];
|
||||
|
||||
//servono SOLO le righe CONAI!!!!!
|
||||
const TString& codagg1 = rdoc.get(RDOC_CODAGG1);
|
||||
const TString& codagg1 = rdoc.get(rdoc.get_conai_cat_name(conai_specie));
|
||||
|
||||
if (codagg1 == conai_codart)
|
||||
{
|
||||
//se non e' stata definita la sottocategoria conai (maiali!!) va messa uguale a quella generica
|
||||
TString4 codagg2 = rdoc.get(RDOC_CODAGG2);
|
||||
TString4 codagg2 = rdoc.get(rdoc.get_conai_sottocat_name(conai_specie));
|
||||
if (codagg2.empty())
|
||||
codagg2 = codagg1;
|
||||
//puo' capitare che la sottocategoria sia stata troncata alla categoria
|
||||
|
@ -210,6 +210,16 @@ ENDPAGE
|
||||
|
||||
PAGE "CONAI" 1 1 60 14
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 72 2 "Poliaccoppiato"
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 73 3 "secondario"
|
||||
END
|
||||
|
||||
STRING F_CODACC 8
|
||||
BEGIN
|
||||
PROMPT 1 4 "Cod.spesa acciaio "
|
||||
@ -226,7 +236,7 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
STRING F_DESACC 50 45
|
||||
STRING F_DESACC 50 40
|
||||
BEGIN
|
||||
PROMPT 32 4 ""
|
||||
USE SPP KEY 2
|
||||
@ -237,6 +247,12 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
BOOLEAN F_CONFACC
|
||||
BEGIN
|
||||
PROMPT 75 4 ""
|
||||
FIELD CONFACC
|
||||
END
|
||||
|
||||
STRING F_CODALL 8
|
||||
BEGIN
|
||||
PROMPT 1 6 "Cod.spesa alluminio "
|
||||
@ -252,7 +268,7 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
STRING F_DESALL 50 45
|
||||
STRING F_DESALL 50 40
|
||||
BEGIN
|
||||
PROMPT 32 6 ""
|
||||
COPY USE F_DESACC
|
||||
@ -262,6 +278,12 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
BOOLEAN F_CONFALL
|
||||
BEGIN
|
||||
PROMPT 75 6 ""
|
||||
FIELD CONFALL
|
||||
END
|
||||
|
||||
STRING F_CODCAR 8
|
||||
BEGIN
|
||||
PROMPT 1 8 "Cod.spesa carta "
|
||||
@ -277,7 +299,7 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
STRING F_DESCAR 50 45
|
||||
STRING F_DESCAR 50 40
|
||||
BEGIN
|
||||
PROMPT 32 8 ""
|
||||
COPY USE F_DESACC
|
||||
@ -287,6 +309,12 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
BOOLEAN F_CONFCAR
|
||||
BEGIN
|
||||
PROMPT 75 8 ""
|
||||
FIELD CONFCAR
|
||||
END
|
||||
|
||||
STRING F_CODPLA 8
|
||||
BEGIN
|
||||
PROMPT 1 10 "Cod.spesa plastica "
|
||||
@ -302,7 +330,7 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
STRING F_DESPLA 50 45
|
||||
STRING F_DESPLA 50 40
|
||||
BEGIN
|
||||
PROMPT 32 10 ""
|
||||
COPY USE F_DESACC
|
||||
@ -312,6 +340,12 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
BOOLEAN F_CONFPLA
|
||||
BEGIN
|
||||
PROMPT 75 10 ""
|
||||
FIELD CONFPLA
|
||||
END
|
||||
|
||||
STRING F_CODLEG 8
|
||||
BEGIN
|
||||
PROMPT 1 12 "Cod.spesa legno "
|
||||
@ -327,7 +361,7 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
STRING F_DESLEG 50 45
|
||||
STRING F_DESLEG 50 40
|
||||
BEGIN
|
||||
PROMPT 32 12 ""
|
||||
COPY USE F_DESACC
|
||||
@ -337,6 +371,12 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
BOOLEAN F_CONFLEG
|
||||
BEGIN
|
||||
PROMPT 75 12 ""
|
||||
FIELD CONFLEG
|
||||
END
|
||||
|
||||
STRING F_CODVET 8
|
||||
BEGIN
|
||||
PROMPT 1 14 "Cod.spesa vetro "
|
||||
@ -352,7 +392,7 @@ BEGIN
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
STRING F_DESVET 50 45
|
||||
STRING F_DESVET 50 40
|
||||
BEGIN
|
||||
PROMPT 32 14 ""
|
||||
COPY USE F_DESACC
|
||||
@ -361,6 +401,12 @@ BEGIN
|
||||
COPY OUTPUT F_CODVET
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
BOOLEAN F_CONFVET
|
||||
BEGIN
|
||||
PROMPT 75 14 ""
|
||||
FIELD CONFVET
|
||||
END
|
||||
|
||||
STRING F_DESCONAIASS 50
|
||||
BEGIN
|
||||
|
@ -49,6 +49,12 @@
|
||||
#define F_DESVET 142
|
||||
#define F_DESCONAIASS 143
|
||||
#define F_ESPONIESENTI 144
|
||||
#define F_CONFACC 145
|
||||
#define F_CONFALL 146
|
||||
#define F_CONFCAR 147
|
||||
#define F_CONFPLA 148
|
||||
#define F_CONFLEG 149
|
||||
#define F_CONFVET 150
|
||||
|
||||
// Campi per ve0200b.uml
|
||||
#define F_GESAGE 101
|
||||
|
@ -582,6 +582,12 @@ public:
|
||||
TArticolo & articolo() const;
|
||||
TArticolo_giacenza & articolo_giacenza() const;
|
||||
|
||||
const char * get_conai_contr_name(int type) const;
|
||||
bool conai_configured_type(int type) const;
|
||||
const char * get_conai_peso_name(int type) const;
|
||||
const char * get_conai_cat_name(int type) const;
|
||||
const char * get_conai_sottocat_name(int type) const;
|
||||
|
||||
TRiga_documento(TDocumento* doc, const char* tipo = NULL);
|
||||
TRiga_documento(const TRiga_documento & row);
|
||||
/* Maialata inguardabile: guai a chi la riporta!
|
||||
|
@ -786,24 +786,77 @@ real TRiga_documento::qtaresidua_mag() const
|
||||
}
|
||||
return ZERO;
|
||||
}
|
||||
const char * TRiga_documento::get_conai_contr_name(int type) const
|
||||
{
|
||||
const char* const __conai_contr_names[] = {"CONACC", "CONALL", "CONCAR", "CONPLA", "CONLEG", "CONVET"};
|
||||
|
||||
return __conai_contr_names[type];
|
||||
}
|
||||
|
||||
bool TRiga_documento::conai_configured_type(int type) const
|
||||
{
|
||||
static bool __con_conf_read = false;
|
||||
static TBit_array __con_conf;
|
||||
|
||||
if (!__con_conf_read)
|
||||
{
|
||||
const char* const __conai_conf_names[] = {"CONFACC", "CONFALL", "CONFCAR", "CONFPLA", "CONFLEG", "CONFVET"};
|
||||
__con_conf_read = true;
|
||||
TConfig c(CONFIG_DITTA);
|
||||
for (int i = 0; i < 6; i++)
|
||||
__con_conf.set(i, c.get_bool(__conai_conf_names[i]));
|
||||
}
|
||||
return __con_conf[type];
|
||||
}
|
||||
|
||||
const char * TRiga_documento::get_conai_peso_name(int type) const
|
||||
{
|
||||
const char* const __conai_peso_names[] = {"QUNACC", "QUNALL", "QUNCAR", "QUNPLA", "QUNLEG", "QUNVET"};
|
||||
|
||||
if (conai_configured_type(type))
|
||||
return __conai_peso_names[type];
|
||||
return "QTAGG1";
|
||||
}
|
||||
|
||||
const char * TRiga_documento::get_conai_cat_name(int type) const
|
||||
{
|
||||
const char* const __conai_cat_names[] = {"CATACC", "CATALL", "CATCAR", "CATPLA", "CATLEG", "CATVET"};
|
||||
|
||||
if (conai_configured_type(type))
|
||||
return __conai_cat_names[type];
|
||||
return "CODAGG1";
|
||||
}
|
||||
|
||||
const char * TRiga_documento::get_conai_sottocat_name(int type) const
|
||||
{
|
||||
const char* const __conai_scat_names[] = {"SCAACC", "SCAALL", "SCACAR", "SCAPLA", "SCALEG", "SCAVET"};
|
||||
|
||||
if (conai_configured_type(type))
|
||||
return __conai_scat_names[type];
|
||||
return "CODAGG2";
|
||||
}
|
||||
|
||||
real TRiga_documento::calc_conai_qta(int type) const
|
||||
{
|
||||
const char* const __conai_art_names[] = {"CONACC", "CONALL", "CONCAR", "CONPLA", "CONLEG", "CONVET"};
|
||||
real qta = get_real(RDOC_QTA);
|
||||
|
||||
if (is_merce())
|
||||
{
|
||||
const bool has_formula = ((TTipo_riga_documento &)tipo()).has_formula(__conai_art_names[type]);
|
||||
const char * contr = get_conai_contr_name(type);
|
||||
const bool has_formula = ((TTipo_riga_documento &)tipo()).has_formula(contr);
|
||||
TArticolo & art = articolo();
|
||||
const TString4 um = get(RDOC_UMQTA);
|
||||
const bool configured = conai_configured_type(type);
|
||||
|
||||
qta = art.convert_to_um(qta, NULL, um);
|
||||
|
||||
if (has_formula)
|
||||
qta *= get_real(__conai_art_names[type]);
|
||||
else
|
||||
qta *= art.get_real(__conai_art_names[type]);
|
||||
if (configured)
|
||||
qta *= get_real(get_conai_peso_name(type));
|
||||
else
|
||||
if (has_formula)
|
||||
qta *= get_real(contr);
|
||||
else
|
||||
qta *= art.get_real(contr);
|
||||
}
|
||||
|
||||
return qta;
|
||||
@ -1339,4 +1392,4 @@ bool TRiga_documento::edit(int logicnum, const char* alternate_key_fields, const
|
||||
if (module == "PE")
|
||||
app = "pe0 -3";
|
||||
return TRectype::edit(logicnum, alternate_key_fields, app);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user