Ejemplo n.º 1
0
        ResultSet IOneCWebService.ExecuteScript(string _file, string _usr, string _pwd, string _script)
        {
            try
            {
                OneCAdapter adapter = new OneCAdapter();
                try
                {
                    if (_usr.Equals(""))
                    {
                        adapter.Open(_file, null, null);
                    }
                    else
                    {
                        adapter.Open(_file, _usr, _pwd);
                    }

                    return(adapter.ExecuteScriptForResultSet(_script));
                }
                finally
                {
                    try
                    {
                        adapter.Close();
                    }
                    catch (Exception _e) {}
                }
            }
            catch (Exception _e)
            {
                ResultSet r = new ResultSet();
                r.Error = _e.ToString();
                return(r);
            }
        }
Ejemplo n.º 2
0
        public void TestConnection()
        {
            try
            {
                OneCAdapter a = new OneCAdapter();
                a.Open(@"C:\Work\Base1", null, null);
                try
                {
                    Assert.IsTrue(a.ExecuteRequest("ВЫБРАТЬ 1 КАК К1, \"A\" КАК К2, Истина КАК К3, ДатаВремя(1, 1, 1) КАК К4"));
                    Assert.IsTrue(a.Next());
                    //Количество колонок
                    Assert.AreEqual(a.GetColumnCount(), 4);
                    //Названия
                    Assert.AreEqual(a.GetColumnName(0), "К1");
                    Assert.AreEqual(a.GetColumnName(1), "К2");
                    Assert.AreEqual(a.GetColumnName(2), "К3");
                    Assert.AreEqual(a.GetColumnName(3), "К4");
                    //Значения
                    Assert.AreEqual(a.GetValueByIndex(0), 1);
                    Assert.AreEqual(a.GetValueByIndex(1), "A");
                    Assert.AreEqual(a.GetValueByIndex(2), true);
                    Assert.AreEqual(a.GetValueByIndex(3), DateTime.MinValue.AddYears(99));
                    //Типы
                    Assert.AreEqual(a.GetColumType(0), typeof(double));
                    Assert.AreEqual(a.GetColumType(1), typeof(string));
                    Assert.AreEqual(a.GetColumType(2), typeof(bool));
                    Assert.AreEqual(a.GetColumType(3), typeof(DateTime));

                    //Выполнение кода
                    //Assert.IsNotNull(a.ExecuteScript("результат=ПолучитьТекущуюДату()"));
                    //a.ExecuteScript("СоздатьЧленаСемьи(\"Шарик\");");
                    //a.ExecuteScript("УдалитьЧленаСемьи(\"Шарик\");");

                    /*a.ExecuteRequest("ВЫБРАТЬ С.Ссылка ИЗ Справочник.ЧленыСемьи КАК С");
                     * a.Next();
                     * XmlElement e = (XmlElement)a.GetValueByIndex(0);
                     * StringWriter sw = new StringWriter();
                     * using (XmlWriter writer = XmlTextWriter.Create(sw , new XmlWriterSettings()))
                     * {
                     *      e.WriteTo(writer);
                     * }
                     * System.Console.WriteLine(sw.ToString());
                     *
                     * a.ExecuteRequest("ВЫБРАТЬ С.Ссылка ИЗ Справочник.ЧленыСемьи КАК С");
                     * a.ToResultSet();*/
                }
                finally
                {
                    a.Close();
                }
            }
            catch (Exception _e)
            {
                System.Console.WriteLine(_e.ToString());
                throw _e;
            }
        }
Ejemplo n.º 3
0
        public void TestTransactionWithOneCAdapter()
        {
            OneCAdapter a = new OneCAdapter();

            a.Open(@"C:\Work\OneCService\Base\First", null, null);
            a.Begin();
            a.ExecuteScript(
                "сотр = Справочники.Сотрудники.СоздатьЭлемент();\n" +
                "сотр.Код = 10; " +
                "сотр.Наименование = \"Сиськин\"; " +
                "сотр.Записать(); "
                );
            a.Commit();
            //a.Rollback();
            a.Close();
        }
Ejemplo n.º 4
0
        ResultSet IOneCWebService.ExecuteRequest(string _file, string _usr, string _pwd, string _request)
        {
            try
            {
                OneCAdapter adapter = new OneCAdapter();
                try
                {
                    if (_usr.Equals(""))
                    {
                        adapter.Open(_file, null, null);
                    }
                    else
                    {
                        adapter.Open(_file, _usr, _pwd);
                    }

                    EnlistToTransaction(adapter);

                    //Выполняем запрос
                    if (adapter.ExecuteRequest(_request))
                    {
                        return(adapter.ToResultSet());
                    }
                    else
                    {
                        return(new ResultSet());
                    }
                }
                finally
                {
                    try
                    {
                        adapter.Close();
                    }
                    catch (Exception _e) {}
                }
            }
            catch (Exception _e)
            {
                ResultSet r = new ResultSet();
                r.Error = _e.ToString();
                return(r);
            }
        }
Ejemplo n.º 5
0
        ResultSet IOneCWebService.ExecuteMethodWithXDTO(
            string _file,
            string _usr,
            string _pwd,
            string _methodName,
            XmlNode[] _parameters
            )
        {
            try
            {
                OneCAdapter adapter = new OneCAdapter();
                try
                {
                    if (_usr.Equals(""))
                    {
                        adapter.Open(_file, null, null);
                    }
                    else
                    {
                        adapter.Open(_file, _usr, _pwd);
                    }

                    EnlistToTransaction(adapter);

                    return(adapter.ExecuteMethodWithXDTO(_methodName, _parameters));
                }
                finally
                {
                    try
                    {
                        adapter.Close();
                    }
                    catch (Exception _e) {}
                }
            }
            catch (Exception _e)
            {
                ResultSet r = new ResultSet();
                r.Error = _e.ToString();
                return(r);
            }
        }