Patch level : 2.0 534

Files correlati     : ba3.exe ba4.exe batbcam.msk
Ricompilazione Demo : [ ]
Commento            :

GF20058
Nonostante la tabella dei cambi giornalieri abbia per la valuta x per
il gg y la spunta di contro euro quando seleziono quella valuta la spunta
di contro euro non c'è, cosa strana è che se dal documento vado in gestione
del cambio giornaliero anche lì non appare mentre nei cambi giornalieri
delle tabelle contabili si.

PGxxxxx
Creando una nuova ditta, la relativa attivita' prevalente e priva di descrizione


git-svn-id: svn://10.65.10.50/trunk@11344 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-07-24 11:04:40 +00:00
parent 217b32a84a
commit 3f9094fdb5
2 changed files with 31 additions and 44 deletions

@ -1,3 +1,4 @@
#include <defmask.h>
#include <execp.h>
#include <golem.h>
#include <mailbox.h>
@ -5,12 +6,14 @@
#include <recarray.h>
#include <relapp.h>
#include <tabutil.h>
#include <modaut.h>
#include <defmask.h>
#include "ba4.h"
#include "ba4300.h"
#include <attiv.h>
#include <nditte.h>
#include <unloc.h>
#define FLD_UL1_CODDITTA 133
#define FLD_UL1_CODDITTA_NDITTE_RAGSOC 100
#define FLD_AT1_CODDITTA 102
@ -23,13 +26,9 @@
#define F_CODDITTA 142
#define F_ANNO 132
const char* CODDITTA = "CODDITTA";
const char* CODATTPREV = "CODATTPREV";
const char* TIPOA = "TIPOA";
const char* CODANAGR = "CODANAGR";
const char* CODATT = "CODATT";
const char* COMRF = "COMRF";
const char* INDRF = "INDRF";
const char* CIVRF = "CIVRF";
@ -39,18 +38,9 @@ const char* INDRES = "INDRES";
const char* CIVRES = "CIVRES";
const char* CAPRES = "CAPRES";
const char* CODULC = "CODULC";
const char* COMULC = "COMULC";
const char* INDULC = "INDULC";
const char* CIVULC = "CIVULC";
const char* CAPULC = "CAPULC";
const char* COMCCIAA = "COMCCIAA";
const char* COMTRIB = "COMTRIB";
#define TABATT "%ais"
#define TABATT "%AIS"
#define CODTAB "CODTAB"
#define S0 "S0"
#define DESCR "DESCR"
class TDitte_application : public TRelation_application
{
@ -70,7 +60,6 @@ protected:
virtual bool protected_record(TRectype& rec) { return prefix().exist(rec.get_long("CODDITTA")); }
void set_att_prev(const TMask& m);
// static bool fax_handler(TMask_field& f, KEY k);
static bool email_handler(TMask_field& f, KEY k);
public:
@ -208,42 +197,40 @@ bool TDitte_application::user_destroy() // releasev e arrmask
void TDitte_application::set_att_prev(const TMask& m)
{
const TString16 attprev(m.get(FLD_GD1_CODATTPREV));
const TString& attprev = m.get(FLD_GD1_CODATTPREV);
if (_oldattprev == attprev)
return;
TRectype& ditte=_rel->curr();
TString codditta(ditte.get(CODDITTA)) ;
TLocalisamfile attiv(LF_ATTIV);
const long codditta = ditte.get_long(ATT_CODDITTA);
TLocalisamfile attiv(LF_ATTIV);
if (_oldattprev.not_empty())
{
attiv.put(CODDITTA, codditta) ;
attiv.put(CODATT, _oldattprev);
attiv.put(ATT_CODDITTA, codditta) ;
attiv.put(ATT_CODATT, _oldattprev);
if (attiv.read(_isequal, _lock) == NOERR)
{
attiv.put("ATTPREV", bool(FALSE));
attiv.put(ATT_ATTPREV, false);
if (attiv.rewrite() != NOERR)
error_box(FR("Non posso aggiornare l'attivita' prevalente precedente : errore n. %d"), attiv.status());
}
}
attiv.zero() ;
attiv.put(CODDITTA, codditta) ;
attiv.put(CODATT, attprev) ;
attiv.put(ATT_CODDITTA, codditta) ;
attiv.put(ATT_CODATT, attprev) ;
const bool itwas = attiv.read(_isequal, _lock) == NOERR;
if (!itwas)
{
attiv.zero() ;
attiv.put(CODDITTA, codditta) ;
attiv.put(CODATT, attprev) ;
attiv.put(ATT_CODDITTA, codditta) ;
attiv.put(ATT_CODATT, attprev) ;
const TRectype& tabatt = cache().get(TABATT, ditte.get(CODATTPREV));
attiv.put(DESCR, tabatt.get(S0)) ;
const TRectype& tabatt = cache().get(TABATT, ditte.get(NDT_CODATTPREV));
attiv.put(ATT_DESCR, tabatt.get(S0)) ;
}
attiv.put("ATTPREV", bool(TRUE)) ;
attiv.put(ATT_ATTPREV, true);
if (itwas)
{
if (attiv.rewrite() != NOERR)
@ -273,14 +260,14 @@ int TDitte_application::write(const TMask& m)
if (anag.read() == NOERR)
{
TLocalisamfile unloc(LF_UNLOC);
unloc.put(CODDITTA, ditte.get(CODDITTA)) ;
unloc.put(CODULC, 1);
unloc.put(COMULC, anag.get(COMRES));
unloc.put(INDULC, anag.get(INDRES));
unloc.put(CIVULC, anag.get(CIVRES));
unloc.put(CAPULC, anag.get(CAPRES));
unloc.put(COMCCIAA, anag.get(COMRES));
unloc.put(COMTRIB, anag.get(COMRES));
unloc.put(ULC_CODDITTA, ditte.get(ATT_CODDITTA)) ;
unloc.put(ULC_CODULC, 1);
unloc.put(ULC_COMULC, anag.get(COMRES));
unloc.put(ULC_INDULC, anag.get(INDRES));
unloc.put(ULC_CIVULC, anag.get(CIVRES));
unloc.put(ULC_CAPULC, anag.get(CAPRES));
unloc.put(ULC_COMCCIAA, anag.get(COMRES));
unloc.put(ULC_COMTRIB, anag.get(COMRES));
unloc.write();
}
}
@ -403,4 +390,4 @@ int ba4300(int argc, char* argv[])
TDitte_application a ;
a.run(argc, argv, TR("Anagrafica Ditte"));
return 0;
}
}

@ -24,7 +24,7 @@ BEGIN
DISPLAY "Codice" CODTAB
DISPLAY "Contro EURO" B1
DISPLAY "Valuta@50" S0
OUTPUT FLD_TABCAM_CODVAL CODTAB[1,3]
OUTPUT FLD_TABCAM_CODVAL CODTAB
OUTPUT FLD_TABCAM_S0 S0
OUTPUT FLD_TABCAM_I2 I2
OUTPUT FLD_TABCAM_B1 B1
@ -72,7 +72,7 @@ BEGIN
DISPLAY "Contro EURO" B1
COPY OUTPUT FLD_TABCAM_CODVAL
CHECKTYPE REQUIRED
KEY 1
KEY 1 // Serve a farlo disabilitare in modifica
END
GROUPBOX DLG_NULL 78 5