From 22f978841d2beddbc98e01cbdbf25068a6fd1547 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 1 Jul 2003 11:17:17 +0000 Subject: [PATCH] Patch level : 2.0 518 Files correlati : ve0.exe ve6.exe ve0100b.msk ve2.exe ve5200.msk Ricompilazione Demo : [ ] Commento : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AO20044 Se nella configurazione delle Elaborazioni Differite ho una elaborazione che ha uno stato finale del documento origine diverso dallo stato iniziale del documento di destinazione, una volta lanciata l'elaborazione dal tasto "Elabora" del documento origine, sul documento origine mi riporta lo stato iniziale del documento di destinazione e sul documento di destinazione mi riporta lo stato finale del documento origine (in pratica inverte i due stati). ATTENZIONE: In caso di persistenza dell'errore specificare esattamente il tipo di elaborazione utilizzata AO20068 Viene correttamente restituito il messaggio che i contratti non sono abilitati, solo che dopo l'OK viene restituito un errore su VE2. AO20069 Viene correttamente restituito il messaggio che le offerte non sono abilitate, solo che dopo l'OK viene restituito un errore su VE2. AO20071 Se cambio lo stato della fattura da 5 (contabilizzato) a 4 (generati effetti) e ricontabilizzo da Elaborazioni Differite a volte succede che per certi documenti non mi riaggiorna lo stato a 5, se invece ricontabilizzo dall'Elabora del documento me lo aggiorna sempre (idem per le fatture d'acquisto); non sono riuscito però a capire in quali casi succeda così. ATTENZIONE: In caso di persistenza dell'errore spedire dati AO20072 Se voglio cambiare lo stato di più documenti da 2 (stampato in definitiva) a 5 (contabilizzato) usando SOLO il mouse e lasciando vuoto il range dei documenti da modificare, non mi aggiorna nulla. Se invece inserisco gli stati da modificare con la tastiera allora aggiorna correttamente. AO20073 In fase bollettazione la bolla che viene generata prende come stato iniziale quello dell'ordine invece che quello specificato sull'elaborazione differita. git-svn-id: svn://10.65.10.50/trunk@11302 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve0100b.uml | 2 -- ve/ve2200.cpp | 45 ++++++++++++++++++++++++--------------------- ve/ve5200.uml | 2 +- ve/velib06.cpp | 4 ++-- 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/ve/ve0100b.uml b/ve/ve0100b.uml index c06361f78..adf218b5e 100755 --- a/ve/ve0100b.uml +++ b/ve/ve0100b.uml @@ -125,7 +125,6 @@ NUMBER F_ANNO_ELAB 4 BEGIN PROMPT 2 5 "Esercizio " CHECKTYPE REQUIRED - GROUP 2 END LIST F_TIPOCF_ELAB 1 11 @@ -135,7 +134,6 @@ BEGIN HELP "Indicare se cliente oppure fornitore" ITEM "C|Clienti" ITEM "F|Fornitori" - GROUP 2 END NUMBER F_CODCF_ELAB 6 diff --git a/ve/ve2200.cpp b/ve/ve2200.cpp index 7f8ba9ab4..37955fd04 100755 --- a/ve/ve2200.cpp +++ b/ve/ve2200.cpp @@ -130,7 +130,7 @@ bool TCondizioni_vendita::user_create() if (_condven == "*") { - TMask choose("VE2200"); // istanzia la maschera di scelta del tipo di archivio + TMask choose("ve2200"); // istanzia la maschera di scelta del tipo di archivio if (choose.run() == K_ENTER) _condven= choose.get(F_TIPOCV); // prende il tipo di archivio dalla maschera } @@ -139,8 +139,8 @@ bool TCondizioni_vendita::user_create() TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente switch (_condven[0]) { case 'L': { // listini - if (!(prassid.get_bool("GES", NULL, A_LISTINI))) error_box("L'archivio Listini non è abilititato"); // controlla che l'archivio listini sia abilitato - else { + if (prassid.get_bool("GES", NULL, A_LISTINI)) // controlla che l'archivio listini sia abilitato + { // eliminazione campi di altri archivi _msk->set_caption("Archivio listini"); key_hide(*_msk, F_C_COD); @@ -158,11 +158,13 @@ bool TCondizioni_vendita::user_create() _gest_so= prassid.get_bool("GESSO", NULL, A_LISTINI); // setta il booleano di abilitazione degli sconti/omaggi gotcha= TRUE; } + else + error_box("L'archivio Listini non è abilititato"); break; } case 'C': // contratti - if (!(prassid.get_bool("GES", NULL, A_CONTRATTI))) error_box("L'archivio Contratti non è abilititato"); // controlla che l'archivio listini sia abilitato - else { + if (prassid.get_bool("GES", NULL, A_CONTRATTI)) // controlla che l'archivio listini sia abilitato + { // settaggio dei campi da eliminare _msk->set_caption("Archivio contratti"); key_hide(*_msk, F_L_COD); @@ -184,10 +186,12 @@ bool TCondizioni_vendita::user_create() _gest_so= prassid.get_bool("GESSO", NULL, A_CONTRATTI); // setta il booleano di abilitazione degli sconti/omaggi gotcha= TRUE; } + else + error_box("L'archivio Contratti non è abilititato"); break; case 'O': // offerte - if (!(prassid.get_bool("GES", NULL, A_OFFERTE))) error_box("L'archivio Offerte non è abilititato"); // controlla che l'archivio listini sia abilitato - else { + if (prassid.get_bool("GES", NULL, A_OFFERTE)) // controlla che l'archivio listini sia abilitato + { // settaggio dei campi da eliminare _msk->set_caption("Archivio offerte"); key_hide(*_msk, F_L_COD); @@ -206,6 +210,8 @@ bool TCondizioni_vendita::user_create() _gest_so= prassid.get_bool("GESSO", NULL, A_OFFERTE); // setta il booleano di abilitazione degli sconti/omaggi gotcha= TRUE; } + else + error_box("L'archivio Offerte non è abilititato"); break; default: // messaggio di errore se si indica un archivio non valido error_box("Indicare l'archivio sulla linea di comando (L, C o O) oppure selezionarla dalla maschera di partenza"); @@ -232,7 +238,7 @@ bool TCondizioni_vendita::user_create() _msk->disable(F_DATACAM); } } - return (gotcha); + return gotcha; } bool TCondizioni_vendita::user_destroy() { @@ -393,29 +399,29 @@ bool TCondizioni_vendita::handle_copy(TMask_field &b, KEY k) switch(m.get(F_TIPO)[0]) { - case 'L': + case 'L': rec.put("CATVEN",m.get(F_L_CATVEN)); rec.put("COD",m.get(F_L_COD)); newcode = msk.get(F_L_COD); break; - case 'C': + case 'C': rec.put("TIPOCF",m.get(F_C_TIPOCF)); rec.put("CODCF",m.get(F_C_CODCF)); rec.put("COD",m.get(F_C_COD)); newcode = msk.get(F_C_COD); break; - case 'O': + case 'O': rec.put("COD",m.get(F_O_COD)); newcode = msk.get(F_O_COD); break; - - default: break; + default: + break; } TCursor curs(&rel,"",1,&rec,&rec); //creo anche il cursore della relazione, con chiave 1(codice) e record iniz. e fin. uguali nel filtro const long items = curs.items(); // metto in items il numero di elementi del cursore curs.freeze(); - TProgind bar(items,"Scansione righe di origine"); //barra di avanzamento + TProgind bar(items,"Scansione righe di origine", FALSE, TRUE); //barra di avanzamento for (curs=0; curs.pos() < items; ++curs) { @@ -423,20 +429,17 @@ bool TCondizioni_vendita::handle_copy(TMask_field &b, KEY k) curs.curr().put("COD", newcode); int err = rel.write(); if (err == _isreinsert && m.get(F_OVERWRITE)) - { rel.rewrite(); - } - } - + } } } return TRUE; } -int ve2200(int argc, char* argv[]) { +int ve2200(int argc, char* argv[]) +{ TCondizioni_vendita a; - - a.run(argc, argv, "Condizioni di vendita "); + a.run(argc, argv, "Condizioni di vendita"); return 0; } diff --git a/ve/ve5200.uml b/ve/ve5200.uml index 366ee9d47..0e90622e8 100755 --- a/ve/ve5200.uml +++ b/ve/ve5200.uml @@ -151,7 +151,7 @@ BEGIN PROMPT -12 -1 "" END -BUTTON DLG_CANCEL 10 2 +BUTTON DLG_QUIT 10 2 BEGIN PROMPT -22 -1 "" END diff --git a/ve/velib06.cpp b/ve/velib06.cpp index a81ff05bc..e86d6f641 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -2002,8 +2002,8 @@ void TElabora_mask::update_ndoc_filter(bool is_tipo_elaborazione) } else { - const TString16 tipo_fin(e->tipo_finale()); - const TString16 stato_fin(e->stato_finale()); + const TString4 tipo_fin(e->tipo_finale()); + const TString4 stato_fin(e->stato_finale()); filter << "&&"; if (stato_fin != "0")