diff --git a/ha/ha1200a.uml b/ha/ha1200a.uml index 0408dd20e..a8991a2f2 100755 --- a/ha/ha1200a.uml +++ b/ha/ha1200a.uml @@ -163,12 +163,6 @@ BEGIN FLAGS "H" END -STRING DLG_PROFILE 50 -BEGIN - PROMPT 1 -1 "Profilo " - PSELECT -END - ENDPAGE TOOLBAR "topbar" 0 0 0 2 diff --git a/ha/ha1300.cpp b/ha/ha1300.cpp index 8b195058f..9852a95ef 100755 --- a/ha/ha1300.cpp +++ b/ha/ha1300.cpp @@ -702,8 +702,12 @@ void TUpload2Campo::elabora_SI(THardy_upload_recordset& recset, TLog_report& log const TDate datadoc = upload_format_date6(str_datadoc); const TString4 tipodoc = recset.get("TipoDocumento").as_string(); const real incasso = recset.get("ImportoIncassato").as_real() / CENTO; - //il codice partita su Campo č lungo 7 mentre i terminalini lo possono inviare lungo 15 (cazzi loro..) - const TString8 numpart = recset.get("Partita").as_string().left(7); + + //panegirico su anno partita e numero partita + const TString16 str_part = recset.get("Partita").as_string(); + const int annopart = atoi(str_part.left(4)); //anno = primi 4 caratteri del campo partita + TString8 numpart = str_part.mid(5, 7); //numero partita = 7 caratteri a partire dal sesto + numpart.trim(); TConfig config(CONFIG_DITTA, "ha"); const TString& codcaus = config.get("InpCausale"); @@ -815,7 +819,7 @@ void TUpload2Campo::elabora_SI(THardy_upload_recordset& recset, TLog_report& log new_rmov_age.put(RMV_IMPORTO, incasso); //crea i pagamenti aggiornando anche la partita (qui si parrā la tua nobilitate!) - TPartita game(zio_clifo, anno, numpart); + TPartita game(zio_clifo, annopart, numpart); const int nriga = game.prima_fattura(); const int nrata = 1; //metodo magicissimo per l'aggiornamento della partita con l'incasso @@ -1027,15 +1031,22 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log doc.put(DOC_CODCF, codcf); doc.put(DOC_CODCFFATT, recset.get(DOC_CODCFFATT).as_int()); - //sconto in fattura, sconto totale, incasso ecc.... che cazzo sono? - //TString8 scontone = recset.get(); - doc.put(DOC_CODPAG, recset.get(DOC_CODPAG).as_string()); - //data spedizione...datapart o datacons? (solo per ordini) //usa la cli2doc per riempire tutti i campi legati al cliente TCli_for clifor('C', codcf); clifor.cli2doc(doc); + //sconto in fattura, sconto totale, che cazzo sono? + //TString8 scontone = recset.get(); + + //codice pagamento + doc.put(DOC_CODPAG, recset.get(DOC_CODPAG).as_string()); + //incasso (importo pagato) + const real incasso = recset.get("Incasso").as_real() / CENTO; + doc.put(DOC_IMPPAGATO, incasso); + + //data spedizione...datapart o datacons? (solo per ordini) + //al simpatico documento appiccia tutte le righe RF che seguono il record TF.. //..dopo il magico ordinamento iniziale del recordset //intanto azzera le righe eventualmente giā presenti (riscrittura) @@ -1055,6 +1066,21 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log //agginunge una nuova riga (solo merce, per quanto ne sappiamo) TRiga_documento& rigadoc = doc.new_row("01"); + //3a) tipo cessione (fa cambiare il tipo riga o la causale di riga) + const char tipocess = recset.get("TipoCessione").as_string()[0]; + switch (tipocess) + { + case 'V': break; + case 'O': + { + rigadoc.put(RDOC_TIPORIGA, "09"); + rigadoc.put(RDOC_ADDIVA, "X"); + } + break; + case 'R': break; + case 'S': break; + } + //serie delle put sulla riga documento; ricordiamo che la chiave della riga viene riempita dalla new_row //3a) articolo TString8 codart = recset.get(RDOC_CODART).as_string(); @@ -1208,7 +1234,7 @@ void TUpload2Campo::elabora_RC(THardy_upload_recordset& recset, TLog_report& log TRiga_documento& rigadoc = doc.new_row("01"); //serie delle put sulla riga documento; ricordiamo che la chiave della riga viene riempita dalla new_row - //3a) articolo + //3a) articolo, um, codmag TString8 codart = recset.get("CodiceArticolo").as_string(); const TString& descr = check_articolo(codart, log);