PDA

Просмотр полной версии : Несколько экземпляров автографа и баз 1С на одном сервере


s.sintsov
03.07.2014, 07:53
Добрый день! Вопрос следующий:
на одном сервере планируется установка нескольких экземпляров ПО АвтоГРАФ. В каждом свой список транспортных средств и контрольных точек. Под каждый экземпляр автографа отдельная база 1С, куда должны средствами OLE выгружаться данные о прохождении транспортными средствами контрольных точек. Проблема в том, что в системе регистрируется один единственный компонент OLE и работает из всех баз 1С с одним и тем же экземпляром ПО АвтоГРАФ. Есть возможность как-то это ограничение обойти?

Второй альтернативный вопрос: возможен ли вариант по расписанию выгружать отдельно для каждого экземпляра ПО АвтоГРАФ табличку например в формате dbf, содержащую информацию по столбцам:
транспортное средство | контрольная точка | время посещения |
выгружать естественно в автоматическом режиме в разные папки

SK
03.07.2014, 13:17
Есть возможность как-то это ограничение обойти?
Есть. Правда, слегка через колено. Но иначе обойти ограничение Microsoft не получается.
Каждый экземпляр ПО прописывается в реестре со своим GUID.
Для этого, насколько помню, есть специальный ключ командной строки.
При инициализации СОМ-объекта в программных модулях 1С – необходимо обращаться к конкретной копии через GUID.

SK
03.07.2014, 13:18
Второй альтернативный вопрос: возможен ли вариант по расписанию выгружать отдельно для каждого экземпляра ПО АвтоГРАФ табличку например в формате dbf, содержащую информацию по столбцам:
транспортное средство | контрольная точка | время посещения |
выгружать естественно в автоматическом режиме в разные папки
А зачем для этого две или более копии ПО ???
Два или более разных карлиста в одной копии ПО решают эту проблему.

s.sintsov
04.07.2014, 07:53
Второй альтернативный вопрос: возможен ли вариант по расписанию выгружать отдельно для каждого экземпляра ПО АвтоГРАФ табличку например в формате dbf, содержащую информацию по столбцам:
транспортное средство | контрольная точка | время посещения |
выгружать естественно в автоматическом режиме в разные папки
А зачем для этого две или более копии ПО ???
Два или более разных карлиста в одной копии ПО решают эту проблему.

Вопрос зачем предлагаю пока оставить вне плоскости данного обсуждения. Скажем так, задача не показывать в одном экземпляре ПО список всех автомобилей и всех контрольных точек по всем филиалам. Прошу помощи именно в направлении одновременного запуска нескольких экземпляров ПО АвтоГРАФ, установленных в разные папки. Буду очень благодарен, если подскажете, что это за параметр командной строки, который позволяет задать собственный GUID для каждого экземпляра приложения при установке или при регистрации компоненты.

Пока попробовал в реестре поменять ветку HKEY_CLASSES_ROOT\AutoGRAPH.AutoGRAPHAutomation, сделал вместо нее две
HKEY_CLASSES_ROOT\AutoGRAPH.AutoGRAPHAutomation_1 и HKEY_CLASSES_ROOT\AutoGRAPH.AutoGRAPHAutomation_2. Внутри каждой в разделе CLSID указал свой уникальный ID. Соответственно прописал их в HKEY_CLASSES_ROOT\Wow6432Node\CLSID\ с параметрами LocalServer32 указывающими каждый на свою папку. Не помогает, при попытке запустить второй экземпляр АвтоГРАФ, видимо, обнаруживает, что один экземпляр уже запущен и не стартует повторно.

storm
04.07.2014, 09:49
s.sintsov,
нужно запустить каждую копию программы АвтоГРАФ с ключом guidreg, новые сгенерированные giud'ы будут записаны в файл guids.ini
после чего уже при подключении 1С к АвтоГРАФу указывать нужный guid

storm
04.07.2014, 09:50
для разрегистрации нужно запустить с ключом guidunreg

s.sintsov
04.07.2014, 12:41
Сделал точно так, как написано. При создании com-объекта по отдельности из каждой базы 1С - все работает. Т.е. АвтоГРАФ запускается отдельно из той папки, из которой и нужно. Но вот при попытке запустить одновременно из двух баз 1С (соответственно ожидается, что Автограф запустится одновременно из 2-х разных папок) при попытке создания второго экземпляра объекта выдается сообщение об ошибке:

Ошибка при вызове конструктора (COMОбъект): -2146959355(0x80080005): Ошибка при выполнении приложения-сервера : -2146959355(0x80080005): Ошибка при выполнении приложения-сервера

SK
04.07.2014, 13:27
Как инициализируется СОМ-объект ?

s.sintsov
08.07.2014, 06:06
А первой базе:

АГ=Новый COMОбъект("AutoGRAPH.AutoGRAPHAutomation_1");

Во второй базе:

АГ=Новый COMОбъект("AutoGRAPH.AutoGRAPHAutomation_2");

В реестре прописано:

HKEY_CLASSES_ROOT\AutoGRAPH.AutoGRAPHAutomation_1\ CLSID\{36176F31-7E7D-43FB-A011-2E3D5E6172B0}

HKEY_CLASSES_ROOT\AutoGRAPH.AutoGRAPHAutomation_2\ CLSID\{4D7D2E35-789E-4199-AD60-AE0D375C9BEA}

Как прописать GUID непосредственно в функцию COMОбъект?

SK
08.07.2014, 09:07
А руками две этих копии ПО нормально запускаются ?

s.sintsov
08.07.2014, 14:26
Каждая по отдельности нормально. Если вместе, то та, которая запущена первой, стартует и работает нормально. При попытке запустить вторую - она не запускается. Никаких ошибок не выдает. Просто не стартует.

s.sintsov
15.07.2014, 13:02
Подтвердите, пожалуйста, что возможности одновременного запуска 2 экземпляров программы Автограф под одним пользователем нет.

SK
15.07.2014, 13:45
Он есть, но... похоже отключен. Разбираемся.

МЦС
05.12.2014, 19:45
Подтвердите, пожалуйста, что возможности одновременного запуска 2 экземпляров программы Автограф под одним пользователем нет.

У меня был экземпляр диспетчерской програмки которая запускалась на ПК при уже запущеной обычьной диспетчерской програмки. Это было давно и по факту не пригодилось.

А ещё был файл для корекции показаний в програмке - решил не давать клиентам кроме 1 случая который в конце концов тоже подтвердил что эту прогу клиентам давать ненадо.