Проблема обмена по механизму OLE. Нужна Помощь!
24.09.2008
13:32
#1
Такая ситуация:
Имеется 1С Торговля 7.7 SQL, Бухгалтерия 7.7,
Имеется обработка по переносу данных из ТиС в Бух (запускается в бух затем выбирается база ТиС и производится обмен)
Ранее когда обе базы были DBF, обе конфигурации запускались с одного exe-файла, теперь же когда одна из баз стала SQL то пришлось исполняющие файлы разделить. Таким образом ТиС и Бух запускаются каждый из своего каталога, обмен OLE "накрылся медным тазом". Как легально можно решить эту проблему, "не взламывая" 1С?, Будет ли SQL-ключ защиты работать с DBF - exe-шником? Или можно как то программно обойти эту проблему, ну т.е. при запуске второй базы (ТиС) из под Бух, использовать exe-шник Торговли?
Имеется 1С Торговля 7.7 SQL, Бухгалтерия 7.7,
Имеется обработка по переносу данных из ТиС в Бух (запускается в бух затем выбирается база ТиС и производится обмен)
Ранее когда обе базы были DBF, обе конфигурации запускались с одного exe-файла, теперь же когда одна из баз стала SQL то пришлось исполняющие файлы разделить. Таким образом ТиС и Бух запускаются каждый из своего каталога, обмен OLE "накрылся медным тазом". Как легально можно решить эту проблему, "не взламывая" 1С?, Будет ли SQL-ключ защиты работать с DBF - exe-шником? Или можно как то программно обойти эту проблему, ну т.е. при запуске второй базы (ТиС) из под Бух, использовать exe-шник Торговли?
24.09.2008
14:17
#2
"Нужно сформировать строку инициализации OLE приложения с указанием явного пути к исполняемому файлу платформы. Пример:
V77 = СоздатьОбъект("V77.Application");
ПутьКПлатформе=КаталогПрограммы(); //вот это и есть ключевой момент, меняя значение вы станете запускать нужные компоненты, при этом поиск ключа будет вестись на стороне подключенного OLE объекта
Пользователь="Иванов";
Пароль="123";
Стр =""""+ПутьКПлатформе+""""+"enterprise /d"""""+ПутьКБазе+""""+?(ПустаяСтрока(Пользователь)=0," /n"+Пользователь,"""")+?(ПустаяСтрока(Пароль)=0," /p"+Пароль,"""");
Если V77.Initialize(V77.RMTrade, Стр, "NO_SPLASH_SHOW") = 1 Тогда
..."
V77 = СоздатьОбъект("V77.Application");
ПутьКПлатформе=КаталогПрограммы(); //вот это и есть ключевой момент, меняя значение вы станете запускать нужные компоненты, при этом поиск ключа будет вестись на стороне подключенного OLE объекта
Пользователь="Иванов";
Пароль="123";
Стр =""""+ПутьКПлатформе+""""+"enterprise /d"""""+ПутьКБазе+""""+?(ПустаяСтрока(Пользователь)=0," /n"+Пользователь,"""")+?(ПустаяСтрока(Пароль)=0," /p"+Пароль,"""");
Если V77.Initialize(V77.RMTrade, Стр, "NO_SPLASH_SHOW") = 1 Тогда
..."
Читают тему
(гостей: 1)