Пример #1
0
        /// <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();
            }
        }
Пример #2
0
        } // Обратная совместимость

        /// <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);
        }