Patch level : 10.1032

Files correlati     :  sv0.exe sv1.exe
Ricompilazione Demo : [ ]
Commento            :

Bug 	0001881;  Aggiungere ordinamento per ragione sociale nelle statistiche per clien  Aggiungere ordinamento per ragione sociale nelle statistiche per cliente


git-svn-id: svn://10.65.10.50/branches/R_10_00@22289 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2011-06-20 14:21:34 +00:00
parent 9e8908845c
commit 22089a13b3
6 changed files with 87 additions and 23 deletions

View File

@ -1,3 +1,3 @@
87
0
$svstat|0|0|1450|38|Archivio statistiche|||
$svstat|0|0|1469|0|Archivio statistiche|||

View File

@ -1,6 +1,6 @@
87
80
CODICE|1|60|0|Codice dell'oggetto della riga
CODICE|1|79|0|Codice dell'oggetto della riga
LEVCODE|1|2|0|Codice del livello
LIVELLO|2|2|0|Livello di totale (0: totale generale; N: riga)
TIPO|1|1|0|Tipo riga (<V>alore <C>onfronto <T>arget ..)

View File

@ -174,7 +174,10 @@ void TPSV_tabapp::fill_field_list(TMask& m)
row.add(TR("Categoria vendita"));
list.add(row);
row = "C";
row.add(TR("Codice cliente"));
row.add(TR("Codice cliente/fornitore"));
list.add(row);
row = "H";
row.add(TR("Campo dell'anagrafica clienti/fornitori"));
list.add(row);
row = "Z";
row.add(TR("Codice zona"));
@ -381,7 +384,7 @@ bool TPSV_tabapp::campo_handler(TMask_field& f, KEY k)
{
if (f.to_check(k,TRUE))
{
const bool is_fld = f.get()== "B";
const bool is_fld = f.get()== "B" || f.get()== "H";
if (!is_fld)
f.mask().reset(SPSV_ARTFLD);
@ -400,8 +403,9 @@ bool TPSV_tabapp::artfld_handler(TMask_field& f, KEY k)
case K_ENTER:
if (!f.empty() && f.to_check(k))
{
const TRectype rec(LF_ANAMAG);
TString16 field = f.get();
const bool is_anamag = f.mask().get(SPSV_CAMPO) == "B";
const TRectype rec(is_anamag ? LF_ANAMAG : LF_CLIFO);
TString16 field = f.get();
int pos = field.find('[');
if (pos > 0)
field.cut(pos);
@ -411,8 +415,9 @@ bool TPSV_tabapp::artfld_handler(TMask_field& f, KEY k)
break;
case K_F9:
{
TRelation anamag(LF_ANAMAG);
TRelation_description rd(anamag);
const bool is_anamag = f.mask().get(SPSV_CAMPO) == "B";
TRelation rel(is_anamag ? LF_ANAMAG : LF_CLIFO);
TRelation_description rd(rel);
if (rd.choose_field(f.get()))
f.set(rd.field_name());

View File

@ -27,6 +27,7 @@
#define STR_LIVGIAC "L"
#define STR_CATVEN "V"
#define STR_CLIFOR "C"
#define STR_CLIFIELD "H"
#define STR_AGENTE "G"
#define STR_MAGAZZ "M"
#define STR_ZONA "Z"
@ -40,6 +41,7 @@
#define CHR_CATVEN 'V'
#define CHR_CLIFOR 'C'
#define CHR_CLI 'C'
#define CHR_CLIFIELD 'H'
#define CHR_FOR 'F'
#define CHR_AGENTE 'G'
#define CHR_MAGAZZ 'M'
@ -1404,9 +1406,8 @@ bool TStampa_stat::menu(MENU_TAG )
set_column_frequency();
_key.cut(0);
TRelation anamag(LF_ANAMAG);
TRelation_description rd(anamag);
_key.cut(0);
TSheet_field & s_chiave = selmask().sfield(F_CHIAVE);
TFilename des_file_name("sv1200.ini");
TConfig c(des_file_name, "Descriptions");
@ -1416,7 +1417,12 @@ bool TStampa_stat::menu(MENU_TAG )
tmp = sheet.row(r).get(0);
if (!tmp.blank())
_key.add(tmp);
if (tmp == STR_ARTFIELD)
const bool is_anamag = tmp == STR_ARTFIELD;
TRelation rel(is_anamag ? LF_ANAMAG : LF_CLIFO);
TRelation_description rd(rel);
if (tmp == STR_ARTFIELD || tmp == STR_CLIFIELD)
{
TString16 field(s_chiave.cell(r,s_chiave.cid2index(S_ARTFLD)));
@ -1535,7 +1541,10 @@ void TStampa_stat::fill_field_list(TMask& m)
row.add(TR("Categoria vendita"));
list.add(row);
row = "C";
row.add(TR("Codice cliente"));
row.add(TR("Codice cliente/fornitore"));
list.add(row);
row = STR_CLIFIELD;
row.add(TR("Campo dell'anagrafica clienti/fornitori"));
list.add(row);
row = "Z";
row.add(TR("Codice zona"));
@ -2066,6 +2075,9 @@ const TString& TStampa_stat::partkey_name(const char *lev_code, int row, TString
case CHR_CLI: // cliente
park=TR("cliente ");
break;
case CHR_CLIFIELD: // campo anagrafica
park=_des_fld.row(row);
break;
case CHR_FOR: // fornitore
park=TR("fornitore ");
break;
@ -2156,8 +2168,8 @@ const TString& TStampa_stat::get_part(TString & lev_code, TSVriep_record &riepre
f = fld;
const TRectype anamag(LF_ANAMAG);
int l = f.len(anamag);
if (l > 25)
l = 25;
if (l > 40)
l = 40;
if (t == RIGA_MERCE || t == RIGA_OMAGGI)
{
const TRectype & rec = cache().get(LF_ANAMAG, rieprec.get(SVR_CODART));
@ -2183,9 +2195,18 @@ const TString& TStampa_stat::get_part(TString & lev_code, TSVriep_record &riepre
lev_code[0]=rieprec.get_char(SVR_TIPOCF);
park.format("%c%6ld",lev_code[0],rieprec.get_long(SVR_CODCF));
break;
case CHR_CLIFIELD: // campo dell' anagrafica cliente
{
TString8 key;
key.format("%c|%ld", rieprec.get_char(SVR_TIPOCF),rieprec.get_long(SVR_CODCF));
park = cache().get(LF_CLIFO, key, fld);
}
break;
case CHR_AGENTE: // agente
park.format("%5s",(const char*)rieprec.get(SVR_CODAG));
break;
case CHR_MAGAZZ: // mag
park=rieprec.get(SVR_MAG);
park.rpad(3);
@ -2288,6 +2309,38 @@ const TString& TStampa_stat::get_descrpart(const char *lev_code, TSVriep_record
key.add(rieprec.get_long(SVR_CODCF));
return cache().get(LF_CLIFO, key, CLI_RAGSOC);
}
case CHR_CLIFIELD: // campo anagrafica
{
if (_file_fld.objptr(row) != NULL)
{
TString16 tab(_file_fld.row(row));
int file = atoi(tab);
TToken_string k;
k.add(rieprec.get_char(SVR_TIPOCF));
k.add(rieprec.get_long(SVR_CODCF));
const TRectype & clifo = cache().get(LF_CLIFO, k);
TFieldref f;
f = _key_fld.row(row);
const TString & key = f.read(clifo);
if (key.not_empty())
{
if (file != 0)
{
const TRectype & rec = cache().get(file, key);
return rec.get(_field_fld.row(row));
}
else
{
const TRectype & rec = cache().get(tab, key);
return rec.get(_field_fld.row(row));
}
}
}
return EMPTY_STRING;
}
case CHR_AGENTE: // agente
return cache().get(LF_AGENTI, rieprec.get(SVR_CODAG), AGE_RAGSOC);
case CHR_MAGAZZ: // mag
@ -2639,7 +2692,7 @@ bool TStampa_stat::campo_handler(TMask_field& f, KEY k)
{
if (f.to_check(k, TRUE))
{
const bool is_fld = f.get()== STR_ARTFIELD;
const bool is_fld = f.get()== STR_ARTFIELD || f.get()== STR_CLIFIELD;
if (!is_fld)
f.mask().reset(S_ARTFLD);
@ -2659,7 +2712,8 @@ bool TStampa_stat::artfld_handler(TMask_field& f, KEY k)
case K_ENTER:
if (!f.empty() && f.to_check(k))
{
const TRectype rec(LF_ANAMAG);
const bool is_anamag = f.mask().get(S_CAMPO) == "B";
const TRectype rec(is_anamag ? LF_ANAMAG : LF_CLIFO);
TString16 field = f.get();
int pos = field.find('[');
if (pos > 0)
@ -2670,8 +2724,9 @@ bool TStampa_stat::artfld_handler(TMask_field& f, KEY k)
break;
case K_F9:
{
TRelation anamag(LF_ANAMAG);
TRelation_description rd(anamag);
const bool is_anamag = f.mask().get(S_CAMPO) == "B";
TRelation rel(is_anamag ? LF_ANAMAG : LF_CLIFO);
TRelation_description rd(rel);
if (rd.choose_field(f.get()))
f.set(rd.field_name());
}

View File

@ -2,8 +2,6 @@
TOOLBAR "Toolbar" 0 0 0 2
TOOLBAR "Toolbar" 0 0 0 2
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -23 -1 "~Registra"
@ -223,7 +221,8 @@ BEGIN
ITEM "A|Articolo"
ITEM "L|Livello giacenza"
ITEM "V|Categoria vendita"
ITEM "C|Codice cliente"
ITEM "C|Codice cliente/fornitore"
ITEM "H|Campo dell'anagrafica clienti/fornitori"
ITEM "G|Codice agente"
ITEM "M|Codice magazzino"
ITEM "Z|Codice zona"
@ -259,6 +258,10 @@ BEGIN
FLAGS "BU"
END
ENDPAGE
TOOLBAR "Toolbar" 0 0 0 2
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -13 -1 ""

View File

@ -133,7 +133,8 @@ BEGIN
ITEM "B|Campo anagrafica articoli"
ITEM "L|Livello giacenza"
ITEM "V|Categoria vendita"
ITEM "C|Codice cliente"
ITEM "C|Codice cliente/fornitore"
ITEM "H|Campo dell'anagrafica clienti/fornitori"
ITEM "G|Codice agente"
ITEM "M|Codice magazzino"
ITEM "Z|Codice zona"