7.7 to connect to 1C-dbf in use (from non-1C)

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем vgv8, 4 сен 2007.

  1. TopicStarter Overlay
    vgv8
    Offline

    vgv8 Опытный в 1С

    Регистрация:
    4 сен 2007
    Сообщения:
    79
    Симпатии:
    2
    Баллы:
    29
    Добрый день!
    Я новичок в 1С
    (поэтому что угодно приму за чистую монету)

    Имеется 1С: Предприятие 7.7(сетевая)
    "Бухгалтерия+Торговля+Склад+Зарплата+Кадры"
    редакция 4.5
    dbf

    20 пользователей

    Меня призвали сделать приложение,
    которое коннектится к dbf-ам 1С (которые постоянно юзает 1С, т.е. её пользователи),
    в real-time считывает из них данные,
    а заодно коннектится к MS SQL Server

    Мне можно пользоваться чем угодно, кроме использования (, программирования и изменения конфигурации, данных) существующей 1С

    У меня возникли сомнения - смогу ли я открыть (или законнектиться) к dbf-ам.
    Их же, наверное, блокирует на себя 1С?

    Как я могу это сделать (например, открыть-законнектиться с dbf из MS SQL Server 2005 или из .NET)?

    Порылся на интернете - 1С коннектят к MS SQL Server, естественно.
    А вот наоборот - как из MS SQL Server подконнектить dbf 1C?
  2. iliabvf
    Offline

    iliabvf

    Регистрация:
    4 сен 2007
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Система 1С:Предприятие может быть запущена внешним приложением в качестве OLE Automation сервера и предоставляет доступ ко всем атрибутам и методам своего глобального контекста (см. «Контекст выполнения программно­го модуля»). Кроме того, OLE-сервер 1С:Предприятие имеет дополнительные методы, с помощью которых можно выполнить последовательность операторов или вычислить выражение, заданное на встроенном языке 1С:Предприятие.

    Для запуска системы 1С:Предприятие в качестве OLE Automation сервера из внешнего приложения, выполняется следующая последовательность дейст­вий:

    · создается объект с OLE идентификатором:

    o V1СEnterprise.Application — версия независимый ключ;

    o V77.Application — версия зависимый ключ;

    o V77S.Application — версия зависимый ключ, SQL версия;

    o V77L.Application — версия зависимый ключ, локальная версия;

    o V77M.Application — версия зависимый ключ, сетевая версия.

    · выполняется инициализация системы 1С:Предприятие методом Initialize.

    · вызываются атрибуты и методы системы 1С:Предприятие как OLE Automation сервера

    Замечание 1: Поскольку программа 1С:Предприятие является одновременно OLE Automation сервером и OLE Automation клиентом, то возможно из 1С:Предприятие обращаться к другой копии 1С:Предприятие (например, к другой конфигурации) для обмена данными. В основном все современ­ные программные продукты поддерживают механизм OLE Automation, это касается в частности MS Office, MS FoxPro и приложений на них на­писанных, DAO и т. п., поэтому программа 1С:Предприятие может полно­стью интегрироваться с ними.

    Замечание 2: Не локализованные версии внешних программ, обращающихся к программе 1С:Предприятие посредством OLE Automation, могут непра­вильно интерпретировать русские идентификаторы объектов агрегатных типов данных, например, реквизитов справочников. Данное замечание не относится к продуктам MS Office и к программам, использующим в каче­стве языка обращения к OLE объектам Microsoft Visual Basic. Рекоменду­ется использовать локализованные версии программных продуктов, либо в конфигурации использовать идентификаторы без символов кириллицы. Для обращения к атрибутам и методам агрегатных типов данных системы 1С:Предприятие из внешних приложений рекомендуется использовать их англоязычные синонимы.

    Замечание 3: Все созданные объекты OLE Automation существуют до тех пор, пока существует переменная, которая содержит значение данного объекта. Следовательно, сама программа 1С:Предприятие, выступающая в качестве объекта OLE Automation в другой программе, будет находиться в памяти компьютера до удаления или изменения значения переменной, содержа­щей ее в качестве объекта.
  3. TopicStarter Overlay
    vgv8
    Offline

    vgv8 Опытный в 1С

    Регистрация:
    4 сен 2007
    Сообщения:
    79
    Симпатии:
    2
    Баллы:
    29
    Большое спасибо.
    1C используется терминально (Citrix Metaframe)

    Я так понимаю, что OLE Automation Server создаст 1С экземпляр в своем пространстве, т.е. на клиенте
    (в смысле, в моём приложении)? Т.е. потащит компоненты 1С с терминала?

    Прозвучало желание создать приложение в виде cross-platform
    (хотя изначально мне было не очень понятно зачем, т.к. 1С вроде бы привязана к MS Windows?),
    т.к. Заказчик вожделеет перейти на бесплатные продукты и сервера (Linux)

    Насколько я понимаю OLE Automation - это технология MS и привязана к продуктам MS?
    т.е. cross-platform не получится? Совсем никак?

    Идентификаторы и функции в существующей 1С все на русском. А моё желание - использовать ASP.NET2+MSSQLServer2005 (что умею, то и хочу)
    Может существует что-то типа aliases в 1С... или я думаю создать в 1С процедуры на латинском, маскирующие внутри вызов/использование кириллизированных штучек?

Поделиться этой страницей