Corretta gestione stato in ristampa definitiva documenti
git-svn-id: svn://10.65.10.50/branches/R_10_00@23175 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6bd580c2b5
commit
150972f6e5
@ -92,7 +92,7 @@ void TMotore_application::init_query_mode( TMask& m )
|
|||||||
cn.set_focusdirty(TRUE);
|
cn.set_focusdirty(TRUE);
|
||||||
cn.on_key(K_TAB);
|
cn.on_key(K_TAB);
|
||||||
cn.set_dirty(FALSE);
|
cn.set_dirty(FALSE);
|
||||||
_msk->set(F_TIPODOC, _tipodoc, TRUE);
|
_msk->set(F_TIPODOC, _tipodoc, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -653,11 +653,23 @@ bool TMotore_application::ndoc_handler(TMask_field& f, KEY k)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TMotore_application::tdoc_handler(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
if (k == K_TAB && !f.empty() && f.focusdirty())
|
||||||
|
{
|
||||||
|
const TTipo_documento& td = cached_tipodoc(f.get());
|
||||||
|
const char cf[2] = { td.tipocf(), '\0' };
|
||||||
|
f.mask().set(F_TIPOCF, cf);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool TMotore_application::user_create( )
|
bool TMotore_application::user_create( )
|
||||||
{
|
{
|
||||||
open_files(LF_DOC, LF_RIGHEDOC, LF_CONDV, LF_RCONDV, LF_ANAMAG, LF_SCONTI, LF_UMART, LF_DESLIN, LF_CODCORR,
|
open_files(LF_DOC, LF_RIGHEDOC, LF_CONDV, LF_RCONDV, LF_ANAMAG, LF_SCONTI, LF_UMART, LF_DESLIN, LF_CODCORR,
|
||||||
LF_TAB, LF_TABCOM, LF_CLIFO, LF_CFVEN, LF_INDSP, LF_OCCAS, LF_PCON, LF_MOV, LF_STOMAG,
|
LF_TAB, LF_TABCOM, LF_CLIFO, LF_CFVEN, LF_INDSP, LF_OCCAS, LF_PCON, LF_MOV, LF_STOMAG,
|
||||||
LF_MOVMAG, LF_RMOVMAG, LF_MAG, LF_SVRIEP, LF_AGENTI, LF_PERCPROV, LF_ATTIV, LF_CAUSALI, 0);
|
LF_MOVMAG, LF_RMOVMAG, LF_MAG, LF_SVRIEP, LF_AGENTI, LF_PERCPROV, LF_ATTIV, LF_CAUSALI, 0);
|
||||||
|
|
||||||
TISAM_recordset num("USE %NUM");
|
TISAM_recordset num("USE %NUM");
|
||||||
for (bool ok = num.move_first(); ok; ok = num.move_next())
|
for (bool ok = num.move_first(); ok; ok = num.move_next())
|
||||||
@ -678,6 +690,7 @@ bool TMotore_application::user_create( )
|
|||||||
|
|
||||||
_msk->set_handler(F_ANNO, TDocumento_mask::anno_handler);
|
_msk->set_handler(F_ANNO, TDocumento_mask::anno_handler);
|
||||||
_msk->set_handler(F_CODNUM, TDocumento_mask::num_handler);
|
_msk->set_handler(F_CODNUM, TDocumento_mask::num_handler);
|
||||||
|
_msk->set_handler(F_TIPODOC, tdoc_handler);
|
||||||
_msk->set_handler(F_NUMDOCRIF, TDocumento_mask::numdocrif_search_handler);
|
_msk->set_handler(F_NUMDOCRIF, TDocumento_mask::numdocrif_search_handler);
|
||||||
//_msk->set_handler(F_RAGSOCSEARCH, TDocumento_mask::ragsoc_search_handler);
|
//_msk->set_handler(F_RAGSOCSEARCH, TDocumento_mask::ragsoc_search_handler);
|
||||||
_msk->set_handler(F_NDOC, ndoc_handler);
|
_msk->set_handler(F_NDOC, ndoc_handler);
|
||||||
@ -1165,6 +1178,7 @@ bool TMotore_application::save_and_print(bool savedoc, TPrtype mode)
|
|||||||
if (filter > 0)
|
if (filter > 0)
|
||||||
{
|
{
|
||||||
const bool da_stampare = doc.stampabile();
|
const bool da_stampare = doc.stampabile();
|
||||||
|
const char old_stato = doc.stato();
|
||||||
|
|
||||||
TString commandline;
|
TString commandline;
|
||||||
commandline = "ve1 -";
|
commandline = "ve1 -";
|
||||||
@ -1200,9 +1214,10 @@ bool TMotore_application::save_and_print(bool savedoc, TPrtype mode)
|
|||||||
|
|
||||||
// Lo stato del documento vive di vita propria
|
// Lo stato del documento vive di vita propria
|
||||||
const char sfs = maindoc.tipo().stato_finale_stampa();
|
const char sfs = maindoc.tipo().stato_finale_stampa();
|
||||||
maindoc.stato(sfs);
|
const char new_stato = old_stato > sfs ? old_stato : sfs;
|
||||||
const char str_sfs[2] = { sfs, '\0' };
|
maindoc.stato(new_stato);
|
||||||
m.set(F_STATO, str_sfs, true);
|
const char ss[2] = { new_stato, '\0' };
|
||||||
|
m.set(F_STATO, ss, true);
|
||||||
init_modify_mode(m);
|
init_modify_mode(m);
|
||||||
}
|
}
|
||||||
do_elab(maindoc, true);
|
do_elab(maindoc, true);
|
||||||
@ -1211,7 +1226,7 @@ bool TMotore_application::save_and_print(bool savedoc, TPrtype mode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
rep.ext("");
|
rep.ext("");
|
||||||
error_box("Il profilo %s non esiste", (const char*)rep);
|
cantread_box(rep);
|
||||||
return already_printing = false;
|
return already_printing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,8 @@ protected:
|
|||||||
int stato_corrente( );
|
int stato_corrente( );
|
||||||
|
|
||||||
// Handler per la maschera di ricerca
|
// Handler per la maschera di ricerca
|
||||||
static bool ndoc_handler( TMask_field& f, KEY key );
|
static bool ndoc_handler(TMask_field& f, KEY key);
|
||||||
|
static bool tdoc_handler(TMask_field& f, KEY key);
|
||||||
|
|
||||||
// caricamento Inifile
|
// caricamento Inifile
|
||||||
virtual void sheet2ini(TSheet_field& s, TConfig& ini);
|
virtual void sheet2ini(TSheet_field& s, TConfig& ini);
|
||||||
|
@ -203,15 +203,15 @@ END
|
|||||||
STRING F_RAGSOCSEARCH 50
|
STRING F_RAGSOCSEARCH 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 9 "Ragione Sociale "
|
PROMPT 2 9 "Ragione Sociale "
|
||||||
USE LF_DOC SELECT (TIPOCF==#F_TIPOCF)&&(LF_CLIFO->RAGSOC?=(#F_RAGSOCSEARCH+"*"))&&((#F_STATO=="")||(STATO==#F_STATO))
|
USE LF_DOC SELECT (TIPOCF==#F_TIPOCF)&&(BETWEEN(STATO,#F_STATO,#F_STATO))
|
||||||
BY LF_CLIFO->RAGSOC NDOC
|
BY LF_CLIFO->RAGSOC NDOC
|
||||||
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
|
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||||
INPUT PROVV F_PROVV SELECT
|
INPUT PROVV F_PROVV SELECT
|
||||||
INPUT ANNO F_ANNO SELECT
|
INPUT ANNO F_ANNO SELECT
|
||||||
INPUT CODNUM F_CODNUM SELECT
|
INPUT CODNUM F_CODNUM SELECT
|
||||||
|
INPUT LF_CLIFO->RAGSOC F_RAGSOCSEARCH
|
||||||
COPY DISPLAY F_CODCF
|
COPY DISPLAY F_CODCF
|
||||||
COPY OUTPUT F_NDOC
|
COPY OUTPUT F_CODCF
|
||||||
OUTPUT F_CODCF CODCF
|
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -319,8 +319,10 @@ int TReport_doc::set_printed_status(TDocumento& doc) const
|
|||||||
if (doc.get_char(DOC_PROVV) == 'D') // Se e' una numerazione definitiva
|
if (doc.get_char(DOC_PROVV) == 'D') // Se e' una numerazione definitiva
|
||||||
{
|
{
|
||||||
if (doc.stampabile()) // Controlla se non e' gia' nello stato si stampato in definitiva
|
if (doc.stampabile()) // Controlla se non e' gia' nello stato si stampato in definitiva
|
||||||
{
|
{
|
||||||
doc.stato(doc.tipo().stato_finale_stampa()); // Se e' gia' in definitiva aggiorna solo lo stato
|
const char sfs = doc.tipo().stato_finale_stampa();
|
||||||
|
if (doc.stato() < sfs)
|
||||||
|
doc.stato(sfs); // Se non e' gia' in definitiva aggiorna lo stato
|
||||||
err = doc.rewrite();
|
err = doc.rewrite();
|
||||||
|
|
||||||
// Invia la transazione di cambio stato se necessario
|
// Invia la transazione di cambio stato se necessario
|
||||||
@ -332,8 +334,7 @@ int TReport_doc::set_printed_status(TDocumento& doc) const
|
|||||||
ini.set("Action", "MODIFY");
|
ini.set("Action", "MODIFY");
|
||||||
ini.set("Firm", prefix().get_codditta());
|
ini.set("Firm", prefix().get_codditta());
|
||||||
ini.set("Mode", "A");
|
ini.set("Mode", "A");
|
||||||
TString4 paradoc; paradoc.format("%d", LF_DOC);
|
ini.set_paragraph(LF_DOC);
|
||||||
ini.set_paragraph(paradoc);
|
|
||||||
ini.set(DOC_PROVV, doc.get(DOC_PROVV));
|
ini.set(DOC_PROVV, doc.get(DOC_PROVV));
|
||||||
ini.set(DOC_ANNO, doc.get(DOC_ANNO));
|
ini.set(DOC_ANNO, doc.get(DOC_ANNO));
|
||||||
ini.set(DOC_CODNUM, doc.get(DOC_CODNUM));
|
ini.set(DOC_CODNUM, doc.get(DOC_CODNUM));
|
||||||
@ -1205,11 +1206,10 @@ bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken
|
|||||||
const TDocumento doc('D', _anno, _codnum, _ndoc);
|
const TDocumento doc('D', _anno, _codnum, _ndoc);
|
||||||
doc.riferimento(subj);
|
doc.riferimento(subj);
|
||||||
if (subj.blank())
|
if (subj.blank())
|
||||||
{
|
|
||||||
subj = doc.tipo().descrizione();
|
subj = doc.tipo().descrizione();
|
||||||
subj << ' ' << _ndoc << TR(" del ") << doc.get(DOC_DATADOC)
|
subj << ' ' << _ndoc << TR(" del ") << doc.get(DOC_DATADOC)
|
||||||
<< ' ' << prefix().firm().ragione_sociale();
|
<< ' ' << prefix().firm().ragione_sociale();
|
||||||
}
|
|
||||||
TString saluti = esc(ini_get_string(CONFIG_USER, "Mail", "Signature"));
|
TString saluti = esc(ini_get_string(CONFIG_USER, "Mail", "Signature"));
|
||||||
if (saluti.full())
|
if (saluti.full())
|
||||||
{
|
{
|
||||||
@ -1224,10 +1224,7 @@ bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
text << TR("Cordiali Saluti");
|
text << TR("Cordiali Saluti ") << prefix().firm().ragione_sociale();
|
||||||
if (user() != dongle().administrator())
|
|
||||||
text << " " << cache().get(LF_USER, user(), "USERDESC");
|
|
||||||
text << ' ' << prefix().firm().ragione_sociale();
|
|
||||||
}
|
}
|
||||||
text.trim();
|
text.trim();
|
||||||
if (to.full())
|
if (to.full())
|
||||||
@ -1391,7 +1388,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool final_
|
|||||||
const TTipo_documento& tipo = cached_tipodoc(tipodoc);
|
const TTipo_documento& tipo = cached_tipodoc(tipodoc);
|
||||||
|
|
||||||
const bool final_doc = doc.get(DOC_STATO).as_string()[0] >= tipo.stato_finale_stampa();
|
const bool final_doc = doc.get(DOC_STATO).as_string()[0] >= tipo.stato_finale_stampa();
|
||||||
if (final_print && final_doc)
|
if (final_print && final_doc && docs > 1) // Se docs==1 probabilmente stampo un sigolo documento comunque
|
||||||
continue; // Evita lavoro inutile!
|
continue; // Evita lavoro inutile!
|
||||||
|
|
||||||
bool arc = false;
|
bool arc = false;
|
||||||
@ -1692,7 +1689,7 @@ void TReport_doc_app::main_loop()
|
|||||||
_msk->set(F_A_NDOC, andoc);
|
_msk->set(F_A_NDOC, andoc);
|
||||||
}
|
}
|
||||||
|
|
||||||
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!
|
// argv(7); // Provvisiorio o Definitivo testato altrove!
|
||||||
if (a > 8)
|
if (a > 8)
|
||||||
_msk->set(F_NCOPIE, argv(8)); // Numero copie
|
_msk->set(F_NCOPIE, argv(8)); // Numero copie
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include <recarray.h>
|
#include <recarray.h>
|
||||||
#include <recset.h>
|
#include <recset.h>
|
||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
|
#include <sheet.h>
|
||||||
|
|
||||||
#include "../mg/anamag.h"
|
#include "../mg/anamag.h"
|
||||||
#include "../mg/codcorr.h"
|
#include "../mg/codcorr.h"
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <defmask.h>
|
|
||||||
#include <dongle.h>
|
#include <dongle.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <recarray.h>
|
#include <recarray.h>
|
||||||
#include <recset.h>
|
#include <recset.h>
|
||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
|
#include <sheet.h>
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
|
|
||||||
#include "../mg/anamag.h"
|
#include "../mg/anamag.h"
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
#include <printapp.h>
|
#include <printapp.h>
|
||||||
#include <mask.h>
|
#include <mask.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@ -163,16 +162,19 @@ bool TStampa_condizioni_vendita::user_create() {
|
|||||||
return (gotcha);
|
return (gotcha);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TStampa_condizioni_vendita::user_destroy() {
|
bool TStampa_condizioni_vendita::user_destroy()
|
||||||
|
{
|
||||||
delete _rel; // distrugge la relazione principale
|
delete _rel; // distrugge la relazione principale
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TStampa_condizioni_vendita::set_print(int) {
|
bool TStampa_condizioni_vendita::set_print(int)
|
||||||
|
{
|
||||||
TMask mask("ve3200x");
|
TMask mask("ve3200x");
|
||||||
mask.set(F_TIPO, _condven); // settaggio del campo di tipo archivio
|
mask.set(F_TIPO, _condven); // settaggio del campo di tipo archivio
|
||||||
mask.set_handler(F_TIPORIGHE,tipo_handler);
|
mask.set_handler(F_TIPORIGHE,tipo_handler);
|
||||||
switch (_condven[0]) {
|
switch (_condven[0])
|
||||||
|
{
|
||||||
case 'L': // listini
|
case 'L': // listini
|
||||||
mask.show(-1);// nasconde i campi dei listini
|
mask.show(-1);// nasconde i campi dei listini
|
||||||
mask.hide(-5);// nasconde i campi del gr. merc
|
mask.hide(-5);// nasconde i campi del gr. merc
|
||||||
@ -218,7 +220,8 @@ bool TStampa_condizioni_vendita::set_print(int) {
|
|||||||
DESTROY(F_C_COD);
|
DESTROY(F_C_COD);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (mask.run()== K_ENTER) { // lancia la maschera, se viene confermata vengono trovati gli estremi del cursore
|
if (mask.run()== K_ENTER)
|
||||||
|
{ // lancia la maschera, se viene confermata vengono trovati gli estremi del cursore
|
||||||
_testastamp= FALSE; // azzera il flag di testa già stampata
|
_testastamp= FALSE; // azzera il flag di testa già stampata
|
||||||
_listval= mask.get_bool(F_L_LISTVALUTA); // legge lo stato del checkbox di abilitazione dei listini in valuta
|
_listval= mask.get_bool(F_L_LISTVALUTA); // legge lo stato del checkbox di abilitazione dei listini in valuta
|
||||||
_testacomp= mask.get_bool(F_TESTACOMP); // legge l'abilitazione della stampa completa della testata
|
_testacomp= mask.get_bool(F_TESTACOMP); // legge l'abilitazione della stampa completa della testata
|
||||||
@ -229,7 +232,8 @@ bool TStampa_condizioni_vendita::set_print(int) {
|
|||||||
TRectype da(rcondv.curr()); // prepara il record di inizio regione
|
TRectype da(rcondv.curr()); // prepara il record di inizio regione
|
||||||
da.zero();
|
da.zero();
|
||||||
da.put("TIPO", _condven);
|
da.put("TIPO", _condven);
|
||||||
switch (_condven[0]) { // impostazione della chiave della testata
|
switch (_condven[0])
|
||||||
|
{ // impostazione della chiave della testata
|
||||||
case 'L': // listini
|
case 'L': // listini
|
||||||
if (_codlis_catven) da.put("CATVEN", mask.get(F_L_CATVEN));
|
if (_codlis_catven) da.put("CATVEN", mask.get(F_L_CATVEN));
|
||||||
else da.blank("CATVEN"); // riempie il campo di blank se non è gestito
|
else da.blank("CATVEN"); // riempie il campo di blank se non è gestito
|
||||||
@ -237,10 +241,13 @@ bool TStampa_condizioni_vendita::set_print(int) {
|
|||||||
break;
|
break;
|
||||||
case 'C': // contratti
|
case 'C': // contratti
|
||||||
da.blank("CATVEN"); // i campi non gestiti vengono riempiti di blank
|
da.blank("CATVEN"); // i campi non gestiti vengono riempiti di blank
|
||||||
if (_codcon_codcf) {
|
if (_codcon_codcf)
|
||||||
|
{
|
||||||
da.put("TIPOCF", mask.get(F_C_TIPOCF));
|
da.put("TIPOCF", mask.get(F_C_TIPOCF));
|
||||||
da.put("CODCF", mask.get(F_C_CODCF));
|
da.put("CODCF", mask.get(F_C_CODCF));
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
da.blank("TIPOCF"); // riempie i campi di blank se non sono gestiti
|
da.blank("TIPOCF"); // riempie i campi di blank se non sono gestiti
|
||||||
da.blank("CODCF");
|
da.blank("CODCF");
|
||||||
}
|
}
|
||||||
@ -251,7 +258,9 @@ bool TStampa_condizioni_vendita::set_print(int) {
|
|||||||
da.blank("TIPOCF");
|
da.blank("TIPOCF");
|
||||||
da.blank("CODCF");
|
da.blank("CODCF");
|
||||||
da.put("COD", mask.get(F_O_COD));
|
da.put("COD", mask.get(F_O_COD));
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
TString filter;
|
TString filter;
|
||||||
@ -260,23 +269,43 @@ bool TStampa_condizioni_vendita::set_print(int) {
|
|||||||
|
|
||||||
if (!_filter_by_grm)
|
if (!_filter_by_grm)
|
||||||
{
|
{
|
||||||
da.put("TIPORIGA", mask.get(F_TIPORIGHE));
|
if (mask.get(F_C_COD).full())
|
||||||
da.put("CODRIGA", mask.get(F_DARIGA_A));
|
{
|
||||||
a.put("TIPORIGA", mask.get(F_TIPORIGHE));
|
da.put("TIPORIGA", mask.get(F_TIPORIGHE));
|
||||||
a.put("CODRIGA", mask.get(F_ARIGA_A));
|
da.put("CODRIGA", mask.get(F_DARIGA_A));
|
||||||
|
a.put("TIPORIGA", mask.get(F_TIPORIGHE));
|
||||||
|
a.put("CODRIGA", mask.get(F_ARIGA_A));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (filter.not_empty()) filter << "&&";
|
||||||
|
filter << "(TIPORIGA=\"" << mask.get(F_TIPORIGHE) << "\")";
|
||||||
|
if (mask.get(F_DARIGA_A).full() || mask.get(F_ARIGA_A).full())
|
||||||
|
filter << "&&(BETWEEN(CODRIGA,\"" << mask.get(F_DARIGA_A) << "\",\"" << mask.get(F_ARIGA_A) << "\"))";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else // Elenco righe per articoli ma filtrate sul gruppo merceologico
|
else // Elenco righe per articoli ma filtrate sul gruppo merceologico
|
||||||
{
|
{
|
||||||
da.put("TIPORIGA", "A");a.put("TIPORIGA", "A");
|
if (mask.get(F_C_COD).full())
|
||||||
|
{
|
||||||
|
da.put("TIPORIGA", "A");
|
||||||
|
a.put("TIPORIGA", "A");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (filter.not_empty()) filter << "&&";
|
||||||
|
filter << "(TIPORIGA=\"A\")";
|
||||||
|
}
|
||||||
|
|
||||||
if (mask.get(F_DFLT_G_C).not_empty())
|
if (mask.get(F_DFLT_G_C).not_empty())
|
||||||
{
|
{
|
||||||
|
if (filter.not_empty()) filter << "&&";
|
||||||
filter << "(" << LF_ANAMAG << "->GRMERC>=\"" << mask.get(F_DFLT_G_C);
|
filter << "(" << LF_ANAMAG << "->GRMERC>=\"" << mask.get(F_DFLT_G_C);
|
||||||
filter << "\")";
|
filter << "\")";
|
||||||
}
|
}
|
||||||
if (mask.get(F_DFLT_G_C).not_empty())
|
if (mask.get(F_DFLT_G_C).not_empty())
|
||||||
{
|
{
|
||||||
if (filter.not_empty())
|
if (filter.not_empty()) filter << "&&";
|
||||||
filter << "&&";
|
|
||||||
filter << "(" << LF_ANAMAG << "->GRMERC<=\"" << mask.get(F_AFLT_G_C);
|
filter << "(" << LF_ANAMAG << "->GRMERC<=\"" << mask.get(F_AFLT_G_C);
|
||||||
filter << "\")";
|
filter << "\")";
|
||||||
}
|
}
|
||||||
|
@ -165,11 +165,12 @@ void TPrint_condven::main_loop()
|
|||||||
|
|
||||||
bool TPrint_condven::create()
|
bool TPrint_condven::create()
|
||||||
{
|
{
|
||||||
|
#ifdef NDEBUG
|
||||||
//controlla se la chiave ha l'autorizzazione a questo programma
|
//controlla se la chiave ha l'autorizzazione a questo programma
|
||||||
Tdninst dninst;
|
Tdninst dninst;
|
||||||
if (!dninst.can_I_run(true))
|
if (!dninst.can_I_run(true))
|
||||||
return error_box(TR("Programma non autorizzato!"));
|
return error_box(TR("Programma non autorizzato!"));
|
||||||
|
#endif
|
||||||
return TSkeleton_application::create();
|
return TSkeleton_application::create();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
#include <dongle.h>
|
#include <dongle.h>
|
||||||
#include <lffiles.h>
|
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <recset.h>
|
#include <recset.h>
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
|
#include <sheet.h>
|
||||||
|
|
||||||
#include "ve4.h"
|
#include "ve4.h"
|
||||||
#include "ve4200a.h"
|
#include "ve4200a.h"
|
||||||
|
@ -1938,10 +1938,10 @@ long TDocumento::get_next_key(char provv, int anno, const char* codnum) const
|
|||||||
{
|
{
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
doc.prev();
|
doc.prev();
|
||||||
if (curr.get_char("PROVV") == provv &&
|
if (curr.get_char(DOC_PROVV) == provv &&
|
||||||
curr.get_int("ANNO") == anno &&
|
curr.get_int(DOC_ANNO) == anno &&
|
||||||
curr.get("CODNUM") == codnum)
|
curr.get(DOC_CODNUM) == codnum)
|
||||||
n = curr.get_long("NDOC");
|
n = curr.get_long(DOC_NDOC);
|
||||||
}
|
}
|
||||||
|
|
||||||
n++;
|
n++;
|
||||||
|
@ -1149,7 +1149,7 @@ void TDocumento_mask::cli2mask(bool force_load)
|
|||||||
key.add("N");
|
key.add("N");
|
||||||
key.add("1");
|
key.add("1");
|
||||||
|
|
||||||
const TRectype & cfbanpr = cache().get(LF_CFBAN, key);
|
const TRectype& cfbanpr = cache().get(LF_CFBAN, key);
|
||||||
|
|
||||||
// Setta i campi che appartengono al file LF_CFVEN
|
// Setta i campi che appartengono al file LF_CFVEN
|
||||||
if (cfbanpr.empty() || id2pos(F_CODABIP1) < 0)
|
if (cfbanpr.empty() || id2pos(F_CODABIP1) < 0)
|
||||||
@ -4522,8 +4522,12 @@ bool TBarcode_mask::on_code_entered(const TString& code)
|
|||||||
{
|
{
|
||||||
if (rdoc->get(RDOC_CODART) == codart && rdoc->get(RDOC_LIVELLO) == livello)
|
if (rdoc->get(RDOC_CODART) == codart && rdoc->get(RDOC_LIVELLO) == livello)
|
||||||
{
|
{
|
||||||
rdoc->add(RDOC_QTA, qta);
|
const int idx = s.cid2index(FR_QTA);
|
||||||
s.row(i-1).add(rdoc->get(RDOC_QTA), s.cid2index(FR_QTA));
|
TToken_string& row = s.row(i-1);
|
||||||
|
qta += real(row.get(idx));
|
||||||
|
row.add(qta.string(),idx);
|
||||||
|
s.check_row(i-1, 0x3);
|
||||||
|
rdoc->autosave(s);
|
||||||
s.force_update(i-1);
|
s.force_update(i-1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -4531,12 +4535,14 @@ bool TBarcode_mask::on_code_entered(const TString& code)
|
|||||||
|
|
||||||
TRiga_documento& r = doc.new_row(_dm.get(F_LBTIPORIGA));
|
TRiga_documento& r = doc.new_row(_dm.get(F_LBTIPORIGA));
|
||||||
r.put(RDOC_CODART, codart);
|
r.put(RDOC_CODART, codart);
|
||||||
|
r.put(RDOC_CODARTMAG, codart);
|
||||||
r.put(RDOC_LIVELLO, livello);
|
r.put(RDOC_LIVELLO, livello);
|
||||||
r.put(RDOC_QTA, qta);
|
r.put(RDOC_QTA, qta);
|
||||||
r.autoload(s);
|
r.autoload(s);
|
||||||
const int i = r.get_int(RDOC_NRIGA)-1;
|
const int i = r.get_int(RDOC_NRIGA)-1;
|
||||||
_dm.ss_notify(s, i, K_CTRL+K_INS); // Propone magazzino
|
_dm.ss_notify(s, i, K_CTRL+K_INS); // Propone magazzino
|
||||||
s.check_row(i, 0x3);
|
s.check_row(i, 0x3);
|
||||||
|
_dm.ss_notify(s, i, K_ENTER); // Fine modifica
|
||||||
s.force_update();
|
s.force_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1462,7 +1462,7 @@ public:
|
|||||||
|
|
||||||
const TString& TLink_riga_documento::get_str(const char* fieldname) const
|
const TString& TLink_riga_documento::get_str(const char* fieldname) const
|
||||||
{
|
{
|
||||||
if (strcmp(fieldname, "RESIDUO") == 0)
|
if (xvt_str_same(fieldname, "RESIDUO"))
|
||||||
{
|
{
|
||||||
TString& value = get_tmp_string();
|
TString& value = get_tmp_string();
|
||||||
value = qtaresidua().string();
|
value = qtaresidua().string();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user