#include "ve5.h" #include "velib.h" #include "ve5800a.h" #include #include #include #include #include #include #include #include #include #include #include #include "velib04.h" #include "../mg/mglib.h" /////////////////////////////////////////////////////////// // Maschera principale /////////////////////////////////////////////////////////// class TRaggruppamento_documenti_mask : public TAutomask { protected: virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); public: TRaggruppamento_documenti_mask() : TAutomask("ve5800a") {} virtual ~TRaggruppamento_documenti_mask() {} }; bool TRaggruppamento_documenti_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) { case DLG_SAVEREC: if (e == fe_button) stop_run(K_AUTO_ENTER); break; default: break; } return TRUE; } /////////////////////////////////////////////////////////// // Applicazione principale /////////////////////////////////////////////////////////// class TRaggruppamento_documenti : public TSkeleton_application { public: void raggruppa_doc(const TMask & m); virtual void main_loop(); }; void TRaggruppamento_documenti::raggruppa_doc(const TMask & m) { TRaggruppamento_documento ragg(m.get(F_CODICE_ELAB)); TLista_documenti doc_ingresso; TLista_documenti doc_uscita; TToken_string tipi_iniziali; TToken_string stati_iniziali; TString numerazione_iniziale = ragg.codice_numerazione_iniziale(); const int anno = m.get_int(F_ANNO); const long dal_ndoc = m.get_long(F_FRNDOC); const long al_ndoc = m.get_long(F_TONDOC); ragg.tipi_stati_iniziali(tipi_iniziali, stati_iniziali); if (doc_ingresso.read('D', ' ', 0L, anno, tipi_iniziali, stati_iniziali, nulldate, nulldate, numerazione_iniziale, dal_ndoc, al_ndoc) > 0) { if (ragg.elabora(doc_ingresso, doc_uscita, today)) { if (doc_uscita.write(true) == NOERR) { if (doc_ingresso.rewrite() != NOERR) fatal_box(TR("Errore nella scrittura documenti d'ingresso")); } else fatal_box(TR("Errore nella scrittura documenti di destinazione")); } } } void TRaggruppamento_documenti::main_loop() { open_files(LF_TAB, LF_TABCOM, LF_DOC, LF_RIGHEDOC, LF_MOVMAG, NULL); open_files(LF_ANAMAG, LF_CLIFO, LF_CFVEN, LF_OCCAS, LF_RMOVMAG, NULL); TRaggruppamento_documenti_mask m; m.set(F_CODDITTA, prefix().get_codditta(), true); while (m.run()==K_ENTER) raggruppa_doc(m); } int ve5800(int argc, char** argv) { TRaggruppamento_documenti app; app.run(argc, argv, TR("Raggruppamento documenti")); return 0; }