Форум программистов, компьютерный форум, киберфорум
1С: Администрирование и интеграция
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/43: Рейтинг темы: голосов - 43, средняя оценка - 4.67
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
1
1C 8.x

Получить данные из 1С C#

24.01.2014, 13:12. Показов 8489. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день Господа!
Есть 1С: Предприятие 8.2 (8.2.19.83)
Конфигурация: Зарплата и Управление Персоналом, редакция 2.5 (2.5.76.1)
Режим: Файловый.
Необходимо выбрать некоторые данные, делаю так:

Метод
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void Test(string path, string user, string password)
        {
            var connectionString = "File='" + path + "';Usr='" + user + "';pwd='" + password + "';";
 
            dynamic baza1C = new Connection(connectionString);
 
            var query = baza1C.NewObject("Запрос");
 
            Connection.SetObjectProperty(query, "Text", "ВЫБРАТЬ ФизическиеЛица.ДатаРождения ИЗ Справочник.ФизическиеЛица КАК ФизическиеЛица");
 
            var result = Connection.CallMethod(query, "Выполнить", null);
            var selection = Connection.CallMethod(result, "Выбрать", null);
 
            while ((bool) Connection.CallMethod(selection, "Следующий", null))
            {
                var data = (DateTime)Connection.GetObjectProperty(selection, "ДатаРождения");
            }
        }

Класс обертка
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 public sealed class Connection
    {
        private const BindingFlags InvokeMethod = BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.Static;
        private const BindingFlags GetProperty = BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.Static;
        private const BindingFlags SetProperty = BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.Static;
 
        private readonly object _connection;
 
        public Connection(string paramStr)
        {
            var connector = Activator.CreateInstance(Type.GetTypeFromProgID("V82.COMConnector"));
            _connection = connector.GetType().InvokeMember("Connect", InvokeMethod, null, connector, new object[] { paramStr });
        }
 
        public object NewObject(string objectType)
        {
            return _connection.GetType().InvokeMember("NewObject", InvokeMethod, null, _connection, new object[] { objectType });
        }
 
        public static Object CallMethod(object Object, string name, object[] args)
        {
            return Object.GetType().InvokeMember(name, InvokeMethod, null, Object, args);
        }
 
        public static object GetObjectProperty(object Object, string name)
        {
            return Object.GetType().InvokeMember(name, GetProperty, null, Object, null);
        }
 
        public static void SetObjectProperty(object Object, string name, object value)
        {
            Object.GetType().InvokeMember(name, SetProperty, null, Object, new object[] { value });
        }
    }


В результате получаю следующую ошибку:
Необработанное исключение типа "Microsoft.CSharp.RuntimeBinder.RuntimeBinderException" в System.Core.dll
Дополнительные сведения: Невозможно преобразовать тип "System.DBNull" в "System.DateTime"

Результат запроса с консоли:

Получить данные из 1С C#


Помогите получить данные!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2014, 13:12
Ответы с готовыми решениями:

Получить данные в поле текстбокса автоматом и перенести данные с формы на лист
Добрый день. Имеется таблица -реестр. Заполняется через форму. В поле текстбокса вводится номер...

Tkinter. Как получить данные (поместить в какие-либо переменные) о том, какие данные находятся в виджетах
Как получить данные (поместить в какие-либо переменные) о том, какая цифра находится в текстовом...

Веб. Как изменить данные в базе по изменению данных инпута? Получить измененные данные инпута?
Доброго времени суток! Ситуация такая.. есть форма с таблицей, содержание таблицы выводится из...

CGI. Как получить данные из html формы и отослать данные клиенту в html формате?
Господа помогите с cgi. Никогда этого не делал под VB, а сейчас очень надо. Как получить данные из...

3
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
24.01.2014, 13:42  [ТС] 2
Разобрался сам
0
30 / 30 / 0
Регистрация: 05.12.2012
Сообщений: 308
24.01.2014, 19:32 3
Ну тады покажи решение
0
48 / 48 / 11
Регистрация: 13.08.2012
Сообщений: 97
24.01.2014, 19:41  [ТС] 4
В конфигурации этому справочнику поставил разрешение на обмен данными с офлайн клиентом. Как-то так называется, сейчас нет 1С под рукой.
1
24.01.2014, 19:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2014, 19:41
Помогаю со студенческими работами здесь

Получить данные из формы, создать файл и вставить данные в файл
Здравствуйте. Есть форма на сайте. Я пытаюсь сделать так, чтобы данные из формы передавались в файл...

Как получить данные из TextField и наоборот вывести данные в TextField?
Учусь javafx и scene builder нужно ввести некоторые данные сделать с ними пару действий и вывести...

Получить данные из БД
Добрый день. Запрос к таблицам users и order $q->join(new \Newpage\Model\Orm\Order(),...

Получить данные
Сделал связь сомбо(дисплетекст и валуемембер выставил) с table(в таблице несколько полей) и теперь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru