Страница: 1 |
Страница: 1 |
Вопрос: Взаимодействие VB.NET и 1С
Добавлено: 27.10.04 14:36
Автор вопроса: proudbird
Вопрос адресован программистам 1С (а может и не только)
Проблема следующая:
Допустим в VB.NET я создал объект типа Справочник.Номенклатура и БухгалтерскиеИтоги...
Nomenclature = Base.EvalExpr("CreateObject(""Справочник.Номенклатура"")")
Totals = Base.EvalExpr("CreateObject(""БухгалтерскиеИтоги"")")
...затем позиционировался на конкретном элементе...
Nomenclature.НайтиПоНаименованию("Ведро")
... а теперь хочу получить по нему остатки...
Total = Totals.СКДРС("43.1.1", 3, "", Nomenclature.ТекущийЭлемент())
Не хочет VB.NET выполнять этот метод. Ругается и выводит:
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in microsoft.visualbasic.dll
Additional information: Invalid Callee.
В чем же проблема? Кто-нибудь может помочь с решением этой задачи?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Артём Л.
Вопросов: 0
Ответов: 5
Профиль | | #1
Добавлено: 27.10.04 14:54
первый совет - поменять названия в .нет на латтинницу, если вы конечно в сообщении написали именно так как написали в .нет.
Номер ответа: 2
Автор ответа:
proudbird
Вопросов: 1
Ответов: 3
Профиль | | #2
Добавлено: 27.10.04 15:08
Какие имено названия? Можно поменять свойства и методы, например не ТекущийЭлемент(), а CurrentItem(), но нельзя заменить "Справочник.Номенклатура" на "Reference.Nomenclature" (на крайняк "Reference.Номенклатура". Хотя сейчас попробую...
Номер ответа: 3
Автор ответа:
Артём Л.
Вопросов: 0
Ответов: 5
Профиль | | #3
Добавлено: 27.10.04 15:12
в смысле нельзя?
Хоть для пробы попробуйте зозлать .нет ком компонент с нормальными названиями и использоывать его в 1с
Номер ответа: 4
Автор ответа:
proudbird
Вопросов: 1
Ответов: 3
Профиль | | #4
Добавлено: 27.10.04 15:16
Подожди... Мне нужно использоватя 1С как OLE объект, а не наоборот, а в нем все названия объектов типа Справочник, Документ и т.д. имеют названия на русском языке.
Номер ответа: 5
Автор ответа:
proudbird
Вопросов: 1
Ответов: 3
Профиль | | #5
Добавлено: 27.10.04 15:29
К стати, в VB 6.0 все работает нормально
Номер ответа: 6
Автор ответа:
Артём Л.
Вопросов: 0
Ответов: 5
Профиль | | #6
Добавлено: 27.10.04 15:39
а, извиняюсь, не понял направление...
хм.., тогда могут сказать еще такое (покрайней мере для Word Coma у меня такая проблема была)
вообщем строку
Total = Totals.СКДРС("43.1.1", 3, "", Nomenclature.ТекущийЭлемент())
надо каки то образом поменять на
dim o as (тип Nomenclature.ТекущийЭлемент()) = Nomenclature.ТекущийЭлемент()
Total = Totals.СКДРС("43.1.1", 3, "",o)
Номер ответа: 7
Автор ответа:
MagicMax
Вопросов: 0
Ответов: 3
Web-сайт:
Профиль | | #7
Добавлено: 02.06.05 11:06
День добрый! Тоже начал работать с 1С, вот только столкнулся с проблемой - не могу подключиться к базе! Версия 1с - 7.7. И на C# пытался и на VB.NET - все никак...
Вот так на ВБ:
Dim obj As Object
obj = CreateObject("V77S.Application"
obj.Initialize(obj.RMTrade, "/D""d:\1cv77\base\"" /M /NНовый1", ""
и все! пишет типа "не могу присвоить чтото там свойству read only!" . Подскажите плиз, как вы подрубаетесь к базе 1С и почему может происходить такая петрушка...
Заранее спасибо!