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:
parent
2a4f005d77
commit
e130c6af43
@ -47,7 +47,7 @@ TGestione_listini_semplice_mask_genera::TGestione_listini_semplice_mask_genera(T
|
|||||||
}
|
}
|
||||||
|
|
||||||
// COPIA LISTINO
|
// COPIA LISTINO
|
||||||
//--------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
//metodo che restituisce l'indice della riga dello sheet che contiene
|
//metodo che restituisce l'indice della riga dello sheet che contiene
|
||||||
//la coppia tipo-articolo desiderata (-1 se non lo trova)
|
//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,
|
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
|
//sheet righe listino da riempire nella maschera principale
|
||||||
TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
|
TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
|
||||||
TMask& msk = sf_righe.sheet_mask();
|
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();
|
TRectype& riga_corrente = righe_listino.cursor()->curr();
|
||||||
TString80 val;
|
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);
|
TDate data_ult_aum = _main_mask->get_date(F_L_VALINI);
|
||||||
if (!data_ult_aum.ok())
|
if (!data_ult_aum.ok())
|
||||||
data_ult_aum = TDate(TODAY);
|
data_ult_aum = TDate(TODAY);
|
||||||
TDate data_prz_storico = rec_ori_testata.get_date(CONDV_VALIN);
|
TDate data_prz_storico = rec_ori_testata.get_date(CONDV_VALIN);
|
||||||
if (!data_prz_storico.ok())
|
if (!data_prz_storico.ok())
|
||||||
data_prz_storico = data_ult_aum - 1L;
|
data_prz_storico = data_ult_aum - 1L;
|
||||||
|
|
||||||
//scorre tutte le righe listino del recordset e le sbatte nello sheet della maschera principale
|
//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())
|
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ù..
|
//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...
|
//..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);
|
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
|
//CREA DA ANAGRAFICA ARTICOLI
|
||||||
//----------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
void TGestione_listini_semplice_mask_genera::crea_da_anamag()
|
void TGestione_listini_semplice_mask_genera::crea_da_anamag()
|
||||||
{
|
{
|
||||||
//prende i dati dalla maschera per crearsi una query di generazione righe sheet
|
//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
|
//fase riempimento sheet maschera principale
|
||||||
TSheet_field& sf_righe = _main_mask->sfield(F_L_RIGHE);
|
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);
|
const bool gest_um = _main_mask->get_bool(F_L_GESTUM);
|
||||||
TRecord_array arr_art_um(LF_UMART, UMART_NRIGA);
|
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);
|
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)
|
//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())
|
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);
|
key->put(UMART_CODART, codart);
|
||||||
arr_art_um.read(key);
|
arr_art_um.read(key);
|
||||||
const int num_um = gest_um ? arr_art_um.rows() : 1;
|
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++)
|
for (int u = 1; u <= num_um; u++)
|
||||||
{
|
{
|
||||||
TToken_string& row = sf_righe.row(-1);
|
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()
|
void TGestione_listini_semplice_mask_genera::crea_listino()
|
||||||
{
|
{
|
||||||
//per prima cosa controlla se deve copiare da un listino esistente o generare da nuovo
|
//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!
|
//strage di righe!
|
||||||
for (bool ok = righelist.move_first(); ok; ok = righelist.move_next())
|
for (bool ok = righelist.move_first(); ok; ok = righelist.move_next())
|
||||||
{
|
{
|
||||||
pi.addstatus(1);
|
if (!pi.addstatus(1))
|
||||||
|
break;
|
||||||
righelist.cursor()->relation()->remove();
|
righelist.cursor()->relation()->remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,13 +12,9 @@ RADIOBUTTON F_SELECT 76
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "@bTipologia di generazione"
|
PROMPT 1 1 "@bTipologia di generazione"
|
||||||
ITEM "1|Copia da listino esistente"
|
ITEM "1|Copia da listino esistente"
|
||||||
MESSAGE HIDE,2@|HIDE,3@|HIDE,4@|SHOW,1@
|
MESSAGE HIDE,2@|SHOW,1@
|
||||||
ITEM "2|Anagrafica articoli"
|
ITEM "2|Anagrafica articoli"
|
||||||
MESSAGE HIDE,1@|HIDE,3@|HIDE,4@|SHOW,2@
|
MESSAGE HIDE,1@|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@
|
|
||||||
END
|
END
|
||||||
|
|
||||||
//Copia listino esistente
|
//Copia listino esistente
|
||||||
@ -169,14 +165,15 @@ BEGIN
|
|||||||
OUTPUT F_GRMERC CODTAB[1,3]
|
OUTPUT F_GRMERC CODTAB[1,3]
|
||||||
OUTPUT F_DESGRMERC S0
|
OUTPUT F_DESGRMERC S0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 2 3
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SOTGRMERC 5
|
STRING F_SOTGRMERC 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 20 10 ""
|
PROMPT 20 10 ""
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE GMC SELECT CODTAB[4,5] != ""
|
USE GMC
|
||||||
|
//SELECT CODTAB[4,5] != ""
|
||||||
COPY INPUT F_GRMERC
|
COPY INPUT F_GRMERC
|
||||||
INPUT CODTAB[4,5] F_SOTGRMERC
|
INPUT CODTAB[4,5] F_SOTGRMERC
|
||||||
DISPLAY "Gruppo" CODTAB[1,3]
|
DISPLAY "Gruppo" CODTAB[1,3]
|
||||||
@ -185,7 +182,7 @@ BEGIN
|
|||||||
COPY OUTPUT F_GRMERC
|
COPY OUTPUT F_GRMERC
|
||||||
OUTPUT F_SOTGRMERC CODTAB[4,5]
|
OUTPUT F_SOTGRMERC CODTAB[4,5]
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 2 3
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESGRMERC 50 45
|
STRING F_DESGRMERC 50 45
|
||||||
@ -198,7 +195,7 @@ BEGIN
|
|||||||
DISPLAY "Sottogruppo" CODTAB[4,5]
|
DISPLAY "Sottogruppo" CODTAB[4,5]
|
||||||
COPY OUTPUT F_SOTGRMERC
|
COPY OUTPUT F_SOTGRMERC
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 2 3
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_RAGFIS 5
|
STRING F_RAGFIS 5
|
||||||
@ -212,7 +209,7 @@ BEGIN
|
|||||||
OUTPUT F_RAGFIS CODTAB
|
OUTPUT F_RAGFIS CODTAB
|
||||||
OUTPUT F_DESRAGFIS S0
|
OUTPUT F_DESRAGFIS S0
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 2 4
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESRAGFIS 50
|
STRING F_DESRAGFIS 50
|
||||||
@ -224,24 +221,9 @@ BEGIN
|
|||||||
DISPLAY "Ragg. fisc." CODTAB
|
DISPLAY "Ragg. fisc." CODTAB
|
||||||
COPY OUTPUT F_RAGFIS
|
COPY OUTPUT F_RAGFIS
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 2 4
|
GROUP 2
|
||||||
END
|
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
|
ENDPAGE
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ BEGIN
|
|||||||
KEY 1
|
KEY 1
|
||||||
USE GMC SELECT CODTAB[4,5]==""
|
USE GMC SELECT CODTAB[4,5]==""
|
||||||
INPUT CODTAB F_CODGRU
|
INPUT CODTAB F_CODGRU
|
||||||
DISPLAY "Gruppo" CODTAB[1,3]
|
DISPLAY "Gruppo" CODTAB[1,3]
|
||||||
DISPLAY "Descrizione gruppo@50" S0
|
DISPLAY "Descrizione gruppo@50" S0
|
||||||
OUTPUT F_CODGRU CODTAB[1,3]
|
OUTPUT F_CODGRU CODTAB[1,3]
|
||||||
OUTPUT H_CODGRU CODTAB[1,3]
|
OUTPUT H_CODGRU CODTAB[1,3]
|
||||||
@ -260,14 +260,14 @@ END
|
|||||||
|
|
||||||
STRING F_SCONTO 25
|
STRING F_SCONTO 25
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 13 "Sconto "
|
PROMPT 2 13 "Sconto "
|
||||||
FIELD S4
|
FIELD S4
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_RICARICO 25
|
STRING F_RICARICO 25
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 38 13 "Ricarico "
|
PROMPT 38 13 "Ricarico "
|
||||||
FIELD S5
|
FIELD S5
|
||||||
END
|
END
|
||||||
|
|
||||||
TEXT -1
|
TEXT -1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user