Patch level :10.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :adesso genera dalla anagrafica in modo corretto


git-svn-id: svn://10.65.10.50/trunk@19359 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-09-30 13:35:55 +00:00
parent 2a4f005d77
commit e130c6af43
3 changed files with 31 additions and 40 deletions

View File

@ -47,7 +47,7 @@ TGestione_listini_semplice_mask_genera::TGestione_listini_semplice_mask_genera(T
}
// COPIA LISTINO
//--------------
//----------------------------------------------------------------------------------------------------------------------
//metodo che restituisce l'indice della riga dello sheet che contiene
//la coppia tipo-articolo desiderata (-1 se non lo trova)
int TGestione_listini_semplice_mask_genera::find_art_in_sheet(const char tipo, const TString& cod,
@ -119,21 +119,25 @@ void TGestione_listini_semplice_mask_genera::copia_listino()
//sheet righe listino da riempire nella maschera principale
TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
TMask& msk = sf_righe.sheet_mask();
//record corrente del recordset
//record corrente del recordset (non const perchè la modifica eventualmente causa ricarico)
TRectype& riga_corrente = righe_listino.cursor()->curr();
TString80 val;
//alcune date utili nelle righe
//alcune date utili nelle righe; prese qui perchè vengono dalla testata o dalla maschera e sono poi riportate..
//..nelle righe
TDate data_ult_aum = _main_mask->get_date(F_L_VALINI);
if (!data_ult_aum.ok())
data_ult_aum = TDate(TODAY);
TDate data_prz_storico = rec_ori_testata.get_date(CONDV_VALIN);
if (!data_prz_storico.ok())
data_prz_storico = data_ult_aum - 1L;
//scorre tutte le righe listino del recordset e le sbatte nello sheet della maschera principale
for (bool ok = righe_listino.move_first(); ok; ok = righe_listino.move_next())
{
pi.addstatus(1);
if (!pi.addstatus(1))
break;
//controlla che il record non esista per caso già nel listino di destinazione (caso della copia listino in più..
//..fasi separate: un lavoro da mica normali!). Prende quindi la chiave di riga e cerca nello sheet...
const char tiporiga = riga_corrente.get_char(RCONDV_TIPORIGA);
@ -175,7 +179,7 @@ void TGestione_listini_semplice_mask_genera::copia_listino()
//CREA DA ANAGRAFICA ARTICOLI
//----------------------------
//----------------------------------------------------------------------------------------------------------------------
void TGestione_listini_semplice_mask_genera::crea_da_anamag()
{
//prende i dati dalla maschera per crearsi una query di generazione righe sheet
@ -221,9 +225,12 @@ void TGestione_listini_semplice_mask_genera::crea_da_anamag()
//fase riempimento sheet maschera principale
TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
//attenzione! ci possono essere articoli presenti più volte in UMART con diverse unità di misura: li mette tutti
const bool gest_um = _main_mask->get_bool(F_L_GESTUM);
TRecord_array arr_art_um(LF_UMART, UMART_NRIGA);
//la gestione omaggi (misteriosamente definita gestsco) attiva l'iva
const bool gest_sco = _main_mask->get_bool(F_L_GESTSCO);
//per ogni riga del recordset va ad aggiornare lo sheet sulla maschera (aggiunge la riga)
for (bool ok = recset.move_first(); ok; ok = recset.move_next())
{
@ -235,7 +242,7 @@ void TGestione_listini_semplice_mask_genera::crea_da_anamag()
key->put(UMART_CODART, codart);
arr_art_um.read(key);
const int num_um = gest_um ? arr_art_um.rows() : 1;
//se ci sono più unità di misura per lo stesso codart ci sono tanti record quante um
for (int u = 1; u <= num_um; u++)
{
TToken_string& row = sf_righe.row(-1);
@ -266,7 +273,8 @@ void TGestione_listini_semplice_mask_genera::crea_da_anamag()
}
// GESTIONE COPIA/GENERA IN AUTOMATICO
//------------------------------------
void TGestione_listini_semplice_mask_genera::crea_listino()
{
//per prima cosa controlla se deve copiare da un listino esistente o generare da nuovo
@ -703,7 +711,8 @@ bool TGestione_listini_semplice::remove()
//strage di righe!
for (bool ok = righelist.move_first(); ok; ok = righelist.move_next())
{
pi.addstatus(1);
if (!pi.addstatus(1))
break;
righelist.cursor()->relation()->remove();
}

View File

@ -12,13 +12,9 @@ RADIOBUTTON F_SELECT 76
BEGIN
PROMPT 1 1 "@bTipologia di generazione"
ITEM "1|Copia da listino esistente"
MESSAGE HIDE,2@|HIDE,3@|HIDE,4@|SHOW,1@
MESSAGE HIDE,2@|SHOW,1@
ITEM "2|Anagrafica articoli"
MESSAGE HIDE,1@|HIDE,3@|HIDE,4@|SHOW,2@
ITEM "3|Gruppo merceologico"
MESSAGE HIDE,1@|HIDE,2@|HIDE,4@|SHOW,3@
ITEM "4|Raggruppamento fiscale"
MESSAGE HIDE,1@|HIDE,2@|HIDE,3@|SHOW,4@
MESSAGE HIDE,1@|SHOW,2@
END
//Copia listino esistente
@ -169,14 +165,15 @@ BEGIN
OUTPUT F_GRMERC CODTAB[1,3]
OUTPUT F_DESGRMERC S0
CHECKTYPE NORMAL
GROUP 2 3
GROUP 2
END
STRING F_SOTGRMERC 5
BEGIN
PROMPT 20 10 ""
FLAGS "U"
USE GMC SELECT CODTAB[4,5] != ""
USE GMC
//SELECT CODTAB[4,5] != ""
COPY INPUT F_GRMERC
INPUT CODTAB[4,5] F_SOTGRMERC
DISPLAY "Gruppo" CODTAB[1,3]
@ -185,7 +182,7 @@ BEGIN
COPY OUTPUT F_GRMERC
OUTPUT F_SOTGRMERC CODTAB[4,5]
CHECKTYPE NORMAL
GROUP 2 3
GROUP 2
END
STRING F_DESGRMERC 50 45
@ -198,7 +195,7 @@ BEGIN
DISPLAY "Sottogruppo" CODTAB[4,5]
COPY OUTPUT F_SOTGRMERC
CHECKTYPE NORMAL
GROUP 2 3
GROUP 2
END
STRING F_RAGFIS 5
@ -212,7 +209,7 @@ BEGIN
OUTPUT F_RAGFIS CODTAB
OUTPUT F_DESRAGFIS S0
CHECKTYPE NORMAL
GROUP 2 4
GROUP 2
END
STRING F_DESRAGFIS 50
@ -224,24 +221,9 @@ BEGIN
DISPLAY "Ragg. fisc." CODTAB
COPY OUTPUT F_RAGFIS
CHECKTYPE NORMAL
GROUP 2 4
GROUP 2
END
//Generazione da gruppo merceologico
//-----------------------------------------------
GROUPBOX DLG_NULL 76 3
BEGIN
PROMPT 1 9 "@bGruppo merceologico"
GROUP 3
END
//Generazione da raggruppamento fiscale
//-----------------------------------------------
GROUPBOX DLG_NULL 76 3
BEGIN
PROMPT 1 10 "@bRaggruppamento fiscale"
GROUP 4
END
ENDPAGE

View File

@ -20,7 +20,7 @@ BEGIN
KEY 1
USE GMC SELECT CODTAB[4,5]==""
INPUT CODTAB F_CODGRU
DISPLAY "Gruppo" CODTAB[1,3]
DISPLAY "Gruppo" CODTAB[1,3]
DISPLAY "Descrizione gruppo@50" S0
OUTPUT F_CODGRU CODTAB[1,3]
OUTPUT H_CODGRU CODTAB[1,3]
@ -260,14 +260,14 @@ END
STRING F_SCONTO 25
BEGIN
PROMPT 2 13 "Sconto "
FIELD S4
PROMPT 2 13 "Sconto "
FIELD S4
END
STRING F_RICARICO 25
BEGIN
PROMPT 38 13 "Ricarico "
FIELD S5
PROMPT 38 13 "Ricarico "
FIELD S5
END
TEXT -1