Correzioni su contratti di nolo
git-svn-id: svn://10.65.10.50/branches/R_10_00@22846 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2c5d6aded2
commit
453890fd36
@ -770,7 +770,7 @@ bool THardy_elab_docs::genera_fat(const TMask& mask, TContratto_premi& contratto
|
||||
const TString4 fat_codnum = ini_get_string(CONFIG_DITTA, "ha", "NaNoloNum");
|
||||
const TString4 fat_tipodoc = ini_get_string(CONFIG_DITTA, "ha", "FtNoloTip");
|
||||
const TString4 fat_codpag = ini_get_string(CONFIG_DITTA, "ha", "CodPagFat");
|
||||
const TString8 cod_riga = ini_get_string(CONFIG_DITTA, "ha", "FtNoloSpe");
|
||||
const TString8 cod_spesa = ini_get_string(CONFIG_DITTA, "ha", "FtNoloSpe");
|
||||
|
||||
TDocumento fat(provv, datadoc.year(), fat_codnum, 0); //num_doc = 0 perchè viene aggiornato in fase di registrazione
|
||||
fat.set_tipo(fat_tipodoc);
|
||||
@ -778,15 +778,18 @@ bool THardy_elab_docs::genera_fat(const TMask& mask, TContratto_premi& contratto
|
||||
fat.put(DOC_DATADOC, datadoc);
|
||||
fat.put(DOC_TIPOCF, 'C');
|
||||
fat.put(DOC_CODCF, contratto.get(DOC_CODCF));
|
||||
fat.cli2doc();
|
||||
fat.put(DOC_CODAG, contratto.get(DOC_CODAG));
|
||||
fat.put(DOC_CODPAG, fat_codpag);
|
||||
fat.put(DOC_DOC1, contratto.get(DOC_NDOC));
|
||||
fat.put(DOC_DATADOCRIF, contratto.get(DOC_DATADOC));
|
||||
fat.cli2doc();
|
||||
fat.put(DOC_CODPAG, fat_codpag);
|
||||
|
||||
const TRectype& rec_spp = cache().get("SPP", cod_riga);
|
||||
const TString4 tipo_riga_spp = rec_spp.get("S8");
|
||||
const TRectype& rec_spp = cache().get("SPP", cod_spesa);
|
||||
const TString80 descr_riga_spp = rec_spp.get("S0");
|
||||
const TString4 codiva = rec_spp.get("S3");
|
||||
const TString4 tipo_riga_spp = rec_spp.get("S8");
|
||||
|
||||
TString msg_rata;
|
||||
|
||||
real importo = contratto.get_real(DOC_IMPPAGATO);
|
||||
const TDate recesso = contratto.data_recesso();
|
||||
@ -795,22 +798,33 @@ bool THardy_elab_docs::genera_fat(const TMask& mask, TContratto_premi& contratto
|
||||
const real rate_da_pagare = contratto.get_int(DOC_NCOLLI) - contratto.get_int(DOC_NUMANT);
|
||||
importo *= rate_da_pagare;
|
||||
contratto.put(DOC_NUMANT, contratto.get(DOC_NCOLLI)); // Chiude contratto forzosamente
|
||||
msg_rata = TR("\nRata di cessazione contratto");
|
||||
}
|
||||
else
|
||||
{
|
||||
const TDate d = mask.get(F_ADATA);
|
||||
contratto.add(DOC_NUMANT, UNO); // Incrementa numero di rate pagate
|
||||
|
||||
msg_rata << TR("\nRata ") << contratto.get(DOC_NUMANT) << '/' << contratto.get_int(DOC_NCOLLI)
|
||||
<< ' ' << itom(d.month()) << ' ' << d.year();
|
||||
}
|
||||
|
||||
if (provv == 'D')
|
||||
{
|
||||
const int err = contratto.rewrite();
|
||||
if (err != NOERR)
|
||||
log.log(2, TR("Impossibile aggiornare il numero di rate pagate sul cotratto"));
|
||||
log.log(2, TR("Impossibile aggiornare il numero di rate pagate sul contratto"));
|
||||
}
|
||||
|
||||
TRiga_documento& rdoc = fat.new_row(tipo_riga_spp);
|
||||
rdoc.put(RDOC_CODART, cod_riga);
|
||||
rdoc.put(RDOC_CODART, cod_spesa);
|
||||
rdoc.put(RDOC_DESCR, descr_riga_spp);
|
||||
rdoc.put(RDOC_DESCEST, msg_rata);
|
||||
rdoc.put(RDOC_DESCLUNGA, "X");
|
||||
|
||||
rdoc.put(RDOC_QTA, UNO);
|
||||
rdoc.put(RDOC_PREZZO, importo);
|
||||
rdoc.put(RDOC_CODIVA, codiva);
|
||||
|
||||
const int err = fat.write();
|
||||
|
||||
|
@ -493,8 +493,7 @@ void TIni2Txt::genera_sospeso_var_txt(TConfig& ini, TString_array& ini_paragraph
|
||||
void TIni2Txt::main_loop()
|
||||
{
|
||||
//stabilisce una volta per tutte ad inizio programma quale cavolo è la directory dove sbattere i .txt generati
|
||||
TConfig hardy(CONFIG_DITTA, "ha");
|
||||
_output_dir = hardy.get("OutputPath");
|
||||
_output_dir = ini_get_string(CONFIG_DITTA, "ha", "OutputPath");
|
||||
|
||||
//dalla riga di comando raccatta il path completo del file .ini da tradurre
|
||||
TFilename path = argv(2);
|
||||
|
@ -36,9 +36,8 @@ bool TFile2Txt_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
{
|
||||
//in base alla configurazione Hardyca completa i campi chiave sulla maschera così che, in caso..
|
||||
//..l'utonto decida di fare una ricerca sui documenti, gli appaiano solo quelli buoni per il trasferimento!
|
||||
TConfig config(CONFIG_DITTA, "ha");
|
||||
const TString& codnum = config.get("CarDocNum");
|
||||
const TString& stato = config.get("CarDocSta");
|
||||
const TString4 codnum = ini_get_string(CONFIG_DITTA, "ha", "CarDocNum");
|
||||
const TString4 stato = ini_get_string(CONFIG_DITTA, "ha", "CarDocSta");
|
||||
set(F_CODNUM, codnum);
|
||||
set(F_STATO, stato);
|
||||
|
||||
@ -264,7 +263,7 @@ bool TFile2Txt::curr_cod_list(long codcf, TString& codlist, TString& promo) cons
|
||||
TLocalisamfile clifo(LF_CFVEN);
|
||||
clifo.put(CFV_TIPOCF, 'C');
|
||||
clifo.put(CFV_CODCF, codcf);
|
||||
if (clifo.read(_isequal, _lock) == NOERR)
|
||||
if (clifo.read(_isequal, _testandlock) == NOERR)
|
||||
{
|
||||
clifo.put(CFV_CODLIST, codlist);
|
||||
clifo.rewrite();
|
||||
|
@ -200,8 +200,8 @@ void THardy_transaction::main_loop()
|
||||
bool THardy_transaction::create()
|
||||
{
|
||||
TConfig config(CONFIG_DITTA, "ha");
|
||||
_output_path = config.get("OutputPath");
|
||||
_input_path = config.get("InputPath");
|
||||
_output_path = config.get("OutputPath");
|
||||
_input_path = config.get("InputPath");
|
||||
_archive_path = config.get("ArchivePath");
|
||||
|
||||
if (!_output_path.exist())
|
||||
@ -226,6 +226,8 @@ bool THardy_transaction::create()
|
||||
return error_box(FR("Non esiste la cartella di transazione %s!"), (const char*)_trans_path);
|
||||
*/
|
||||
|
||||
open_files(LF_TABCOM, LF_TAB, LF_CLIFO, LF_DOC, LF_RIGHEDOC, LF_SVRIEP, 0);
|
||||
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
|
@ -1002,16 +1002,14 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
const TString& str_datadoc = recset.get(DOC_DATADOC).as_string();
|
||||
const TDate datadoc = upload_format_date6(str_datadoc);
|
||||
|
||||
|
||||
//2a) tipo documento
|
||||
TString4 tipodoc;
|
||||
TConfig hardy(CONFIG_DITTA, "ha");
|
||||
switch (rec_tipodoc)
|
||||
{
|
||||
case 'F': tipodoc = hardy.get("InpFatTip"); break; //Fatture
|
||||
case 'B': tipodoc = hardy.get("InpBolTip"); break; //Bolle
|
||||
case 'V': tipodoc = hardy.get("InpValTip"); break; //bolle Valorizzate: attenzione!! devono essere trasformate in 'B'olle alla creazione della numerazione di Campo
|
||||
case 'O': tipodoc = hardy.get("InpOrdTip"); break; //Ordini
|
||||
case 'F': tipodoc = ini_get_string(CONFIG_DITTA, "ha", "InpFatTip"); break; //Fatture
|
||||
case 'B': tipodoc = ini_get_string(CONFIG_DITTA, "ha", "InpBolTip"); break; //Bolle
|
||||
case 'V': tipodoc = ini_get_string(CONFIG_DITTA, "ha", "InpValTip"); break; //bolle Valorizzate: attenzione!! devono essere trasformate in 'B'olle alla creazione della numerazione di Campo
|
||||
case 'O': tipodoc = ini_get_string(CONFIG_DITTA, "ha", "InpOrdTip"); break; //Ordini
|
||||
default:
|
||||
{
|
||||
_can_write = false;
|
||||
@ -1040,7 +1038,8 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
|
||||
const long ndoc = recset.get(DOC_NDOC).as_int();
|
||||
|
||||
TDocumento doc('D', datadoc.year(), codnum, ndoc);
|
||||
TDocumento doc;
|
||||
doc.read('D', datadoc.year(), codnum, ndoc, _isequal, _can_write ? _lock : _nolock);
|
||||
|
||||
//2c) tipo documento e data documento
|
||||
doc.put(DOC_TIPODOC, tipodoc);
|
||||
@ -1190,6 +1189,10 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
rigadoc.put(RDOC_CODMAG, codmag); //questo viene dall'agente ed è stato preso all'inizio del metodo
|
||||
}
|
||||
|
||||
const real totdoc = doc.totale_doc();
|
||||
if (totdoc.is_zero())
|
||||
doc.put(DOC_STATO, 5); // Evita problemi di contabilizzazione dei documenti nulli
|
||||
|
||||
//incredibilmente arriva in fondo
|
||||
TString msg;
|
||||
msg << datadoc.year() << "-" << codnum << "-" << ndoc << " Terminale: " << codice_terminale << " Cliente: " << codcf;
|
||||
@ -1233,7 +1236,7 @@ void TUpload2Campo::elabora_RC(THardy_upload_recordset& recset, TLog_report& log
|
||||
|
||||
//2a) numerazione e tipo documento
|
||||
TConfig hardy(CONFIG_DITTA, "ha");
|
||||
const TString4 codnum = hardy.get("CarDocNum");
|
||||
const TString4 codnum = hardy.get("CarDocNum");
|
||||
const TString4 tipodoc = hardy.get("CarDocTip");
|
||||
|
||||
//2b) documento vero e proprio (stessi campi del caso tipo record = TF)
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "ha1300a.h"
|
||||
|
||||
PAGE "Importazione dati da file upload" -1 -1 78 9
|
||||
PAGE "Importazione dati da file upload" -1 -1 78 11
|
||||
|
||||
STRING F_INPUT_PATH 256 46
|
||||
BEGIN
|
||||
@ -26,12 +26,11 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_DEFINITIVO 73
|
||||
RADIOBUTTON F_DEFINITIVO 1 75
|
||||
BEGIN
|
||||
PROMPT 1 6 "Tipo elaborazione"
|
||||
ITEM "0|Di prova (simulazione)"
|
||||
ITEM "1|Definitiva (scrittura sul database)"
|
||||
FLAGS "Z"
|
||||
FIELD Definitiva
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user