Commit Generale Post terremoto
git-svn-id: svn://10.65.10.50/branches/R_10_00@22666 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
41582a974e
commit
4be3336e19
@ -2059,7 +2059,7 @@ bool TCespite::calc_amm(int tipo_sit, const TDate& data_limite,
|
||||
log(FR("* Inizio calcolo situazione %d cespite %s"), tipo_sit, (const char*)idcespite);
|
||||
|
||||
#ifdef DBG
|
||||
if (tipo_sit == 1 && atol(idcespite) == 2004049L)
|
||||
if (tipo_sit == 1 && atol(idcespite) == 1362)
|
||||
tipo_sit = 1; // Put your breakpoint here
|
||||
#endif
|
||||
|
||||
|
@ -94,6 +94,8 @@ protected:
|
||||
bool genera_nomi_output(const char* nome, TFilename& txt, TFilename& tmp) const;
|
||||
bool salva_recordset(TRecordset& recset, const char* nome) const;
|
||||
bool accoda_recordset(TRecordset& recset, const char* nome) const;
|
||||
const TString& curr_cod_list(const long codcf) const;
|
||||
|
||||
public:
|
||||
};
|
||||
|
||||
@ -227,6 +229,36 @@ void TFile2Txt::fill_anagrafica_cliente(const TISAM_recordset& archivio_clienti,
|
||||
clienti.set_fatt("CodiceFiscale", archivio_clienti.get(CLI_COFI), is_fatt);
|
||||
}
|
||||
|
||||
const TString& TFile2Txt::curr_cod_list(const long codcf) const
|
||||
{
|
||||
TString16 key; key.format("C|%ld", codcf);
|
||||
TString4 codlist = cache().get(LF_CFVEN, key, CFV_CODLIST);
|
||||
bool done = codlist.blank();
|
||||
while (!done)
|
||||
{
|
||||
done = true;
|
||||
key.format("L||||%s", (const char*)codlist);
|
||||
const TRectype& rec = cache().get(LF_CONDV, key);
|
||||
const TString4 nxtlist = rec.get(CONDV_CODLISSUCC);
|
||||
if (nxtlist.full())
|
||||
{
|
||||
TDate datascad = rec.get(CONDV_VALFIN);
|
||||
if (datascad.ok())
|
||||
{
|
||||
while (datascad.wday() >= 6)
|
||||
--datascad;
|
||||
if (datascad <= TDate(TODAY))
|
||||
{
|
||||
codlist = nxtlist;
|
||||
done = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return get_tmp_string() = codlist;
|
||||
}
|
||||
|
||||
|
||||
//clienti: i commenti del metodo sono nella genera_cliente_txt() della ha1100 (che è la mamma di questo)
|
||||
bool TFile2Txt::genera_clienti_txt(const long da_codcli)
|
||||
{
|
||||
@ -280,30 +312,11 @@ bool TFile2Txt::genera_clienti_txt(const long da_codcli)
|
||||
}
|
||||
|
||||
|
||||
TString4 codpag = archivio_clienti.get(CLI_CODPAG).as_string();
|
||||
const TString4 codpag = archivio_clienti.get(CLI_CODPAG).as_string();
|
||||
clienti.set("CodicePagamento", codpag.right(2));
|
||||
|
||||
//prima moda: nel campo CodiceListino ci va il codice Campo del Contratto del cliente (listino cliente per Hardy)
|
||||
/*TString query;
|
||||
query << "USE CONDV";
|
||||
query << "\nFROM TIPO=C TIPOCF=C CODCF=#CODCF";
|
||||
query << "\nTO TIPO=C TIPOCF=C CODCF=#CODCF";
|
||||
|
||||
TISAM_recordset contratti(query);
|
||||
contratti.set_var("#CODCF", archivio_clienti.get(CLI_CODCF).as_int());
|
||||
if (contratti.move_last())
|
||||
{
|
||||
const TString& cod_contr = contratti.get(CONDV_COD).as_string();
|
||||
clienti.set("CodiceListino", cod_contr);
|
||||
}*/
|
||||
|
||||
//seconda moda: nel campo CodiceListino ci va il codice del Listino Campo associato al cliente in cfven
|
||||
TToken_string key_cfven;
|
||||
key_cfven.add("C");
|
||||
key_cfven.add(codcf);
|
||||
const TRectype& rec_cfven = cache().get(LF_CFVEN, key_cfven);
|
||||
const TString& listino_cliente = rec_cfven.get(CFV_CODLIST);
|
||||
clienti.set("CodiceListino", listino_cliente);
|
||||
//Nel campo CodiceListino ci va il codice del Listino Campo associato al cliente in cfven
|
||||
clienti.set("CodiceListino", curr_cod_list(codcf));
|
||||
|
||||
const TString& str_sconto = archivio_clienti.get(CFV_SCONTO).as_string();
|
||||
clienti.set("ScontoFineFattura", hd_find_sconto(str_sconto));
|
||||
@ -430,6 +443,7 @@ bool TFile2Txt::genera_sospesi_txt(const long da_codcli)
|
||||
//listini: i commenti del metodo sono nella genera_listino_txt() della ha1100
|
||||
bool TFile2Txt::genera_righelistini_txt()
|
||||
{
|
||||
const TDate oggi(TODAY);
|
||||
TEsporta_listini_recordset righe_listini;
|
||||
|
||||
TISAM_recordset agenti("USE AGENTI");
|
||||
@ -437,6 +451,7 @@ bool TFile2Txt::genera_righelistini_txt()
|
||||
|
||||
TString query;
|
||||
query << "USE RCONDV";
|
||||
query << "\nJOIN CONDV INTO TIPO=TIPO TIPOCF=TIPOCF CODCF==CODCF COD==COD";
|
||||
query << "\nFROM TIPO=L";
|
||||
query << "\nTO TIPO=L";
|
||||
|
||||
@ -449,13 +464,18 @@ bool TFile2Txt::genera_righelistini_txt()
|
||||
TProgind progind(archivio_rcondv_items, "Listini...", false, true);
|
||||
for (bool ok = archivio_rcondv.move_first(); ok; ok = archivio_rcondv.move_next())
|
||||
{
|
||||
progind.addstatus(1);
|
||||
if (!progind.addstatus(1))
|
||||
break;
|
||||
|
||||
const TDate datascad = archivio_rcondv.get("CONDV.VALFIN").as_date();
|
||||
if (datascad.ok() && datascad < oggi)
|
||||
continue;
|
||||
|
||||
righe_listini.new_rec("");
|
||||
|
||||
righe_listini.set("CodiceTerminale", codage);
|
||||
righe_listini.set(RCONDV_COD, archivio_rcondv.get(RCONDV_COD));
|
||||
TString80 codart = archivio_rcondv.get(RCONDV_CODRIGA).as_string();
|
||||
const TString80 codart = archivio_rcondv.get(RCONDV_CODRIGA).as_string();
|
||||
righe_listini.set(RCONDV_CODRIGA, codart);
|
||||
|
||||
real prezzo = archivio_rcondv.get(RCONDV_PREZZO).as_real();
|
||||
|
14
ha/ha2.cpp
14
ha/ha2.cpp
@ -1,10 +1,6 @@
|
||||
#include <xvt.h>
|
||||
#include <checks.h>
|
||||
|
||||
#include "ha2.h"
|
||||
|
||||
#define usage "Error - usage : %s -{0|1}"
|
||||
|
||||
int main(int argc,char** argv)
|
||||
{
|
||||
int rt = -1 ;
|
||||
@ -12,14 +8,8 @@ int main(int argc,char** argv)
|
||||
|
||||
switch (r)
|
||||
{
|
||||
case 0:
|
||||
rt = ha2100(argc, argv) ; break; //gestione file privat
|
||||
break;
|
||||
case 1:
|
||||
rt = ha2200(argc, argv) ; break; //gestione file fatture
|
||||
break;
|
||||
default:
|
||||
error_box(usage, argv[0]) ; break;
|
||||
case 1: rt = ha2200(argc, argv) ; break; //gestione file fatture
|
||||
default: rt = ha2100(argc, argv) ; break; //gestione file privat
|
||||
}
|
||||
return rt;
|
||||
}
|
||||
|
@ -1907,8 +1907,7 @@ int TSystemisamfile::update(
|
||||
{
|
||||
if (newrec.len() == 0)
|
||||
{
|
||||
if (interactive)
|
||||
error_box(FR("Il nuovo tracciato per il file %d e' vuoto"), num());
|
||||
// if (interactive) error_box(FR("Il nuovo tracciato per il file %d e' vuoto"), num()); // Fastidioso per Ilaria
|
||||
setstatus(_istrcerr);
|
||||
return status();
|
||||
}
|
||||
|
@ -346,7 +346,8 @@ TPrintwin::TPrintwin(TTextfile& txt, const char* title)
|
||||
|
||||
_pagelen = p.formlen();
|
||||
|
||||
if (!ispdf) p.init_formlen(prwin); // Calcola offset e altre misure pagina
|
||||
//if (ispdf) // 28/05/2012 Guy: Non capisco perchè ci fosse quesata condizione che falsava p.get_dots_per_line()
|
||||
p.init_formlen(prwin); // Calcola offset e altre misure pagina
|
||||
|
||||
int abs_column=p.get_column_offset();
|
||||
int segno = abs_column>=0 ? 1 : -1;
|
||||
|
@ -37,10 +37,10 @@ bool TGenera_documenti_msk::on_field_event(TOperable_field& o, TField_event e, l
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_DTDOC:
|
||||
if(e == fe_modify)
|
||||
if (e == fe_modify)
|
||||
{
|
||||
const TDate oggi(TODAY);
|
||||
if(get_date(F_DTDOC) <= oggi)
|
||||
if (get_date(F_DTDOC) <= oggi)
|
||||
{
|
||||
warning_box(TR("Attenzione: la data documento non può essere nel passato"));
|
||||
o.reset();
|
||||
@ -394,11 +394,7 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas,
|
||||
const TRectype& rcont = cont.row(codart);
|
||||
|
||||
//recupero i dati di interesse dalla riga del contratto
|
||||
bool arrot;
|
||||
if (rcont.get_int(LVRCONDV_CALCCONS) == 1)
|
||||
arrot = true;
|
||||
else
|
||||
arrot = false;
|
||||
const bool arrot = rcont.get_int(LVRCONDV_CALCCONS) == 1;
|
||||
|
||||
const real conguaglio = rcont.get_real(LVRCONDV_QTACONG);
|
||||
real& qta = *(real*)_quantita.objptr(chiave);
|
||||
@ -480,8 +476,8 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas,
|
||||
|
||||
//scrivo il magazzino
|
||||
|
||||
TCausale_magazzino rit(caudt.causale_ritiro());
|
||||
TCausale_magazzino con(caudt.causale_consegna());
|
||||
const TCausale_magazzino rit(caudt.causale_ritiro());
|
||||
const TCausale_magazzino con(caudt.causale_consegna());
|
||||
|
||||
TString8 magazzino;
|
||||
TString8 magazzinoc;
|
||||
@ -521,7 +517,7 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas,
|
||||
const TString4 codcau = cau.caucol().empty() ? cau.codice() : cau.caucol();
|
||||
rdoc.put(RDOC_CODAGG1, codcau);
|
||||
|
||||
if(cau.is_consegna())
|
||||
if (cau.is_consegna())
|
||||
{
|
||||
const real quantita_noarr = qta - conguaglio;
|
||||
real quantita_arr = quantita_noarr > ZERO ? quantita_noarr : ZERO;
|
||||
@ -532,6 +528,7 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas,
|
||||
long arr = quantita_arr.integer() % ppconf.integer();
|
||||
//se sforo (arr > 0) allora calcolo quanti pezzi in più gli devo dare e aggiorno la quantità
|
||||
if (arr > 0)
|
||||
{
|
||||
if (arr > ppconf.integer() * perarr / 100) //arr <= ppconf*perarr/100 -> formula calcolo congualgio di Tassan
|
||||
{
|
||||
arr = ppconf.integer() - arr;
|
||||
@ -539,6 +536,7 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas,
|
||||
}
|
||||
else
|
||||
quantita_arr -= arr;
|
||||
}
|
||||
}
|
||||
|
||||
//scrivo le quantità
|
||||
@ -551,7 +549,9 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas,
|
||||
//aggiorno il conguaglio sulla riga del contratto
|
||||
//altrimenti se il record di riga contratto è vuoto aggiorno il log
|
||||
if (!rcont.empty())
|
||||
{
|
||||
aggiorna_conguaglio((TRectype&)rcont, quantita_arr - quantita_noarr);
|
||||
}
|
||||
else
|
||||
{
|
||||
TString str;
|
||||
@ -890,7 +890,7 @@ void TGenera_documenti_app::aggiorna_conguaglio(TRectype& rcondv, const real arr
|
||||
rcondv.rewrite(rcont);
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
////////////////////////////////
|
||||
//// Metodi Pubblic ////
|
||||
////////////////////////////////
|
||||
|
||||
|
@ -767,13 +767,11 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k)
|
||||
//estraggo il record corrispondente su LF_CLIFOGIAC
|
||||
const TRecmag_lavanderie& reclav = artrec.find_rec(last_esc);
|
||||
|
||||
real dotod = reclav.get_real(CLIFOGIAC_DOTOD);
|
||||
real dotmp = reclav.get_real(CLIFOGIAC_DOTTM);
|
||||
const real dotod = reclav.get_real(CLIFOGIAC_DOTOD);
|
||||
const real dotmp = reclav.get_real(CLIFOGIAC_DOTTM);
|
||||
|
||||
rdoc.put("DOTOD", dotod);
|
||||
TString16 tmp;
|
||||
tmp << dotod;
|
||||
msk.field(FR_JOLLY1).set(tmp);
|
||||
msk.set(FR_JOLLY1, dotod);
|
||||
}
|
||||
|
||||
if (rdoc.get(RDOC_CODAGG1).empty())
|
||||
@ -1332,22 +1330,28 @@ void TGestione_bolle_app::salva_conguaglio(const TDocumento_mask& mask)
|
||||
const TLaundry_contract cont(codcf, indsped, datadoc);
|
||||
const int codcont = cont.get_int(LVCONDV_CODCONT);
|
||||
|
||||
const bool is_buono_ritiro = mask.get(F_CODNUM) == ini_get_string(CONFIG_DITTA, "lv", "NUM_RIT(0)") &&
|
||||
mask.get(F_TIPODOC) == ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_RIT(0)");
|
||||
|
||||
TLocalisamfile rcondv(LF_LVRCONDV);
|
||||
|
||||
FOR_EACH_DOC_ROW_BACK(d, r, row)
|
||||
{
|
||||
TRiga_documento& rdoc = (TRiga_documento&)*row;
|
||||
|
||||
const TCausale_lavanderie cau(rdoc.get(RDOC_CODAGG1));
|
||||
if (cau.movcong())
|
||||
if (!is_buono_ritiro) // 02-05-2012
|
||||
{
|
||||
rcondv.put(LVRCONDV_CODCF, codcf);
|
||||
rcondv.put(LVRCONDV_CODCONT, codcont);
|
||||
rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART));
|
||||
if (rcondv.read() == NOERR)
|
||||
const TCausale_lavanderie cau(rdoc.get(RDOC_CODAGG1));
|
||||
if (cau.movcong())
|
||||
{
|
||||
rcondv.put(LVRCONDV_QTACONG, rdoc.get_real(RDOC_QTAGG5));
|
||||
rcondv.rewrite();
|
||||
rcondv.put(LVRCONDV_CODCF, codcf);
|
||||
rcondv.put(LVRCONDV_CODCONT, codcont);
|
||||
rcondv.put(LVRCONDV_CODART, rdoc.get(RDOC_CODART));
|
||||
if (rcondv.read() == NOERR)
|
||||
{
|
||||
rcondv.put(LVRCONDV_QTACONG, rdoc.get_real(RDOC_QTAGG5));
|
||||
rcondv.rewrite();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1517,14 +1521,11 @@ void TGestione_bolle_app::init_modify_mode(TMask &m)
|
||||
|
||||
//metodo che mi restituisce la giac
|
||||
TGiac_per_cli& TGestione_bolle_app::giacenza()
|
||||
{
|
||||
return _giac;
|
||||
}
|
||||
{ return _giac; }
|
||||
|
||||
int lv3100( int argc, char* argv[])
|
||||
{
|
||||
TGestione_bolle_app a;
|
||||
|
||||
a.run( argc, argv, TR("Documenti di Trasporto"));
|
||||
return 0;
|
||||
}
|
@ -349,7 +349,7 @@ void TEvasione_ter_msk::genera_buono()
|
||||
const long codcab = clifo.get_long(CLI_CODCAB);const TString80 iban = clifo.get(CLI_IBAN);
|
||||
|
||||
//reupero la cuasale di magazzino di testata
|
||||
const TString16 causmag = cache().get("%TIP", tipodoc, "S9");
|
||||
const TString8 causmag = cache().get("%TIP", tipodoc, "S9");
|
||||
|
||||
//recupero i dati di interesse dal file CFVEN
|
||||
const TRectype& cfven = cache().get(LF_CFVEN, key);
|
||||
@ -425,7 +425,7 @@ void TEvasione_ter_msk::genera_buono()
|
||||
doc.put(DOC_TIPODOC, tipodoc);
|
||||
doc.put(DOC_STATO, stato);
|
||||
|
||||
if(ini_get_bool(CONFIG_DITTA, "lv", "DataBcon"))
|
||||
if(ini_get_bool(CONFIG_DITTA, "lv", "DataBcon"))
|
||||
{
|
||||
doc.put(DOC_DATADOC, datagen);
|
||||
doc.put(DOC_DATAPART, databolla);
|
||||
@ -525,11 +525,8 @@ void TEvasione_ter_msk::genera_buono()
|
||||
dotod += (rbpre.qta_consegnata() - rbpre.qta_ritirata());
|
||||
rdoc.put("DOTOD", dotod);
|
||||
|
||||
bool dtmp = false;
|
||||
if (datagen >= rcont.get_date(LVRCONDV_INDTTMP) && datagen <= rcont.get_date(LVRCONDV_FIDTTMP))
|
||||
dtmp = true;
|
||||
|
||||
if(dtmp)
|
||||
const bool dtmp = datagen >= rcont.get_date(LVRCONDV_INDTTMP) && datagen <= rcont.get_date(LVRCONDV_FIDTTMP);
|
||||
if (dtmp)
|
||||
{
|
||||
rdoc.put("DOTMP", dottmp);
|
||||
rdoc.add("DOTMP", rbpre.qta_consegnata() - rbpre.qta_ritirata());
|
||||
@ -559,21 +556,29 @@ void TEvasione_ter_msk::genera_buono()
|
||||
TCausale_magazzino rit(cau.causale_ritiro());
|
||||
TCausale_magazzino con(cau.causale_consegna());
|
||||
|
||||
TString8 magazzino;
|
||||
TString8 magazzinoc;
|
||||
|
||||
if(rit.get("S10").full())
|
||||
TString8 magazzino, magazzinoc;
|
||||
if (rit.get("S10").full())
|
||||
magazzino = rit.get("S10").mid(0,5);
|
||||
else
|
||||
magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGN");
|
||||
|
||||
if(con.get("S10").full())
|
||||
if (con.get("S10").full())
|
||||
magazzinoc = con.get("S10").mid(0,5);
|
||||
else
|
||||
magazzinoc << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGC");
|
||||
|
||||
rdoc.put(RDOC_CODMAG, magazzino);
|
||||
rdoc.put(RDOC_CODMAGC, magazzinoc);
|
||||
|
||||
// Aggiorna conguaglio 28/05/2012
|
||||
const real diff = rbpre.qta_consegnata() - rbpre.qta_dacons();
|
||||
if (!diff.is_zero() && ini_get_bool(CONFIG_DITTA, "lv", "Aggcong"))
|
||||
{
|
||||
TLocalisamfile lvrcondv(LF_LVRCONDV);
|
||||
TRectype& rcondv = (TRectype&)rcont;
|
||||
rcondv.add(LVRCONDV_QTACONG, diff);
|
||||
rcondv.rewrite(lvrcondv);
|
||||
}
|
||||
}
|
||||
|
||||
//salva la bolla solo se ha almeno una riga
|
||||
@ -603,7 +608,7 @@ void TEvasione_ter_msk::genera_buono()
|
||||
rbpre.set_rifbcon(rifbcon);
|
||||
}
|
||||
|
||||
if(controlla())
|
||||
if (controlla())
|
||||
{
|
||||
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
|
||||
bpre.put(DOC_STATO, stato);
|
||||
@ -742,7 +747,7 @@ void TEvasione_ter_msk::registra()
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 1; i <= doc.rows(); i++)
|
||||
for (int i = 1; i <= doc.rows(); i++)
|
||||
{
|
||||
TRiga_documento& row = doc[i];
|
||||
TBuono_prelievo_row rdoc(row);
|
||||
@ -832,7 +837,6 @@ void TEvasione_ter_msk::riempi_sheet()
|
||||
|
||||
int TEvasione_ter_msk::arrotonda(const int quantita)
|
||||
{
|
||||
int perarr = ini_get_int(CONFIG_DITTA, "lv", "Perarr");
|
||||
int qta = quantita;
|
||||
|
||||
const TString& codart = get(FR_CODART);
|
||||
@ -860,6 +864,8 @@ int TEvasione_ter_msk::arrotonda(const int quantita)
|
||||
//recupero i dati di interesse dalla riga del contratto
|
||||
if (rcont.get_int(LVRCONDV_CALCCONS) == 1)
|
||||
{
|
||||
const int perarr = ini_get_int(CONFIG_DITTA, "lv", "Perarr");
|
||||
|
||||
//calcolo di quanti pezzi sforo
|
||||
long arr = quantita % ppconf;
|
||||
|
||||
@ -887,7 +893,7 @@ void TEvasione_ter_msk::spezza_riga()
|
||||
TToken_string chiave(key);
|
||||
TQuantita_riga& qr = *(TQuantita_riga*)itm;
|
||||
|
||||
if((TDate)chiave.get() == oggi && !qr.get_evaso())
|
||||
if(TDate(chiave.get()) == oggi && !qr.get_evaso())
|
||||
{
|
||||
real qtarit = qr.get_qta_rit();
|
||||
real qtadacon = qr.get_qta_da_con();
|
||||
@ -944,7 +950,7 @@ void TEvasione_ter_msk::evadi_da_terminale()
|
||||
|
||||
if (rp.empty())
|
||||
{
|
||||
warning_box(TR("Il pacco non esiste a magazzino"));
|
||||
warning_box(TR("Il pacco %s non esiste a magazzino"), (const char*)codpacco);
|
||||
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
|
||||
}
|
||||
else
|
||||
@ -954,15 +960,14 @@ void TEvasione_ter_msk::evadi_da_terminale()
|
||||
TToken_string riga = rp.rigabolla();
|
||||
int numdoc = riga.get_int(3);
|
||||
|
||||
if(numdoc > 0)
|
||||
if (numdoc > 0)
|
||||
{
|
||||
TString msg;
|
||||
msg << "Il pacco risulta già associato al buono numero " << numdoc;
|
||||
warning_box(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
if(numdoc < 0)
|
||||
} else
|
||||
if (numdoc < 0)
|
||||
{
|
||||
TString msg;
|
||||
msg << "Il pacco non risulta disponibile a magazzino";
|
||||
|
@ -7,10 +7,8 @@ int main(int argc,char** argv)
|
||||
const int n = (argc > 1) ? atoi(argv[1]+1) : 0;
|
||||
switch(n)
|
||||
{
|
||||
case 1:
|
||||
collega_vers_rit(argc,argv); break;
|
||||
default:
|
||||
SchedaPerc(argc,argv); break;
|
||||
case 1 : collega_vers_rit(argc,argv); break;
|
||||
default: SchedaPerc(argc,argv); break;
|
||||
}
|
||||
|
||||
return n < 0;
|
||||
|
@ -730,8 +730,8 @@ void TSchedaPercipienti::init_insert_mode(TMask& m)
|
||||
|
||||
void TSchedaPercipienti::on_config_change()
|
||||
{
|
||||
TConfig conf(CONFIG_STUDIO);
|
||||
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL);
|
||||
TConfig conf(CONFIG_STUDIO, "77");
|
||||
_anno_dic = conf.get_int(ANNO_SEL);
|
||||
}
|
||||
|
||||
void TSchedaPercipienti::init_query_mode(TMask& m)
|
||||
@ -743,7 +743,7 @@ void TSchedaPercipienti::init_query_mode(TMask& m)
|
||||
{
|
||||
const bool variazione = coll_variazione();
|
||||
_flag_cg = TRUE;
|
||||
TString16 tipo("");
|
||||
TString4 tipo;
|
||||
tipo << _coll._tipo;
|
||||
m.set(F_TIPOA, tipo);
|
||||
if (_coll._codanagr != 0L)
|
||||
@ -795,8 +795,8 @@ void TSchedaPercipienti::init_query_mode(TMask& m)
|
||||
_from_modify = FALSE;
|
||||
|
||||
// forza il ricalcolo dell'ultimo numero disponibile
|
||||
TString16 dummy(m.get(F_NPROG));
|
||||
if (dummy.not_empty())
|
||||
const TString& dummy = m.get(F_NPROG);
|
||||
if (dummy.full())
|
||||
setta_nprog(m);
|
||||
}
|
||||
|
||||
|
@ -63,16 +63,15 @@ NUMBER F_CODANAGRPERC 5
|
||||
BEGIN
|
||||
PROMPT 15 8 ""
|
||||
USE LF_PERC
|
||||
JOIN LF_ANAG TO LF_PERC INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||
JOIN LF_ANAG INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||
INPUT CODDITTA F_CODDITTA SELECT
|
||||
INPUT TIPOA F_TIPOA SELECT
|
||||
INPUT CODANAGR F_CODANAGRPERC
|
||||
DISPLAY "Tipo " TIPOA
|
||||
DISPLAY "Codice " CODANAGR
|
||||
DISPLAY "Cognome - Nome o Ragione sociale@50" LF_ANAG->RAGSOC
|
||||
OUTPUT F_TIPOA TIPOA
|
||||
DISPLAY "Tipo " TIPOA
|
||||
DISPLAY "Codice " CODANAGR
|
||||
DISPLAY "Denominazione@50" LF_ANAG->RAGSOC
|
||||
OUTPUT F_CODANAGRPERC CODANAGR
|
||||
OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
|
||||
OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
|
||||
MESSAGE COPY, F_CODANAGR
|
||||
ADD RUN 775 -0
|
||||
GROUP 2
|
||||
@ -81,15 +80,15 @@ END
|
||||
NUMBER F_CODANAGRCOM 5
|
||||
BEGIN
|
||||
PROMPT 15 8 ""
|
||||
USE LF_ANAG SELECT (TIPOA=#F_TIPOA)
|
||||
INPUT TIPOA F_TIPOA
|
||||
USE LF_ANAG
|
||||
INPUT TIPOA F_TIPOA SELECT
|
||||
INPUT CODANAGR F_CODANAGRCOM
|
||||
DISPLAY "Tipo " TIPOA
|
||||
DISPLAY "Codice " CODANAGR
|
||||
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_TIPOA TIPOA
|
||||
DISPLAY "Tipo" TIPOA
|
||||
DISPLAY "Codice" CODANAGR
|
||||
DISPLAY "Denominazione@50" RAGSOC
|
||||
OUTPUT F_TIPOA TIPOA
|
||||
OUTPUT F_CODANAGRCOM CODANAGR
|
||||
OUTPUT F_RAGSOCCOM RAGSOC
|
||||
OUTPUT F_RAGSOCCOM RAGSOC
|
||||
MESSAGE COPY, F_CODANAGR
|
||||
ADD RUN BA4 -1
|
||||
FLAGS "H"
|
||||
@ -99,15 +98,15 @@ END
|
||||
STRING F_RAGSOCCOM 50
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
USE LF_ANAG KEY 2
|
||||
INPUT TIPOA F_TIPOA
|
||||
USE LF_ANAG KEY 2
|
||||
JOIN LF_PERC INTO CODDITTA=#F_CODDITTA TIPOA=TIPOA CODANAGR==CODANAGR
|
||||
INPUT TIPOA F_TIPOA SELECT
|
||||
INPUT RAGSOC F_RAGSOCCOM
|
||||
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Denominazione@50" RAGSOC
|
||||
DISPLAY "Tipo" TIPOA
|
||||
DISPLAY "Codice" CODANAGR
|
||||
OUTPUT F_RAGSOCCOM RAGSOC
|
||||
OUTPUT F_CODANAGRCOM CODANAGR
|
||||
OUTPUT F_TIPOA TIPOA
|
||||
DISPLAY "Percipiente" LF_PERC->CODANAGR
|
||||
COPY OUTPUT F_CODANAGRCOM
|
||||
ADD RUN BA4 -1
|
||||
MESSAGE COPY, F_RAGSOCPER
|
||||
GROUP 1
|
||||
@ -116,15 +115,12 @@ END
|
||||
STRING F_RAGSOCPER 50
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
USE LF_ANAG KEY 2
|
||||
INPUT TIPOA F_TIPOA
|
||||
USE LF_ANAG KEY 2 SELECT LF_PERC->CODANAGR!=""
|
||||
JOIN LF_PERC INTO CODDITTA=#F_CODDITTA TIPOA=TIPOA CODANAGR==CODANAGR
|
||||
INPUT TIPOA F_TIPOA SELECT
|
||||
INPUT RAGSOC F_RAGSOCPER
|
||||
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Tipo" TIPOA
|
||||
DISPLAY "Codice" CODANAGR
|
||||
OUTPUT F_RAGSOCPER RAGSOC
|
||||
OUTPUT F_CODANAGRPERC CODANAGR
|
||||
OUTPUT F_TIPOA TIPOA
|
||||
COPY DISPLAY F_RAGSOCCOM
|
||||
COPY OUTPUT F_CODANAGRPERC
|
||||
ADD RUN BA4 -1
|
||||
GROUP 2
|
||||
END
|
||||
|
@ -686,7 +686,7 @@ TTracciato770::TTracciato770(char tipo) : _tipo(tipo)
|
||||
if (tipo == 'A')
|
||||
{
|
||||
add_filler(2, 14); // 2
|
||||
add_field("Codice fornitura", NU, 16, 5); // 3
|
||||
add_field("Codice fornitura", AN, 16, 5); // 3
|
||||
add_field("Tipo fornitore", NU, 21, 2); // 4
|
||||
add_field("Codice fiscale del fornitore", CF, 23, 16);
|
||||
add_filler(39, 483);
|
||||
@ -1368,45 +1368,6 @@ bool TTrasferimento770::append_record_b()
|
||||
|
||||
rec.set(100, 0); // situazioni particolari: vale sempre 0
|
||||
|
||||
/*rec.set(110, cod_fis_dic());
|
||||
rec.set(111, 1); //codice carica del rappresentante (vale tra 1 e 15 ma non 10; messo a 1 per ipotesi)
|
||||
rec.set(115, _ragsoc_dic.left(30)); //cognome rappresentante
|
||||
rec.set(116, _ragsoc_dic.mid(30)); //nome rappresentante
|
||||
rec.set(117, "M"); //sesso del rappresentante
|
||||
|
||||
rec.set(, rec_comres.get(COM_DENCOM));
|
||||
rec.set(, rec_comres.get(COM_PROVCOM));
|
||||
rec.set(, rec_anagr.get(ANA_COMRES));
|
||||
rec.set(, rec_anagr.get(ANA_CAPRES));
|
||||
|
||||
TString80 indirizzo = rec_anagr.get(ANA_INDRES);
|
||||
indirizzo.strip_double_spaces(); indirizzo.trim();
|
||||
TString8 tipologia;
|
||||
const int spazio = indirizzo.find(' ');
|
||||
if (spazio > 0 && spazio < 16) // Lunghezza accettabile per TString16 successiva
|
||||
{
|
||||
TString16 t = indirizzo.left(spazio);
|
||||
t.trim(); t.upper();
|
||||
if (t == "C.LE" || t == "CALLE") tipologia = "CALLE"; else
|
||||
if (t == "C.SO" || t == "CORSO") tipologia = "CORSO"; else
|
||||
if (t == "L.GO" || t == "LARGO") tipologia = "LARGO"; else
|
||||
if (t == "P.CO" || t == "PARCO") tipologia = "PARCO"; else
|
||||
if (t == "P.ZA" || t == "PIAZZA") tipologia = "PIAZZA"; else
|
||||
if (t == "S.DA" || t == "STRADA") tipologia = "STRADA"; else
|
||||
if (t == "V." || t == "VIA") tipologia = "VIA"; else
|
||||
if (t == "V.LE" || t == "VIALE") tipologia = "VIALE"; else
|
||||
if (t == "V.LO" || t == "VICOLO") tipologia = "VICOLO";
|
||||
}
|
||||
if (tipologia.full())
|
||||
indirizzo = indirizzo.mid(spazio+1);
|
||||
else
|
||||
tipologia = "VIA";
|
||||
indirizzo.cut(35);
|
||||
|
||||
rec.set(101, tipologia);
|
||||
rec.set(102, indirizzo);
|
||||
rec.set(103, rec_anagr.get(ANA_CIVRES));*/
|
||||
|
||||
const TRectype& rec_nditte = _cache770.get(LF_NDITTE, _cod_ditta);
|
||||
|
||||
key.cut(0) << "F|" << rec_nditte.get(NDT_RAPPR);
|
||||
@ -1533,7 +1494,7 @@ bool TTrasferimento770::split(const char* path)
|
||||
if (_save_headers)
|
||||
{
|
||||
rec.tipo_record('A'); // Compila record di testata A
|
||||
rec.set(3, "77S11"); // Codice fornitura
|
||||
rec.set(3, "77S12"); // Codice fornitura
|
||||
rec.set(4, 1); // Tipo fornitore 01 = Soggetto che invia la propria dichiarazione
|
||||
rec.set(5, cod_fis_dic()); // Codice fiscale del fornitore
|
||||
if (volumes > 1)
|
||||
|
@ -188,8 +188,11 @@ bool TGestione_provv_app::datascad_handler(TMask_field& f, KEY key)
|
||||
bool TGestione_provv_app::enable_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_SPACE)
|
||||
f.mask().enable(-5);
|
||||
return TRUE;
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
m.enable(-5, !m.field(F_PROVVPAG).active());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TGestione_provv_app::imprata_handler(TMask_field& f, KEY key)
|
||||
|
@ -346,6 +346,7 @@ END
|
||||
BUTTON DLG_ENABLE 10 2
|
||||
BEGIN
|
||||
PROMPT -44 -1 "~Abilita"
|
||||
PICTURE TOOL_EDIT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
688
res/resource.ini
688
res/resource.ini
@ -1,344 +1,344 @@
|
||||
[Cursors]
|
||||
8001=resize.cur
|
||||
8002=hand.cur
|
||||
8003=vresize.cur
|
||||
8004=harrow.cur
|
||||
8883=fly.ico
|
||||
|
||||
[Icons]
|
||||
9012=campo.ico
|
||||
9013=camposrv.ico
|
||||
9014=campocln.ico
|
||||
10108=combo.ico
|
||||
10109=search.ico
|
||||
10110=checkon.ico
|
||||
10111=checkoff.ico
|
||||
10112=filtron.ico
|
||||
10113=filtroff.ico
|
||||
|
||||
10201=error.ico
|
||||
10202=folder.ico
|
||||
10203=stop.ico
|
||||
10210=toolbox.ico
|
||||
10211=register.ico
|
||||
10212=moneys.ico
|
||||
10213=zipgold.ico
|
||||
10214=notepad.ico
|
||||
10215=boxopen.ico
|
||||
10216=pref.ico
|
||||
10217=report.ico
|
||||
10218=spotlite.ico
|
||||
10219=home.ico
|
||||
10220=lavatrice.ico
|
||||
10221=field.ico
|
||||
10222=fieldpro.ico
|
||||
10223=section.ico
|
||||
10224=sectpro.ico
|
||||
10225=repprop.ico
|
||||
10226=stats.ico
|
||||
10227=avis.ico
|
||||
10228=benem.ico
|
||||
10229=print.ico
|
||||
10230=convoc.ico
|
||||
10231=setup.ico
|
||||
10232=moka.ico
|
||||
10233=day_work.ico
|
||||
10234=day_holy.ico
|
||||
10235=day_full.ico
|
||||
|
||||
[Images]
|
||||
101=ok.bmp
|
||||
102=cancel.bmp
|
||||
103=saverec.bmp
|
||||
104=delrec.bmp
|
||||
105=newrec.bmp
|
||||
107=config.bmp
|
||||
109=search.bmp
|
||||
114=quit.bmp
|
||||
115=select.bmp
|
||||
116=edit.bmp
|
||||
117=link.bmp
|
||||
118=print.bmp
|
||||
119=recalc.bmp
|
||||
120=elabora.bmp
|
||||
121=firstrec.bmp
|
||||
122=prevrec.bmp
|
||||
123=stoprec.bmp
|
||||
124=nextrec.bmp
|
||||
125=lastrec.bmp
|
||||
126=findrec.bmp
|
||||
127=module1.bmp
|
||||
128=module2.bmp
|
||||
129=module3.bmp
|
||||
130=module4.bmp
|
||||
134=module.bmp
|
||||
135=ole.png
|
||||
139=email.bmp
|
||||
140=hardlock.bmp
|
||||
141=eutron.bmp
|
||||
153=saverecd.bmp
|
||||
154=delrecdn.bmp
|
||||
155=newrecdn.bmp
|
||||
164=quitdn.bmp
|
||||
165=setprint.bmp
|
||||
167=dir.bmp
|
||||
168=dirdn.bmp
|
||||
169=file.bmp
|
||||
171=filechk.bmp
|
||||
172=dirsel.bmp
|
||||
173=dirdnsel.bmp
|
||||
174=pdf.bmp
|
||||
175=archivia.bmp
|
||||
177=bigdir.png
|
||||
178=bigdirdn.png
|
||||
180=copy.bmp
|
||||
181=paste.bmp
|
||||
182=check.bmp
|
||||
|
||||
185=darrowu.bmp
|
||||
186=darrowd.bmp
|
||||
187=darrowl.bmp
|
||||
188=darrowr.bmp
|
||||
189=darrowul.bmp
|
||||
190=darrowdl.bmp
|
||||
191=darrowur.bmp
|
||||
192=darrowdr.bmp
|
||||
193=darrowl2.bmp
|
||||
194=darrowr2.bmp
|
||||
195=darrowu2.bmp
|
||||
196=darrowd2.bmp
|
||||
197=sarrowu.bmp
|
||||
198=sarrowd.bmp
|
||||
|
||||
224=pagamento.bmp
|
||||
225=insoluto.bmp
|
||||
|
||||
1671=darrowr2.bmp
|
||||
|
||||
1700=selordp.bmp
|
||||
1701=selordf.bmp
|
||||
1801=ord_in.bmp
|
||||
1802=ord_out.bmp
|
||||
1803=cons_in.bmp
|
||||
1804=cons_out.bmp
|
||||
|
||||
1810=testa.png
|
||||
1811=corpo.png
|
||||
1812=piede.png
|
||||
1813=testasub.png
|
||||
1814=corposub.png
|
||||
1815=piedesub.png
|
||||
1816=testasot.png
|
||||
1817=corposot.png
|
||||
1818=piedesot.png
|
||||
|
||||
20000=ase3.gif
|
||||
20001=datalog.gif
|
||||
|
||||
[Tools]
|
||||
100=empty.png
|
||||
101=ok.png
|
||||
102=cancel.png
|
||||
103=saverec.png
|
||||
104=delrec.png
|
||||
105=newrec.png
|
||||
107=properties.png
|
||||
113=download.png
|
||||
114=quit.png
|
||||
115=multisel.png
|
||||
116=edit.png
|
||||
117=link.png
|
||||
118=print.png
|
||||
119=recalc.png
|
||||
120=elabora.png
|
||||
121=firstrec.png
|
||||
122=prevrec.png
|
||||
123=stoprec.png
|
||||
124=nextrec.png
|
||||
125=lastrec.png
|
||||
126=findrec.png
|
||||
131=check.png
|
||||
135=ole.png
|
||||
139=email.png
|
||||
142=signmail.png
|
||||
143=signpdf.png
|
||||
144=signarc.png
|
||||
150=import.png
|
||||
151=export.png
|
||||
156=convert.png
|
||||
157=pack.png
|
||||
158=barcode.png
|
||||
162=info.png
|
||||
163=help.png
|
||||
165=setprint.png
|
||||
174=pdf.png
|
||||
175=archive.png
|
||||
176=preview.png
|
||||
179=font.png
|
||||
180=copy.png
|
||||
181=paste.png
|
||||
183=excel.png
|
||||
184=reset.png
|
||||
201=alt.png
|
||||
202=question.png
|
||||
203=warning.png
|
||||
204=favorites.png
|
||||
205=addfav.png
|
||||
206=closeturn.png
|
||||
207=closescontr.png
|
||||
208=suspscontr.png
|
||||
209=suspscontrs.png
|
||||
210=scontr2fatt.png
|
||||
211=permissions.png
|
||||
212=print_elenco.png
|
||||
213=print_schede.png
|
||||
214=print_etichette.png
|
||||
215=print_rubrica.png
|
||||
216=cellular.png
|
||||
217=pack2cli.png
|
||||
218=pack2mag.png
|
||||
219=users.png
|
||||
220=smile.png
|
||||
221=todataini.png
|
||||
222=todatafin.png
|
||||
223=tocalc.png
|
||||
224=pagamento.png
|
||||
225=insoluto.png
|
||||
|
||||
233=day_work.png
|
||||
234=day_holy.png
|
||||
235=day_full.png
|
||||
|
||||
[Menu_7000]
|
||||
Item_00 = 10001,&Visualizzazione
|
||||
Item_00_00 = 7003,Interrompi\tESC
|
||||
Item_00_01 = 7004,Colle&ga...\tCtrl+G,D
|
||||
Item_00_02 = 7005,&Esporta...\tCtrl+E
|
||||
Item_00_03 = 7006,&Stampa... \tCtrl+S,D
|
||||
Item_00_04 = -1,Separator
|
||||
Item_00_05 = 7007,Mostra &righelli,C
|
||||
Item_00_06 = 7008,Mostra &bottoni,C
|
||||
Item_00_07 = 7009,Ri&disegna
|
||||
Item_00_08 = -1,Separator
|
||||
Item_00_09 = 7010,Chiudi\tESC+ESC
|
||||
Item_01 = 10002,&Modifica
|
||||
Item_01_00 = 7011,&Copia,D
|
||||
Item_01_01 = 7012,&Annulla,D
|
||||
Item_01_02 = -1,Separator
|
||||
Item_01_03 = 7013,Cerca...\tF7,
|
||||
Item_01_04 = 7014,Cerca il prossimo\tF8,D
|
||||
|
||||
[Menu_8000]
|
||||
Item_00 = 10001,~Proprieta'
|
||||
Item_00_00 = 8001,&Salva impostazioni colonne
|
||||
Item_00_01 = 8002,&Ripristina impostazioni colonne
|
||||
Item_00_02 = 8004,Esportazione in E&xcel
|
||||
Item_00_03 = -1,Separator
|
||||
Item_00_04 = 8003,&Informazioni
|
||||
|
||||
[Menu_BA0-0]
|
||||
Item_00 = 32050,&Opzioni
|
||||
Item_00_00 = 30004,Cambio &studio...
|
||||
Item_00_01 = 32001,Cambio &ditta...
|
||||
Item_00_02 = 30007,Cambio &utente...
|
||||
Item_00_03 = -1,Separator
|
||||
Item_00_04 = 30002,&Aspetto
|
||||
Item_00_05 = 30003,&Editors
|
||||
Item_01 = 32350,&Preferiti
|
||||
Item_01_00 = 30005,&Aggiungi
|
||||
Item_01_01 = 30006,&Organizza
|
||||
|
||||
[Menu_BA0-3]
|
||||
Item_00 = 10001,Proprieta'
|
||||
Item_00_00 = 8001,Menu principale
|
||||
Item_00_01 = 8002,Ripristina dimensioni standard
|
||||
Item_00_02 = -1,Separator
|
||||
Item_00_03 = 8003,Cerca testo...
|
||||
Item_00_04 = 8004,Cerca prossimo
|
||||
Item_00_05 = -1,Separator
|
||||
Item_00_06 = 8005,Informazioni...
|
||||
|
||||
[Menu_BA2-0]
|
||||
Item_00=5100,&Dati
|
||||
Item_00_00=30011,&Relazione
|
||||
Item_00_01=30012,&Parametri
|
||||
Item_00_02=30013,Caratteri &fincatura
|
||||
Item_00_03=30014,&Cambia profilo
|
||||
Item_00_04=30015,Imposta formato &numeri
|
||||
Item_00_05=30016,Imposta formato &date
|
||||
Item_01=5200,&Testa
|
||||
Item_01_00=30021,&Normale
|
||||
Item_01_01=30022,&Pari
|
||||
Item_01_02=30023,&Prima
|
||||
Item_01_03=30024,&Ultima
|
||||
Item_02=5300,&Corpo
|
||||
Item_02_00=30031,&Normale
|
||||
Item_02_01=30032,&Pari
|
||||
Item_02_02=30033,&Primo
|
||||
Item_02_03=30034,&Ultimo
|
||||
Item_03=5400,&Piede
|
||||
Item_03_00=30041,&Normale
|
||||
Item_03_01=30042,&Pari
|
||||
Item_03_02=30043,&Primo
|
||||
Item_03_03=30044,&Ultimo
|
||||
Item_04=5500,&Sfondo
|
||||
Item_04_00=30051,&Normale
|
||||
Item_04_01=30052,&Pari
|
||||
Item_04_02=30053,&Primo
|
||||
Item_04_03=30054,&Ultimo
|
||||
|
||||
[Menu_BA2-5]
|
||||
Item_00=5100,&Maschera
|
||||
Item_00_00=30011,&Nuova
|
||||
Item_00_01=30012,&Apri
|
||||
Item_00_02=30013,&Salva
|
||||
Item_00_03=30014,Salva &con nome
|
||||
Item_01=5200,&Modifica
|
||||
Item_01_00=30021,&Copia-Incolla
|
||||
Item_01_01=30022,Ca&ncella\tCANC
|
||||
Item_01_02=30023,S&posta in...\tF2
|
||||
Item_02=5300,&Aggiungi
|
||||
Item_02_00=30031,&Button
|
||||
Item_02_01=30032,B&ooleano
|
||||
Item_02_02=30033,Currenc&y
|
||||
Item_02_03=30034,&Date
|
||||
Item_02_04=30035,Gru&ppo
|
||||
Item_02_05=30036,&Lista
|
||||
Item_02_06=30037,&Memo
|
||||
Item_02_07=30038,&Numero
|
||||
Item_02_08=30039,P&ulsantiera
|
||||
Item_02_09=30310,Ta&bella
|
||||
Item_02_10=30311,S&tringa
|
||||
Item_02_11=30312,Te&sto
|
||||
Item_02_12=30313,&Zoom
|
||||
Item_03=5200,&Visualizza
|
||||
Item_03_00=30041,&Controlli presenti\tF3
|
||||
Item_03_01=30042,&Maschera di sheet\tF4
|
||||
Item_03_02=30043,Co&ntrolli-maschera sheet\tF5
|
||||
Item_04=5200,&Test
|
||||
Item_04_00=30051,&Compilazione
|
||||
Item_04_01=30052,&Esecuzione
|
||||
|
||||
[Menu_LV0-3]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_VE0-0]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_MR2-0]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_MR2-1]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_PE0-3]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_LV3-0]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
[Cursors]
|
||||
8001=resize.cur
|
||||
8002=hand.cur
|
||||
8003=vresize.cur
|
||||
8004=harrow.cur
|
||||
8883=fly.ico
|
||||
|
||||
[Icons]
|
||||
9012=campo.ico
|
||||
9013=camposrv.ico
|
||||
9014=campocln.ico
|
||||
10108=combo.ico
|
||||
10109=search.ico
|
||||
10110=checkon.ico
|
||||
10111=checkoff.ico
|
||||
10112=filtron.ico
|
||||
10113=filtroff.ico
|
||||
|
||||
10201=error.ico
|
||||
10202=folder.ico
|
||||
10203=stop.ico
|
||||
10210=toolbox.ico
|
||||
10211=register.ico
|
||||
10212=moneys.ico
|
||||
10213=zipgold.ico
|
||||
10214=notepad.ico
|
||||
10215=boxopen.ico
|
||||
10216=pref.ico
|
||||
10217=report.ico
|
||||
10218=spotlite.ico
|
||||
10219=home.ico
|
||||
10220=lavatrice.ico
|
||||
10221=field.ico
|
||||
10222=fieldpro.ico
|
||||
10223=section.ico
|
||||
10224=sectpro.ico
|
||||
10225=repprop.ico
|
||||
10226=stats.ico
|
||||
10227=avis.ico
|
||||
10228=benem.ico
|
||||
10229=print.ico
|
||||
10230=convoc.ico
|
||||
10231=setup.ico
|
||||
10232=hardy.ico
|
||||
10233=day_work.ico
|
||||
10234=day_holy.ico
|
||||
10235=day_full.ico
|
||||
|
||||
[Images]
|
||||
101=ok.bmp
|
||||
102=cancel.bmp
|
||||
103=saverec.bmp
|
||||
104=delrec.bmp
|
||||
105=newrec.bmp
|
||||
107=config.bmp
|
||||
109=search.bmp
|
||||
114=quit.bmp
|
||||
115=select.bmp
|
||||
116=edit.bmp
|
||||
117=link.bmp
|
||||
118=print.bmp
|
||||
119=recalc.bmp
|
||||
120=elabora.bmp
|
||||
121=firstrec.bmp
|
||||
122=prevrec.bmp
|
||||
123=stoprec.bmp
|
||||
124=nextrec.bmp
|
||||
125=lastrec.bmp
|
||||
126=findrec.bmp
|
||||
127=module1.bmp
|
||||
128=module2.bmp
|
||||
129=module3.bmp
|
||||
130=module4.bmp
|
||||
134=module.bmp
|
||||
135=ole.png
|
||||
139=email.bmp
|
||||
140=hardlock.bmp
|
||||
141=eutron.bmp
|
||||
153=saverecd.bmp
|
||||
154=delrecdn.bmp
|
||||
155=newrecdn.bmp
|
||||
164=quitdn.bmp
|
||||
165=setprint.bmp
|
||||
167=dir.bmp
|
||||
168=dirdn.bmp
|
||||
169=file.bmp
|
||||
171=filechk.bmp
|
||||
172=dirsel.bmp
|
||||
173=dirdnsel.bmp
|
||||
174=pdf.bmp
|
||||
175=archivia.bmp
|
||||
177=bigdir.png
|
||||
178=bigdirdn.png
|
||||
180=copy.bmp
|
||||
181=paste.bmp
|
||||
182=check.bmp
|
||||
|
||||
185=darrowu.bmp
|
||||
186=darrowd.bmp
|
||||
187=darrowl.bmp
|
||||
188=darrowr.bmp
|
||||
189=darrowul.bmp
|
||||
190=darrowdl.bmp
|
||||
191=darrowur.bmp
|
||||
192=darrowdr.bmp
|
||||
193=darrowl2.bmp
|
||||
194=darrowr2.bmp
|
||||
195=darrowu2.bmp
|
||||
196=darrowd2.bmp
|
||||
197=sarrowu.bmp
|
||||
198=sarrowd.bmp
|
||||
|
||||
224=pagamento.bmp
|
||||
225=insoluto.bmp
|
||||
|
||||
1671=darrowr2.bmp
|
||||
|
||||
1700=selordp.bmp
|
||||
1701=selordf.bmp
|
||||
1801=ord_in.bmp
|
||||
1802=ord_out.bmp
|
||||
1803=cons_in.bmp
|
||||
1804=cons_out.bmp
|
||||
|
||||
1810=testa.png
|
||||
1811=corpo.png
|
||||
1812=piede.png
|
||||
1813=testasub.png
|
||||
1814=corposub.png
|
||||
1815=piedesub.png
|
||||
1816=testasot.png
|
||||
1817=corposot.png
|
||||
1818=piedesot.png
|
||||
|
||||
20000=ase3.gif
|
||||
20001=datalog.gif
|
||||
|
||||
[Tools]
|
||||
100=empty.png
|
||||
101=ok.png
|
||||
102=cancel.png
|
||||
103=saverec.png
|
||||
104=delrec.png
|
||||
105=newrec.png
|
||||
107=properties.png
|
||||
113=download.png
|
||||
114=quit.png
|
||||
115=multisel.png
|
||||
116=edit.png
|
||||
117=link.png
|
||||
118=print.png
|
||||
119=recalc.png
|
||||
120=elabora.png
|
||||
121=firstrec.png
|
||||
122=prevrec.png
|
||||
123=stoprec.png
|
||||
124=nextrec.png
|
||||
125=lastrec.png
|
||||
126=findrec.png
|
||||
131=check.png
|
||||
135=ole.png
|
||||
139=email.png
|
||||
142=signmail.png
|
||||
143=signpdf.png
|
||||
144=signarc.png
|
||||
150=import.png
|
||||
151=export.png
|
||||
156=convert.png
|
||||
157=pack.png
|
||||
158=barcode.png
|
||||
162=info.png
|
||||
163=help.png
|
||||
165=setprint.png
|
||||
174=pdf.png
|
||||
175=archive.png
|
||||
176=preview.png
|
||||
179=font.png
|
||||
180=copy.png
|
||||
181=paste.png
|
||||
183=excel.png
|
||||
184=reset.png
|
||||
201=alt.png
|
||||
202=question.png
|
||||
203=warning.png
|
||||
204=favorites.png
|
||||
205=addfav.png
|
||||
206=closeturn.png
|
||||
207=closescontr.png
|
||||
208=suspscontr.png
|
||||
209=suspscontrs.png
|
||||
210=scontr2fatt.png
|
||||
211=permissions.png
|
||||
212=print_elenco.png
|
||||
213=print_schede.png
|
||||
214=print_etichette.png
|
||||
215=print_rubrica.png
|
||||
216=cellular.png
|
||||
217=pack2cli.png
|
||||
218=pack2mag.png
|
||||
219=users.png
|
||||
220=smile.png
|
||||
221=todataini.png
|
||||
222=todatafin.png
|
||||
223=tocalc.png
|
||||
224=pagamento.png
|
||||
225=insoluto.png
|
||||
|
||||
233=day_work.png
|
||||
234=day_holy.png
|
||||
235=day_full.png
|
||||
|
||||
[Menu_7000]
|
||||
Item_00 = 10001,&Visualizzazione
|
||||
Item_00_00 = 7003,Interrompi\tESC
|
||||
Item_00_01 = 7004,Colle&ga...\tCtrl+G,D
|
||||
Item_00_02 = 7005,&Esporta...\tCtrl+E
|
||||
Item_00_03 = 7006,&Stampa... \tCtrl+S,D
|
||||
Item_00_04 = -1,Separator
|
||||
Item_00_05 = 7007,Mostra &righelli,C
|
||||
Item_00_06 = 7008,Mostra &bottoni,C
|
||||
Item_00_07 = 7009,Ri&disegna
|
||||
Item_00_08 = -1,Separator
|
||||
Item_00_09 = 7010,Chiudi\tESC+ESC
|
||||
Item_01 = 10002,&Modifica
|
||||
Item_01_00 = 7011,&Copia,D
|
||||
Item_01_01 = 7012,&Annulla,D
|
||||
Item_01_02 = -1,Separator
|
||||
Item_01_03 = 7013,Cerca...\tF7,
|
||||
Item_01_04 = 7014,Cerca il prossimo\tF8,D
|
||||
|
||||
[Menu_8000]
|
||||
Item_00 = 10001,~Proprieta'
|
||||
Item_00_00 = 8001,&Salva impostazioni colonne
|
||||
Item_00_01 = 8002,&Ripristina impostazioni colonne
|
||||
Item_00_02 = 8004,Esportazione in E&xcel
|
||||
Item_00_03 = -1,Separator
|
||||
Item_00_04 = 8003,&Informazioni
|
||||
|
||||
[Menu_BA0-0]
|
||||
Item_00 = 32050,&Opzioni
|
||||
Item_00_00 = 30004,Cambio &studio...
|
||||
Item_00_01 = 32001,Cambio &ditta...
|
||||
Item_00_02 = 30007,Cambio &utente...
|
||||
Item_00_03 = -1,Separator
|
||||
Item_00_04 = 30002,&Aspetto
|
||||
Item_00_05 = 30003,&Editors
|
||||
Item_01 = 32350,&Preferiti
|
||||
Item_01_00 = 30005,&Aggiungi
|
||||
Item_01_01 = 30006,&Organizza
|
||||
|
||||
[Menu_BA0-3]
|
||||
Item_00 = 10001,Proprieta'
|
||||
Item_00_00 = 8001,Menu principale
|
||||
Item_00_01 = 8002,Ripristina dimensioni standard
|
||||
Item_00_02 = -1,Separator
|
||||
Item_00_03 = 8003,Cerca testo...
|
||||
Item_00_04 = 8004,Cerca prossimo
|
||||
Item_00_05 = -1,Separator
|
||||
Item_00_06 = 8005,Informazioni...
|
||||
|
||||
[Menu_BA2-0]
|
||||
Item_00=5100,&Dati
|
||||
Item_00_00=30011,&Relazione
|
||||
Item_00_01=30012,&Parametri
|
||||
Item_00_02=30013,Caratteri &fincatura
|
||||
Item_00_03=30014,&Cambia profilo
|
||||
Item_00_04=30015,Imposta formato &numeri
|
||||
Item_00_05=30016,Imposta formato &date
|
||||
Item_01=5200,&Testa
|
||||
Item_01_00=30021,&Normale
|
||||
Item_01_01=30022,&Pari
|
||||
Item_01_02=30023,&Prima
|
||||
Item_01_03=30024,&Ultima
|
||||
Item_02=5300,&Corpo
|
||||
Item_02_00=30031,&Normale
|
||||
Item_02_01=30032,&Pari
|
||||
Item_02_02=30033,&Primo
|
||||
Item_02_03=30034,&Ultimo
|
||||
Item_03=5400,&Piede
|
||||
Item_03_00=30041,&Normale
|
||||
Item_03_01=30042,&Pari
|
||||
Item_03_02=30043,&Primo
|
||||
Item_03_03=30044,&Ultimo
|
||||
Item_04=5500,&Sfondo
|
||||
Item_04_00=30051,&Normale
|
||||
Item_04_01=30052,&Pari
|
||||
Item_04_02=30053,&Primo
|
||||
Item_04_03=30054,&Ultimo
|
||||
|
||||
[Menu_BA2-5]
|
||||
Item_00=5100,&Maschera
|
||||
Item_00_00=30011,&Nuova
|
||||
Item_00_01=30012,&Apri
|
||||
Item_00_02=30013,&Salva
|
||||
Item_00_03=30014,Salva &con nome
|
||||
Item_01=5200,&Modifica
|
||||
Item_01_00=30021,&Copia-Incolla
|
||||
Item_01_01=30022,Ca&ncella\tCANC
|
||||
Item_01_02=30023,S&posta in...\tF2
|
||||
Item_02=5300,&Aggiungi
|
||||
Item_02_00=30031,&Button
|
||||
Item_02_01=30032,B&ooleano
|
||||
Item_02_02=30033,Currenc&y
|
||||
Item_02_03=30034,&Date
|
||||
Item_02_04=30035,Gru&ppo
|
||||
Item_02_05=30036,&Lista
|
||||
Item_02_06=30037,&Memo
|
||||
Item_02_07=30038,&Numero
|
||||
Item_02_08=30039,P&ulsantiera
|
||||
Item_02_09=30310,Ta&bella
|
||||
Item_02_10=30311,S&tringa
|
||||
Item_02_11=30312,Te&sto
|
||||
Item_02_12=30313,&Zoom
|
||||
Item_03=5200,&Visualizza
|
||||
Item_03_00=30041,&Controlli presenti\tF3
|
||||
Item_03_01=30042,&Maschera di sheet\tF4
|
||||
Item_03_02=30043,Co&ntrolli-maschera sheet\tF5
|
||||
Item_04=5200,&Test
|
||||
Item_04_00=30051,&Compilazione
|
||||
Item_04_01=30052,&Esecuzione
|
||||
|
||||
[Menu_LV0-3]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_VE0-0]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_MR2-0]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_MR2-1]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_PE0-3]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
||||
[Menu_LV3-0]
|
||||
Item_00=5100,&Opzioni
|
||||
Item_00_00=30001,&Colori righe
|
||||
|
@ -125,7 +125,8 @@ OEM=7
|
||||
Owner=Salvatore Durante
|
||||
OEM=8
|
||||
[802]
|
||||
Owner=CONNEXXA s.r.l.
|
||||
pc0001 -*=31-12-3000
|
||||
Owner=Salvatore Durante
|
||||
OEM=8
|
||||
[803]
|
||||
Owner=Meta Calabria (ex-prassi calabria)
|
||||
@ -476,6 +477,7 @@ OEM=1
|
||||
Owner=CONFINDUSTRIA Piacenza
|
||||
OEM=1
|
||||
[6298]
|
||||
*=15-04-2012
|
||||
Owner=Cosea scrl
|
||||
OEM=1
|
||||
[6299]
|
||||
@ -509,6 +511,7 @@ OEM=1
|
||||
Owner=MEDIA PADANIA SRL
|
||||
OEM=1
|
||||
[6342]
|
||||
*=15-05-2012
|
||||
Owner=ACTUAL SPOTTI SRL
|
||||
OEM=1
|
||||
[6349]
|
||||
@ -694,9 +697,12 @@ OEM=0
|
||||
Owner=IMM.RE MONTE GRAPPA PRIMA SRL
|
||||
OEM=1
|
||||
[7040]
|
||||
*=08-02-2011
|
||||
*=08-02-2012
|
||||
Owner=Folloni gianluca
|
||||
OEM=0
|
||||
[7055]
|
||||
Owner=Laboratorio Casella
|
||||
OEM=7
|
||||
[7061]
|
||||
ps0872 -?=31-12-3000
|
||||
Owner=Realplast
|
||||
@ -827,13 +833,14 @@ OEM=1
|
||||
Owner=SO.F.IND S.R.L.
|
||||
OEM=1
|
||||
[7187]
|
||||
Owner=BOLZI BRUNO
|
||||
Owner=BRUNO BOLZI SRL
|
||||
OEM=6
|
||||
[7188]
|
||||
Owner=CISLAGHI ARREDAMENTI S.R.L.
|
||||
OEM=1
|
||||
[7191]
|
||||
Owner=Garlassi
|
||||
Owner=GARLASSI FRATELLI & C. s.n.c.
|
||||
OEM=6
|
||||
[7196]
|
||||
Owner=Milano AD SRL
|
||||
OEM=1
|
||||
@ -859,11 +866,13 @@ Owner=Soc.Coop.OP Monte (Prassi Calabria)
|
||||
OEM=8
|
||||
[7225]
|
||||
Owner=LA NUOVA COPERTURA SRL
|
||||
OEM=1
|
||||
[7232]
|
||||
Owner=Impresa Giardino Srl
|
||||
OEM=7
|
||||
[7241]
|
||||
Owner=Minigomme
|
||||
OEM=1
|
||||
MustCall=22-09-2011
|
||||
[7242]
|
||||
Owner=TOP PARTIES GEST. SERVIZI SRL
|
||||
@ -937,7 +946,7 @@ OEM=1
|
||||
Owner=IMMOBILIARE GIARDINO SAS
|
||||
OEM=1
|
||||
[7319]
|
||||
Owner=IST.SUORE DELLA SACRA FAMIGLIA
|
||||
Owner=ENTE DI FORMAZIONE SACRA FAMIGLIA
|
||||
OEM=1
|
||||
[7320]
|
||||
Owner=CENTRO PER LA CULTURA
|
||||
@ -2146,6 +2155,9 @@ OEM=1
|
||||
Owner=Serpelloni SEC
|
||||
OEM=0
|
||||
MustCall=31-12-2011
|
||||
[8546]
|
||||
Owner=Extra
|
||||
OEM=7
|
||||
[8550]
|
||||
Owner=Carla srl
|
||||
OEM=7
|
||||
@ -3071,7 +3083,7 @@ OEM=8
|
||||
Owner=O.P. MONTE SOC. COOP. A R.L.
|
||||
OEM=8
|
||||
[8908]
|
||||
Owner=Levilsud di Marinaro
|
||||
Owner=L'EDILSUD DI MARINARO A. & C. s.a.s.
|
||||
OEM=8
|
||||
[8909]
|
||||
Owner=Abramo Holding spa
|
||||
@ -3122,7 +3134,7 @@ OEM=1
|
||||
Owner=ROSSINO SRL
|
||||
OEM=1
|
||||
[8926]
|
||||
Owner=Idealfiocchi
|
||||
Owner=IDEALFIOCCHI SNC DI ORLANDELLI DAVIDE & C.
|
||||
OEM=1
|
||||
[8928]
|
||||
Owner=CO.MA.RI SOCIETA' COOPERATIVA
|
||||
@ -3139,20 +3151,20 @@ OEM=1
|
||||
Owner=CO.MA.RI SOCIETA' COOPERATIVA
|
||||
OEM=1
|
||||
[8936]
|
||||
Owner=EMME&E
|
||||
Owner=EMME & E srl
|
||||
OEM=1
|
||||
[8937]
|
||||
Owner=EMME&E
|
||||
Owner=EMME & E srl
|
||||
OEM=1
|
||||
[8938]
|
||||
Owner=Produs
|
||||
Owner=PRODUS DI GIUSEPPE STILO E C. SNC
|
||||
OEM=1
|
||||
[8939]
|
||||
Owner=SCAI
|
||||
Owner=S.C.A.I. SRL
|
||||
OEM=1
|
||||
[8940]
|
||||
Owner=Interactive (Tetractis)
|
||||
OEM=1
|
||||
Owner=IMPREMED S.p.A.
|
||||
OEM=4
|
||||
[8941]
|
||||
Owner=HABILITA S.P.A
|
||||
OEM=1
|
||||
@ -3232,12 +3244,27 @@ OEM=8
|
||||
[8972]
|
||||
Owner=Abramo Real Estate
|
||||
OEM=8
|
||||
[8973]
|
||||
Owner=Impremed
|
||||
OEM=4
|
||||
[8974]
|
||||
Owner=Barranca Antonio
|
||||
OEM=8
|
||||
[8975]
|
||||
Owner=Petrolo Santina
|
||||
OEM=8
|
||||
[8989]
|
||||
Owner=Guimatrag
|
||||
OEM=0
|
||||
[8990]
|
||||
Owner=BUSTAPLAST FLEXIBLE PACKAGING SRL
|
||||
OEM=1
|
||||
[8991]
|
||||
Owner=Verga
|
||||
OEM=1
|
||||
[8992]
|
||||
Owner=Eurobica
|
||||
OEM=1
|
||||
[8993]
|
||||
Owner=CATTANEO CARNI & CO.MA.RI.
|
||||
OEM=1
|
||||
@ -3247,18 +3274,48 @@ OEM=0
|
||||
[8995]
|
||||
Owner=Associazione Industriali Piacenza
|
||||
OEM=1
|
||||
[8997]
|
||||
Owner=Folloni Gianluca
|
||||
OEM=1
|
||||
[8998]
|
||||
Owner=BIESSE SOCIETA' COOPERATIVA
|
||||
OEM=1
|
||||
[8999]
|
||||
Owner=CO.GE.F. SRL SOC.UNIPERSONALE
|
||||
OEM=1
|
||||
[9000]
|
||||
Owner=SICIM S.p.A.
|
||||
OEM=1
|
||||
[9001]
|
||||
Owner=SICIM S.p.A.
|
||||
OEM=1
|
||||
[9002]
|
||||
Owner=SICIM S.p.A.
|
||||
OEM=1
|
||||
[9003]
|
||||
Owner=SICIM S.p.A.
|
||||
OEM=1
|
||||
[9004]
|
||||
Owner=Consorzio GET GROUP
|
||||
OEM=1
|
||||
[9005]
|
||||
Owner=Scuola Materna di Prato di Correggio
|
||||
OEM=1
|
||||
[9006]
|
||||
Owner=Actual Spotti S.R.L.
|
||||
OEM=1
|
||||
[9007]
|
||||
Owner=CO.SE.A.
|
||||
OEM=1
|
||||
[9008]
|
||||
Owner=New Life
|
||||
OEM=1
|
||||
[9020]
|
||||
Owner=G.G. Trasporti s.r.l.
|
||||
OEM=1
|
||||
[9022]
|
||||
Owner=SICIM SUCCURSAL DE ESPANA
|
||||
OEM=1
|
||||
[9023]
|
||||
Owner=Barbarini
|
||||
OEM=1
|
||||
@ -3266,7 +3323,7 @@ OEM=1
|
||||
Owner=F.C.F. New Construction Nautica srl
|
||||
OEM=1
|
||||
[9025]
|
||||
Owner=Barbarini
|
||||
Owner=BARBARINI & C. SRL
|
||||
OEM=1
|
||||
[9999]
|
||||
pd0300 -0=31-12-3000
|
||||
|
@ -682,11 +682,11 @@ void CampoWizardPage4::OnSSAPick(wxCommandEvent& e)
|
||||
const int nSerial = wxAtoi(strSerial);
|
||||
if (nSerial > 1000 && nSerial < 10000)
|
||||
{
|
||||
wxString path("./SSAGetInfo.exe -nome ");
|
||||
wxString path("./SSAGetInfo.exe -nome c:/");
|
||||
path << strSerial;
|
||||
wxExecute(path, wxEXEC_SYNC);
|
||||
strSerial += wxT(".ssax");
|
||||
if (wxFileName::FileExists(strSerial))
|
||||
if (wxFileName::FileExists(path))
|
||||
{
|
||||
wxString msg = _T("Spedire il file ") + strSerial + _(" a abilitazioni_software@sirio-is.it\nper ottenere il file della licenza da copiare nella cartella di installazione.");
|
||||
MessageBox(msg);
|
||||
@ -855,7 +855,7 @@ int CampoWizardPage4::DongleTest()
|
||||
|
||||
if (serno == 0xFFFF)
|
||||
{
|
||||
wxString strSSA = wxFindFirstFile("*.ssax");
|
||||
wxString strSSA = wxFindFirstFile("c:\\*.ssax");
|
||||
if (!strSSA.IsEmpty())
|
||||
{
|
||||
strSSA = strSSA.After('\\');
|
||||
|
@ -377,7 +377,6 @@ int TMotore_application::read( TMask& m )
|
||||
|
||||
mask.reset_father_rows();
|
||||
|
||||
|
||||
doc() = (TDocumento &)_rel->curr();
|
||||
mask.update_father_rows(false);
|
||||
|
||||
|
@ -1511,7 +1511,7 @@ void TMask_generator::genera( const TString& profilo )
|
||||
|
||||
_m->control( T_BOTTONE, DLG_PREVIEW, 202 );
|
||||
_m->begin( );
|
||||
_m->prompt( 5, 1, "Anteprima" );
|
||||
_m->prompt( 5, 1, "Antepr." );
|
||||
_m->picture(TOOL_PREVIEW);
|
||||
_m->end( );
|
||||
|
||||
@ -1548,7 +1548,7 @@ void TMask_generator::genera( const TString& profilo )
|
||||
|
||||
_m->control( T_BOTTONE, DLG_PREVREC, 202 );
|
||||
_m->begin( );
|
||||
_m->prompt( 9, 1, "Indietro");
|
||||
_m->prompt( 9, 1, "Prec.");
|
||||
_m->message( "EXIT,305" );
|
||||
_m->picture(TOOL_PREVREC);
|
||||
_m->end( );
|
||||
@ -1562,7 +1562,7 @@ void TMask_generator::genera( const TString& profilo )
|
||||
|
||||
_m->control( T_BOTTONE, DLG_NEXTREC, 202 );
|
||||
_m->begin( );
|
||||
_m->prompt( 11, 1, "Avanti");
|
||||
_m->prompt( 11, 1, "Succ.");
|
||||
_m->message( "EXIT,306" );
|
||||
_m->picture(TOOL_NEXTREC);
|
||||
_m->end( );
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <defmask.h>
|
||||
#include <modaut.h>
|
||||
#include <dongle.h>
|
||||
#include <postman.h>
|
||||
#include <progind.h>
|
||||
#include <reprint.h>
|
||||
@ -969,7 +969,7 @@ class TReport_doc_app : public TSkeleton_application
|
||||
TReport_doc_mask* _msk;
|
||||
|
||||
int _anno;
|
||||
TString16 _codnum; // codice numerazione / profilo
|
||||
TString16 _codnum, _tipodoc; // codice numerazione / profilo
|
||||
long _ndoc, _codcf;
|
||||
char _tipocf;
|
||||
bool _no_print_dlg;
|
||||
@ -984,9 +984,9 @@ protected:
|
||||
void print_trans(const char* ininame);
|
||||
TOutput_mode key2mode(KEY k) const;
|
||||
|
||||
void set_next_pdf(int an, const char* cn, long nd, char tcf, long cf);
|
||||
void set_next_pdf(const TRecordset* doc);
|
||||
virtual bool get_next_pdf(int anno, long ditta, const char* codnum, long numdoc, long codcf, TFilename& pdf) const;
|
||||
const TString& get_mail_address() const;
|
||||
bool get_mail_address(TToken_string& to, TToken_string& cc) const;
|
||||
virtual bool get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn,
|
||||
TString& subj, TString& text, TToken_string& attach, short& ui) const ;
|
||||
void print_extra_copies(TReport_doc& report, const TRecordset& doc, TReport_book& book, word printed_copies) const;
|
||||
@ -998,13 +998,24 @@ public:
|
||||
virtual bool destroy();
|
||||
};
|
||||
|
||||
void TReport_doc_app::set_next_pdf(int an, const char* cn, long nd, char tcf, long cf)
|
||||
void TReport_doc_app::set_next_pdf(const TRecordset* doc)
|
||||
{
|
||||
_anno = an;
|
||||
_codnum = cn;
|
||||
_ndoc = nd;
|
||||
_tipocf = tcf;
|
||||
_codcf = cf;
|
||||
if (doc)
|
||||
{
|
||||
_anno = doc->get(DOC_ANNO).as_int();
|
||||
_codnum = doc->get(DOC_CODNUM).as_string();
|
||||
_ndoc = doc->get(DOC_NDOC).as_int();
|
||||
_tipodoc= doc->get(DOC_TIPODOC).as_string();
|
||||
_tipocf = doc->get(DOC_TIPOCF).as_string()[0];
|
||||
_codcf = doc->get(DOC_CODCF).as_int();
|
||||
}
|
||||
else
|
||||
{
|
||||
_anno = 0;
|
||||
_codnum = _tipodoc = "";
|
||||
_ndoc = _codcf = 0L;
|
||||
_tipocf = ' ';
|
||||
}
|
||||
}
|
||||
|
||||
bool TReport_doc_app::get_next_pdf(int anno, long ditta, const char* codnum, long ndoc, long codcf, TFilename& pdf) const
|
||||
@ -1015,11 +1026,49 @@ bool TReport_doc_app::get_next_pdf(int anno, long ditta, const char* codnum, lon
|
||||
return ok;
|
||||
}
|
||||
|
||||
const TString& TReport_doc_app::get_mail_address() const
|
||||
bool TReport_doc_app::get_mail_address(TToken_string& to, TToken_string& cc) const
|
||||
{
|
||||
TString8 key; key << _tipocf << '|' << _codcf;
|
||||
const TString& maddr = cache().get(LF_CLIFO, key, CLI_DOCMAIL);
|
||||
return maddr;
|
||||
if (_tipodoc.full())
|
||||
{
|
||||
const TTipo_documento& tipo = cached_tipodoc(_tipodoc);
|
||||
TFilename report; tipo.mail_print_profile(report);
|
||||
report = report.name_only();
|
||||
|
||||
TString8 clifo; clifo.format("%c%06ld", _tipocf, _codcf);
|
||||
TISAM_recordset contacts("USE MULTIREL\nFROM COD=BACON FIRST=#CLIFO\nTO COD=BACON FIRST=#CLIFO");
|
||||
contacts.set_var("#CLIFO", clifo);
|
||||
|
||||
TToken_string data;
|
||||
for (bool ok = contacts.move_first(); ok; ok = contacts.move_next())
|
||||
{
|
||||
data = contacts.get("DATA").as_string();
|
||||
FOR_EACH_TOKEN(data, tok)
|
||||
{
|
||||
if (_tipodoc.match(tok, true) || report.match(tok, true))
|
||||
{
|
||||
const TRectype& rub = cache().get(LF_CONTACT, contacts.get("SECOND").as_int());
|
||||
TString80 mail = rub.get("MAIL");
|
||||
if (mail.blank())
|
||||
mail = rub.get("MAIL2");
|
||||
if (mail.full())
|
||||
{
|
||||
if (to.blank())
|
||||
to = mail;
|
||||
else
|
||||
cc.add(mail);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (to.blank())
|
||||
{
|
||||
TString8 key; key << _tipocf << '|' << _codcf;
|
||||
to = cache().get(LF_CLIFO, key, CLI_DOCMAIL);
|
||||
}
|
||||
return to.full();
|
||||
}
|
||||
|
||||
bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn,
|
||||
@ -1029,8 +1078,7 @@ bool TReport_doc_app::get_next_mail(TToken_string& to, TToken_string& cc, TToken
|
||||
|
||||
if (_ndoc > 0L)
|
||||
{
|
||||
to = get_mail_address();
|
||||
ok = to.full();
|
||||
ok = get_mail_address(to, cc);
|
||||
if (ok)
|
||||
{
|
||||
TDocumento doc('D', _anno, _codnum, _ndoc);
|
||||
@ -1104,7 +1152,7 @@ void TReport_doc_app::add_filter(TString& query, bool from) const
|
||||
bool TReport_doc_app::create()
|
||||
{
|
||||
if (!has_module(RSAUT))
|
||||
return error_box(TR("Modulo non autorizzato"));
|
||||
return error_box(FR("Modulo non autorizzato: %s"), dongle().module_code2desc(RSAUT));
|
||||
|
||||
_msk = new TReport_doc_mask;
|
||||
return TSkeleton_application::create();
|
||||
@ -1184,7 +1232,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
"Rispondendo NO verranno solo salvati gli allegati."));
|
||||
}
|
||||
|
||||
const bool mail_requested = (mode == out_mail || mode == out_signed_mail);
|
||||
const bool mail_requested = (mode == out_mail || mode == out_signed_mail);
|
||||
|
||||
for (short loop = mail_requested ? 0 : 1; loop < 2; loop++)
|
||||
{
|
||||
@ -1211,12 +1259,10 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
const TCodice_numerazione& cn = cached_numerazione(codnum);
|
||||
arc = cn.auto_archive();
|
||||
}
|
||||
set_next_pdf(doc.get(DOC_ANNO).as_int(), doc.get(DOC_CODNUM).as_string(),
|
||||
doc.get(DOC_NDOC).as_int(), doc.get(DOC_TIPOCF).as_string()[0],
|
||||
doc.get(DOC_CODCF).as_int());
|
||||
set_next_pdf(&doc);
|
||||
|
||||
// const bool send_mail = ( mode == out_mail || mode == out_signed_mail) && get_mail_address().full();
|
||||
const bool send_mail = mail_requested && get_mail_address().full();
|
||||
TToken_string to, cc;
|
||||
const bool send_mail = mail_requested && get_mail_address(to, cc);
|
||||
const bool paperless = send_mail || mode == out_pdf || mode == out_signed_pdf;
|
||||
|
||||
// Tenta di costruirsi il nome del report: se non stampo su carta cerco di usare un profilo con sfondo
|
||||
@ -1247,8 +1293,9 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
mail_book->archive(NULL, signature);
|
||||
|
||||
TString mesg;
|
||||
TToken_string to, cc; get_mail_address(to, cc);
|
||||
mesg << tipo.descrizione() << TR(" n. ") << doc.get(DOC_NDOC)
|
||||
<< TR(" del ") << doc.get(DOC_DATADOC) << TR(" a ") << get_mail_address();
|
||||
<< TR(" del ") << doc.get(DOC_DATADOC) << TR(" a ") << to;
|
||||
mail_log.log(0, mesg);
|
||||
}
|
||||
}
|
||||
@ -1333,7 +1380,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
if (book.pages() > 0)
|
||||
{
|
||||
if (docs > 1)
|
||||
set_next_pdf(0, "", 0L, ' ', 0L); //spegne l'archiviazione nell'esportazione;non si possono archiviare più docs in uno!!!
|
||||
set_next_pdf(NULL); //spegne l'archiviazione nell'esportazione;non si possono archiviare più docs in uno!!!
|
||||
|
||||
if (mail_log.recordset()->items() > 0)
|
||||
book.add(mail_log);
|
||||
@ -1344,7 +1391,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
||||
case out_signed_pdf:
|
||||
{
|
||||
TFilename pdf; pdf.tempdir();
|
||||
pdf << SLASH << _anno <<'_' << _codnum << '_' << _ndoc;
|
||||
pdf << SLASH << _anno << '_' << _codnum << '_' << _ndoc;
|
||||
pdf.ext("pdf");
|
||||
if (book.export_pdf(pdf, mode == out_signed_pdf))
|
||||
xvt_sys_goto_url(pdf, "open");
|
||||
|
@ -87,8 +87,7 @@ protected: // TApplication
|
||||
void set_options();
|
||||
void generate();
|
||||
public:
|
||||
TGenerazioneEffetti_app() {_msk = NULL; _num_sheet = NULL;}
|
||||
virtual ~TGenerazioneEffetti_app() { }
|
||||
TGenerazioneEffetti_app() : _msk(NULL), _num_sheet(NULL) {}
|
||||
};
|
||||
|
||||
inline TGenerazioneEffetti_app& app() { return (TGenerazioneEffetti_app&) main_app(); }
|
||||
@ -307,7 +306,7 @@ bool TGenerazioneEffetti_app::doc_tipo_stato_ok(TDocumento* doc)
|
||||
{
|
||||
const int items = _tipi_doc.items();
|
||||
bool found = FALSE;
|
||||
const TString16 tipo(doc->tipo().codice());
|
||||
const TString4 tipo(doc->tipo().codice());
|
||||
const char stato = doc->stato();
|
||||
for (int i=0;i<items && !found;i++)
|
||||
{
|
||||
@ -323,8 +322,13 @@ bool TGenerazioneEffetti_app::doc_tipo_stato_ok(TDocumento* doc)
|
||||
int TGenerazioneEffetti_app::change_doc_status(TDocumento* doc)
|
||||
// Cambia lo stato del documento
|
||||
{
|
||||
doc->stato(_final_doc_status);
|
||||
return doc->rewrite();
|
||||
int err = 0;
|
||||
if (doc->stato() != _final_doc_status)
|
||||
{
|
||||
doc->stato(_final_doc_status);
|
||||
err = doc->rewrite();
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
@ -459,10 +463,11 @@ void TGenerazioneEffetti_app::generate()
|
||||
set_options();
|
||||
|
||||
const bool sort_by_date = _msk->get_int(F_ORDERBY) == 0;
|
||||
const bool fast_status = _msk->get_bool(F_SPEEDSTATUS);
|
||||
|
||||
for (long i=0L; i<items;i++) // Scorre per tutte le numerazioni dello sheet
|
||||
{
|
||||
const TString8 codnum = _num_sheet->row(i).get(1);
|
||||
const TString4 codnum = _num_sheet->row(i).get(1);
|
||||
|
||||
// Controlla se la numerazione corrente e' stata selezionata
|
||||
bool is_selected = _num_sheet->row_enabled(i);
|
||||
@ -506,14 +511,15 @@ void TGenerazioneEffetti_app::generate()
|
||||
}
|
||||
|
||||
TCursor doc_cur(&doc_rel, filt_expr, cursor_key, &da, &a);
|
||||
TString msg;
|
||||
|
||||
const long cur_items = doc_cur.items(); // Scorre tutti i documenti che rientrano nell'intervallo selezionato
|
||||
if (cur_items == 0)
|
||||
{
|
||||
warning_box("Non vi sono effetti da generare per il codice numerazione %s",(const char*)codnum);
|
||||
msg << TR("Non vi sono effetti da generare per il codice numerazione ") << codnum;
|
||||
xvt_dm_popup_warning(msg);
|
||||
continue;
|
||||
}
|
||||
TString msg;
|
||||
msg << "Selezione documenti " << codnum;
|
||||
if (sort_by_date)
|
||||
{
|
||||
@ -535,14 +541,17 @@ void TGenerazioneEffetti_app::generate()
|
||||
// altrimenti compone una lista dei documenti da raggruppare
|
||||
// - alla fine del ciclo per numerazioni scorre la lista residua e genera gli
|
||||
// effetti rimasti
|
||||
for (;j<cur_items;j++)
|
||||
for (; j<cur_items; j++)
|
||||
{
|
||||
p.setstatus(j+1);
|
||||
if (!p.setstatus(j+1))
|
||||
break;
|
||||
|
||||
doc_cur = j;
|
||||
TDocumento* doc = new TDocumento;
|
||||
if (doc->read(doc_cur.curr()) == NOERR && // legge il documento
|
||||
codnum == doc->get(DOC_CODNUM) && // patch del cazzo
|
||||
doc_tipo_stato_ok(doc)) // controlla che il tipo documento e lo stato siano coerenti con la ELD selezionata
|
||||
if (doc_cur.curr().get(DOC_CODNUM) != codnum)
|
||||
continue;
|
||||
|
||||
TDocumento* doc = new TDocumento(doc_cur.curr());
|
||||
if (doc_tipo_stato_ok(doc)) // controlla che il tipo documento e lo stato siano coerenti con la ELD selezionata
|
||||
{
|
||||
TPagamento & pag = doc->pagamento();
|
||||
if (pag.code().not_empty())
|
||||
@ -554,6 +563,7 @@ void TGenerazioneEffetti_app::generate()
|
||||
TLista_documenti lista_in,lista_out;
|
||||
|
||||
lista_in.add(doc);
|
||||
doc = NULL; // Non cancellarlo in quanto messo nella lista
|
||||
if (!gen_eff.elabora(lista_in,lista_out,data)) // La data non serve, cosi' come la lista documenti in uscita
|
||||
gen_eff.set_writeable(FALSE);
|
||||
|
||||
@ -562,7 +572,7 @@ void TGenerazioneEffetti_app::generate()
|
||||
else
|
||||
{
|
||||
add_to_group_list(doc); // Aggiorna la lista degli effetti da raggruppare
|
||||
delete doc;
|
||||
doc = NULL; // Non cancellarlo in quanto messo nella lista
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -570,16 +580,15 @@ void TGenerazioneEffetti_app::generate()
|
||||
int err = change_doc_status(doc); // Cambia lo stato al documento
|
||||
if (err != NOERR)
|
||||
warning_box("Errore %d tentando di cambiare lo stato del documento %s/%d",err,(const char*)doc->numerazione(),doc->numero());
|
||||
delete doc;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (doc)
|
||||
delete doc;
|
||||
}
|
||||
}
|
||||
// Ogni elemento di _group_array è una TToken_string. Ogni elemento della TToken_string contiene
|
||||
// la chiave per identificare il documento che fa parte di quel raggruppamento
|
||||
tot += gen_eff.group_bills(_group_array, false);// Setta l'elenco dei documenti per generare effetti raggruppati
|
||||
tot += gen_eff.group_bills(_group_array, false, fast_status);// Setta l'elenco dei documenti per generare effetti raggruppati
|
||||
|
||||
if (tot > 0L)
|
||||
message_box("Totale effetti generati: %ld", tot);
|
||||
|
@ -6,6 +6,7 @@
|
||||
#define F_DATA_FIN 104
|
||||
#define F_RAGGRUPPA 105
|
||||
#define F_ORDERBY 106
|
||||
#define F_SPEEDSTATUS 107
|
||||
|
||||
#define F_ANNO 201
|
||||
#define F_CODNUM 202
|
||||
|
285
ve/ve6300a.uml
285
ve/ve6300a.uml
@ -1,138 +1,147 @@
|
||||
#include "ve6300a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_USER 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 "~Selezione"
|
||||
PICTURE TOOL_MULTISEL
|
||||
END
|
||||
|
||||
#include <stdbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Generazione effetti" 0 0 0 0
|
||||
|
||||
STRING F_CODICE_ELAB 8
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice elaborazione "
|
||||
FLAG "U"
|
||||
USE %ELD SELECT I0==5
|
||||
INPUT CODTAB F_CODICE_ELAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@55" S0
|
||||
OUTPUT F_CODICE_ELAB CODTAB
|
||||
OUTPUT F_DESC_ELAB S0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "E' necessario specificare il codice elaborazione"
|
||||
END
|
||||
|
||||
STRING F_DESC_ELAB 50 40
|
||||
BEGIN
|
||||
PROMPT 34 1 ""
|
||||
USE %ELD KEY 2 SELECT I0==5
|
||||
INPUT S0 F_DESC_ELAB
|
||||
DISPLAY "Descrizione@55" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_CODICE_ELAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
RADIOBUTTON F_ORDERBY 1 76
|
||||
BEGIN
|
||||
PROMPT 1 2 "Sequenza di ordinamento"
|
||||
ITEM "0|Per data documento"
|
||||
MESSAGE SHOW,1@|HIDE,2@
|
||||
ITEM "1|Per numero documento"
|
||||
MESSAGE SHOW,2@|HIDE,1@
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 1 5 "Intervallo documenti"
|
||||
END
|
||||
|
||||
DATE F_DATA_INI
|
||||
BEGIN
|
||||
PROMPT 2 7 "Data iniziale "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di inizio intervallo e' obbligatoria"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
DATE F_DATA_FIN
|
||||
BEGIN
|
||||
PROMPT 2 8 "Data finale "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di fine intervallo e' obbligatoria"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 6 "Anno "
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 2
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
STRING F_CODNUM 3
|
||||
BEGIN
|
||||
PROMPT 14 6 "Numerazione "
|
||||
FLAGS "BU"
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESCNUM 50 40
|
||||
BEGIN
|
||||
PROMPT 34 6 ""
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_NDOC_INI 7
|
||||
BEGIN
|
||||
PROMPT 2 7 "Documento iniziale "
|
||||
USE LF_DOC
|
||||
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
INPUT PROVV "D"
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT CODNUM F_CODNUM SELECT
|
||||
INPUT NDOC F_NDOC_INI
|
||||
DISPLAY "Numero" NDOC
|
||||
DISPLAY "Data@10" DATADOC
|
||||
DISPLAY "Tipo" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
OUTPUT F_NDOC_INI NDOC
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Numero documento errato"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_NDOC_FIN 7
|
||||
BEGIN
|
||||
PROMPT 2 8 "Documento finale "
|
||||
COPY USE F_NDOC_INI
|
||||
INPUT PROVV "D"
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT CODNUM F_CODNUM SELECT
|
||||
INPUT NDOC F_NDOC_FIN
|
||||
COPY DISPLAY F_NDOC_INI
|
||||
OUTPUT F_NDOC_FIN NDOC
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Numero documento errato"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_RAGGRUPPA
|
||||
BEGIN
|
||||
PROMPT 1 10 "Raggruppamento effetti"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "ve6300a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_USER 10 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 "~Selezione"
|
||||
PICTURE TOOL_MULTISEL
|
||||
END
|
||||
|
||||
#include <elabar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Generazione effetti" 0 0 0 0
|
||||
|
||||
STRING F_CODICE_ELAB 8
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice elaborazione "
|
||||
FLAG "U"
|
||||
USE %ELD SELECT I0==5
|
||||
INPUT CODTAB F_CODICE_ELAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@55" S0
|
||||
OUTPUT F_CODICE_ELAB CODTAB
|
||||
OUTPUT F_DESC_ELAB S0
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "E' necessario specificare il codice elaborazione"
|
||||
END
|
||||
|
||||
STRING F_DESC_ELAB 50 40
|
||||
BEGIN
|
||||
PROMPT 34 1 ""
|
||||
USE %ELD KEY 2 SELECT I0==5
|
||||
INPUT S0 F_DESC_ELAB
|
||||
DISPLAY "Descrizione@55" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_CODICE_ELAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
RADIOBUTTON F_ORDERBY 1 76
|
||||
BEGIN
|
||||
PROMPT 1 2 "Sequenza di ordinamento"
|
||||
ITEM "0|Per data documento"
|
||||
MESSAGE SHOW,1@|HIDE,2@
|
||||
ITEM "1|Per numero documento"
|
||||
MESSAGE SHOW,2@|HIDE,1@
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 1 5 "Intervallo documenti"
|
||||
END
|
||||
|
||||
DATE F_DATA_INI
|
||||
BEGIN
|
||||
PROMPT 2 7 "Data iniziale "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di inizio intervallo e' obbligatoria"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
DATE F_DATA_FIN
|
||||
BEGIN
|
||||
PROMPT 2 8 "Data finale "
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "La data di fine intervallo e' obbligatoria"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 6 "Anno "
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 2
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
STRING F_CODNUM 4
|
||||
BEGIN
|
||||
PROMPT 14 6 "Numerazione "
|
||||
FLAGS "BU"
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DESCNUM 50 40
|
||||
BEGIN
|
||||
PROMPT 34 6 ""
|
||||
FLAGS "D"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_NDOC_INI 7
|
||||
BEGIN
|
||||
PROMPT 2 7 "Documento iniziale "
|
||||
USE LF_DOC
|
||||
JOIN LF_CLIFO INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
INPUT PROVV "D"
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT CODNUM F_CODNUM SELECT
|
||||
INPUT NDOC F_NDOC_INI
|
||||
DISPLAY "Numero" NDOC
|
||||
DISPLAY "Data@10" DATADOC
|
||||
DISPLAY "Tipo" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" LF_CLIFO->RAGSOC
|
||||
OUTPUT F_NDOC_INI NDOC
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Numero documento errato"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_NDOC_FIN 7
|
||||
BEGIN
|
||||
PROMPT 2 8 "Documento finale "
|
||||
COPY USE F_NDOC_INI
|
||||
INPUT PROVV "D"
|
||||
INPUT ANNO F_ANNO SELECT
|
||||
INPUT CODNUM F_CODNUM SELECT
|
||||
INPUT NDOC F_NDOC_FIN
|
||||
COPY DISPLAY F_NDOC_INI
|
||||
OUTPUT F_NDOC_FIN NDOC
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Numero documento errato"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_RAGGRUPPA
|
||||
BEGIN
|
||||
PROMPT 1 10 "Raggruppamento effetti"
|
||||
MESSAGE FALSE DISABLE,F_SPEEDSTATUS
|
||||
MESSAGE TRUE ENABLE,F_SPEEDSTATUS
|
||||
END
|
||||
|
||||
BOOLEAN F_SPEEDSTATUS
|
||||
BEGIN
|
||||
PROMPT 1 11 "Cambio stato documenti veloce"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -234,8 +234,8 @@ END
|
||||
SPREADSHEET F_DEFAULTS
|
||||
BEGIN
|
||||
PROMPT 1 5 ""
|
||||
ITEM "Campo@40"
|
||||
ITEM "Valore@40"
|
||||
ITEM "Campo@50"
|
||||
ITEM "Valore@50"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
@ -554,7 +554,7 @@ public:
|
||||
bool is_risorsa() const { return tipo().tipo() == RIGA_RISORSE;}
|
||||
bool is_attrezzatura() const { return tipo().tipo() == RIGA_ATTREZZATURE;}
|
||||
bool is_sconto() const {return tipo().tipo() == RIGA_SCONTI;}
|
||||
bool is_sconto_perc() const { return is_sconto() && get(RDOC_SCONTO).not_empty();}
|
||||
bool is_sconto_perc() const { return is_sconto() && get(RDOC_SCONTO).full();}
|
||||
bool is_omaggio() const { return tipo().tipo() == RIGA_OMAGGI;}
|
||||
bool is_descrizione() const { return tipo().tipo() == RIGA_DESCRIZIONI;}
|
||||
bool is_articolo() const;
|
||||
@ -564,13 +564,12 @@ public:
|
||||
bool is_evasa() const; // Ritorna vero se la riga è evasa
|
||||
void checked(bool on = true) { put(RDOC_CHECKED, (bool)on); }
|
||||
void unchecked() { checked(FALSE); }
|
||||
bool linked() const { return get(RDOC_DACODNUM).not_empty();}
|
||||
bool linked() const { return get(RDOC_DACODNUM).full(); }
|
||||
// @cmember Assegna il documento corrente
|
||||
void set_doc(TDocumento * doc) { _doc = doc; }
|
||||
virtual const TDocumento & doc() const { CHECK(_doc, "Documento nullo"); return *_doc;}
|
||||
virtual bool edit(int logicnum = 0, const char * alternate_key_fields = NULL, const char* hint = NULL) const;
|
||||
|
||||
|
||||
virtual void zero(const char * fieldname);
|
||||
virtual void zero(char c = '\0');
|
||||
|
||||
@ -1033,7 +1032,7 @@ public:
|
||||
static TAssoc_array & auto_reopen_nums() { return _auto_reopen_nums;}
|
||||
static TAssoc_array & tipidoc_rels() { return _tipidoc_rels;}
|
||||
const TAssoc_array & father_rows() const { return _father_rows;}
|
||||
void reset_father_rows() {_father_rows.destroy();}
|
||||
void reset_father_rows() { _father_rows.destroy(); }
|
||||
void update_father_rows(bool add = true);
|
||||
void save_father_rows();
|
||||
|
||||
|
@ -1442,11 +1442,15 @@ const TRectype* TRiga_documento::find_original_rdoc() const
|
||||
key.add(get(RDOC_DAANNO));
|
||||
key.add(get(RDOC_DAPROVV));
|
||||
key.add(get(RDOC_DANDOC));
|
||||
for (int r = 1; ; r++)
|
||||
for (int r = 0; ; r++)
|
||||
{
|
||||
key.add(r, 4);
|
||||
if (r == 0)
|
||||
key.add(id, 4);
|
||||
else
|
||||
key.add(r, 4);
|
||||
const TRectype& rec = cache().get(LF_RIGHEDOC, key);
|
||||
if (rec.empty()) break;
|
||||
if (r > 0 && rec.empty())
|
||||
break;
|
||||
if (rec.get_long(RDOC_IDRIGA) == id)
|
||||
return &rec;
|
||||
}
|
||||
|
@ -13,6 +13,11 @@
|
||||
#include "../cg/cg2101.h"
|
||||
#endif
|
||||
|
||||
#ifndef __RECARRAY_H
|
||||
#include <recarray.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
class TLista_documenti : public TObject // velib04
|
||||
{
|
||||
@ -565,7 +570,7 @@ protected:
|
||||
// Scrive i record array degli effetti raggruppati
|
||||
error_type write_groups(bool interattivo);
|
||||
// Cambia lo stato dei gruppi di documenti raggruppati in effetti
|
||||
error_type change_group_status(TDocumento&, TAssoc_array&);
|
||||
error_type change_group_status(TDocumento&, TAssoc_array&, bool bFast);
|
||||
// Cambia lo stato del documento
|
||||
error_type change_doc_status(TDocumento&);
|
||||
// Verifica se non ci sono stati errori
|
||||
@ -575,7 +580,7 @@ public:
|
||||
const TDate& data_elab, bool interattivo = false);
|
||||
|
||||
// Effettua il raggruppamento vero e proprio degli effetti (solo se ci sono elementi nell'assoc_array passato)
|
||||
long group_bills(TAssoc_array& group_array, bool interattivo);
|
||||
long group_bills(TAssoc_array& group_array, bool interattivo, bool fast);
|
||||
long bills() const { return _total_bills; }
|
||||
// void set_group(TAssoc_array& a) { _group_array = a; }
|
||||
void set_writeable(const bool b) { _can_write = b; }
|
||||
|
@ -862,10 +862,8 @@ bool TContabilizzazione::load_parameters()
|
||||
// il tutto.
|
||||
|
||||
if (_search_seq->empty_items())
|
||||
{
|
||||
error_box("Non e' abilitata alcuna ricerca per il conto di costo/ricavo in configurazione.");
|
||||
return false;
|
||||
}
|
||||
return error_box(TR("Non e' abilitata alcuna ricerca per il conto di costo/ricavo in configurazione."));
|
||||
|
||||
_sc_enabled = conf.get_bool("GesSal","cg");
|
||||
_in_enabled = dongle().active(INAUT);
|
||||
_nump_cfg = conf.get_bool("RifPro","cg");
|
||||
@ -1037,7 +1035,7 @@ long TContabilizzazione::doc_contabilized(const TDocumento& doc, bool anticipo)
|
||||
|
||||
TCausale* TContabilizzazione::get_caus(const TDocumento& doc, const int year) const
|
||||
{
|
||||
TString8 codcaus;
|
||||
TString4 codcaus;
|
||||
TToken_string key;
|
||||
|
||||
if (_fld_cms_cont.full())
|
||||
@ -1083,8 +1081,6 @@ TCausale* TContabilizzazione::get_caus(const TDocumento& doc, const int year) co
|
||||
error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
||||
// Compila la testata
|
||||
{
|
||||
TRectype& mov_rec = _movimento->curr();
|
||||
|
||||
const bool acquisto = doc.get_char(DOC_TIPOCF) == 'F';
|
||||
// Reperisce la data documento
|
||||
const TDate datadoc(doc.data());
|
||||
@ -1272,8 +1268,8 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
||||
}
|
||||
|
||||
// Dati del cliente...
|
||||
TString4 tipocf(doc.get(DOC_TIPOCF));
|
||||
long codcf = doc.get_long(DOC_CODCF);
|
||||
const TString4 tipocf(doc.get(DOC_TIPOCF));
|
||||
const long codcf = doc.get_long(DOC_CODCF);
|
||||
TString80 occas;
|
||||
{
|
||||
TLocalisamfile& cli_file = _clifo->lfile();
|
||||
@ -1304,8 +1300,8 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
||||
|
||||
// Codice pagamento
|
||||
const TString4 codpag(doc.get(DOC_CODPAG));
|
||||
if (sc_enabled(data_reg) || codpag.not_empty()) // La condizione di pagamento va controllata
|
||||
{ // se e' abilitato il saldaconto o se e' stata inserita
|
||||
if (sc_enabled(data_reg) || codpag.full()) // La condizione di pagamento va controllata
|
||||
{ // se e' abilitato il saldaconto o se e' stata inserita
|
||||
_cpg->put("CODTAB",codpag);
|
||||
if (_cpg->read() != NOERR)
|
||||
{
|
||||
@ -1313,7 +1309,9 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
||||
return _error;
|
||||
}
|
||||
}
|
||||
|
||||
// Mo' riempie il record della incornata (testata)
|
||||
TRectype& mov_rec = _movimento->curr();
|
||||
mov_rec.zero();
|
||||
mov_rec.put(MOV_ANNOES,cod_es); mov_rec.put(MOV_NUMREG,numreg);
|
||||
mov_rec.put(MOV_DATAREG,data_reg); mov_rec.put(MOV_DATACOMP,data_reg);
|
||||
@ -2666,29 +2664,67 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc)
|
||||
// Scrive le scadenze. Liberamente tratto da cg2104.cpp.
|
||||
{
|
||||
const TRectype& head = _movimento->curr();
|
||||
const long nreg = head.get_long(MOV_NUMREG);
|
||||
|
||||
// const real change(head.get_real(MOV_CAMBIO));
|
||||
int anno = head.get_int(MOV_ANNOIVA);
|
||||
|
||||
if (head.get_real(MOV_TOTDOC) == ZERO)
|
||||
if (head.get_real(MOV_TOTDOC).is_zero())
|
||||
return _error;
|
||||
|
||||
const bool is_nc = doc.is_nota_credito();
|
||||
const long nreg = head.get_long(MOV_NUMREG);
|
||||
int anno = head.get_int(MOV_ANNOIVA);
|
||||
// const real change(head.get_real(MOV_CAMBIO));
|
||||
|
||||
TString16 numpart;
|
||||
TString8 numpart; // Max. 7 chars
|
||||
|
||||
if (_nump_cfg)
|
||||
{
|
||||
numpart = head.get(MOV_PROTIVA);
|
||||
if (is_nc)
|
||||
{
|
||||
int annorif = doc.get_int("ANNORIF");
|
||||
if (annorif <= 0)
|
||||
{
|
||||
const TDate ddr = doc.get_date(DOC_DATADOCRIF);
|
||||
annorif = ddr.year();
|
||||
if (annorif <= 0)
|
||||
annorif = anno;
|
||||
}
|
||||
TString4 codnumrif = doc.get("CODNUMRIF");
|
||||
if (codnumrif.blank())
|
||||
codnumrif = doc.get(DOC_CODNUM);
|
||||
|
||||
const TString8 numdocrif = doc.get(DOC_NUMDOCRIF);
|
||||
|
||||
if (numdocrif.full())
|
||||
{
|
||||
TToken_string keydoc;
|
||||
keydoc.add(doc.get(DOC_PROVV));
|
||||
keydoc.add(annorif);
|
||||
keydoc.add(codnumrif);
|
||||
keydoc.add(numdocrif);
|
||||
const long numreg = atol(cache().get(LF_DOC, keydoc, DOC_NUMREG));
|
||||
if (numreg > 0)
|
||||
{
|
||||
TPartite_array pa; pa.add_numreg(numreg);
|
||||
const TPartita* game = pa.first();
|
||||
if (game != NULL)
|
||||
{
|
||||
anno = game->anno();
|
||||
numpart = game->numero();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
numpart = doc.get(DOC_NUMDOCRIF);
|
||||
if (_caus->iva() == iva_vendite && !doc.tipo().nota_credito())
|
||||
if (_caus->iva() == iva_vendite && !is_nc)
|
||||
numpart.cut(0);
|
||||
|
||||
if (numpart.blank())
|
||||
numpart = head.get(MOV_NUMDOC);
|
||||
else
|
||||
{
|
||||
TDate ddr = doc.get_date(DOC_DATADOCRIF);
|
||||
const TDate ddr = doc.get_date(DOC_DATADOCRIF);
|
||||
if (ddr.ok())
|
||||
anno = ddr.year();
|
||||
}
|
||||
@ -2894,7 +2930,7 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc)
|
||||
{
|
||||
const TRiga_partite& fatt = newgame->riga(p);
|
||||
const TDate datadoc = fatt.get_date(PART_DATADOC);
|
||||
const TString16 numdoc = fatt.get(PART_NUMDOC);
|
||||
const TString8 numdoc = fatt.get(PART_NUMDOC);
|
||||
if (datadoc.year() == datadocrif.year() && numdoc == numdocrif)
|
||||
break;
|
||||
}
|
||||
|
@ -125,37 +125,66 @@ void TGenerazione_effetti::display_error(TDocumento& doc)
|
||||
error_type TGenerazione_effetti::change_doc_status(TDocumento& doc)
|
||||
// Cambia lo stato del documento
|
||||
{
|
||||
doc.stato(get("S4")[0]);
|
||||
if (doc.rewrite() != NOERR)
|
||||
_error = chg_stat_error;
|
||||
const char stato_finale = get("S4")[0];
|
||||
if (doc.stato() != stato_finale)
|
||||
{
|
||||
doc.stato(stato_finale);
|
||||
if (doc.rewrite() != NOERR)
|
||||
_error = chg_stat_error;
|
||||
}
|
||||
return _error;
|
||||
}
|
||||
|
||||
error_type TGenerazione_effetti::change_group_status(TDocumento& doc, TAssoc_array& group_array)
|
||||
error_type TGenerazione_effetti::change_group_status(TDocumento& doc, TAssoc_array& group_array, bool fast)
|
||||
// Cambia lo stato dei documenti raggruppati
|
||||
{
|
||||
const int items = group_array.items();
|
||||
if (items > 0)
|
||||
{
|
||||
TProgind pi(items, "Cambio stato documenti", false);
|
||||
_error = no_error;
|
||||
TToken_string * group_element;
|
||||
int i=0;
|
||||
TString msg;
|
||||
|
||||
const char stato_finale = get_char("S4");
|
||||
|
||||
// Ciclo sugli elementi dell'assoc_array
|
||||
for (group_element = (TToken_string *) group_array.first_item(); group_element != NULL && i < items; i++,group_element = (TToken_string*)group_array.succ_item())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
group_element->restart();
|
||||
const int doc_items = group_element->items();
|
||||
for (int j=0;j<doc_items;j++)
|
||||
{
|
||||
TToken_string t(group_element->get(j),'$');
|
||||
char provv = t.get_char(0);
|
||||
int anno = t.get_int(1);
|
||||
TString codnum(t.get(2));
|
||||
long numdoc = t.get_long(3);
|
||||
if (doc.read(provv,anno,codnum,numdoc) == NOERR) // Legge il documento
|
||||
const int anno = t.get_int(1);
|
||||
const TString4 codnum(t.get(2));
|
||||
const long numdoc = t.get_long(3);
|
||||
|
||||
msg.cut(0) << TR("Cambio stato documento ") << codnum << ' ' << anno << '/' << numdoc;
|
||||
pi.set_text(msg);
|
||||
|
||||
if (fast)
|
||||
{
|
||||
doc.put(DOC_STATO,get("S4")[0]);
|
||||
doc.rewrite();
|
||||
TFast_isamfile doc(LF_DOC);
|
||||
doc.put(DOC_PROVV, provv);
|
||||
doc.put(DOC_ANNO, anno);
|
||||
doc.put(DOC_CODNUM, codnum);
|
||||
doc.put(DOC_NDOC, numdoc);
|
||||
if (doc.read() == NOERR)
|
||||
{
|
||||
doc.put(DOC_STATO, stato_finale);
|
||||
doc.rewrite();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (doc.read(provv,anno,codnum,numdoc) == NOERR) // Legge il documento
|
||||
change_doc_status(doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -169,29 +198,39 @@ error_type TGenerazione_effetti::write_groups(bool interattivo)
|
||||
int err = NOERR;
|
||||
int i;
|
||||
|
||||
TString msg;
|
||||
|
||||
TProgind pi(items, "Scrittura effetti", false);
|
||||
|
||||
_error = no_error;
|
||||
for (i = 0; i<items && err == NOERR; i++) // scorre gli effetti generati e li scrive su file
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
TEffetto& effetto = (TEffetto&)_effetti_array[i];
|
||||
const real importo = effetto.get_real(EFF_IMPORTO);
|
||||
|
||||
if (importo > ZERO) // Gli effetti negativi non vanno scritti
|
||||
{
|
||||
const char tipocf = effetto.get_char(EFF_TIPOCF);
|
||||
const long codcf = effetto.get_long(EFF_CODCF);
|
||||
TString key;
|
||||
|
||||
key.format("%c|%ld", tipocf, codcf);
|
||||
|
||||
real impmin;
|
||||
|
||||
if (!interattivo)
|
||||
{
|
||||
TString8 key; key.format("%c|%ld", tipocf, codcf);
|
||||
impmin = real(cache().get(LF_CFVEN, key, CFV_IMPMINEFF));
|
||||
if (impmin == ZERO)
|
||||
if (impmin.is_zero())
|
||||
impmin = _impmin;
|
||||
}
|
||||
if (effetto.get_int(EFF_TIPOPAG) == _rid || importo >= impmin)
|
||||
{
|
||||
err = effetto.write(*_efffile); // Pensa a tutto lui per rinumerare...
|
||||
|
||||
const long n = effetto.get_long(EFF_NPROGTR);
|
||||
msg.cut(0) << TR("Scrittura effetto ") << n;
|
||||
pi.set_text(msg);
|
||||
}
|
||||
else
|
||||
_effetti_array.destroy(i);
|
||||
}
|
||||
@ -254,7 +293,7 @@ error_type TGenerazione_effetti::write_groups(bool interattivo)
|
||||
// per l'effetto 5 vale la fattura 3.
|
||||
// Questo e' quanto ho appreso (Hope I'm right...) ;-)
|
||||
|
||||
long TGenerazione_effetti::group_bills(TAssoc_array& group_array, bool interattivo)
|
||||
long TGenerazione_effetti::group_bills(TAssoc_array& group_array, bool interattivo, bool fast)
|
||||
{
|
||||
// Bail out if there aren't items...
|
||||
const int items = group_array.items();
|
||||
@ -271,27 +310,24 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array, bool interatti
|
||||
msg1 = TR("Raggruppamento effetti");
|
||||
|
||||
#ifdef DBG
|
||||
TProgind p(items,msg1,TRUE,TRUE,1);
|
||||
TProgind p(items,msg1,TRUE,TRUE);
|
||||
#else
|
||||
TProgind p(items,msg1,FALSE,TRUE,1);
|
||||
TProgind p(items,msg1,FALSE,TRUE);
|
||||
#endif
|
||||
TToken_string * group_element;
|
||||
// Ciclo sugli elementi dell'assoc_array
|
||||
for (group_element = (TToken_string *) group_array.first_item(); group_element != NULL && i < items; i++,group_element = (TToken_string*)group_array.succ_item())
|
||||
{
|
||||
#ifdef DBG
|
||||
if (p.iscancelled()) break;
|
||||
#endif
|
||||
p.setstatus(i+1);
|
||||
if (!p.setstatus(i+1))
|
||||
break;
|
||||
// Ciclo sui documenti da raggruppare
|
||||
group_element->restart();
|
||||
const int doc_items = group_element->items();
|
||||
|
||||
for (j=0;j<doc_items;j++)
|
||||
{
|
||||
#ifdef DBG
|
||||
if (p.iscancelled()) break;
|
||||
#endif
|
||||
if (p.iscancelled())
|
||||
break;
|
||||
TToken_string t(group_element->get(j),'$');
|
||||
const char provv = t.get_char(0);
|
||||
const int anno = t.get_int(1);
|
||||
@ -358,8 +394,7 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array, bool interatti
|
||||
|
||||
for (; index < effitems; index++)
|
||||
{
|
||||
TEffetto& effetto=(TEffetto&)_effetti_array[index];
|
||||
|
||||
const TEffetto& effetto = (const TEffetto&)_effetti_array[index];
|
||||
if (datascad == effetto.get_date(EFF_DATASCAD))
|
||||
break;
|
||||
}
|
||||
@ -482,17 +517,17 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array, bool interatti
|
||||
offset=_effetti_array.items();
|
||||
|
||||
} // Ciclo sui gruppi
|
||||
|
||||
p.close_modal();
|
||||
|
||||
// Cambia lo stato a tutti i documenti raggruppati
|
||||
long tot = 0L;
|
||||
if (_can_write)
|
||||
{
|
||||
xvtil_statbar_set("Scrittura effetti raggruppati in corso...");
|
||||
do_events();
|
||||
if (write_groups(interattivo) == no_error)
|
||||
{
|
||||
tot = _effetti_array.items();
|
||||
change_group_status(doc, group_array);
|
||||
change_group_status(doc, group_array, fast);
|
||||
}
|
||||
}
|
||||
_effetti_array.destroy();
|
||||
|
@ -1397,7 +1397,6 @@ void TDocumento_mask::doc2mask(bool reload_clifo, bool force_load, bool update)
|
||||
if (r.tipo().tipo() == RIGA_PRESTAZIONI)
|
||||
{
|
||||
const TSpesa_prest & spesa = r.spesa();
|
||||
|
||||
if (spesa.tipo() == 'V')
|
||||
s.disable_cell(i, s.cid2index(FR_QTA));
|
||||
}
|
||||
@ -3954,7 +3953,7 @@ void TDocumento_mask::update_father_rows(bool add)
|
||||
|
||||
if (r.is_merce() || r.is_omaggio()|| r.is_prestazione())
|
||||
{
|
||||
TRiga_documento * original_row = (TRiga_documento *) r.find_original_rdoc();
|
||||
const TRectype* original_row = r.find_original_rdoc();
|
||||
|
||||
if (original_row != NULL && _auto_reopen_nums.objptr(original_row->get(RDOC_CODNUM)) != NULL)
|
||||
{
|
||||
@ -3966,8 +3965,7 @@ void TDocumento_mask::update_father_rows(bool add)
|
||||
key.add(original_row->get(RDOC_NDOC));
|
||||
key.add(original_row->get(RDOC_IDRIGA));
|
||||
|
||||
real * qta = (real *) _father_rows.objptr(key);
|
||||
|
||||
real* qta = (real*)_father_rows.objptr(key);
|
||||
if (qta == NULL)
|
||||
{
|
||||
qta = new real;
|
||||
@ -3978,15 +3976,14 @@ void TDocumento_mask::update_father_rows(bool add)
|
||||
|
||||
if (r.is_articolo())
|
||||
{
|
||||
TArticolo & art = cached_article(r.get(RDOC_CODARTMAG));
|
||||
|
||||
TArticolo& art = cached_article(r.get(RDOC_CODARTMAG));
|
||||
value = art.convert_to_um(value, original_row->get(RDOC_UMQTA), r.get(RDOC_UMQTA));
|
||||
}
|
||||
if(add)
|
||||
*qta += value;
|
||||
else
|
||||
*qta -= value;
|
||||
if (*qta == ZERO)
|
||||
if (qta->is_zero())
|
||||
_father_rows.remove(key);
|
||||
}
|
||||
}
|
||||
|
@ -546,18 +546,12 @@ int OsWin32_Help(WXHWND handle, const char* hlp, unsigned int cmd, const char* t
|
||||
wxFileName fn = str;
|
||||
fn.MakeAbsolute();
|
||||
str = fn.GetFullPath();
|
||||
unsigned long err = (unsigned long)::ShellExecute((HWND)handle, "open", str, NULL, NULL, SW_SHOWNORMAL);
|
||||
if (err <= 32)
|
||||
{
|
||||
wxString msg;
|
||||
msg << "Can't open '" << str << "': error " << err;
|
||||
wxMessageBox(msg, "Campo", wxICON_WARNING | wxOK);
|
||||
}
|
||||
::ShellExecute((HWND)handle, "open", str, NULL, NULL, SW_SHOWNORMAL);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
OsWin32_Beep(1);
|
||||
OsWin32_Beep(1); // Error beep
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user