diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 30211c4dd..eaa75eb50 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -825,9 +825,6 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) { if (f.to_check(k, true)) { - TString4 codmagdef = ini_get_string(CONFIG_DITTA, "lv", "CODMAG"); //magazzino - TString4 coddepdef = ini_get_string(CONFIG_DITTA, "lv", "CODMAGC"); //magazzino del circolante (deposito) - //leggo la causale che ho scritto nella riga corrente dello sheet TString4 causale = f.get(); @@ -920,84 +917,88 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) rdoc.put("DOTMP", dotmp); TString16 tmp; tmp << dotmp; - msk.field(FR_JOLLY2).set(tmp); - //setto le date di inizio e fine della dotazione temporanea - TDate dadata = rcont.get_date(LVRCONDV_INDTTMP); - TDate adata = rcont.get_date(LVRCONDV_FIDTTMP); - - bool fdotmp = false; - - //disabilito i campi di dotazione temporanea se la causale non prevede la loro movimentazione - if (sgn_rit == 0 && sgn_con == 0) + + if(msk.field(FR_TIPORIGA).get_long() != 22) { - msk.field(FR_JOLLY3).disable(); - msk.field(FR_JOLLY4).disable(); - } - else - { - msk.field(FR_JOLLY3).enable(); - msk.field(FR_JOLLY4).enable(); - fdotmp = true; - } + msk.field(FR_JOLLY2).set(tmp); + //setto le date di inizio e fine della dotazione temporanea + TDate dadata = rcont.get_date(LVRCONDV_INDTTMP); + TDate adata = rcont.get_date(LVRCONDV_FIDTTMP); - if (dadata.ok() || fdotmp) - { - TLocalisamfile rcondv(LF_LVRCONDV); - rcondv.put(LVRCONDV_CODCF,codcf); - rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT)); - rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART)); + bool fdotmp = false; - if (rdoc.get_date("DADATATMP").empty()) + //disabilito i campi di dotazione temporanea se la causale non prevede la loro movimentazione + if (sgn_rit == 0 && sgn_con == 0) { - if (!dadata.ok() && rcondv.read() == NOERR) - { - rcondv.put(LVRCONDV_INDTTMP, datadoc); - rcondv.rewrite(); - rdoc.put("DADATATMP", datadoc); - msk.field(FR_JOLLY3).set(datadoc); - } - else - { - rdoc.put("DADATATMP", dadata); - msk.field(FR_JOLLY3).set(dadata); - } + msk.field(FR_JOLLY3).disable(); + msk.field(FR_JOLLY4).disable(); + } + else + { + msk.field(FR_JOLLY3).enable(); + msk.field(FR_JOLLY4).enable(); + fdotmp = true; } - if (rdoc.get_date("ADATATMP").empty()) + if (dadata.ok() || fdotmp) { - if (adata.ok() && adata <= datadoc) - { - rdoc.put("ADATATMP", adata); - msk.field(FR_JOLLY4).set(adata); - } - else - { - //instanzio in TRecordset sui giri - TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT"); - giri.set_var("#DATADOC", datadoc); - giri.set_var("#CODCF", codcf); - giri.set_var("#CODCONT", cont.get_long(LVCONDV_CODCONT)); - if (giri.move_first()) - { - rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date()); - msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date()); + TLocalisamfile rcondv(LF_LVRCONDV); + rcondv.put(LVRCONDV_CODCF,codcf); + rcondv.put(LVRCONDV_CODCONT,cont.get_int(LVCONDV_CODCONT)); + rcondv.put(LVRCONDV_CODART,msk.get(FR_CODART)); - if (rcondv.read() == NOERR) + if (rdoc.get_date("DADATATMP").empty()) + { + if (!dadata.ok() && rcondv.read() == NOERR) + { + rcondv.put(LVRCONDV_INDTTMP, datadoc); + rcondv.rewrite(); + rdoc.put("DADATATMP", datadoc); + msk.field(FR_JOLLY3).set(datadoc); + } + else + { + rdoc.put("DADATATMP", dadata); + msk.field(FR_JOLLY3).set(dadata); + } + } + + if (rdoc.get_date("ADATATMP").empty()) + { + if (adata.ok() && adata <= datadoc) + { + rdoc.put("ADATATMP", adata); + msk.field(FR_JOLLY4).set(adata); + } + else + { + //instanzio in TRecordset sui giri + TISAM_recordset giri("USE LVRCONSPLAN KEY 3\nSELECT DTCONS>#DATADOC\nFROM CODCF=#CODCF CODCONT=#CODCONT\nTO CODCF=#CODCF CODCONT=#CODCONT"); + giri.set_var("#DATADOC", datadoc); + giri.set_var("#CODCF", codcf); + giri.set_var("#CODCONT", cont.get_long(LVCONDV_CODCONT)); + if (giri.move_first()) { - rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date()); - rcondv.rewrite(); + rdoc.put("ADATATMP", giri.get(LVRCONSPLAN_DTCONS).as_date()); + msk.field(FR_JOLLY4).set(giri.get(LVRCONSPLAN_DTCONS).as_date()); + + if (rcondv.read() == NOERR) + { + rcondv.put(LVRCONDV_FIDTTMP, giri.get(LVRCONSPLAN_DTCONS).as_date()); + rcondv.rewrite(); + } } } } - } - } + } + } //abilito o disabilito azzerandolo il campo "Ritirato" a seconda di cosa prevede la causale if (cau.is_ritiro()) { msk.field(FR_QTAGG1).enable(true); - if (codmagcoll.blank()) + /*if (codmagcoll.blank()) { codmagcoll = codmagdef; msk.field(FR_CODMAGC).set(codmagcoll); @@ -1007,7 +1008,7 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) { coddepcoll = coddepdef; //magazzino del circolante msk.field(FR_CODDEPC).set(coddepcoll); - } + } */ } else { @@ -1020,7 +1021,7 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) if (cau.is_consegna() && rcont.get(LVRCONDV_ARTBLOC).empty()) { msk.field(FR_QTA).enable(true); - if (codmag.blank()) + /*if (codmag.blank()) { codmag = codmagdef; msk.field(FR_CODMAG).set(codmag); @@ -1030,7 +1031,7 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k) { coddep = coddepdef; msk.field(FR_CODDEP).set(coddep); - } + }*/ } else { @@ -1138,7 +1139,7 @@ TGestione_bolle_msk::TGestione_bolle_msk(const char* tipodoc) : TDocumento_mask( if (ini_get_bool(CONFIG_DITTA, "lv", "Datafissa")) field(F_DATADOC).disable(); sfield(F_SHEET).set_nav_column(FR_QTA, FR_QTAGG1); - sfield(F_SHEET).set_auto_append(); + sfield(F_SHEET).set_auto_append(false); sfield(F_SHEET).set_handler( ss_handler ); sfield(F_SHEET).set_notify( ss_notify ); } diff --git a/lv/lvbolacr.src b/lv/lvbolacr.src index 89ada1c5e..efa0fad15 100755 --- a/lv/lvbolacr.src +++ b/lv/lvbolacr.src @@ -201,6 +201,11 @@ Col(6)=FR_CAULAV|Caus.|5 Col(7)=FR_RITIRO|Ritiro|6 Col(8)=FR_QTA|Rotti|6 Col(9)=FR_TIPORIGA|Tipo|4 +Col(10)=FR_CODMAG +Col(11)=FR_CODDEP +Col(12)=FR_CODMAGC +Col(13)=FR_CODDEPC + [RIGHE] Tipo(0)=22 diff --git a/lv/verig22.ini b/lv/verig22.ini index 967a87b70..ec1c0b281 100755 --- a/lv/verig22.ini +++ b/lv/verig22.ini @@ -5,3 +5,4 @@ CAMPICALC= IMPONIBILE=IMPNS [HANDLERS] +1 = 152|4104 \ No newline at end of file diff --git a/lv/verig22.uml b/lv/verig22.uml index a5696e2b7..4ca77723e 100755 --- a/lv/verig22.uml +++ b/lv/verig22.uml @@ -227,6 +227,104 @@ BEGIN FIELD QTA END +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 1 14 "@bMagazzino" +END + +STRING FR_CODMAG 4 +BEGIN + PROMPT 2 15 "Magazzino " + USE MAG SELECT CODTAB[4,5]=="" + INPUT CODTAB FR_CODMAG + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT FR_CODMAG CODTAB + OUTPUT FR_DESMAG S0 + WARNING "Magazzino assente" + FLAGS "U" + CHECKTYPE NORMAL + FIELD CODMAG[1,3] +END + +STRING FR_DESMAG 50 +BEGIN + PROMPT 26 15 "" + FLAGS "D" +END + +STRING FR_CODDEP 4 +BEGIN + PROMPT 2 16 "Deposito " + USE MAG SELECT (CODTAB[1,3]==#FR_CODMAG) && (CODTAB[4,5]!="") + INPUT CODTAB[1,3] FR_CODMAG + INPUT CODTAB[4,5] FR_CODDEP + DISPLAY "Codice mag." CODTAB[1,3] + DISPLAY "Codice dep." CODTAB[4,5] + DISPLAY "Descrizione@50" S0 + OUTPUT FR_CODMAG CODTAB[1,3] + OUTPUT FR_CODDEP CODTAB[4,5] + OUTPUT FR_DESDEP S0 + MESSAGE DIRTY,FR_CODMAG|K_TAB,FR_CODMAG + CHECKTYPE NORMAL + WARNING "Deposito assente" + FLAGS "U" + FIELD CODMAG[4,5] +END + +STRING FR_DESDEP 50 +BEGIN + PROMPT 26 16 "" + FLAGS "D" +END + +STRING FR_CODMAGC 4 +BEGIN + PROMPT 2 17 "Magazzino Col. " + COPY USE FR_CODMAG + INPUT CODTAB FR_CODMAGC + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT FR_CODMAGC CODTAB + OUTPUT FR_DESMAGC S0 + WARNING "Magazzino assente" + FLAGS "U" + CHECKTYPE NORMAL + FIELD CODMAGC[1,3] +END + +STRING FR_DESMAGC 50 +BEGIN + PROMPT 26 17 "" + FLAGS "D" +END + +STRING FR_CODDEPC 4 +BEGIN + PROMPT 2 18 "Deposito " + USE MAG SELECT (CODTAB[1,3]==#FR_CODMAGC) && (CODTAB[4,5]!="") + INPUT CODTAB[1,3] FR_CODMAGC + INPUT CODTAB[4,5] FR_CODDEPC + DISPLAY "Codice mag." CODTAB[1,3] + DISPLAY "Codice dep." CODTAB[4,5] + DISPLAY "Descrizione@50" S0 + OUTPUT FR_CODMAGC CODTAB[1,3] + OUTPUT FR_CODDEPC CODTAB[4,5] + OUTPUT FR_DESDEPC S0 + MESSAGE DIRTY,FR_CODMAGC|K_TAB,FR_CODMAGC + CHECKTYPE NORMAL + WARNING "Deposito assente" + FLAGS "U" + FIELD CODMAGC[4,5] +END + +STRING FR_DESDEPC 50 +BEGIN + PROMPT 26 18 "" + FLAGS "D" +END + + ENDPAGE PAGE "Analitica" 0 2 0 0