From b367d19a57f0fd560f9ff4614f1645999dbe1907 Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 9 Jul 2009 09:56:24 +0000 Subject: [PATCH] Patch level : 10.0 368 Files correlati : ve0.exe ve1.exe ve1100b.msk Ricompilazione Demo : [ ] Commento : 0001404: Selezionando la commessa scompare il centro di costo nei documenti Nella gestione documenti interattivi, quando ho la seguente configurazione di analitica: 1) centro di costo 2) commessa 3) fase collegata alla commessa Nel momento in cui vario la commessa, scompare il centro di costo 0001403: Non funziona l'anteprima della lista documenti La lista documenti stampa sempre su carta anche selezionando anteprima git-svn-id: svn://10.65.10.50/trunk@19097 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve1100.cpp | 6 +++++- ve/ve1100b.uml | 2 +- ve/velib06.cpp | 5 +---- ve/velib06a.cpp | 41 +++++++++++++++++++++-------------------- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/ve/ve1100.cpp b/ve/ve1100.cpp index 5ee958fbe..1ada5db8c 100755 --- a/ve/ve1100.cpp +++ b/ve/ve1100.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include "velib05.h" #include "sconti.h" @@ -2002,6 +2003,9 @@ bool TStampaDoc_application::create() _selection_mask->set_handler(BUT_SEL, select_button); _selection_mask->set_handler(BUT_ANN, reset_button); _selection_mask->sfield(F_SHEETNUMS).sheet_mask().set_handler(102, tipodoc_handler); + + TButton_tool& ap = (TButton_tool&)_selection_mask->field(DLG_PREVIEW); + ap.set_exit_key('A'); } if (argc>3) @@ -2115,7 +2119,7 @@ void TStampaDoc_application::main_loop() int ve1100(int argc, char* argv[]) { TStampaDoc_application a; - const bool riep = argc == 4 && argv[2][0] == 'L'; // Lista documenti + const bool riep = argc >= 4 && argv[2][0] == 'L'; // Lista documenti a.run(argc, argv, riep ? TR("Lista documenti") : TR("Stampa documenti")); return 0; } \ No newline at end of file diff --git a/ve/ve1100b.uml b/ve/ve1100b.uml index b6269e8c9..941a96268 100755 --- a/ve/ve1100b.uml +++ b/ve/ve1100b.uml @@ -1,7 +1,7 @@ #include "ve1100.h" TOOLBAR "topbar" 0 0 0 2 -#include +#include ENDPAGE PAGE "Lista documenti" -1 -1 60 21 diff --git a/ve/velib06.cpp b/ve/velib06.cpp index d2014a10c..1afb08b24 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -3211,13 +3211,10 @@ void TDocumento_mask::user_set_handler(short fieldid, int index) bool TDocumento_mask::call_handler( TMask_field& f, KEY key) { const short id = f.dlg(); - CONTROL_HANDLER h = (CONTROL_HANDLER) _handlers.objptr(id); - if (h != NULL) return h(f, key); - - return TRUE; + return true; } bool TDocumento_mask::universal_handler( TMask_field& f, KEY key) diff --git a/ve/velib06a.cpp b/ve/velib06a.cpp index ce82c94f2..a6ddbe442 100755 --- a/ve/velib06a.cpp +++ b/ve/velib06a.cpp @@ -2593,27 +2593,28 @@ bool codcms_handler(TMask_field& f, KEY key) TDocumento_mask & mask = (TDocumento_mask & )f.mask(); if ((key == K_TAB && f.focusdirty()) || key == K_ENTER) { - const TRectype & curr = mask.efield(mask.cms_start()).browse()->cursor()->curr(); - const TString & codcms = curr.get(COMMESSE_CODCMS); - - if (mask.cdc_start() >= 0 && mask.codcms() != codcms) - { + const TRectype& curr = mask.efield(mask.cms_start()).browse()->cursor()->curr(); + const TString& codcms = curr.get(COMMESSE_CODCMS); + mask.codcms() = codcms; + // Controlla se c'e' la gestione dei centri di costo al secondo livello + if (mask.cdc_start() > mask.cms_start() && mask.codcms() != codcms) + { const TString codcosto = curr.get(COMMESSE_CODCOSTO); - for (short i = mask.cdc_start(); i <= mask.cdc_end(); i++) - { - TEdit_field & e = mask.efield(i); - const TFieldref * f = e.field(); - - if (f != NULL) - { - const int from = f->from(); - const int to = f->to(); - - mask.set(i, codcosto.sub(from, to), 0x2); - } - } - mask.codcms() = codcms; - } + if (codcosto.full()) // Propone centro di costo solo se specificato + { + for (short i = mask.cdc_start(); i <= mask.cdc_end(); i++) + { + TEdit_field & e = mask.efield(i); + const TFieldref * f = e.field(); + if (f != NULL) + { + const int from = f->from(); + const int to = f->to(); + mask.set(i, codcosto.sub(from, to), 0x2); + } + } + } + } } else if (key == K_TAB && !mask.is_running())