Aggiornamento alla 11.0 delle personalizzazioni

git-svn-id: svn://10.65.10.50/branches/R_10_00@22752 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-10-26 09:09:39 +00:00
parent a9c6b587bc
commit fc22ece6d4
7 changed files with 43 additions and 49 deletions

View File

@ -12,7 +12,6 @@ int main(int argc,char** argv)
case 2 : pd0610300(argc, argv); break; // Modifica condizioni di pagamento SRM case 2 : pd0610300(argc, argv); break; // Modifica condizioni di pagamento SRM
default: pd0610100(argc, argv); break; // Tabella Clienti/Articoli per SRM default: pd0610100(argc, argv); break; // Tabella Clienti/Articoli per SRM
} }
exit(0);
return 0; return 0;
} }

View File

@ -49,7 +49,7 @@ TObject* TOrdf_cache::key2obj(const char* key)
TDocumento* doc = NULL; TDocumento* doc = NULL;
TToken_string tmp(key); TToken_string tmp(key);
if(tmp.items() == 1) if (tmp.items() == 1)
{ {
const long codcf = tmp.get_long(0); const long codcf = tmp.get_long(0);
@ -86,27 +86,22 @@ TDocumento& TOrdf_cache::doc(const TDoc_key& kdoc)
//DOC: restituisce un puntatore ad un documento identificato dal codcf //DOC: restituisce un puntatore ad un documento identificato dal codcf
TDocumento& TOrdf_cache::doc(const long codcf) TDocumento& TOrdf_cache::doc(const long codcf)
{ {
TString16 key; TString8 key; key << codcf;
key << codcf;
return *(TDocumento*)objptr(codcf); return *(TDocumento*)objptr(codcf);
} }
//metodo costruttore di una cache di 20 elementi //metodo costruttore di una cache di 20 elementi
TOrdf_cache::TOrdf_cache(const char* from_tipodoc, const TDate& datadoc) : TCache() TOrdf_cache::TOrdf_cache(const char* cod_elab, const TDate& datadoc) : TCache()
{ {
TToken_string key; const TRectype& eld = cache().get("%ELD", cod_elab);
key.add("TIP");
key.add(from_tipodoc);
TString80 cod_elab = cache().get(LF_TABCOM, key, "S3"); cod_elab.mid(4,8); cod_elab.strip(" ");
key.cut(0);
key.add("ELD");
key.add(cod_elab);
const TRectype& eld = cache().get(LF_TABCOM, key);
_codnum = eld.get("S6"); _codnum = eld.get("S6");
_tipodoc = eld.get("S8"); _tipodoc = eld.get("S8");
_stato = eld.get("S9"); _stato = eld.get("S9");
if (_codnum.blank())
error_box(FR("Manca il codice numerazione sull'elaborazione '%s'"), cod_elab);
_anno = datadoc.year(); _anno = datadoc.year();
_data = datadoc; _data = datadoc;
} }
@ -122,8 +117,8 @@ private:
TFilename _ini_name; TFilename _ini_name;
protected: protected:
virtual bool check_autorization() const {return false;} virtual bool check_autorization() const { return false; }
virtual const char * extra_modules() const {return "cg";} virtual const char* extra_modules() const {return "cg";}
virtual void main_loop(); virtual void main_loop();
@ -133,11 +128,11 @@ protected:
void ordini_fornitore(const TDocumento& ordc, const int nriga, TDocumento& ordf); void ordini_fornitore(const TDocumento& ordc, const int nriga, TDocumento& ordf);
void aggiorna_ordf(const TDocumento& ordc, const int nriga, const TDoc_key& adoc, TOrdf_cache& ca, bool first); void aggiorna_ordf(const TDocumento& ordc, const int nriga, const TDoc_key& adoc, TOrdf_cache& ca, bool first);
TDoc_key * crea_ordf(const TDocumento& ordc, const long nriga, const long codfor, TOrdf_cache& ca, bool first); void crea_ordf(const TDocumento& ordc, const long nriga, const long codfor, TOrdf_cache& ca, bool first);
void elimina_ordf(const TDoc_key& adoc, TOrdf_cache& ca); void elimina_ordf(const TDoc_key& adoc, TOrdf_cache& ca);
void elimina_righe(const TDocumento& ordc, TOrdf_cache& ca); void elimina_righe(const TDocumento& ordc, TOrdf_cache& ca);
void elabora_ordini_cliente(); void elabora_ordini();
public: public:
bool load_ini(bool check); bool load_ini(bool check);
@ -311,7 +306,7 @@ void TCrea_ordini_srm_app::aggiorna_ordf(const TDocumento& ordc, const int nriga
} }
//CREA_ORDF: creo un nuovo ordine cliente //CREA_ORDF: creo un nuovo ordine cliente
TDoc_key * TCrea_ordini_srm_app::crea_ordf(const TDocumento& ordc, const long nriga, const long codfor, TOrdf_cache& ca, bool first) void TCrea_ordini_srm_app::crea_ordf(const TDocumento& ordc, const long nriga, const long codfor, TOrdf_cache& ca, bool first)
{ {
TDoc_key kordf; TDoc_key kordf;
TDoc_key kdadoc(ordc.get_int(DOC_ANNO), ordc.get(DOC_CODNUM), ordc.get_long(DOC_NDOC), ordc.get_char(DOC_PROVV)); TDoc_key kdadoc(ordc.get_int(DOC_ANNO), ordc.get(DOC_CODNUM), ordc.get_long(DOC_NDOC), ordc.get_char(DOC_PROVV));
@ -381,7 +376,6 @@ TDoc_key * TCrea_ordini_srm_app::crea_ordf(const TDocumento& ordc, const long nr
ordf.put(DOC_CODCONT, codcont); ordf.put(DOC_CODCONT, codcont);
} }
ordini_fornitore(ordc, nriga, ordf); ordini_fornitore(ordc, nriga, ordf);
return new TDoc_key(ordf.get_int(DOC_ANNO), ordf.get(DOC_CODNUM), ordf.get_long(DOC_NDOC), ordf.get_char(DOC_PROVV));
} }
//ELIMINA_ORDF: aggiorno l'ordine fornitore che esiste già in base alle modifiche fatte sull'ordine cliente attuale //ELIMINA_ORDF: aggiorno l'ordine fornitore che esiste già in base alle modifiche fatte sull'ordine cliente attuale
@ -438,31 +432,30 @@ void TCrea_ordini_srm_app::elimina_righe(const TDocumento& ordc, TOrdf_cache& ca
} }
//ELABORA_ORDINI_CLIENTE: scorro il file ini e aggiungo alla tabella dei listini le righe mancanti //ELABORA_ORDINI_CLIENTE: scorro il file ini e aggiungo alla tabella dei listini le righe mancanti
void TCrea_ordini_srm_app::elabora_ordini_cliente() void TCrea_ordini_srm_app::elabora_ordini()
{ {
TString4 para; para.format("%d", LF_DOC); TString4 para; para.format("%d", LF_DOC);
TConfig ini(_ini_name, para); TConfig ini(_ini_name, para);
const char provv = ini.get_char(DOC_PROVV, para); const char provv = ini.get_char(DOC_PROVV, para);
const int anno = ini.get_int(DOC_ANNO, para); const int anno = ini.get_int(DOC_ANNO, para);
const TString& codnum = ini.get(DOC_CODNUM, para); const TString4 codnum = ini.get(DOC_CODNUM, para);
const long ndoc = ini.get_long(DOC_NDOC, para); const long ndoc = ini.get_long(DOC_NDOC, para);
const bool delete_docs = ini.get(DOC_NOTE, para) == "DELETING"; const bool delete_docs = ini.get(DOC_NOTE, para) == "DELETING";
const TString8 cod_elab = ini.get("Action", "Transaction");
TDoc_key dadoc(anno, codnum, ndoc, provv); TDoc_key dadoc(anno, codnum, ndoc, provv);
TDocumento ordc(provv, anno, codnum, ndoc); TDocumento ordc(provv, anno, codnum, ndoc);
TOrdf_cache ca(ordc.get(DOC_TIPODOC), ordc.get_date(DOC_DATADOC)); TOrdf_cache ca(cod_elab, ordc.get_date(DOC_DATADOC));
//scorro le righe documento, fermandomi quando la set_paragraph fallisce //scorro le righe documento, fermandomi quando la set_paragraph fallisce
//dal momento che non so a priori quante sono le righe del documento //dal momento che non so a priori quante sono le righe del documento
for(int i = 1; i <= ordc.rows(); i++) for(int i = 1; i <= ordc.rows(); i++)
{ {
TRiga_documento& rordc = ordc[i]; const TRiga_documento& rordc = ordc[i];
const long codfor1 = rordc.get_long(RDOC_CODAGG1); //da prendere dalla riga
const long codfor2 = rordc.get_long(RDOC_CODAGG2); //da prendere dalla riga
// const int idrigac = rordc.get_int(RDOC_IDRIGA);
const long codfor1 = rordc.get_long(RDOC_CODAGG1); //da prendere dalla riga
if (codfor1 > 0) if (codfor1 > 0)
{ {
TDoc_key ordf; TDoc_key ordf;
@ -474,8 +467,10 @@ void TCrea_ordini_srm_app::elabora_ordini_cliente()
aggiorna_ordf(ordc, i, ordf, ca, true); aggiorna_ordf(ordc, i, ordf, ca, true);
} }
else else
TDoc_key * ordf = crea_ordf(ordc, i, codfor1, ca, true); crea_ordf(ordc, i, codfor1, ca, true);
} }
const long codfor2 = rordc.get_long(RDOC_CODAGG2); //da prendere dalla riga
if (codfor2 > 0) if (codfor2 > 0)
{ {
TDoc_key ordf; TDoc_key ordf;
@ -487,7 +482,7 @@ void TCrea_ordini_srm_app::elabora_ordini_cliente()
aggiorna_ordf(ordc, i, ordf, ca, false); aggiorna_ordf(ordc, i, ordf, ca, false);
} }
else else
TDoc_key * ordf = crea_ordf(ordc, i, codfor2, ca, false); crea_ordf(ordc, i, codfor2, ca, false);
} }
} }
@ -533,7 +528,7 @@ void TCrea_ordini_srm_app::main_loop() //definizione della member function main_
// mostra un messaggio di errore se non riesce ad aprire il file richiesto // mostra un messaggio di errore se non riesce ad aprire il file richiesto
if (load_ini(chk_doc)) if (load_ini(chk_doc))
{ {
elabora_ordini_cliente(); elabora_ordini();
message_box(TR("Creazione ordini fornitore completata")); message_box(TR("Creazione ordini fornitore completata"));
} }
else else

View File

@ -1,7 +1,6 @@
#include <xvt.h> #include <xvt.h>
#include "pd5317.h" #include "pd5317.h"
#include "pd5317100.h"
int main(int argc, char** argv) int main(int argc, char** argv)
{ {

View File

@ -11,6 +11,5 @@ int main(int argc, char** argv)
default: default:
pd6030100(argc, argv); break; //importazione clienti Press Color pd6030100(argc, argv); break; //importazione clienti Press Color
} }
exit(0);
return 0; return 0;
} }

View File

@ -22,13 +22,10 @@ bool TMaskpd60301::on_field_event(TOperable_field& o, TField_event e, long jolly
class TStampaClientipd6030 : public TSkeleton_application class TStampaClientipd6030 : public TSkeleton_application
{ {
virtual bool check_autorization() const {return false;}
virtual const char * extra_modules() const {return "cg";}
protected: protected:
virtual bool check_autorization() const { return false; }
virtual const char* extra_modules() const {return "cg";}
virtual void main_loop(); virtual void main_loop();
public:
}; };
void TStampaClientipd6030::main_loop() void TStampaClientipd6030::main_loop()
@ -71,6 +68,6 @@ void TStampaClientipd6030::main_loop()
int pd6030100(int argc, char* argv[]) int pd6030100(int argc, char* argv[])
{ {
TStampaClientipd6030 a; TStampaClientipd6030 a;
a.run(argc, argv, "Stampa Clienti PressColor"); a.run(argc, argv, TR("Stampa Clienti PressColor"));
return 0; return 0;
} }

View File

@ -433,7 +433,7 @@ TImporto TEC_array::importo(const TPartita& game, const TRectype& pag, bool valu
if (!valuta && fat_val) // Se voglio gli abbuoni in lire ma la fattura non lo e' if (!valuta && fat_val) // Se voglio gli abbuoni in lire ma la fattura non lo e'
{ {
const TValuta val(sum); // Leggo il cambio dalla riga di partita const TValuta val(sum); // Leggo il cambio dalla riga di partita
val.val2lit(abb); // Converto in lire gli abbuoni val.val2eur(abb); // Converto in Euro gli abbuoni
abb += pag.get_real(PAGSCA_DIFFCAM); // Sommo l'eventuale differenza cambio (gia' in lire) abb += pag.get_real(PAGSCA_DIFFCAM); // Sommo l'eventuale differenza cambio (gia' in lire)
} }
imp.valore() += abb; // Sommo il tutto all'importo base (sez e' uguale per tutti i valori) imp.valore() += abb; // Sommo il tutto all'importo base (sez e' uguale per tutti i valori)
@ -746,7 +746,7 @@ static int tot_compare(const void* o1, const void* o2)
const THash_object* h1 = *((const THash_object**)o1); const THash_object* h1 = *((const THash_object**)o1);
const THash_object* h2 = *((const THash_object**)o2); const THash_object* h2 = *((const THash_object**)o2);
return stricmp(h1->key(), h2->key()); return xvt_str_compare_ignoring_case(h1->key(), h2->key());
} }
word TEC_form::ordina_totali_per_valuta(THash_object* tot[MAXTOT]) word TEC_form::ordina_totali_per_valuta(THash_object* tot[MAXTOT])
@ -1964,8 +1964,8 @@ void TStampaEC_application::main_loop()
if (excel) if (excel)
{ {
TFilename slk; slk.tempdir(); slk.add("ec.slk"); TFilename slk; slk.tempdir(); slk.add("ec.xls");
_form->recordset().save_as(slk, fmt_silk); _form->recordset().save_as(slk, fmt_html);
xvt_sys_goto_url(slk, "open"); xvt_sys_goto_url(slk, "open");
} }

View File

@ -1,15 +1,20 @@
#include "scselmsk.h" #include "../sc/scselmsk.h"
#include "ps0925100a.h" #include "ps0925100a.h"
TOOLBAR "Toobar" 0 0 0 2 TOOLBAR "Toobar" 0 0 0 2
BUTTON DLG_EDIT 10 2 BUTTON DLG_EDIT 2 2
BEGIN BEGIN
PROMPT 1 1 "~Edit" PROMPT 1 1 "Excel"
PICTURE TOOL_EDIT PICTURE TOOL_EXCEL
MESSAGE EXIT,69 MESSAGE EXIT,69
END END
BUTTON DLG_NULL 2 2
BEGIN
PROMPY 2 1 ""
END
#include <printbar.h> #include <printbar.h>
ENDPAGE ENDPAGE
@ -167,12 +172,12 @@ END
BUTTON SC_SELECT 10 1 BUTTON SC_SELECT 10 1
BEGIN BEGIN
PROMPT 52 12 "S~elezione" PROMPT 52 12 "Selezione"
END END
BUTTON SC_RESET 10 1 BUTTON SC_RESET 10 1
BEGIN BEGIN
PROMPT 65 13 "A~zzera" PROMPT 65 12 "Azzera"
END END
NUMBER SC_NSEL 4 NUMBER SC_NSEL 4