public void MetaData_AfterFill() { if (Meta.FirstFillForThisRow) { tabControl1.Focus(); HelpForm.FocusControl(txtCognome); } if (Meta.InsertMode || Meta.EditMode) { if (DS.paydispositiondetail.Rows.Count == 0) { return; } DataRow Curr = DS.paydispositiondetail.Rows[0]; if (Curr["flaghuman"] == DBNull.Value) { return; } if (Curr["flaghuman"].ToString().ToUpper() == "S") { abilita_personafisica(true); } else { abilita_personafisica(false); } } if ((Meta.FirstFillForThisRow) && (Meta.EditMode)) { assegnaVarDiConfronto(); } if (Meta.FirstFillForThisRow) { if (DS.paydispositiondetail.Rows.Count == 0) { return; } DataRow Curr = DS.paydispositiondetail.Rows[0]; int paymethodcode = CfgFn.GetNoNullInt32(Curr["paymethodcode"]); if (paymethodcode == 1) { grpCoordinateBancarie.Enabled = true; } else { PulisciCoordinateBancarie(); grpCoordinateBancarie.Enabled = false; } ValorizzaAnnoAccademico(Curr); } }
private void btnElabora_Click(object sender, EventArgs e) { if (mData.Rows.Count == 0) { MessageBox.Show(this, "Non ci sono dati da elaborare"); return; } DateTime dataDiVersamento = (DateTime)HelpForm.GetObjectFromString( typeof(DateTime), txtDataDiVersamento.Text, txtDataDiVersamento.Tag.ToString()); if (dataDiVersamento < DateTime.Now.Date) { MessageBox.Show("Data di addebito: il valore immesso non può essere inferiore alla data corrente"); HelpForm.FocusControl(txtDataDiVersamento); return; } DataTable t = mData; DialogResult dr = saveOutputFileDlg.ShowDialog(this); if (dr == DialogResult.OK) { txtPercorso.Text = saveOutputFileDlg.FileName; } else { MessageBox.Show(this, "Non è stato selezionato il percorso in cui memorizzare il file dell'F24"); return; } Stream stream = saveOutputFileDlg.OpenFile(); StreamWriter sw = new StreamWriter(stream, Encoding.Default); int numeroDiRecordV = (t.Rows.Count + 21) / 22; generaRecordA(sw); generaRecordM(sw, t); for (int numRecV = 1; numRecV <= numeroDiRecordV; numRecV++) { generaRecordV(sw, t, numRecV); } generaRecordZ(sw, numeroDiRecordV); sw.Close(); txtDataGenerazione.Text = HelpForm.StringValue(Meta.GetSys("datacontabile"), txtDataGenerazione.Tag.ToString()); MessageBox.Show(this, "Elaborazione completata"); }
private void btnGeneraF24_Click(object sender, EventArgs e) { if (DS.f24ep.Rows.Count == 0) { return; } if ((DS.taxpayview.Rows.Count == 0) && (DS.expenseclawbackview.Rows.Count == 0)) { MessageBox.Show(this, "Non ci sono liquidazioni!"); return; } if (!Meta.GetFormData(false)) { return; } PostData.RemoveFalseUpdates(DS); if (DS.HasChanges()) { MessageBox.Show(this, "Per generare il file del modello f24 occorre prima SALVARE"); return; } DataRow Curr = DS.f24ep.Rows[0]; DateTime dataDiVersamento = (DateTime)HelpForm.GetObjectFromString( typeof(DateTime), txtDataDiVersamento.Text, txtDataDiVersamento.Tag.ToString()); if (dataDiVersamento < DateTime.Now.Date) { MessageBox.Show("Data di addebito: il valore immesso non può essere inferiore alla data corrente"); HelpForm.FocusControl(txtDataDiVersamento); return; } DataTable t = Meta.Conn.CallSP("exp_f24ep", new object[] { Curr["idf24ep"] }).Tables[0]; if (!t.Columns.Contains("importoadebito")) {// ERRORE SubF24 fErr = new SubF24(t); DialogResult drErr = fErr.ShowDialog(); } else { DialogResult dr = saveFileDialog1.ShowDialog(this); if (dr == DialogResult.OK) { txtPercorso.Text = saveFileDialog1.FileName; } else { MessageBox.Show(this, "Non è stato selezionato il percorso in cui memorizzare il file dell'F24"); return; } Stream stream = saveFileDialog1.OpenFile(); StreamWriter sw = new StreamWriter(stream, Encoding.Default); int numeroDiRecordM = t.Select(QHC.CmpEq("tiporecord", "M")).Length; int numeroDiRecordV = t.Select(QHC.CmpEq("tiporecord", "V")).Length; DataRow[] Rec_M = t.Select(QHC.CmpEq("tiporecord", "M")); generaRecordA(sw); for (int numRecM = 0; numRecM <= numeroDiRecordM - 1; numRecM++) { object cf_contributor = Rec_M[numRecM]["cf_contributor"]; string filter = QHC.AppAnd(QHC.CmpEq("tiporecord", "V"), QHC.CmpEq("cf_contributor", cf_contributor)); int numeroDiRecordVContribuente = (t.Select(filter).Length + 21) / 22; DataRow[] Rec_V = t.Select(filter); generaRecordM(sw, Rec_M[numRecM], Rec_V); for (int numRecV = 1; numRecV <= numeroDiRecordVContribuente; numRecV++) { generaRecordV(sw, Rec_V, numRecV); } } generaRecordZ(sw, numeroDiRecordV); sw.Flush(); sw.Close(); txtDataGenerazione.Text = HelpForm.StringValue(Meta.GetSys("datacontabile"), txtDataGenerazione.Tag.ToString(), DS.f24ep.Columns["adate"]); Curr["adate"] = Meta.GetSys("datacontabile"); Meta.SaveFormData(); } }
private void btnOK_Click(object sender, EventArgs e) { this.ActiveControl = null; if (finRow == null) { MessageBox.Show(this, "Occorre specificare la voce di bilancio"); HelpForm.FocusControl(txtCodiceBilancio); DialogResult = DialogResult.None; return; } if (SelUPBSource.GetValue() == DBNull.Value || SelUPBSource.GetValue() == null) { MessageBox.Show(this, "Occorre specificare l'upb da cui stornare"); HelpForm.FocusControl(txtUPBSource); DialogResult = DialogResult.None; return; } if (SelUPBDest.GetValue() == DBNull.Value || SelUPBDest.GetValue() == null) { MessageBox.Show(this, "Occorre specificare l'upb in cui stornare"); HelpForm.FocusControl(txtUPBDest); DialogResult = DialogResult.None; return; } if (SelUPBSource.GetValue().ToString() == SelUPBDest.GetValue().ToString()) { MessageBox.Show(this, "Occorre specificare due upb diversi"); HelpForm.FocusControl(txtUPBSource); DialogResult = DialogResult.None; return; } object o = HelpForm.GetObjectFromString(typeof(decimal), txtImporto.Text, "x.y"); decimal importo = CfgFn.GetNoNullDecimal(o); if (importo <= 0) { MessageBox.Show(this, "Occorre specificare un importo maggiore di 0"); HelpForm.FocusControl(txtImporto); DialogResult = DialogResult.None; return; } //string filtro1 = QHS.AppAnd(QHS.CmpEq("idupb", SelUPBSource.GetValue()), QHS.CmpEq("idfin", finRow["idfin"])); //DataRow[] rDett1 = dsMain.Tables["finvardetail"].Select(filtro1); //if (rDett1.Length > 0) { // MessageBox.Show(this, "Non è possibile creare una ulteriore variazione con upb='" + txtUPBSource.Text // + "' e bilancio='" + finRow["codefin"] + "'"); // DialogResult = DialogResult.None; // return; //} //string filtro2 = QHS.AppAnd(QHS.CmpEq("idupb", SelUPBDest.GetValue()), QHS.CmpEq("idfin", finRow["idfin"])); //DataRow[] rDett2 = dsMain.Tables["finvardetail"].Select(filtro2); //if (rDett2.Length > 0) { // MessageBox.Show(this, "Non è possibile creare una ulteriore variazione con upb='" + txtUPBDest.Text // + "' e bilancio='" + finRow["codefin"] + "'"); // DialogResult = DialogResult.None; // return; //} MetaData metaFinVarDetail = MetaFinVar.Dispatcher.Get("finvardetail"); DataRow rFV = dsMain.Tables["finvar"].Rows[0]; metaFinVarDetail.SetDefaults(dsMain.Tables["finvardetail"]); DataRow rFVD1 = metaFinVarDetail.Get_New_Row(rFV, dsMain.Tables["finvardetail"]); //DataRowView upb1 = (DataRowView)cmbUPB1.SelectedItem; //DataRowView upb2 = (DataRowView)cmbUPB2.SelectedItem; rFVD1["idupb"] = SelUPBSource.GetValue(); if (underwritingRow != null) { rFVD1["idunderwriting"] = underwritingRow["idunderwriting"]; } rFVD1["nvar"] = rFV["nvar"]; rFVD1["yvar"] = rFV["yvar"]; rFVD1["amount"] = -importo; if (txtDescrizione.Text != "") { rFVD1["description"] = txtDescrizione.Text; } //rFVD1["description"] = "storno da " + upb1.Row["codeupb"]; ; rFVD1["idfin"] = finRow["idfin"]; DataRow rFVD2 = metaFinVarDetail.Get_New_Row(rFV, dsMain.Tables["finvardetail"]); rFVD2["idupb"] = SelUPBDest.GetValue(); if (underwritingRow != null) { rFVD2["idunderwriting"] = underwritingRow["idunderwriting"]; } rFVD2["nvar"] = rFV["nvar"]; rFVD2["yvar"] = rFV["yvar"]; rFVD2["amount"] = importo; //rFVD2["description"] = "storno a " + upb2.Row["codeupb"]; rFVD2["idfin"] = finRow["idfin"]; if (txtDescrizione.Text != "") { rFVD2["description"] = txtDescrizione.Text; } }
private void GeneraFile(bool Mandati) { DataRow rTesoriere = HelpForm.GetLastSelected(DS.treasurer); if (rTesoriere == null) { HelpForm.FocusControl(cmbIstitutoCassiere); MessageBox.Show(this, "Scegliere l'istituto cassiere"); return; } string idbank = rTesoriere["idbank"].ToString(); bool res = false; foreach (string s in new string[] { "03111", "03067", "01030", "02008", "01010" }) { if (s == idbank) { res = true; } } if (!res) { if (MessageBox.Show( "Questa maschera non dovrebbe essere usata con il cassiere selezionato. Usare, invece, la maschera alla voce di menu Cassiere - Trasmissione e Importazione Distinte XML. " + " Si desidera proseguire comunque l''elaborazione?", "Errore", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } string sp_export = Mandati ? rTesoriere["spexportexp"].ToString() : rTesoriere["spexportinc"].ToString(); if (sp_export == "") { MessageBox.Show(this, "Nella configurazione del tesoriere non è impostata la sp da chiamare per generare il file"); return; } string flagMultiExp = rTesoriere["flagmultiexp"].ToString(); int da = CfgFn.GetNoNullInt32(txtDa.Text); int a = CfgFn.GetNoNullInt32(txtA.Text); if (flagMultiExp == "S") { if (da == 0) { HelpForm.FocusControl(txtDa); MessageBox.Show(this, "Specificare il numero della prima distinta che si vuole trasmettere"); return; } if (a == 0) { HelpForm.FocusControl(txtA); MessageBox.Show(this, "Specificare il numero dell'ultima distinta che si vuole trasmettere"); return; } } else { if (da == 0) { HelpForm.FocusControl(txtDa); MessageBox.Show(this, "Specificare il numero della distinta che si vuole trasmettere"); return; } } // Controlla che il cassiere della/e distinta/e sia uguale a quello scelto nel combo. string Filter = ""; if (Mandati) { if (flagMultiExp == "S") { for (int i = da; i <= a; i++) { Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")), QHS.CmpEq("npaymenttransmission", i)); object idtreasurer = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + i.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + i.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } else { Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")), QHS.CmpEq("npaymenttransmission", da)); object idtreasurer = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + da.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + da.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } else { if (flagMultiExp == "S") { for (int i = da; i <= a; i++) { Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")), QHS.CmpEq("nproceedstransmission", i)); object idtreasurer = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + i.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + i.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } else { Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")), QHS.CmpEq("nproceedstransmission", da)); object idtreasurer = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + da.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + da.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } object[] parametri = flagMultiExp == "S" ? new object[] { Meta.GetSys("esercizio"), da, a } : new object[] { Meta.GetSys("esercizio"), da }; DataSet result = Meta.Conn.CallSP(sp_export, parametri, false, 300); if ((result == null) || (result.Tables.Count == 0)) { MessageBox.Show(this, "La sp non ha restituito risultati"); return; } DataTable t = result.Tables[0]; dataGrid1.TableStyles.Clear(); dataGrid1.DataSource = null; if (t.Columns.Contains("message")) { t.Columns["message"].Caption = "Spiegazione errore"; HelpForm.SetDataGrid(dataGrid1, t); formatgrids FF = new formatgrids(dataGrid1); FF.AutosizeColumnWidth(); MessageBox.Show(this, "Ci sono degli errori, pertanto non è stato generato il file!"); return; } if (txtCartella.Text == "") { DialogResult dr = folderBrowserDialog1.ShowDialog(this); if (dr == DialogResult.OK) { txtCartella.Text = folderBrowserDialog1.SelectedPath; } else { folderBrowserDialog1.SelectedPath = txtCartella.Text; HelpForm.FocusControl(txtCartella); MessageBox.Show(this, "Specificare il percorso del file"); return; } } string nomeFile = Mandati ? Meta.GetSys("esercizio") + "_mandato" + "_" + da : Meta.GetSys("esercizio") + "_reversale" + "_" + da; if (flagMultiExp == "S") { if (da != a) { nomeFile = Mandati ? Meta.GetSys("esercizio") + "_mandati" : Meta.GetSys("esercizio") + "_reversali"; for (int i = da; i <= a; i++) { nomeFile += "_" + i; } } } txtFile.Text = Path.Combine(txtCartella.Text, nomeFile + "." + fileExtension); try { StreamWriter sw = new StreamWriter(txtFile.Text, false, Encoding.Default); foreach (DataRow r in t.Rows) { sw.WriteLine(r[0]); } sw.Flush(); sw.Close(); sw.Dispose(); } catch (Exception e1) { QueryCreator.ShowException("Errore nel salvataggio del file " + txtFile.Text, e1); return; } int year = CfgFn.GetNoNullInt32(Meta.GetSys("esercizio")); if (flagMultiExp == "S") { if (da != a) { for (int i = da; i <= a; i++) { if (Mandati) { AggiornaStreamDate("PAYMENTTRANSMISSION", year, i); } else { AggiornaStreamDate("PROCEEDSTRANSMISSION", year, i); } } } } if (Mandati) { AggiornaStreamDate("PAYMENTTRANSMISSION", year, da); } else { AggiornaStreamDate("PROCEEDSTRANSMISSION", year, da); } MessageBox.Show(this, "File della trasmissione salvato in " + txtFile.Text); }
private void GeneraFileUltimaDistinta(bool Mandati) { DataRow rTesoriere = HelpForm.GetLastSelected(DS.treasurer); if (rTesoriere == null) { HelpForm.FocusControl(cmbIstitutoCassiere); MessageBox.Show(this, "Scegliere l'istituto cassiere"); return; } string sp_export = Mandati ? rTesoriere["spexportexp"].ToString() : rTesoriere["spexportinc"].ToString(); if (sp_export == "") { MessageBox.Show(this, "Nella configurazione del tesoriere non è impostata la sp da chiamare per generare il file"); return; } string Filter = ""; int nDoc = 0; if (Mandati) { Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")), QHS.CmpEq("idtreasurer", rTesoriere["idtreasurer"])); nDoc = CfgFn.GetNoNullInt32(Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "MAX(npaymenttransmission)")); } else { Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")), QHS.CmpEq("idtreasurer", rTesoriere["idtreasurer"])); nDoc = CfgFn.GetNoNullInt32(Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "MAX(nproceedstransmission)")); } if (nDoc == 0) { MessageBox.Show(this, "Non vi sono distinte."); return; } object[] parametri = new object[] { Meta.GetSys("esercizio"), nDoc }; DataSet result = Meta.Conn.CallSP(sp_export, parametri, false, 300); if ((result == null) || (result.Tables.Count == 0)) { MessageBox.Show(this, "La sp non ha restituito risultati"); return; } DataTable t = result.Tables[0]; dataGrid1.TableStyles.Clear(); dataGrid1.DataSource = null; if (t.Columns.Contains("message")) { t.Columns["message"].Caption = "Spiegazione errore"; HelpForm.SetDataGrid(dataGrid1, t); formatgrids FF = new formatgrids(dataGrid1); FF.AutosizeColumnWidth(); MessageBox.Show(this, "Ci sono degli errori, pertanto non è stato generato il file!"); return; } if (txtCartella.Text == "") { DialogResult dr = folderBrowserDialog1.ShowDialog(this); if (dr == DialogResult.OK) { txtCartella.Text = folderBrowserDialog1.SelectedPath; } else { folderBrowserDialog1.SelectedPath = txtCartella.Text; HelpForm.FocusControl(txtCartella); MessageBox.Show(this, "Specificare il percorso del file"); return; } } string nomeFile = Mandati ? Meta.GetSys("esercizio") + "_mandato" + "_" + nDoc : Meta.GetSys("esercizio") + "_reversale" + "_" + nDoc; txtFile.Text = Path.Combine(txtCartella.Text, nomeFile + "." + fileExtension); try { StreamWriter sw = new StreamWriter(txtFile.Text, false, Encoding.Default); foreach (DataRow r in t.Rows) { sw.WriteLine(r[0]); } sw.Flush(); sw.Close(); sw.Dispose(); } catch (Exception e1) { QueryCreator.ShowException("Errore nel salvataggio del file " + txtFile.Text, e1); return; } MessageBox.Show(this, "File della trasmissione salvato in " + txtFile.Text); }