diff --git a/ve/ve1300.cpp b/ve/ve1300.cpp index 15d084c81..abb994e22 100755 --- a/ve/ve1300.cpp +++ b/ve/ve1300.cpp @@ -1242,27 +1242,21 @@ void TReport_doc_app::main_loop() if (a > 6) // Stampa da riga di comando { _msk->set(F_DATA_O_NUM, "N"); // Stampa per numero documento - _msk->set(F_ANNO, argv(3)); - _msk->set(F_PROVV, argv(4)); + _msk->set(F_ANNO, argv(3)); + _msk->set(F_PROVV, argv(4)); - TString strndoc(argv(5)); + // "883" = Stampa solo 883; "882-884" = stampa dal 882 al 884 + const TToken_string strndoc(argv(5), '-'); + long dandoc = 0, andoc = 0; + if (strndoc.get(0, dandoc)) + { + if (!strndoc.get(1, andoc)) + andoc = dandoc; + _msk->set(F_DA_NDOC, dandoc); + _msk->set(F_A_NDOC, andoc); + } - const int pos = strndoc.find('-'); - - if (pos > 0) - { - const long dandoc = atoi(strndoc.left(pos)); - const long andoc = atoi(strndoc.mid(pos + 1)); - _msk->set(F_DA_NDOC, dandoc); - _msk->set(F_A_NDOC, andoc); - } - else - { - const long ndoc = atoi(strndoc); - _msk->set(F_DA_NDOC, ndoc); - _msk->set(F_A_NDOC, ndoc); - } - const TOutput_mode mode = key2mode(*argv(6)); // modo di 'S'tampa, 'A'nteprima, 'P'DF + const TOutput_mode mode = key2mode(*argv(6)); // modo di 'S'tampa, 'A'nteprima, 'P'DF // argv(7); // Provvisiorio o Definitivo testato altrove! if (a > 8) _msk->set(F_NCOPIE, argv(8)); // Numero copie