1
0
mirror of https://github.com/malikov-pro/1c-rabbit-tutorial.git synced 2024-11-21 17:56:37 +02:00
This commit is contained in:
Aleksandr 2024-10-02 09:10:52 +05:00
parent e58cca65f7
commit 3de03aadce
7 changed files with 564 additions and 0 deletions

BIN
RabbitTutorial.epf Normal file

Binary file not shown.

31
RabbitTutorial.xml Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<ExternalDataProcessor uuid="c59bd2ad-c723-4b63-bd8a-5ede12fc15b7">
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>c3831ec8-d8d5-4f93-8a22-f9bfae07327f</xr:ClassId>
<xr:ObjectId>1d42a1c7-94fa-4913-a391-6e6d04314071</xr:ObjectId>
</xr:ContainedObject>
<xr:GeneratedType name="ExternalDataProcessorObject.RabbitTutorial" category="Object">
<xr:TypeId>ca93512d-c342-4d53-98ef-2b420eb4fe62</xr:TypeId>
<xr:ValueId>a7568658-9c4c-44ed-b354-fcf33df28346</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>RabbitTutorial</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Rabbit tutorial</v8:content>
</v8:item>
</Synonym>
<Comment/>
<DefaultForm>ExternalDataProcessor.RabbitTutorial.Form.Форма</DefaultForm>
<AuxiliaryForm/>
</Properties>
<ChildObjects>
<Form>Форма</Form>
<Template>ВнешняяКомпонента</Template>
</ChildObjects>
</ExternalDataProcessor>
</MetaDataObject>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<Form uuid="532e18b2-3da2-4ef5-b7f8-e2e24e4401e1">
<Properties>
<Name>Форма</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<ExtendedPresentation/>
</Properties>
</Form>
</MetaDataObject>

View File

@ -0,0 +1,285 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnOpen">ПриОткрытии</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="OnClose">ПриЗакрытии</Event>
</Events>
<ChildItems>
<UsualGroup name="Группа1" id="10">
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="Группа1РасширеннаяПодсказка" id="11"/>
<ChildItems>
<Button name="ФормаОтправка" id="1">
<Type>UsualButton</Type>
<CommandName>Form.Command.Отправка</CommandName>
<ExtendedTooltip name="ФормаОтправкаРасширеннаяПодсказка" id="2"/>
</Button>
<Button name="ФормаПолучение" id="3">
<Type>UsualButton</Type>
<CommandName>Form.Command.Получение</CommandName>
<ExtendedTooltip name="ФормаПолучениеРасширеннаяПодсказка" id="4"/>
</Button>
</ChildItems>
</UsualGroup>
<UsualGroup name="Группа2" id="12">
<Group>Vertical</Group>
<Behavior>Usual</Behavior>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="Группа2РасширеннаяПодсказка" id="13"/>
<ChildItems>
<InputField name="ПараметрОтправкиСтр" id="7">
<DataPath>ПараметрОтправкиСтр</DataPath>
<ExtendedEditMultipleValues>true</ExtendedEditMultipleValues>
<ContextMenu name="ПараметрОтправкиСтрКонтекстноеМеню" id="8"/>
<ExtendedTooltip name="ПараметрОтправкиСтрРасширеннаяПодсказка" id="9"/>
</InputField>
<Button name="ОтправкаСПараметром" id="5">
<Type>UsualButton</Type>
<CommandName>Form.Command.ОтправкаСПараметром</CommandName>
<ExtendedTooltip name="ОтправкаСПараметромРасширеннаяПодсказка" id="6"/>
</Button>
</ChildItems>
</UsualGroup>
<Button name="ПолучениеСЗадержкой" id="14">
<Type>UsualButton</Type>
<CommandName>Form.Command.ПолучениеСЗадержкой</CommandName>
<ExtendedTooltip name="ПолучениеСЗадержкойРасширеннаяПодсказка" id="15"/>
</Button>
<Button name="ПолучениеСЗадержкойЦикл" id="16">
<Type>UsualButton</Type>
<CommandName>Form.Command.ПолучениеСЗадержкойЦикл</CommandName>
<ExtendedTooltip name="ПолучениеСЗадержкойЦиклРасширеннаяПодсказка" id="17"/>
</Button>
<Button name="ОтключитьПолучениеСЗадержкой" id="18">
<Type>UsualButton</Type>
<CommandName>Form.Command.ОтключитьПолучениеСЗадержкой</CommandName>
<ExtendedTooltip name="ОтключитьПолучениеСЗадержкойРасширеннаяПодсказка" id="19"/>
</Button>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Type>
<v8:Type>cfg:ExternalDataProcessorObject.RabbitTutorial</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
</Attribute>
<Attribute name="Сервер" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сервер</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="Порт" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Порт</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>10</v8:Digits>
<v8:FractionDigits>0</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</Type>
</Attribute>
<Attribute name="Пользователь" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пользователь</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="Пароль" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пароль</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ВиртуальныйХост" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Виртуальный хост</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ПараметрОтправкиСтр" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Параметр отправки стр</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="СоздатьКанал" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Создать канал</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Создать канал</v8:content>
</v8:item>
</ToolTip>
<Action>СоздатьКанал</Action>
</Command>
<Command name="Отправка" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отправка</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отправка</v8:content>
</v8:item>
</ToolTip>
<Action>Отправка</Action>
</Command>
<Command name="Получение" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Получение</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Получение</v8:content>
</v8:item>
</ToolTip>
<Action>Получение</Action>
</Command>
<Command name="ОтправкаСПараметром" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отправка с параметром</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отправка с параметром</v8:content>
</v8:item>
</ToolTip>
<Action>ОтправкаСПараметром</Action>
</Command>
<Command name="ПолучениеСЗадержкой" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Получение с задержкой</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Получение с задержкой</v8:content>
</v8:item>
</ToolTip>
<Action>ПолучениеСЗадержкой</Action>
</Command>
<Command name="ПолучениеСЗадержкойЦикл" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Получение с задержкой цикл</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Получение с задержкой цикл</v8:content>
</v8:item>
</ToolTip>
<Action>ПолучениеСЗадержкойЦикл</Action>
</Command>
<Command name="ОтключитьПолучениеСЗадержкой" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отключить получение с задержкой</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отключить получение с задержкой</v8:content>
</v8:item>
</ToolTip>
<Action>ОтключитьПолучениеСЗадержкой</Action>
</Command>
<Command name="ВыполнитьУдаленннуюПроцедуру" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполнить удаленнную процедуру</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполнить удаленнную процедуру</v8:content>
</v8:item>
</ToolTip>
<Action>ВыполнитьУдаленннуюПроцедуру</Action>
</Command>
</Commands>
</Form>

View File

@ -0,0 +1,210 @@
&НаКлиенте
Перем Клиент, АдресВоВременномХранилище;
&НаСервере
Функция ПолучитьАдресМакетаКомпановкиНаСервере(УникальныйИдентификатор)
МакетВнешнейКомпоненты = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ВнешняяКомпонента");
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(МакетВнешнейКомпоненты, УникальныйИдентификатор);
Возврат АдресВоВременномХранилище;
КонецФункции
&НаКлиенте
Процедура ПодключитьКомпонентуКлиент(КомпонентаПодключена = Неопределено)
АдресВоВременномХранилище = ПолучитьАдресМакетаКомпановкиНаСервере(ЭтаФорма.УникальныйИдентификатор);
УстановитьВнешнююКомпоненту(АдресВоВременномХранилище);
КомпонентаПодключена = ПодключитьВнешнююКомпоненту(
АдресВоВременномХранилище,
"BITERP",
ТипВнешнейКомпоненты.Native);
Сообщить(НСтр("ru = 'Компонента подключена!'"));
КонецПроцедуры
&НаКлиенте
Функция ПолучитьКомпонентуКлиент()
Если Клиент = Неопределено Тогда
Если Не ИнициализироватьКомпонентуКлиентСервер(Клиент) Тогда
ПодключитьКомпонентуКлиент();
ИнициализироватьКомпонентуКлиентСервер(Клиент);
КонецЕсли;
КонецЕсли;
Возврат Клиент;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ИнициализироватьКомпонентуКлиентСервер(Компонента)
Попытка
Компонента = Новый("AddIn.BITERP.PinkRabbitMQ");
Возврат Истина;
Исключение
Возврат Ложь;
КонецПопытки;
КонецФункции
&НаКлиенте
Процедура Отправка(Команда)
ИмяОчереди = "rpc_queue";
Клиент.DeclareQueue(ИмяОчереди, Ложь, Ложь, Ложь, Ложь);
Клиент.ReplyTo = "result.method.queue";
ОтправляемоеСообщение = "Hello World!";
routingKey = ИмяОчереди;
livingTime = 0;
persist = Истина;
Клиент.BasicPublish("", routingKey, ОтправляемоеСообщение, 0, persist);
Сообщить("Отправлено 'Hello World!'");
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Сервер = "192.168.57.2";
Порт = 5672;
Пользователь = "rmuser";
Пароль = "rmpassword";
ВиртуальныйХост = "/";
КонецПроцедуры
&НаКлиенте
Процедура Получение(Команда)
ИмяОчереди = "hello";
Клиент.DeclareQueue(ИмяОчереди, Ложь, Ложь, Ложь, Ложь);
ОтветноеСообщение = "";
ТегСообщения = 0;
noConfirm = Истина;
exclusive = Ложь;
Потребитель = Клиент.BasicConsume(ИмяОчереди, "", noConfirm, exclusive, 0);
Пока Клиент.BasicConsumeMessage("", ОтветноеСообщение, ТегСообщения, 5000) Цикл
Сообщить("Успешно! Из очереди прочитано сообщение " + ОтветноеСообщение);
ОтветноеСообщение = ""; // Обнуляем, чтобы избежать утечку памяти
ТегСообщения = 0; // Обнуляем, чтобы избежать утечку памяти
КонецЦикла;
Клиент.BasicCancel("");
КонецПроцедуры
&НаКлиенте
Процедура ОтправкаСПараметром(Команда)
ПолучитьКомпонентуКлиент();
Клиент.Connect(Сервер, Порт, Пользователь, Пароль, ВиртуальныйХост);
ИмяОчереди = "hello";
Клиент.DeclareQueue(ИмяОчереди, Ложь, Ложь, Ложь, Ложь);
ОтправляемоеСообщение = "Hello World!";
Для Сч = 1 По 5 Цикл
ОтправляемоеСообщение1 = ОтправляемоеСообщение + " " + Сч + ".";
routingKey = ИмяОчереди;
Клиент.BasicPublish("", routingKey, ОтправляемоеСообщение1, 0, Ложь);
Сообщить("Отправлено " + ОтправляемоеСообщение1);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПолучениеСЗадержкой() Экспорт
ОтветноеСообщение = "";
ТегСообщения = 0;
Пока Клиент.BasicConsumeMessage("", ОтветноеСообщение, ТегСообщения, 5000) Цикл
Если Не ПустаяСтрока(ОтветноеСообщение) Тогда
Сообщить("Из очереди прочитано сообщение " + ОтветноеСообщение);
//Клиент.BasicAck(ТегСообщения);
ОтветноеСообщение = ""; // Обнуляем, чтобы избежать утечку памяти
ТегСообщения = 0; // Обнуляем, чтобы избежать утечку памяти
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура СделатьПаузу(ЗадержкаСекунд = 3)
Если ЗадержкаСекунд = 0 Тогда
Возврат
КонецЕсли;
КомандаWindows = "Timeout /T " + Формат(ЗадержкаСекунд, "ЧГ=0") + " /NoBreak";
WshShell = Новый COMОбъект("WScript.Shell");
WshShell.Run(КомандаWindows, 0, -1);
КонецПроцедуры
&НаКлиенте
Процедура ПолучениеСЗадержкойЦикл(Команда)
ИмяОчереди = "hello";
onlyCheckIfExists = Ложь;
save = Истина;
exclusive = Ложь;
autodelete = Ложь;
Клиент.DeclareQueue(ИмяОчереди, onlyCheckIfExists, save, exclusive, autodelete);
noConfirm = Истина;
exclusive = Ложь;
selectSize = 1;
Потребитель = Клиент.BasicConsume(ИмяОчереди, "", noConfirm, exclusive, selectSize);
ИмяОчереди = "hello";
ПодключитьОбработчикОжидания("ПолучениеСЗадержкой", 10);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПолучитьКомпонентуКлиент();
Клиент.Connect(Сервер, Порт, Пользователь, Пароль, ВиртуальныйХост);
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Клиент = Неопределено;
КонецПроцедуры
&НаКлиенте
Процедура ОтключитьПолучениеСЗадержкой(Команда)
ОтключитьОбработчикОжидания("ПолучениеСЗадержкой");
Клиент.BasicCancel("");
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьУдаленннуюПроцедуру(Команда)
НомерСеанса = Формат(НомерСеансаИнформационнойБазы(), "ЧГ=");
КонецПроцедуры

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<Template uuid="01e7d02f-acad-4d24-aefb-8800128b67c8">
<Properties>
<Name>ВнешняяКомпонента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Внешняя компонента</v8:content>
</v8:item>
</Synonym>
<Comment/>
<TemplateType>AddIn</TemplateType>
</Properties>
</Template>
</MetaDataObject>