-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Labels
bugSomething isn't workingSomething isn't working
Description
- При подключении внешней компоненты из макета возникает ошибка
Ошибка при вызове конструктора (Addin.SampleAddIn.SampleAddIn)
{ВнешняяОбработка.ТестВнешняяКомпонента.Форма.Форма.Форма(49)}:ОбъектВК = Новый("Addin.SampleAddIn.SampleAddIn");
{ВнешняяОбработка.ТестВнешняяКомпонента.Форма.Форма.Форма(39)}:КомандаТестНаСервереНаСервере();
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Тестирование выполняется в файловом варианте 1С:Предприятие 8.3.27.1606 на конфигурации ERP2 2.5.22, разрядность - x64.
Используется пример и сам крейт из репозитория
native_api_1c = { git = "https://github.com/Sebekerga/native_api_1c" }
- Еще при подключении внешней компоненты из файла: объект внешней компоненты создается, тестовые функция и процедура вызываются, но возникает ошибка при уничтожении объекта.
ОбъектВК = Неопределено;
Код внешней обработки с ошибкой конструктора.
&НаКлиенте
Процедура КомандаТестНаСервере(Команда)
КомандаТестНаСервереНаСервере();
КонецПроцедуры
&НаСервере
Процедура КомандаТестНаСервереНаСервере()
АдресВнешнейКомпоненты = АдресВнешнейКомпоненты();
Подключено = ПодключитьВнешнююКомпоненту(АдресВнешнейКомпоненты, "SampleAddIn");
Если Подключено Тогда
// Внешняя компонента подключена
ОбъектВК = Новый("Addin.SampleAddIn.SampleAddIn");
Попытка
БайтыВК = ОбъектВК.МояФункция(9);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
КонецПопытки;
Попытка
ОбъектВК.МояПроцедура();
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
КонецПопытки;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция АдресВнешнейКомпоненты()
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
МакетВнешнейКомпоненты = ОбработкаОбъект.ПолучитьМакет("SampleAddInExt");
АдресВнешнейКомпоненты = ПоместитьВоВременноеХранилище(МакетВнешнейКомпоненты, УникальныйИдентификатор);
Возврат АдресВнешнейКомпоненты
КонецФункции
Код внешней обработки при подключении внешней компоненты из файла.
&НаКлиенте
Асинх Процедура КомандаТестНаКлиентеПоПути(Команда)
ПутьВК = "c:\Users\metal_doctor\my_addin\target\x86_64-pc-windows-msvc\release\my_addin.dll";
Если Не Ждать ПодключитьВнешнююКомпонентуАсинх(ПутьВК, "SampleAddIn", ТипВнешнейКомпоненты.Native) Тогда
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
ВызватьИсключение("Ошибка подключение внешней компоненты");
Возврат;
КонецЕсли;
ОбъектВК = Новый("Addin.SampleAddIn.SampleAddIn");
Попытка
БайтыВК = Ждать ОбъектВК.МояФункцияАсинх(9);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
КонецПопытки;
Попытка
Ждать ОбъектВК.МояПроцедураАсинх();
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
КонецПопытки;
ОбъектВК = Неопределено;
КонецПроцедуры
Прилагаю файлы (расширение файлов изменено на txt для возможности приложить их сюда):
Cargo.toml
Makefile.toml
Manifest.xml
src/lib.rs
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working