Программный доступ к базам 1С:Предприятие 8.2 из других баз 1С

10.01.13

База данных - Инструменты администратора БД

Предложенный доступ организован с использованием двух технологий: Elisy Business Connector и 1C.Net:Предприятие. Он позволяет получить доступ к любой базе 1С:Предприятие 8.2 и выше, опубликованной через веб-сервер Apache или IIS.
Пример, предложенный к статье, позволяет получить информацию из демонстрационной базы 1С, размещенной на сервере компании 1С: http://demo-ma.1c.ru/trade

Скачать исходный код

Наименование Файл Версия Размер
Доступ к 1С 8.2 из других баз
.epf 45,76Kb
26
.epf 45,76Kb 26 Скачать

Предложенный доступ организован с использованием двух технологий: Elisy Business Connector и 1C.Net:Предприятие. Он позволяет получить доступ к любой базе 1С:Предприятие 8.2 и выше, опубликованной через веб-сервер Apache или IIS.

Пример, предложенный к статье, позволяет получить информацию из демонстрационной базы 1С, размещенной на сервере компании 1С: http://demo-ma.1c.ru/trade

Elisy Business Connector

Business Connector – это технология доступа к базам 1С, опубликованных через веб-сервера. Технология обладает несколькими преимуществами относительно COM- и WS-доступа.

Преимущества Business Connector перед веб-сервисами:

  • Кроссплатформенность, ориентация на платформы разработки. Ориентация на протокол SOAP в веб-сервисах не гарантирует совместимость между платформами.
  • Наличие совместимого API и использование родных объектов для популярных платформ Java/Mono/.Net. Веб-сервисы поддерживают стандарт SOAP, реализация которого может отличаться у популярных платформ разработки.
  • Последовательные обращения в Business Connector проходят в одной сессии. Каждое обращение к веб-операции через веб-сервис создает отдельный сеанс.
  • Кэширование возвращаемых значений модулей с повторным использованием. Для веб-сервисов не предусмотрен параметр «Повторное использование».
  • Большая доступность технологии за счет протокола http. Доступность и настройка веб-сервисов может быть ограничена или затруднена на сервисах SaaS. Настройка веб-сервисов происходит сложнее, чем публикация 1С на веб-сервере.

Преимущества Business Connector перед COM/OLE:

  • Кроссплатформенность и поддержка разных операционных систем. COM/OLE-приложения нацелены только на Windows.
  • Совместимость с 64-разрядными Windows-приложениями. Одна сборка .Net/Mono/Java может работать на 32- и 64-разрядных приложениях. Технология COM/OLE требует различных версий библиотек для 32- и 64-разрядных приложений.
  • Большая доступность на виртуальных машинах, облачных системах, сервисах SaaS и мобильных устройствах.
  • Нет привязки к аппаратному ключу защиты.

1C.Net:Предприятие

Описанная выше технология доступа к базам 1С Business Connector была создана для доступа в первую очередь к базе 1С из программных платформ .Net Framework и Java. Но внешний компонент .Net Bridge позволяет использовать технологию для доступа из скриптов 1С.

1C.Net:Предприятие обеспечивает бесшовную и гармоничную интеграцию с .Net Framework посредством взаимодействия с Common Language Runtime (CLR). Облегчает обращение к .Net из 1С-скриптов и отладку 1С-конфигураций.

Последняя версия .Net Bridge 4.0.4 работает с .Net Framework 4. Необходимо, чтобы он был установлен на компьютере перед началом использования.

Описание примера

Пример выполнен как управляемая форма и выводит сообщения в окно служебных сообщений через команды Сообщить.

Инициализировать .Net Bridge. Подключить его как внешний компонент.

ПодключитьВнешнююКомпоненту("Elisy.NetBridge4");
AddIn = New("AddIn.ElisyNetBridge4");
net = AddIn.GetNet();

Сборка .Net Elisy.BusinessConnector.Net.dll находится в макете к внешней обработке с примером. Ее нужно извлечь и подключить.

Макет = ПолучитьМакет("Elisy_BusinessConnector_Net_dll");
ДвоичныеДанные = Base64String(Макет);
assemblyBytes = net.CallStatic("System.Convert", "FromBase64String", ДвоичныеДанные);
net.CallStatic("System.Reflection.Assembly", "Load", assemblyBytes);

Код по инициализации Business Connector. После инициализации потребуется вход через Login.

connection = net.New("Elisy.BusinessConnector.Connection", "ws=""http://demo-ma.1c.ru/trade"";Usr=""БахшиевПИ (руководитель)"";Pwd="""";L=""ru_RU""");
connection.Open();

На данном этапе можно получить список всех пользователей и зайти, используя имя 1го пользователя в списке и пустой пароль:

userList = connection.GetUserList();
connection.Login(userList.GetValue(0), "");

Инициализация глобального контекста для соединения:

gc = net.New("Elisy.BusinessConnector.VM.GlobalContext", connection);

Пример вызовов серверных методов-экспортных функций общих модулей без параметров:

Результат = gc.GetServerModule("ДенежныеСредстваСервер").Invoke("ПолучитьСписокКомандЗаполненияНазначенияПлатежа", Неопределено);
Результат = gc.GetServerModule("ВнешниеПользователи").Invoke("ИспользоватьВнешнихПользователей", Неопределено);
Сообщить("Использовать Внешних Пользователей: " + Результат.Value);
Результат = gc.GetServerModule("ВнешниеПользователи").Invoke("ТекущийВнешнийПользователь", Неопределено);
Результат = gc.GetServerModule("ВзаиморасчетыСервер").Invoke("ПолучитьТекстЗапросаДокументыРасчетовСПоставщиками", Неопределено);
Сообщить("Текст Запроса Документы Расчетов С Поставщиками: " + Результат.Value);

Пример вызова серверного метода с параметрами:

список = net.New("System.Collections.Generic.List", net.T("System.Object"));
список.Add("40702810800110033044");
Результат = gc.GetServerModule("ДенежныеСредстваСервер").Invoke("ПолучитьВалютуПоНомеруСчета", список.ToArray());

Можно получить также предопределенное значение:

СправочникОрганизации = gc.PredefinedValue("Справочник.Организации");

И для справочника Организации получить данные выбора через метод GetChoiceData – аналог ПолучитьДанныеВыбора глобального контекста:

параметрыПоиска = net.New("Elisy.BusinessConnector.Types.StructureType", gc);
отбор = net.New("Elisy.BusinessConnector.Types.StructureType", gc);
параметрыПоиска.Set_Item("Filter", отбор);
организации = gc.GetChoiceData(СправочникОрганизации, параметрыПоиска);

// //

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    3725    19    1    

40

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    4663    12    2    

38

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2280 руб.

14.01.2013    178856    1084    0    

862

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    28115    83    146    

61

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11888    5    9    

7

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61609    90    59    

74

Конфигурация Session Monitor

Мониторинг Инструменты администратора БД Платформа 1С v8.3 Россия Платные (руб)

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

01.12.2020    14449    35    0    

49

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    11222    5    8    

9
Оставьте свое сообщение