1
0
mirror of https://github.com/medigor/example-native-api-rs.git synced 2025-07-15 01:34:31 +02:00

add simple example

This commit is contained in:
medigor
2023-10-14 21:38:39 +03:00
parent 7d8b2f500d
commit d74087af76
11 changed files with 562 additions and 156 deletions

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<ConfigDumpInfo xmlns="http://v8.1c.ru/8.3/xcf/dumpinfo" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" format="Hierarchical" version="2.15">
<ConfigVersions>
<Metadata name="Configuration.Конфигурация" id="72b21170-d6cc-48ee-8426-d69353f61fd5" configVersion="c712ec3fc94b2b4182496f0827cf4bff00000000"/>
<Metadata name="Configuration.Конфигурация.HomePageWorkArea" id="29e7f5a4-dc26-408a-bd6e-083b5bf1384c.8" configVersion="33c420fc5cc12348954bd259bb0c136000000000"/>
<Metadata name="DataProcessor.Обработка1" id="33179d0b-730e-44f5-b20c-1af11f7f1f60" configVersion="86cf80c3e753094aa1ab6bbb3cce13b400000000"/>
<Metadata name="DataProcessor.Обработка1.Form.Форма" id="24033a67-5ef1-4265-9a88-eb7f279ce1cb" configVersion="b49039a0c3894b41a732cee38bfae78d00000000"/>
<Metadata name="DataProcessor.Обработка1.Form.Форма.Form" id="24033a67-5ef1-4265-9a88-eb7f279ce1cb.0" configVersion="4773009ef4f1164eadd05bc75928d86900000000"/>
<Metadata name="Language.Русский" id="e3ac9659-5250-4530-9ca6-3f4f4ef6413a" configVersion="63a64f60c307414fabfabd0d777a47cc00000000"/>
<Metadata name="Configuration.Конфигурация" id="72b21170-d6cc-48ee-8426-d69353f61fd5" configVersion="7bb3aedfabf3f347b0d90a1723e8f3c800000000"/>
<Metadata name="Configuration.Конфигурация.HomePageWorkArea" id="29e7f5a4-dc26-408a-bd6e-083b5bf1384c.8" configVersion="e07ffb9930bcfd419cc94bfed56fc39700000000"/>
<Metadata name="DataProcessor.Обработка1" id="33179d0b-730e-44f5-b20c-1af11f7f1f60" configVersion="3864a8102742ba46ac0ed9ae8552c89d00000000"/>
<Metadata name="DataProcessor.Обработка1.Form.Форма" id="24033a67-5ef1-4265-9a88-eb7f279ce1cb" configVersion="26d36b8115680a42a52b99d8b011342e00000000"/>
<Metadata name="DataProcessor.Обработка1.Form.Форма.Form" id="24033a67-5ef1-4265-9a88-eb7f279ce1cb.0" configVersion="368ad81321aa084d82a53c976986a94100000000"/>
<Metadata name="Language.Русский" id="e3ac9659-5250-4530-9ca6-3f4f4ef6413a" configVersion="9b1ab00d6dd15a48b70a736c7e6be41900000000"/>
</ConfigVersions>
</ConfigDumpInfo>

View File

@ -21,6 +21,16 @@
<CommandName>Form.Command.Тест2</CommandName>
<ExtendedTooltip name="Тест2РасширеннаяПодсказка" id="4"/>
</Button>
<Button name="Тест3" id="24">
<Type>UsualButton</Type>
<CommandName>Form.Command.Тест3</CommandName>
<ExtendedTooltip name="Тест3РасширеннаяПодсказка" id="25"/>
</Button>
<Button name="Тест4" id="26">
<Type>UsualButton</Type>
<CommandName>Form.Command.Тест4</CommandName>
<ExtendedTooltip name="Тест4РасширеннаяПодсказка" id="27"/>
</Button>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
@ -79,5 +89,35 @@
</ToolTip>
<Action>Тест1</Action>
</Command>
<Command name="Тест3" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тест3</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тест3</v8:content>
</v8:item>
</ToolTip>
<Action>Тест3</Action>
</Command>
<Command name="Тест4" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тест4</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Тест4</v8:content>
</v8:item>
</ToolTip>
<Action>Тест4</Action>
</Command>
</Commands>
</Form>

View File

@ -91,3 +91,61 @@
Сообщить(СтрШаблон("Длительность: %1", Конец - Начало));
КонецПроцедуры
&НаКлиенте
Процедура Тест3(Команда)
Тест3НаСервере(ИмяФайла);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура Тест3НаСервере(ИмяФайла)
Попытка
ОбъектКомпоненты2 = Новый ("AddIn.Test.Class2");
Исключение
Если Не ПодключитьВнешнююКомпоненту(ИмяФайла, "Test", ТипВнешнейКомпоненты.Native, ТипПодключенияВнешнейКомпоненты.НеИзолированно) Тогда
ВызватьИсключение "Не удалось подключить";
КонецЕсли;
ОбъектКомпоненты2 = Новый ("AddIn.Test.Class2");
КонецПопытки;
Если ОбъектКомпоненты2.Method1(111) <> 222 Тогда
ВызватьИсключение "Не удалось вызвать Method1";
КонецЕсли;
Если ОбъектКомпоненты2.Method2(111, 222) <> 333 Тогда
ВызватьИсключение "Не удалось вызвать Method2";
КонецЕсли;
Если ОбъектКомпоненты2.Prop1 <> 333 Тогда
ВызватьИсключение "Свойство Prop1 содержит неверное значение";
КонецЕсли;
Сообщить("Тест выполнен успешно");
КонецПроцедуры
&НаКлиенте
Процедура Тест4(Команда)
Тест4НаСервере(ИмяФайла);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура Тест4НаСервере(ИмяФайла)
Попытка
ОбъектКомпоненты2 = Новый ("AddIn.Test.Class2");
Исключение
Если Не ПодключитьВнешнююКомпоненту(ИмяФайла, "Test", ТипВнешнейКомпоненты.Native, ТипПодключенияВнешнейКомпоненты.НеИзолированно) Тогда
ВызватьИсключение "Не удалось подключить";
КонецЕсли;
ОбъектКомпоненты2 = Новый ("AddIn.Test.Class2");
КонецПопытки;
Начало = ТекущаяУниверсальнаяДатаВМиллисекундах();
Для К = 1 По 1000000 Цикл
ОбъектКомпоненты2.Prop1 = 123;
КонецЦикла;
Конец = ТекущаяУниверсальнаяДатаВМиллисекундах();
Сообщить(СтрШаблон("Длительность: %1 мс", Конец - Начало));
КонецПроцедуры