/// <summary> /// непосредственно сосет из базы /// </summary> /// <param name="RefreshAll">обновлять все</param> private void Refresh(bool RefreshAll) { DataTable DT; //Настройки обмена МОД string TextQuery = "SELECT VALUE as val FROM _1sconst (nolock) WHERE ID = $Константа.НастройкиОбменаМОД "; if (!SS.ExecuteWithRead(TextQuery, out DT)) { return; } RefreshTimestamp = DateTime.Now; FSettingsMOD = DT.Rows[0]["val"].ToString(); //Эти обновляются только в принудиловку if (RefreshAll) { //а тут подсасываем констатну главного склада TextQuery = "SELECT VALUE as val FROM _1sconst (nolock) WHERE ID = $Константа.ОснСклад "; DT.Clear(); if (!SS.ExecuteWithRead(TextQuery, out DT)) { return; } FMainWarehouse = DT.Rows[0]["val"].ToString(); //тут подсасываем константу товар для единиц TextQuery = "SELECT VALUE as val FROM _1sconst (nolock) WHERE ID = $Константа.ТоварДляЕдиниц "; DT.Clear(); if (!SS.ExecuteWithRead(TextQuery, out DT)) { return; } FItemForUnits = DT.Rows[0]["val"].ToString(); } }
} // Обратная совместимость /// <summary> /// Преобразует имя поля или таблицы SQL в имя 1С /// </summary> /// <param name="SQLName"></param> /// <returns></returns> protected string To1CName(string SQLName) { string result = ""; foreach (KeyValuePair <string, string> pair in SynhMap) { if (pair.Value == SQLName) { result = pair.Key; return(result); } } SQL1S tmpSS = new SQL1S(ServerName, DBName); //нихуя не найдено, подсосем из базы! string TextQuery = "select top 1 Name1C as Name1C from RT_Aliases (nolock) where NameSQL = :SQLName"; QuerySetParam(ref TextQuery, "SQLName", SQLName); DataTable DT; if (!tmpSS.ExecuteWithRead(TextQuery, out DT)) { throw new Exception("Cant connect for load this SQL name! Sheet!"); } if (DT.Rows.Count == 0) { throw new Exception("Cant find this SQL name! Sheet!"); } tmpSS.MyConnection.Close(); result = DT.Rows[0]["Name1C"].ToString().Trim(); SynhMap[result] = SQLName; //add in dictionary return(result); }