Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/branches/R_10_00@22248 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2011-06-09 14:02:40 +00:00
parent 01d48b37a9
commit e0db1da9f1
4 changed files with 82 additions and 28 deletions

View File

@ -509,6 +509,8 @@ bool TGenera_ordini_mask::on_field_event(TOperable_field& o, TField_event e, lon
if (e == fe_modify)
{
int found = -1;
bool non_esiste = true;
const TString& selected_codart = o.get();
//ricerca sui codici articolo in anagrafica possibili (sono quelli sullo sheet)
TSheet_field& sf_righe = sfield(F_ARTICLES);
@ -521,6 +523,7 @@ bool TGenera_ordini_mask::on_field_event(TOperable_field& o, TField_event e, lon
break;
}
}
//se non lo pesca in anagrafica tenta con i codici articolo fornitore (CODCORR_CODARTALT)
if (found < 0)
{
FOR_EACH_SHEET_ROW(sf_righe, r, row)
@ -535,6 +538,7 @@ bool TGenera_ordini_mask::on_field_event(TOperable_field& o, TField_event e, lon
recset.set_var("#CODARTALT", selected_codart);
recset.set_var("#CODART", riga_codart);
const int items = recset.items();
//usando la chiave 1 -> items puo' essere 1 o 0 per ogni riga dello sheet
if (items == 1)
{
if (found < 0)
@ -544,19 +548,26 @@ bool TGenera_ordini_mask::on_field_event(TOperable_field& o, TField_event e, lon
error_box(FR("Il codice %s puo' riferirsi alle righe %d e %d!\nRisolvere l'ambiguita' in anagrafica articoli."),
(const char*)selected_codart, found + 1, r + 1);
found = -1;
non_esiste = false;
break;
}
}
}
}
} //if(items==1...
} //FOR_EACH_SHEET_ROW(sf_righe,...
} //if(found<0...
//ha trovato l'articolo nello sheet e si posiziona sulla sua riga
if (found >= 0)
{
//quando trova la riga con l'articolo corrispondente -> si posiziona sulla qta
//si posiziona sulla qta
const int column = sf_righe.cid2index(F_QTA);
sf_righe.select(found, column, true);
sf_righe.set_focus();
}
else //se non l'ha trovato -> segnala che l'articolo selezionato non esiste nello sheet
{
if (non_esiste)
error_box(TR("L'articolo %s selezionato non esiste nella lista"), (const char*)selected_codart);
}
}
break;

View File

@ -95,8 +95,8 @@ TDoc_cache::TDoc_cache(const char* codnum, const char* tipodoc, const TDate& dat
class TEdit_rdocs_mask : public TAutomask
{
int _pos_art, _pos_desc, _pos_um, _pos_qta, _pos_qtaev, _pos_prz, _pos_iva, _pos_lav, _pos_col,
_pos_dtprd_lav, _pos_qtaprd_lav, _pos_dtprd_col, _pos_qtaprd_col, _pos_num, _pos_anno,
_pos_provv, _pos_ndoc, _pos_nrig, _pos_desiva, _pos_deslav, _pos_descol;
_pos_dtprd_lav, _pos_qtaprd_lav, _pos_dtprd_col_1, _pos_qtaprd_col_1, _pos_dtprd_col_2, _pos_qtaprd_col_2,
_pos_num, _pos_anno, _pos_provv, _pos_ndoc, _pos_nrig, _pos_desiva, _pos_deslav, _pos_descol;
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
@ -126,8 +126,10 @@ TEdit_rdocs_mask::TEdit_rdocs_mask() : TAutomask ("ps1002100a")
_pos_dtprd_lav = sf_righe.cid2index(S_DATAPROD_LAV);
_pos_qtaprd_lav = sf_righe.cid2index(S_QTAPROD_LAV);
_pos_col = sf_righe.cid2index(S_COLORE);
_pos_dtprd_col = sf_righe.cid2index(S_DATAPROD_COL);
_pos_qtaprd_col = sf_righe.cid2index(S_QTAPROD_COL);
_pos_dtprd_col_1 = sf_righe.cid2index(S_DATAPROD_COL_1);
_pos_qtaprd_col_1 = sf_righe.cid2index(S_QTAPROD_COL_1);
_pos_dtprd_col_2 = sf_righe.cid2index(S_DATAPROD_COL_2);
_pos_qtaprd_col_2 = sf_righe.cid2index(S_QTAPROD_COL_2);
_pos_num = sf_righe.cid2index(S_CODNUM);
_pos_anno = sf_righe.cid2index(S_ANNO);
_pos_provv = sf_righe.cid2index(S_PROVV);
@ -188,11 +190,11 @@ bool TEdit_rdocs_mask::on_field_event(TOperable_field& o, TField_event e, long j
o.mask().set(S_QTAPROD_LAV, qta);
}
break;
case S_DATAPROD_COL:
case S_DATAPROD_COL_1:
if (e == fe_modify)
{
const real qta = o.mask().get(S_QTA);
o.mask().set(S_QTAPROD_COL, qta);
o.mask().set(S_QTAPROD_COL_1, qta);
}
break;
@ -224,6 +226,21 @@ bool TEdit_rdocs_mask::on_field_event(TOperable_field& o, TField_event e, long j
fill_sheet();
}
break;
case DLG_USER:
if (e == fe_button)
{
TSheet_field& sf_righe = sfield(F_RIGHE);
TMask& mask_riga = sf_righe.sheet_row_mask(jolly);
TRectype doc(LF_DOC);
doc.put(DOC_PROVV, 'D');
doc.put(DOC_ANNO, mask_riga.get_int(S_ANNO));
doc.put(DOC_CODNUM, mask_riga.get(S_CODNUM));
doc.put(DOC_NDOC, mask_riga.get_long(S_NDOC));
doc.edit();
}
break;
default:
break;
}

View File

@ -31,11 +31,13 @@
#define S_DATAPROD_LAV 112
#define S_QTAPROD_LAV 113
#define S_COLORE 114
#define S_DATAPROD_COL 115
#define S_QTAPROD_COL 116
#define S_CODNUM 117
#define S_ANNO 118
#define S_PROVV 119
#define S_DATAPROD_COL_1 115
#define S_QTAPROD_COL_1 116
#define S_DATAPROD_COL_2 117
#define S_QTAPROD_COL_2 118
#define S_CODNUM 119
#define S_ANNO 120
#define S_PROVV 121
#define S_DESMAG 133
#define S_DESIVA 140

View File

@ -240,17 +240,23 @@ TOOLBAR "topbar" 0 -3 0 3
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -11 ""
PROMPT -14 -11 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -11 ""
PROMPT -24 -11 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -11 ""
PROMPT -34 -11 ""
END
BUTTON DLG_USER 10 2
BEGIN
PROMPT -44 -11 "Collega"
PICTURE BMP_LINK
END
ENDPAGE
@ -400,6 +406,8 @@ END
NUMBER S_QTAPROD_LAV 13 5
BEGIN
PROMPT 1 9 "Qta prod. Lav. "
VALIDATE 14 1 IF(#S_DATAPROD_LAV=0,0,IF(S_QTAPROD_LAV=0,#S_QTA,#S_QTAPROD_LAV))
DRIVENBY S_DATAPROD_LAV
FIELD QTAGG2
END
@ -427,54 +435,70 @@ BEGIN
COPY OUTPUT S_COLORE
END
DATA S_DATAPROD_COL
DATA S_DATAPROD_COL_1
BEGIN
PROMPT 1 11 "Data prod. Col. "
PROMPT 1 11 "Data prod. Col.1"
FIELD DATACONS
END
NUMBER S_QTAPROD_COL 13 5
NUMBER S_QTAPROD_COL_1 13 5
BEGIN
PROMPT 1 12 "Qta prod. Col. "
PROMPT 1 12 "Qta prod. Col.1 "
VALIDATE 14 1 IF(#S_DATAPROD_COL_1=0,0,IF(#S_QTAPROD_COL_1=0,#S_QTA,#S_QTAPROD_COL_1))
DRIVENBY S_DATAPROD_COL_1
FIELD QTAGG1
END
DATA S_DATAPROD_COL_2
BEGIN
PROMPT 1 13 "Data prod. Col.2"
FIELD CODAGG1
END
NUMBER S_QTAPROD_COL_2 13 5
BEGIN
PROMPT 1 14 "Qta prod. Col.2 "
VALIDATE 14 1 IF(#S_DATAPROD_COL_2=0,0,IF(#S_QTAPROD_COL_2=0,(#S_QTA-#S_QTAPROD_COL_1),#S_QTAPROD_COL_2))
DRIVENBY S_DATAPROD_COL_2
FIELD QTAGG3
END
GROUPBOX DLG_NULL 76 3
BEGIN
PROMPT 1 13 "@bChiave riga"
PROMPT 1 15 "@bChiave riga"
END
STRING S_CODNUM 4
BEGIN
PROMPT 2 14 "Num. "
PROMPT 2 16 "Num. "
FLAGS "D"
FIELD CODNUM
END
NUMBER S_ANNO 4
BEGIN
PROMPT 13 14 "Anno "
PROMPT 13 16 "Anno "
FLAGS "D"
FIELD ANNO
END
STRING S_PROVV 1
BEGIN
PROMPT 24 14 "P "
PROMPT 24 16 "P "
FLAGS "D"
FIELD PROVV
END
NUMBER S_NDOC 7
BEGIN
PROMPT 29 14 "N.doc. "
PROMPT 29 16 "N.doc. "
FLAGS "D"
FIELD NDOC
END
NUMBER S_NRIGA 3
BEGIN
PROMPT 46 14 "N.Riga "
PROMPT 46 16 "N.Riga "
FLAGS "D"
FIELD NRIGA
END