override public string GetStaticFilter(string ListingType) { if (ListingType == CONTRATTI_CON_PROBLEMI) { DataTable t = getContrattiConProblemi(); string filtro = QueryCreator.ColumnValues(t, null, "idcon", true); if (filtro == "") { return("(idcon<>idcon)"); } return("(idcon in (" + filtro + "))"); } return(base.GetStaticFilter(ListingType)); }
public void MetaData_AfterLink() { Meta = MetaData.GetMetaData(this); Conn = Meta.Conn; CQueryHelper QHC = new CQueryHelper(); QHS = Meta.Conn.GetQueryHelper(); string filterDepartment = QHS.CmpEq("iddbdepartment", Meta.GetSys("userdb")); DataTable tDBAccess = Meta.Conn.CreateTableByName("dbaccess", "*"); Meta.Conn.RUN_SELECT_INTO_TABLE(tDBAccess, null, filterDepartment, null, false); string loginNameList = QueryCreator.ColumnValues(tDBAccess, null, "login", true); string filterCustomUser = QHS.FieldInList("username", loginNameList); string Autochoose = "AutoChoose.txtUtente.default."; string Choose = "choose.customuser.default."; grpUser.Tag = Autochoose + filterCustomUser; btnUser.Tag = Choose + filterCustomUser; Meta.SetAutoMode(grpUser); DataAccess.SetTableForReading(DS.sorting01, "sorting"); DataAccess.SetTableForReading(DS.sorting02, "sorting"); DataAccess.SetTableForReading(DS.sorting03, "sorting"); DataAccess.SetTableForReading(DS.sorting04, "sorting"); DataAccess.SetTableForReading(DS.sorting05, "sorting"); DataTable tUniConfig = Conn.RUN_SELECT("uniconfig", "*", null, null, null, null, true); if ((tUniConfig != null) && (tUniConfig.Rows.Count > 0)) { DataRow r = tUniConfig.Rows[0]; object idsorkind1 = r["idsorkind01"]; object idsorkind2 = r["idsorkind02"]; object idsorkind3 = r["idsorkind03"]; object idsorkind4 = r["idsorkind04"]; object idsorkind5 = r["idsorkind05"]; CfgFn.SetGBoxClass0(this, 1, idsorkind1); CfgFn.SetGBoxClass0(this, 2, idsorkind2); CfgFn.SetGBoxClass0(this, 3, idsorkind3); CfgFn.SetGBoxClass0(this, 4, idsorkind4); CfgFn.SetGBoxClass0(this, 5, idsorkind5); } }
/// <summary> /// Il comune selezionato viene eventualmente aggiornato con un comune successore. /// Se ce n'è più di uno di comuni successori l'utente deve sceglierne uno dall'elenco propostogli. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAggiornaComune_Click(object sender, System.EventArgs e) { if (Meta.IsEmpty) { return; } Meta.GetFormData(true); object idcomune = HelpForm.GetLastSelected(DS.cabview)["idcity"]; object[] list = new object[] { idcomune, "S" }; DataSet DSout = Meta.Conn.CallSP("compute_history_city", list, true, -1); if (DSout == null || DSout.Tables.Count == 0 || DS.Tables[0].Rows.Count == 0) { return; } DataTable T = DSout.Tables[0]; object idComune = null; if (T.Rows.Count == 1) { idComune = T.Rows[0]["idcity"]; } else { string filtro = QHS.FieldInList("idcity", QueryCreator.ColumnValues(T, null, "idcity", true)); MetaData metaComune = MetaData.GetMetaData(this, "geo_cityview"); metaComune.DS = DS.Copy(); metaComune.FilterLocked = true; DataRow r = metaComune.SelectOne("storia", filtro, null, null); if (r != null) { idComune = r["idcity"]; } else { idComune = HelpForm.GetLastSelected(DS.cabview)["idcity"]; } } HelpForm.GetLastSelected(DS.cabview)["idcity"] = idComune; Meta.FreshForm(true); aggiornaCap(idComune); }
private DataTable getConfigurazionePrestazioni() { int esercizio = (int)Meta.GetSys("esercizio"); string query = "select distinct idser from expensetax " + "join expenselast on expenselast.idexp=expensetax.idexp " + "join expense on expense.idexp = expenselast.idexp " + "where ymov>=" + (esercizio - 1) + " and idser is not null"; DataTable t = DataAccess.SQLRunner(Meta.Conn, query); string prestazioni = QueryCreator.ColumnValues(t, null, "idser", true); string filtroPrestazioni = prestazioni == "" ? "0=1" : "service.idser in (" + prestazioni + ")"; string s = @"select service.active, service.idser, service.codeser, service.description, service.rec770kind, motive770service.idmot, service.module, service.certificatekind, certificate=certificationmodel.description, cisonoritfiscali=case when exists (select * from servicetax join tax on service.idser=servicetax.idser and servicetax.taxcode=tax.taxcode and taxkind=1) then 'S' else 'N' end from service left outer join motive770service on service.idser=motive770service.idser and motive770service.ayear=" + esercizio + @" left outer join certificationmodel on service.certificatekind=certificationmodel.idcertificationmodel where " + filtroPrestazioni; return(DataAccess.SQLRunner(Meta.Conn, s)); }
private void aggiornaComune() { if (Meta.IsEmpty) { return; } object idcomune = DS.parasubcontractfamily.Rows[0]["idcitybirth"]; object[] list = new object[] { idcomune, "S" }; DataSet DSout = Meta.Conn.CallSP("compute_history_city", list, true, -1); if (DSout == null || DSout.Tables.Count == 0 || DS.Tables[0].Rows.Count == 0) { return; } DataTable T = DSout.Tables[0]; if (T.Rows.Count == 1) { DS.parasubcontractfamily.Rows[0]["idcitybirth"] = T.Rows[0]["idcity"]; } else { string filtro = "(idcity in (" + QueryCreator.ColumnValues(T, null, "idcity", true) + "))"; MetaData metaComune = MetaData.GetMetaData(this, "geo_cityview"); metaComune.DS = DS.Copy(); metaComune.FilterLocked = true; DataRow r = metaComune.SelectOne("storia", filtro, null, null); if (r != null) { DS.parasubcontractfamily.Rows[0]["idcitybirth"] = r["idcity"]; } } Meta.FreshForm(true); }
private void aggiornaStatoEstero() { object idstatoestero = DS.parasubcontractfamily.Rows[0]["idnation"]; if (idstatoestero == DBNull.Value) { return; } object[] list = new object[] { idstatoestero, "S" }; DataSet DSout = Meta.Conn.CallSP("compute_history_nation", list, true, -1); if (DSout == null || DSout.Tables.Count == 0 || DS.Tables[0].Rows.Count == 0) { return; } DataTable T = DSout.Tables[0]; if (T.Rows.Count == 1) { DS.parasubcontractfamily.Rows[0]["idnation"] = T.Rows[0]["idnation"]; } else { string filtro = "(idnation in (" + QueryCreator.ColumnValues(T, null, "idnazione", true) + "))"; MetaData metaStatoEstero = MetaData.GetMetaData(this, "geo_nation"); metaStatoEstero.DS = DS.Copy(); metaStatoEstero.FilterLocked = true; DataRow r = metaStatoEstero.SelectOne("default", filtro, null, null); if (r != null) { DS.parasubcontractfamily.Rows[0]["idnation"] = r["idnation"]; } } }
bool GetFiltro() { string Filtro = ""; //string field=""; if (txtIDUbicazione.Text != "") { Filtro = QHS.CmpEq("idcurrlocation", txtIDUbicazione.Text); } if (cboResponsabile.SelectedIndex > 0) { Filtro = QHS.AppAnd(Filtro, QHS.CmpEq("idcurrman", cboResponsabile.SelectedValue)); } if (txt_idbene_da.Text.Trim() != "") { int N1 = CfgFn.GetNoNullInt32(HelpForm.GetObjectFromString(typeof(int), txt_idbene_da.Text, "x.y")); if (N1 > 0) { Filtro = QHS.AppAnd(Filtro, QHS.CmpGe("idasset", N1)); } } if (txt_idbene_a.Text.Trim() != "") { int N2 = CfgFn.GetNoNullInt32(HelpForm.GetObjectFromString(typeof(int), txt_idbene_a.Text, "x.y")); if (N2 > 0) { Filtro = QHS.AppAnd(Filtro, QHS.CmpLe("idasset", N2)); } } if (txt_numcarico_da.Text.Trim() != "") { int N3 = CfgFn.GetNoNullInt32(HelpForm.GetObjectFromString(typeof(int), txt_numcarico_da.Text, "x.y")); if (N3 > 0) { Filtro = QHS.AppAnd(Filtro, QHS.CmpGe("nassetacquire", N3)); } } if (txt_numcarico_a.Text.Trim() != "") { int N4 = CfgFn.GetNoNullInt32(HelpForm.GetObjectFromString(typeof(int), txt_numcarico_a.Text, "x.y")); if (N4 > 0) { Filtro = QHS.AppAnd(Filtro, QHS.CmpLe("nassetacquire", N4)); } } if (txt_numinv_da.Text.Trim() != "") { int N5 = CfgFn.GetNoNullInt32(HelpForm.GetObjectFromString(typeof(int), txt_numinv_da.Text, "x.y")); if (N5 > 0) { Filtro = QHS.AppAnd(Filtro, QHS.CmpGe("ninventory", N5)); } } if (txt_numinv_a.Text.Trim() != "") { int N6 = CfgFn.GetNoNullInt32(HelpForm.GetObjectFromString(typeof(int), txt_numinv_a.Text, "x.y")); if (N6 > 0) { Filtro = QHS.AppAnd(Filtro, QHS.CmpLe("ninventory", N6)); } } if (cmbInventario.SelectedIndex > 0) { Filtro = QHS.AppAnd(Filtro, "(nassetacquire in (SELECT nassetacquire from assetacquire " + " WHERE " + GetInventoryFilter(QHS, cmbInventario.SelectedValue) + "))"); } if (txtDescrizione.Text.Trim() != "") { string descr = txtDescrizione.Text.Trim(); if (!descr.StartsWith("%")) { descr = "%" + descr; } if (!descr.EndsWith("%")) { descr = descr + "%"; } Filtro = QHS.AppAnd(Filtro, QHS.Like("description", descr + "%")); } if (chkReady.Checked) { Filtro = QHS.AppAnd(Filtro, QHS.BitSet("flag", 1)); } if (Filtro == "") { if (MessageBox.Show("Non è stato selezionato alcun filtro. Conferma?", "Conferma", MessageBoxButtons.OKCancel) != DialogResult.OK) { return(false); } } if (!chkIncludiAsset.Checked && chkIncludiAumenti.Checked) { Filtro = QHS.AppAnd(Filtro, QHS.CmpGt("idpiece", 1)); } if (chkIncludiAsset.Checked && !chkIncludiAumenti.Checked) { Filtro = QHS.AppAnd(Filtro, QHS.CmpEq("idpiece", 1)); } Filtro = QHS.AppAnd(Filtro, QHS.IsNull("idassetunload")); Filtro = QHS.AppAnd(Filtro, QHS.BitSet("flag", 0)); AssetPiece = Conn.RUN_SELECT("assetpieceview", "*", "idinventory asc,ninventory asc", Filtro, null, false); AssetPiece.PrimaryKey = new DataColumn[] { AssetPiece.Columns["idasset"], AssetPiece.Columns["idpiece"] }; string elencoidasset = QueryCreator.ColumnValues(AssetPiece, QHS.CmpEq("idpiece", 1), "idasset", true); if (elencoidasset != "" && elencoidasset != null) { string filtroasset = QHS.AppAnd(QHS.FieldInList("idasset", elencoidasset), QHS.IsNull("idassetunload"), QHS.CmpGt("idpiece", 1)); Conn.RUN_SELECT_INTO_TABLE(AssetPiece, null, filtroasset, null, false); } MetaData MAP = Meta.Dispatcher.Get("assetpieceview"); MAP.DescribeColumns(AssetPiece, "default"); DataSet D = new DataSet(); D.Tables.Add(AssetPiece); gridBeni.DataSource = null; HelpForm.SetDataGrid(gridBeni, AssetPiece); HelpForm.SetAllowMultiSelection(AssetPiece, true); SelezionaTuttiICespiti(); return(true); }
public override bool IsValid(DataRow R, out string errmess, out string errfield) { if (!base.IsValid(R, out errmess, out errfield)) { return(false); } DateTime datainizio = (DateTime)R["start"]; if (!controllaData(datainizio, out errmess)) { errfield = "start"; return(false); } object df = R["stop"]; if (df != DBNull.Value) { DateTime datafine = (DateTime)df; if (!controllaData(datafine, out errmess)) { errfield = "stop"; return(false); } if ((datafine != QueryCreator.EmptyDate()) && (datafine < datainizio)) { errmess = "'Data fine validità' non può precedere 'Data inizio validità'"; errfield = "stop"; return(false); } } int codicecreddeb = CfgFn.GetNoNullInt32(R["idreg"]); if (codicecreddeb <= 0) { errmess = "Inserire il codice dell'anagrafica"; errfield = "idreg"; return(false); } if ((R["address"].ToString() == "") || (R["address"].ToString().Trim() == ".")) { errmess = "Attenzione! Inserire l'indirizzo."; errfield = "address"; return(false); } object codeAddressKind = Conn.DO_READ_VALUE("address", QHS.CmpEq("idaddress", R["idaddresskind"]), "codeaddress"); if (codeAddressKind != null) { if ((codeAddressKind.ToString() == "07_SW_DOM") && (R["idcity"] is DBNull)) { errmess = "Il domicilio fiscale non può essere estero! Inserire un comune italiano."; errfield = "idcity"; return(false); } } if (codeAddressKind != null) { if ((codeAddressKind.ToString() != "07_SW_ANP") && (R["recipientagency"] != DBNull.Value)) { errmess = "L'Ente di provenienza deve essere specificato solo per l'indirizzo di tipo " + "Anagrafe delle Prestazioni"; errfield = "recipientagency"; return(false); } } //indirizzo estero o nazionale if (R["flagforeign"].ToString().ToUpper() == "S") { if (R["idnation"].ToString() == "") { errmess = "Attenzione! Inserire lo stato estero."; errfield = "idnation"; return(false); } } else { if (R["idcity"].ToString() == "") { errmess = "Attenzione! Inserire il Comune."; errfield = "idcity"; return(false); } if (Conn.RUN_SELECT_COUNT("geo_city_agency", QHS.AppAnd(QHS.CmpEq("idagency", 3), QHS.CmpEq("idcity", R["idcity"]), QHS.IsNull("stop")), false) > 0) { object cap = R["cap"]; string query = "select value from geo_city_agency where " + QHS.AppAnd(QHS.CmpEq("idagency", 3), QHS.CmpEq("idcity", R["idcity"]), QHS.IsNull("stop")); DataTable t = Conn.SQLRunner(query); DataRow[] r1 = t.Select("value=" + QueryCreator.quotedstrvalue(cap, false)); if (r1.Length == 0) { //DialogResult dr = MessageBox.Show(LinkedForm, "Il C.A.P. non è coerente o non è più valido per il comune inserito. Salvare ugualmente?", "Avviso", MessageBoxButtons.YesNo); //if (dr==DialogResult.No) //{ object comune = Conn.readValue("geo_city", q.eq("idcity", R["idcity"]), "title") ?? "(Comune non trovato)"; //R.GetParentRow("geo_cityregistryaddress")["title"]; if (t.Rows.Count == 1) { errmess = "Il codice postale del comune di '" + comune + "' è '" + t.Rows[0]["value"].ToString() + "'"; } else { errmess = "Il comune di '" + comune + "' ha i seguenti codici postali:\n" + QueryCreator.ColumnValues(t, null, "value", false); } errfield = "cap"; return(false); //} } } } return(true); }
private void GeneraImpegniEScritture(string elencoCedolini) { if (elencoCedolini == "") { return; } DataSet Temp = new DataSet(); DataTable tCedolino = DataAccess.CreateTableByName(Meta.Conn, "payroll", "*"); DataTable tContratto = DataAccess.CreateTableByName(Meta.Conn, "parasubcontract", "*"); Temp.Tables.Add(tCedolino); Temp.Tables.Add(tContratto); string filtroCedolini = QHS.FieldInList("idpayroll", elencoCedolini); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tCedolino, null, filtroCedolini, null, true); string elencoContratti = QHS.FieldInList("idcon", QueryCreator.ColumnValues(tCedolino, null, "idcon", true)); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tContratto, null, elencoContratti, null, true); bool calcolaTutto = false; DataAccess Conn = Meta.Conn; int esercizio = Conn.GetEsercizio(); MetaData metaParasubMain = Meta.Dispatcher.Get("parasubcontract"); metaParasubMain.DS = Temp; EP_Manager mainManager = new EP_Manager(metaParasubMain, null, null, null, null, null, null, null, null, "payroll"); foreach (DataRow CurrCedolino in tCedolino.Rows) { if (!calcolaTutto) { int idCedolino = CfgFn.GetNoNullInt32(CurrCedolino["idpayroll"]); AskOperation ao = new AskOperation(idCedolino); DialogResult dr = ao.ShowDialog(); if (dr != DialogResult.OK) { continue; } switch (ao.operazioneScelta) { case AskOperation.operazione.Si: { break; } case AskOperation.operazione.SiTutti: { calcolaTutto = true; break; } case AskOperation.operazione.No: { continue; } case AskOperation.operazione.NoTutti: { return; } } } Meta_EasyDispatcher d = null; Easy_DataAccess newConn = null; MetaData metaParasub = null; int annostop = esercizio; bool erroriep = false; if (CurrCedolino["stop"] != DBNull.Value && (((DateTime)CurrCedolino["stop"]).Year < esercizio)) { annostop = ((DateTime)CurrCedolino["stop"]).Year; } DataRow CurrContratto = tContratto.Select(QHC.CmpEq("idcon", CurrCedolino["idcon"]))[0]; string descrizione = "Contratto n." + CurrContratto["ncon"].ToString() + " del " + CurrContratto["ycon"].ToString() + " - " + "Cedolino n. " + CurrCedolino["npayroll"] + "/" + CurrCedolino["fiscalyear"]; EP_Manager epManagerCedolino = mainManager; if (annostop < esercizio & (mainManager.UsaImpegniDiBudget || mainManager.UsaScritture)) { //Genera impegni e scritture nell'anno di competenza del cedolino newConn = ottieniConnessioneNuovoEsercizio(Conn, annostop); if (newConn == null) { MessageBox.Show("Ci sono problemi nell'accedere all'anno " + annostop + ", non saranno generati impegni di budget o scritture", "Errore"); erroriep = true; } else { d = new Meta_EasyDispatcher(newConn); metaParasub = d.Get("parasubcontract"); metaParasub.DS = Meta.DS; metaParasub.LinkedForm = this; epManagerCedolino = new EP_Manager(metaParasub, null, null, null, null, null, null, null, null, "payroll"); } } if ((erroriep == false) && epManagerCedolino.abilitaScritture(CurrCedolino)) { epManagerCedolino.setForcedCurrentRow(CurrCedolino); epManagerCedolino.afterPost(); } if (newConn != null) { newConn.Destroy(); metaParasub.Destroy(); epManagerCedolino.Dispose(); } } }
public void GeneraScritture(string elencoCedolini) { if (elencoCedolini == "") { return; } DataAccess Conn = Meta.Conn; int esercizio = Conn.GetEsercizio(); DataTable tCedolino = DataAccess.CreateTableByName(Meta.Conn, "payroll", "*"); DataTable tContratto = DataAccess.CreateTableByName(Meta.Conn, "parasubcontract", "*"); DataTable tCedolinoRitenuta = DataAccess.CreateTableByName(Meta.Conn, "payrolltax", "*"); DataTable tTipoRitenuta = DataAccess.CreateTableByName(Meta.Conn, "tax", "*"); string filtroCedolini = QHS.FieldInList("idpayroll", elencoCedolini); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tTipoRitenuta, null, null, null, true); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tCedolino, null, filtroCedolini, null, true); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tCedolinoRitenuta, null, filtroCedolini, null, true); string elencoContratti = QHS.FieldInList("idcon", QueryCreator.ColumnValues(tCedolino, null, "idcon", true)); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tContratto, null, elencoContratti, null, true); string flagEpExp = Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Conn.GetEsercizio()), "flagepexp").ToString().ToUpper(); // L'anagrafica usata per la parte verso ente è quella della cfg. ritenute, eventualmente spacchettata // ove ci sia la ripartizione percentuale (in questo caso sarebbe opportuno usare la liq. diretta) //Invece l'anagrafica per la parte "conto ente" è quella della cfg. delle partite di giro object idregauto = Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Conn.GetSys("esercizio")), "idregauto"); TaxEntryHelper TEH = new TaxEntryHelper(Conn); foreach (DataRow CurrCedolino in tCedolino.Rows) { DataRow CurrContratto = tContratto.Select(QHC.CmpEq("idcon", CurrCedolino["idcon"]))[0]; object idreg = CurrContratto["idreg"]; object idupb = CurrContratto["idupb"]; EP_functions EP = new EP_functions(Meta.Dispatcher); if (!EP.attivo) { return; } EP.GetEntryForDocument(CurrCedolino); object descr = "Contratto n." + CurrContratto["ncon"].ToString() + " del " + CurrContratto["ycon"].ToString() + " - " + "Cedolino n. " + CurrCedolino["fiscalyear"] + "/" + CurrCedolino["npayroll"]; object doc = "Contr. " + CurrContratto["ncon"].ToString() + "/" + CurrContratto["ycon"].ToString() + " Cedolino " + CurrCedolino["npayroll"] + "/" + CurrCedolino["fiscalyear"]; DataRow mainEntry = EP.SetEntry(descr, Meta.GetSys("datacontabile"), doc, Meta.GetSys("datacontabile"), EP_functions.GetIdForDocument(CurrCedolino)); EP.ClearDetails(mainEntry); object idaccmot_main = CurrContratto["idaccmotive"]; if (idaccmot_main == DBNull.Value) { MessageBox.Show("Non è stata impostata la causale per la prestazione."); return; } string idepcontext = "PRESTAZ"; object idacc_registry = EP.GetSupplierAccountForRegistry( CurrContratto["idaccmotivedebit"], CurrContratto["idreg"]); if (idacc_registry == null || idacc_registry == DBNull.Value) { MessageBox.Show("Non è stato configurato il conto di debito/credito opportuno"); return; } decimal totale = CfgFn.GetNoNullDecimal(CurrCedolino["feegross"]); string idrelated = BudgetFunction.GetIdForDocument(CurrCedolino); object idepexp = Conn.DO_READ_VALUE("epexp", QHS.AppAnd(QHS.CmpEq("idrelated", idrelated), QHS.CmpEq("nphase", 2)), "idepexp"); if ((idepexp == null || idepexp == DBNull.Value) && flagEpExp == "S" && esercizio > 2015) { MessageBox.Show("Errore", "Non è stato trovato alcun impegno di budget per il contratto"); return; } decimal contributiNonConfigurati = 0; //Per tutti i CONTRIBUTI: //Se è configurato il conto di debito // effettua la scrittura COSTO->debito conto ente (idaccmotive_cost -> idaccmotive_debit) // altrimenti // effettua la scrittura COSTO->debito verso ente (idaccmotive_cost -> idaccmotive_pay) foreach (DataRow Rit in tCedolinoRitenuta.Rows) { decimal amount = CfgFn.GetNoNullDecimal(Rit["admintax"]); if (amount == 0) { continue; } string filtroRit = QHC.CmpEq("taxcode", Rit["taxcode"]); DataRow TipoRit = tTipoRitenuta.Select(filtroRit)[0]; if (TipoRit == null) { continue; } //Se la causale di costo non è configurata, prende la causale principale object idaccmotive_cost = idaccmot_main; if (TipoRit["idaccmotive_cost"] != DBNull.Value) { idaccmotive_cost = TipoRit["idaccmotive_cost"]; } if (idaccmotive_cost == idaccmot_main) { idaccmotive_cost = DBNull.Value; } object idaccmotive_touse = DBNull.Value; bool debitoCONTOerario = false; if (TipoRit["idaccmotive_debit"] != DBNull.Value) { idaccmotive_touse = TipoRit["idaccmotive_debit"];//debito CONTO erario debitoCONTOerario = true; } else { idaccmotive_touse = TipoRit["idaccmotive_pay"];//debito VERSO erario } if (idaccmotive_touse == DBNull.Value) { MessageBox.Show("Il contributo " + TipoRit["description"].ToString() + " non è correttamente configurato per l'E/P"); return; //Errore fatale! } if (idaccmotive_cost == DBNull.Value) { contributiNonConfigurati += amount; } else { string idrelatedContrib = BudgetFunction.GetIdForDocument(Rit); object idepexpContrib = Conn.DO_READ_VALUE("epexp", QHS.AppAnd(QHS.CmpEq("idrelated", idrelatedContrib), QHS.CmpEq("nphase", 2)), "idepexp"); if ((idepexpContrib == null || idepexpContrib == DBNull.Value) && flagEpExp == "S" && esercizio > 2015) { MessageBox.Show("Errore", "Non è stato trovato alcun impegno di budget per il contributo" + Rit["taxcode"].ToString()); return; } DataRow[] ContiContribCosto = EP.GetAccMotiveDetails(idaccmotive_cost.ToString()); foreach (DataRow CP in ContiContribCosto) { EP.EffettuaScritturaImpegnoBudget(idepcontext, amount, CP["idacc"], idreg, idupb, CurrCedolino["start"], CurrCedolino["stop"], CurrCedolino, idaccmotive_cost, idepexpContrib, null, idrelatedContrib); } } //Fa la scrittura sul conto di debito conto/verso erario usando la tabella anagrafiche della cfg ritenute DataRow[] ContiContribFinanz = EP.GetAccMotiveDetails(idaccmotive_touse.ToString()); if (debitoCONTOerario) { foreach (DataRow CP in ContiContribFinanz) { EP.EffettuaScrittura(idepcontext, amount, CP["idacc"], idregauto, idupb, //era Curr["idreg"] CurrCedolino["start"], CurrCedolino["stop"], CurrCedolino, idaccmotive_touse); } } else { DataTable Regs = TEH.GetIdRegFor(Rit["taxcode"], DBNull.Value, DBNull.Value); if (Regs == null || Regs.Rows.Count == 0) { MessageBox.Show("Anagrafica per il versamento non trovata per la ritenuta di tipo " + Rit["taxref"].ToString(), "Errore"); } else { foreach (DataRow Registry in Regs.Rows) { decimal amount_to_consider = amount * CfgFn.GetNoNullDecimal(Registry["quota"]); int idreg_to_consider = CfgFn.GetNoNullInt32(Registry["idreg"]); foreach (DataRow CP in ContiContribFinanz) { EP.EffettuaScrittura(idepcontext, amount_to_consider, CP["idacc"], idreg_to_consider, idupb, //era Curr["idreg"] CurrCedolino["start"], CurrCedolino["stop"], CurrCedolino, idaccmotive_touse); } } } } } //Effettua la scrittura sulla causale principale DataRow[] ContiPrinc = EP.GetAccMotiveDetails(idaccmot_main); foreach (DataRow CP in ContiPrinc) { EP.EffettuaScritturaImpegnoBudget(idepcontext, totale + contributiNonConfigurati, CP["idacc"], idreg, idupb, CurrCedolino["start"], CurrCedolino["stop"], CurrCedolino, idaccmot_main, idepexp, null, idrelated); } //Effettua la scrittura sul conto di debito vs fornitore EP.EffettuaScrittura(idepcontext, totale, idacc_registry, idreg, idupb, CurrCedolino["start"], CurrCedolino["stop"], CurrCedolino, idaccmot_main); EP.RemoveEmptyDetails(); MetaData MetaEntry = Meta.Dispatcher.Get("entry"); PostData Post = MetaEntry.Get_PostData(); Post.InitClass(EP.D, Meta.Conn); if (Post.DO_POST()) { EditEntry(CurrCedolino); } else { EP.viewDetails(Meta); } } }
private void btnCopyAll_Click(object sender, System.EventArgs e) { if (meta.IsEmpty) { return; } meta.DoMainCommand("mainsave"); DataRow CurrVar = HelpForm.GetLastSelected(DS.userenvironment); if (CurrVar == null) { return; } bool Restricted = false; if (MessageBox.Show("Si vuole limitare la copia ai soli utenti facenti parte " + "degli stessi gruppi dell'utente corrente?", "Opzioni", MessageBoxButtons.YesNo) == DialogResult.Yes) { Restricted = true; } string filterusers = null; vistaForm DS2 = new vistaForm(); ClearDataSet.RemoveConstraints(DS2); if (Restricted) { string grouplist = QueryCreator.ColumnValues(DS.customusergroup, null, "idcustomgroup", true); if (grouplist == "") { filterusers = "(idcustomuser is null)"; } else { filterusers = "(idcustomuser in (SELECT idcustomuser FROM customusergroup WHERE (idcustomgroup in (" + grouplist + "))))"; } } string filtervar = GetData.MergeFilters(filterusers, "(variablename=" + QueryCreator.quotedstrvalue(CurrVar["variablename"], true) + ")"); DataAccess.RUN_SELECT_INTO_TABLE(meta.Conn, DS2.customuser, null, filterusers, null, true); DataAccess.RUN_SELECT_INTO_TABLE(meta.Conn, DS2.userenvironment, null, filtervar, null, true); foreach (DataRow User in DS2.customuser.Rows) { DataRow[] UserVar = User.GetChildRows("customuseruserenvironment"); DataRow ThisVar; if ((UserVar == null) || (UserVar.Length == 0)) { ThisVar = DS2.userenvironment.NewRow(); ThisVar["idcustomuser"] = User["idcustomuser"]; ThisVar["variablename"] = CurrVar["variablename"]; DS2.userenvironment.Rows.Add(ThisVar); } else { ThisVar = UserVar[0]; } foreach (string fieldname in new string[] { "value", "flagadmin", "kind" }) { ThisVar[fieldname] = CurrVar[fieldname]; } } PostData PP = meta.Get_PostData(); PP.InitClass(DS2, meta.Conn); PP.DO_POST(); }