Patch level : 10.0 420

Files correlati     : ve0.exe
Ricompilazione Demo : [ ]
Commento

Bugs 0001356 :  Elaborazione differita per fatturazione di prova

Ho inserito una nuova numerazione documenti F09 "fatturazione di prova" con il
check di "numerazione provvisoria" un tipo documento "fatturazione di prova" F09
ho inserito una elaborazione differita che lascia le bolle B01 allo stato 2 ma crea un F09
quando vado a vedere le fatture F09 sono definitive e non provvisorie.
Allego la parte tabellare


git-svn-id: svn://10.65.10.50/trunk@19320 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-09-22 11:19:13 +00:00
parent eabdb76945
commit 5af3540332
8 changed files with 160 additions and 55 deletions

@ -1,3 +1,3 @@
47
0
$anamag|0|0|1095|0|Anagrafica di magazzino|NART||
$anamag|0|0|1136|0|Anagrafica di magazzino|NART||

@ -1,5 +1,5 @@
47
95
98
CODART|1|20|0|Codice Articolo
DESCR|1|50|0|Descrizione
DESCRAGG|11|10|0|Descrizione aggiuntiva
@ -75,6 +75,9 @@ LINDEST2|1|3|0|Linea destinzaione 2 (Lavanderie)
LAVATRICE|1|4|0|Lavatrice (Lavanderie)
ARTLAVCONT|1|4|0|Art. Lavacont (Lavanderie)
MANGDEST|1|3|0|Mangano destinazione (Lavanderie)
LIVPERART|8|1|0|LIvellli di giacenza per articolo
G1|11|10|0|Campi virtuali
SCACONTR|1|30|0|Sottocategorie contributo CONAI (una ogni 4 caratteri)
USER1|1|40|0|Campo libero 1
USER2|1|20|0|Campo libero 2
USER3|1|20|0|Campo libero 3

@ -168,6 +168,13 @@
#define F_ARTLAVCONT 320
#define F_MANGDEST 321
#define F_SCAACC 322
#define F_SCAALL 323
#define F_SCACAR 324
#define F_SCAPLA 325
#define F_SCALEG 326
#define F_SCAVET 327
#define F_USER1 371
#define F_USER2 372
#define F_USER3 373

@ -116,6 +116,17 @@ BEGIN
FIELD SOSPESO
END
TEXT DLG_NULL
BEGIN
PROMPT 50 8 "Collegamenti esterni "
END
GOLEM F_GOLEM 4 2
BEGIN
PROMPT 70 7 ""
FLAGS "M"
FIELD LF_ANAMAG->GOLEM
END
TEXT DLG_NULL
BEGIN
PROMPT 1 8 "@bCodici corrispondenti"
@ -504,7 +515,7 @@ BEGIN
PROMPT 1 3 "@bUnita' di misura"
END
SPREADSHEET F_SHEETUM 76 6
SPREADSHEET F_SHEETUM 76 4
BEGIN
PROMPT 1 4 "Unita' di misura "
FLAGS "A"
@ -518,7 +529,7 @@ END
STRING F_UMP 3
BEGIN
PROMPT 1 11 "U.M. pesi "
PROMPT 1 9 "U.M. pesi "
FIELD LF_ANAMAG->UMP
FLAG "U"
USE %UMS
@ -533,7 +544,7 @@ END
NUMBER F_PESO 15 5
BEGIN
PROMPT 18 11 "Peso "
PROMPT 18 9 "Peso "
FIELD LF_ANAMAG->PESO
VALIDATE REQIF_FUNC 1 F_TARA
WARNING "Necessario introdurre il peso se si è introdotta la tara"
@ -541,102 +552,162 @@ END
NUMBER F_TARA 15 5
BEGIN
PROMPT 42 11 "Tara "
PROMPT 42 9 "Tara "
FIELD LF_ANAMAG->TARA
END
NUMBER F_MASSANUN 10 3
BEGIN
PROMPT 1 12 "Massa netta unitaria "
PROMPT 1 10 "Massa netta unitaria "
FIELD LF_ANAMAG->MASSANUN
END
NUMBER F_UNSUPPUN 10 3
BEGIN
PROMPT 42 12 "Unità suppl.unitaria "
PROMPT 42 10 "Unitŕ suppl.unitaria "
FIELD LF_ANAMAG->UNSUPPUN
END
NUMBER F_PPCONF 15 5
BEGIN
PROMPT 1 13 "Pz. per pacco "
PROMPT 1 11 "Pz. per pacco "
FIELD PPCONF
FLAGS "U"
END
NUMBER F_PPCOLLO 15 5
BEGIN
PROMPT 42 13 "Pz. per collo "
PROMPT 42 11 "Pz. per collo "
FIELD PPCOLLO
FLAGS "U"
END
NUMBER F_PPPALLET 9
BEGIN
PROMPT 1 14 "Pz. per pallet "
PROMPT 1 12 "Pz. per pallet "
FIELD PPPALLET
FLAGS "U"
END
CURRENCY F_VALSTATUN 15
BEGIN
PROMPT 42 14 "Valore statistico "
PROMPT 42 12 "Valore statistico "
FIELD VALSTATUN
FLAGS "U"
END
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 8
BEGIN
PROMPT 0 15 "@bPesi per CONAI (Kg)"
PROMPT 0 13 "@bCONAI"
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 14 "Sottocategorie"
END
STRING F_SCAACC 4
BEGIN
PROMPT 1 15 "Acciaio "
FIELD SCACONTR[1,4]
USE &SCC SELECT CODTAB[1,2]=="AC"
INPUT CODTAB F_SCAACC
DISPLAY "Categoria" CODTAB[1,2]
DISPLAY "Sottocategoria" CODTAB[3,4]
DISPLAY "Descrizione@50" S0
OUTPUT F_SCAACC CODTAB
END
STRING F_SCAALL 4
BEGIN
PROMPT 27 15 "Alluminio "
FIELD SCACONTR[5,8]
USE &SCC SELECT CODTAB[1,2]=="AL"
INPUT CODTAB F_SCAALL
COPY DISPLAY F_SCAACC
OUTPUT F_SCAALL CODTAB
END
STRING F_SCACAR 4
BEGIN
PROMPT 54 15 "Carta "
FIELD SCACONTR[9,12]
USE &SCC SELECT CODTAB[1,2]=="CA"
INPUT CODTAB F_SCACAR
COPY DISPLAY F_SCAACC
OUTPUT F_SCACAR CODTAB
END
STRING F_SCAPLA 4
BEGIN
PROMPT 1 16 "Plastica "
FIELD SCACONTR[13,16]
USE &SCC SELECT CODTAB[1,2]=="PL"
INPUT CODTAB F_SCAPLA
COPY DISPLAY F_SCAACC
OUTPUT F_SCAPLA CODTAB
END
STRING F_SCALEG 4
BEGIN
PROMPT 27 16 "Legno "
FIELD SCACONTR[17,20]
USE &SCC SELECT CODTAB[1,2]=="LE"
INPUT CODTAB F_SCALEG
COPY DISPLAY F_SCAACC
OUTPUT F_SCALEG CODTAB
END
STRING F_SCAVET 4
BEGIN
PROMPT 54 16 "Vetro "
FIELD SCACONTR[21,24]
USE &SCC SELECT CODTAB[1,2]=="VE"
INPUT CODTAB F_SCAVET
COPY DISPLAY F_SCAACC
OUTPUT F_SCAVET CODTAB
END
TEXT DLG_NULL
BEGIN
PROMPT 1 17 "Pesi (Kg)"
END
NUMBER F_CONACC 15 5
BEGIN
PROMPT 1 16 "Acciaio "
FIELD CONACC
PROMPT 1 18 "Acciaio "
FIELD CONACC
END
NUMBER F_CONALL 15 5
BEGIN
PROMPT 27 16 "Alluminio "
FIELD CONALL
PROMPT 27 18 "Alluminio "
FIELD CONALL
END
NUMBER F_CONCAR 15 5
BEGIN
PROMPT 54 16 "Carta "
FIELD CONCAR
PROMPT 54 18 "Carta "
FIELD CONCAR
END
NUMBER F_CONPLA 15 5
BEGIN
PROMPT 1 17 "Plastica "
FIELD CONPLA
PROMPT 1 19 "Plastica "
FIELD CONPLA
END
NUMBER F_CONLEG 15 5
BEGIN
PROMPT 27 17 "Legno "
FIELD CONLEG
PROMPT 27 19 "Legno "
FIELD CONLEG
END
NUMBER F_CONVET 15 5
BEGIN
PROMPT 54 17 "Vetro "
FIELD CONVET
END
TEXT DLG_NULL
BEGIN
PROMPT 1 19 "Collegamenti esterni "
END
GOLEM F_GOLEM 4 2
BEGIN
PROMPT 24 19 ""
FLAGS "M"
FIELD LF_ANAMAG->GOLEM
PROMPT 54 19 "Vetro "
FIELD CONVET
END
ENDPAGE

@ -72,15 +72,15 @@ TColor_rule::TColor_rule(const char* desc, const char* expr, TTypeexp type, COLO
///////////////////////////////////////////////////////////
short conai_peso_id(TCONAI_type type)
{ return type >= CONAI_FIRST && type <= TCONAI_LAST ? FR_PUNACC + 2 * type : DLG_NULL; }
{ return type >= CONAI_FIRST && type <= CONAI_LAST ? FR_PUNACC + 2 * type : DLG_NULL; }
short conai_sottocat_id(TCONAI_type type)
{ return type >= CONAI_FIRST && type <= TCONAI_LAST ? FR_SCAACC + 2*type : DLG_NULL; }
{ return type >= CONAI_FIRST && type <= CONAI_LAST ? FR_SCAACC + 2*type : DLG_NULL; }
TCONAI_type conai_id2type(short id)
{
const TCONAI_type t = (id-FR_SCAACC) / 2;
return type >= CONAI_FIRST && type <= TCONAI_LAST ? t : CONAI_NONE;
const TCONAI_type t = TCONAI_type((id-FR_SCAACC) / 2);
return t >= CONAI_FIRST && t <= CONAI_LAST ? t : CONAI_NONE;
}
///////////////////////////////////////////////////////////
@ -523,7 +523,7 @@ void TDocumento_mask::configura_sheet(TSheet_field& sheet)
to_delete.set(0L);
to_delete.reset(1);
for (TCONAI_type ct = CONAI_FIRST; ct <= CONAI_LAST; ct++)
for (TCONAI_type ct = CONAI_FIRST; ct <= CONAI_LAST; ct = TCONAI_type(ct + 1))
{
const short posc = conai_sottocat_id(ct);
const short posp = conai_peso_id(ct);
@ -1356,13 +1356,14 @@ TVariable_mask* TDocumento_mask::riga_mask(int numriga)
f.add_driver(-F_CODVAL);
}
for (int i = 0; i <= 5; i++)
for (TCONAI_type type = CONAI_FIRST; type <= CONAI_LAST; type = TCONAI_type(type + 1))
{
const short posc = get_conai_sottocat_field(i);
const short posp = get_conai_peso_field(i);
if (conai_configured_type(i))
const short posc = conai_sottocat_id(type);
const short posp = conai_peso_id(type);
if (conai_configured_type(type))
{
m->show(posc);
m->set_handler(posc, sottocat_conai_handler);
m->show(posp);
m->set_handler(posp, peso_conai_handler);
}

@ -1690,15 +1690,21 @@ bool codart_handler(TMask_field& f, KEY key )
else
mask.doc()[current_doc_row].put(RDOC_PREZZO, row_mask.get(FR_PREZZO));
for (int type = 0; type < 5; type++)
for (TCONAI_type type = CONAI_FIRST; type <= CONAI_LAST; type = TCONAI_type(type + 1))
{
if (conai_configured_type(type))
{
const short id = get_conai_peso_field(type);
const int pos = row_mask.id2pos(id);
short id = conai_sottocat_id(type);
int pos = row_mask.id2pos(id);
if (pos >= 0 && row_mask.fld(pos).get().blank())
row_mask.fld(pos).set(anamag.get(get_conai_contr_name(type)));
row_mask.fld(pos).set(anamag.get(ANAMAG_SCACONTR).smid(type * 4, 4));
id = conai_peso_id(type);
pos = row_mask.id2pos(id);
if (pos >= 0 && row_mask.fld(pos).get().blank())
row_mask.fld(pos).set(anamag.get(conai_contr_name(type)));
}
}
@ -2854,6 +2860,20 @@ bool gen_livelli_handler(TMask_field& f, KEY key )
return true;
}
bool sottocat_conai_handler(TMask_field& f, KEY key )
{
if (key == K_F8)
{
const TString & codart = f.mask().get(FR_CODARTMAG);
TArticolo & articolo = cached_article(codart);
const short id = f.dlg();
const TCONAI_type type = conai_id2type(id);
f.set(articolo.get(ANAMAG_SCACONTR).smid(type * 4, 4));
}
return true;
}
bool peso_conai_handler(TMask_field& f, KEY key )
{
if (key == K_F8)
@ -2861,9 +2881,9 @@ bool peso_conai_handler(TMask_field& f, KEY key )
const TString & codart = f.mask().get(FR_CODARTMAG);
TArticolo & articolo = cached_article(codart);
const short id = f.dlg();
const int type = id2conai_type(id);
const TCONAI_type type = conai_id2type(id);
f.set(articolo.get(get_conai_contr_name(type)));
f.set(articolo.get(conai_contr_name(type)));
}
return true;
}

@ -36,6 +36,8 @@ bool evasion_check_handler( TMask_field& f, KEY key );
bool distinta_link_handler(TMask_field& f, KEY key );
bool gen_livelli_handler(TMask_field& f, KEY key );
bool peso_conai_handler(TMask_field& f, KEY key );
bool sottocat_conai_handler(TMask_field& f, KEY key );
bool codcms_handler(TMask_field &f, KEY key);
bool numdocrif_hndl(TMask_field& field, KEY key);
@ -45,8 +47,8 @@ bool fido_hndl(TMask_field& field, KEY key);
bool tipodoc_ok(const TString & tipodoc);
TCONAI_type conai_id2type(short id);
short conai_get_peso_field(TCONAI_type type);
short conai_get_sottocat_field(TCONAI_type type);
short conai_peso_id(TCONAI_type type);
short conai_sottocat_id(TCONAI_type type);
#endif

@ -24,6 +24,7 @@ VE||SCC|AL60|Tubetti
VE||SCC|AL70|Vaschette per alimenti
VE||SCC|AL80|Poliaccoppiati (prevalenza alluminio)
VE||SCC|AL99|Altro
VE||SCC|CA10|Barattoli/Tubi
VE||SCC|CA20|Buste
VE||SCC|CA30|Carte da imballo
VE||SCC|CA40|Cartone Ondulato