Visual Studio 2005 + 1C OLE = проблема

Новая тема
Столкнулся с проблемой при работе с 1С в качестве OLE сервера.

Ситуация:

В VisualStudio 2005 на Бэйсике пишу простейшую программу (как в примере из помощи):

Dim v7 As Object
Dim result As Boolean
v7 = CreateObject("V77.Application")
Try
result = v7.Initialize(v7.RMTrade, "/DC:\V7\DB /M", ")
Catch

End Try

1C пытается инициализироваться (появляются окна заставки, выбора пользователя, процесс виден в списке процессов Диспетчера Задач), а потом вылетает

Операционная система Win XP, установлены Visual Studio 2005, NET Framework 2.0.

Проводил опыт и с VBA от Excel на той же системе, и с VB 6.0 на Win2000 и NET Framework 2.0 - та же ситуация.

Где может прорыться проблема?
А что дальше делаешь с объектом V7?
Если ничего, то по окончании модуля объект V7 уничтожается, что и приводит к закрытию программы.
Надо чего нибудь использовать из V7 чтобы результаты увидеть.
Вот например, написано VBScript (Текст сохраняешь в файл например test1c.vbs)
и запускаешь cscript test1c.vbs в окне dos. Результат - на экране список пользователей.
в виде код:[Наименование]
Если же просто запустишь test1c.vbs То для каждого пользователя будет окошечко выскакивать...

set v7 = CreateObject("V77.Application")

result = v7.Initialize(v7.RMTrade, "/M /DD:\BASE\DB", ")
if result<>0 then
set spr = v7.CreateObject("Справочник.Пользователи")
spr.SelectItems()
Do while spr.GetItem()=1
sName = " & Spr.GetAttrib("Наименование")
sCode = " & Spr.GetAttrib("Код")
WScript.Echo sCode & ":[" & sName & "]"
Loop
end if
У тебя подразумевается, что v7.Initialize(v7.RMTrade, "/M /DD:\BASE\DB", ") отработан корректно и result<>0 (False)

У меня же result = 0 (False), то есть инициализация не прошла :-(
А пользователю, под которым в 1С заходишь, какие права даны?
По крайней мере нужно чтобы было разрешено использовать 1С в качесте OLE сервера.
И еще, в базе то никто не работает? :) Ключик у тебя стоит на монопольный запуск /M, может из-за этого...
> И еще, в базе то никто не работает? :) Ключик у тебя стоит на монопольный запуск /M, может >из-за этого...
Нет..В базу пытается войти только один пользовател...Дело происходит локально

Ткни носом туда, где задается: "А пользователю, под которым в 1С заходишь, какие права даны?
По крайней мере нужно чтобы было разрешено использовать 1С в качесте OLE сервера."

В конфигураторе, открываешь конфигурацию, закладка Права.
Открываешь набор прав используемый твоим пользователем.
Открываешь свойства элемента прав на самый верхний объект-название конфигурации...
Там среди всего есть пункт Использование в качестве OLE Automation сервера.
> В конфигураторе, открываешь конфигурацию, закладка Права.
> Открываешь набор прав используемый твоим пользователем.
> Открываешь свойства элемента прав на самый верхний объект-название конфигурации...
> Там среди всего есть пункт Использование в качестве OLE Automation сервера.

Есть такое...Нужный флажок стоит - результат тот же, то есть отрицательный...

Читают тему
(гостей: 1)

Быстрый переход