#0
by alexeyomg
Я цепляюсь из программы (на c#) через COM к 1с (серверная, не файловая). Подключение проходит успешно, но я не могу обратиться к функции общего модуля. Пишет следующее: "2016-05-30 16:19:13.1634 ERROR Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: "System.__ComObject" не содержит определения для "ОбщийМодуль" на c# код следующий: string connectionString = "srvr='" + mainConfig.base1cServer + dynamic result1c = connection1C.ОбщийМодуль.Тест(new object[] {}); в 1С код следующий: Всё это находится в модуле "ОбщийМодуль" (созданный мной) в разделе "Общие модули". У этого модуля активированы следующие параметры: -Сервер -Внешнее соединение В случае с файловой базой - всё работает!!! В случае с серверной базой пишет ошибку, указанную в начале поста. Я пробовал делать общий модуль Глобальным, и тогда в c# команда выглядит так: dynamic result1c = connection1C.Тест(new object[] {}); С файловой это работает, с серверной нет. Я также пытался написать тот же метод в "Модуль внешнего соединения" в 1с-ке. И опять, с файловой это работает, а с серверной - нет. Подскажите, в чём прикол серверной версии 1с? И как мне обратиться к методу модуля?
#1
by alexeyomg
Через Com результат запроса на северную 1с приходит отлично!!! А вот с вызовом метода - проблемы :(
#3
by Рэйв
поставить модулю галку "Внешнее соединение" или скопировать функцию в модуль внешнего соединения и постаивть Экспорт
#10
by Philix
И есть у меня какие-то сомнения на счет использования кириллицы в именах общих модулей и функций при обращении из Си Шарп. Попробуй старую добрую латынь
#17
by alexeyomg
Так, убрал new object[] {} - заработало. Но есть метод с параметрами. Как его вызывать?
#18
by Тролль главный
вот так: dynamic result1c = connection1C.ОбщийМодуль.Тест(ПервыйПараметр,ВторойПараметр);
#19
by Philix
Через ком-соединения проходят только простые типы данных. Или сложные, но уже определенные на той стороне ком-соединения. Т.е. или строку туда (дату, число, буелво), или результат выражения типа connection1C.Справочники.Контрагенты.найтипокоду("12345678")
#22
by alexeyomg
мне обязательно нужно вызвать метод через InvokeMethod я делаю на самом деле так: valiuesDict- это Dictionary в c#. По сути оно сконвертируется в Соответствие в 1с-ке. Или нет? Вроде как если инвоук с параметрами, то надо писать последним атрибутом массив new object[] { valiuesDict }, чьи члены - это параметры. но у меня не работает. Даже если строку передаю
#23
by Serginio1
Dictionary в c#. По сути оно сконвертируется в Соответствие в 1с-ке. Или нет? Не сконвертируется. Нужна com обертка Например по ссылке из 15
#25
by hhhh
ты должен определить массив на той стороне connection1C.ntwObject("Массив"); и так далее. Даже если из 1с вызывать 1с, всё равно у них массивы свои у каждой.
#27
by alexeyomg
Всё работает. НО!!! Не работает, если внутри функции вызывается метод с дерективой "&НаСервере". Пишет: System.Runtime.InteropServices.COMException (0x80020006): Неизвестное имя. (Исключение из HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))
#29
by alexeyomg
Спасибо, ребят, заработало. потом добавляю данные в Соответствие object1c.Вставить(...); а потом передаю
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Вызов процедуры
- СКД: Как можно сделать вызов функции не из общего модуля, а из модуля отчета В СКД
- СКД. Можно использовать встроенные функции или только функции общего модуля?
- ПКГС. Вызов функции из общего модуля
- 8.2 Вызов сервера по функции "НайтиСтроки"
- Вызов общего модуля из модуля управляемой формы.
- вызов общей функции из модуля менеджера
- Вызов функции общего модуля из ЗАПРОСА 1С
- 1C 8.3 УФ. Нетиповая Конфа. Вызов функции печати документа из обработки.
В этой группе 1С
- При работе 1С с web клиентом вылетает с ошибкой k.getAttribute is not function
- Грызем кактус (cacti). где взять MIB или как построить графики?
- Ввод остатков по счетам в ERP
- Розница 2.2 . Жутко тормозит , подозрение на ЕГАИС.
- Функция не найдена "ПолучитьФункциональнуюОпцию"
- СКД: недоступны измерения РС
- Зачем в регистре ОсновныеСпецификацииНоменклатуры измерение Подразделение?
- v7: Как получить дату с временем из Excel через ADO
- 1С УПП 1.3 Не перепроводятся Реализация товаров если в нем есть резерв?
- v7: 1С 77 ИспользоватьСписокЭлементов()
- Вызов функции общего модуля из ЗАПРОСА 1С
- Большой файл в серверном кэше
- Цепочки связанных документов УПП
- Raspberry Pi - обмен опытом
- Как в таблицу MS SQL добавить строки с ключевым полем без автоинкремента?
- Запрос SQL, внутреннее соединение
- Запись в регистр сведений из Excel
- Зарезервированные ключевые слова 1с8.3
- Зачем нужен регистр сведений для свойств объектов
- Как из ОбработкаУдаленияПроведения Документа получить дату проведения Документа