boolgotcha=FALSE;// booleano di avvenuta inizializzazione
_sconti='*';// inizializzazione dell'indicatore del tipo di tabella
if(argc()>2)_sconti=toupper((argv(2))[0]);// se c'<27>, prende il tipo di tabella dalla linea di comando
else{
TMaskchoose("VE2100");// istanzia la maschera di scelta del tipo di tabella
if(choose.run()==K_ENTER)_sconti=toupper((choose.get(F_TIPOSC))[0]);// prende il tipo di tabella dalla maschera
}
switch(_sconti){
case'D':{// sconti documento
_msk=newTMask("VE2100D");// apre la maschera relativa
gotcha=TRUE;
break;
}
case'R':{// sconti di riga
_msk=newTMask("VE2100R");// apre la maschera relativa
set_search_field(F_R_RICERCA);// setta il campo di ricerca
gotcha=TRUE;
break;
}
case'I':{// sconti incondizionati
_msk=newTMask("VE2100I");// apre la maschera relativa
set_search_field(F_I_RICERCA);// setta il campo di ricerca
TConfigprassid(CONFIG_DITTA);// apre il file di configurazione di ditta
_sci_k_id[0]=F_I_CATVEN;// inizializza l'array dei campi da disabilitare condizionalmente
_sci_k_id[1]=F_I_SCCLIENTI;
_sci_k_id[2]=F_I_ZONE;
_sci_k_id[3]=F_I_CONDPAG;
for(inti=0;i<4;i++){
if(prassid.get("K_SCONTI_INC","ve",i).empty())_sci_k_enabled[i]=FALSE;// se nel file di config. il campo non <20> abilitato, viene indicato nel vettore di abilitazione
else_sci_k_enabled[i]=gotcha=TRUE;// se c'<27> almeno un campo abilitato "gotcha" esce TRUE dal ciclo
}
if(!gotcha)error_box("Non ci sono campi chiave abilitati nella configurazione della ditta");
break;
}
default:{// messaggio di errore se si indica una tabella non valida
error_box("Indicare la tabella sulla linea di comando (D, R o I) oppure selezionarla dalla maschera di partenza");
break;
}
}
if(gotcha)_rel=newTRelation(LF_SCONTI);// se <20> stata selezionata una tabella, apre la relazione (un unico file)