+
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions features/Libraries/VAExtension/VAExtension.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<?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.10">
<ExternalDataProcessor uuid="c90d5506-169d-4c1f-b8d8-979829eeb77a">
<ExternalDataProcessor uuid="4fb3c1dc-51ec-4408-b6fe-85e7a8ae6381">
<InternalInfo>
<xr:ContainedObject>
<xr:ClassId>c3831ec8-d8d5-4f93-8a22-f9bfae07327f</xr:ClassId>
<xr:ObjectId>29d2f52d-0ed1-4254-a6bc-bbc6bc333ab1</xr:ObjectId>
<xr:ObjectId>0b818002-14dc-436c-8e7f-884393d26941</xr:ObjectId>
</xr:ContainedObject>
<xr:GeneratedType name="ExternalDataProcessorObject.VAExtension" category="Object">
<xr:TypeId>503de865-4645-4496-b5dd-2e4a76236095</xr:TypeId>
<xr:ValueId>4d213f80-34d7-4f82-80f0-c17b4f80d887</xr:ValueId>
<xr:TypeId>6f83e8b3-d983-4e7a-b162-e003efde4bc3</xr:TypeId>
<xr:ValueId>129af4d7-b37f-4c44-bfda-ec9b84820298</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,22 @@
"Запоминает ID UI Automation элемента формы клиента тестирования с указанным именем в переменную.",
"Прочее.UI Automation.Запомнить ID элемента");

// Эмуляция работы сканера штрихкода
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,
"ЯЭмулируюСканированиеШтрихкодаБПОЧерезБуферОбмена(Парам01)",
"ЯЭмулируюСканированиеШтрихкодаБПОЧерезБуферОбмена",
"И я эмулирую сканирование штрихкода БПО ""4670003110011"" через буфер обмена",
"Эмуляция сканирования штрихкода (эмуляция вызова БПО)" + Символы.ПС
+ "можно использовать тег ""\x_GS"" для передачи символа FNC1(29)" + Символы.ПС
+ " К примеру:" + Символы.ПС
+ " И я эмулирую сканирование штрихкода БПО ""4670003110011"" через буфер обмена" + Символы.ПС
+ " И я эмулирую сканирование штрихкода БПО ""https://github.com/Pr-Mex/vanessa-automation"" через буфер обмена" + Символы.ПС
+ " И я эмулирую сканирование штрихкода БПО ""0146700031100112112345\x_GS941234"" через буфер обмена" + Символы.ПС
+ "Использовать в тестируемом приложении VAExtension версии 1.02 и выше только под ОС Windows" + Символы.ПС
+ "В расширении требуется отключить безопасный режим и защиту от опасных действий." + Символы.ПС
+ "Используется эмуляция вызова 1С:Библиотека подключаемого оборудования",
"Прочее.VanessaExt.Оборудование");

Возврат ВсеТесты;

КонецФункции
Expand Down Expand Up @@ -1248,3 +1264,20 @@
ЯЗапоминаюЭлементФормыКлиентаТестированияВПеременнуюUIAutomationрасширение(ИмяЭлемента, ИмяПеременной, Истина);
КонецФункции

&НаКлиенте
// И я эмулирую сканирование штрихкода БПО ""4670003110011"" через буфер обмена
// @ЯЭмулируюСканированиеШтрихкодаБПОЧерезБуферОбмена(Парам01)
Функция ЯЭмулируюСканированиеШтрихкодаБПОЧерезБуферОбмена(Знач Штрихкод) Экспорт


ГлавноеОкноТестируемого = Ванесса.ПолучитьГлавноеОкноИзТестовоеПриложение();

КомандаЭмуляцияШтрихкода = "e1cib/command/ОбщаяКоманда.VAExtension_ЭмуляцияШтрихкода";

Штрихкод = СтрЗаменить(Штрихкод,"\x_GS",Символ(29));

Ванесса.ПоместитьВБуферОбменаVA(Штрихкод);

ГлавноеОкноТестируемого.ВыполнитьКоманду(КомандаЭмуляцияШтрихкода);

КонецФункции
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?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.8">
<CommonCommand uuid="87a7f998-138a-4d91-bca0-7425eee80100">
<Properties>
<Name>VAExtension_ЭмуляцияШтрихкода</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>VAExtension эмуляция штрихкода</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
</Properties>
</CommonCommand>
</MetaDataObject>
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

Если ЭтоWindowsКлиент() Тогда


//Проверяем есть ли модуль БСП
Попытка
МодульБСПМенеджерОборудованияКлиент = ОбщийМодуль("МенеджерОборудованияКлиент")
Исключение
МодульБСПМенеджерОборудованияКлиент = Неопределено;
КонецПопытки;

Если МодульБСПМенеджерОборудованияКлиент <> Неопределено Тогда

// Найдем первый подключенный сканер на текущем рабочем месте
Источник = "";
СписокПодключенногоОборудования = МодульБСПМенеджерОборудованияКлиент.ПолучитьПодключенныеУстройства("СканерШтрихкода");
Если СписокПодключенногоОборудования.Количество() Тогда
Источник = СписокПодключенногоОборудования[0].ИДУстройства;
КонецЕсли;

// Получаем данные через буфер обмена - безопасный режим расширения VAExtension должен быть отключен.
COMОбъектHtmlfile = Новый COMОбъект("htmlfile");
Штрихкод = COMОбъектHtmlfile.ParentWindow.ClipboardData.Getdata("Text");

// Вызываем СобытиеОтУстройства аналогично тому как это делает "ОбработкаВнешнегоСобытия" модуля приложения
ОписаниеОшибки = "";
ОписаниеСобытия = Новый Структура();
ОписаниеСобытия.Вставить("Источник", Источник);
ОписаниеСобытия.Вставить("Событие", "Штрихкод");
ОписаниеСобытия.Вставить("Данные", Штрихкод);


Результат = МодульБСПМенеджерОборудованияКлиент.ОбработатьСобытиеОтУстройства(ОписаниеСобытия, ОписаниеОшибки);

Если Не Результат Тогда
СообщитьПользователю(НСтр("ru='При обработке внешнего события от устройства произошла ошибка.'") + Символы.ПС + ОписаниеОшибки);
КонецЕсли;

КонецЕсли;
КонецЕсли;

КонецПроцедуры


&НаКлиенте
// Возвращает ссылку на общий модуль или модуль менеджера по имени.
//
// См. ОбщегоНазначения.ОбщийМодуль
//
// Параметры:
// Имя - Строка - имя общего модуля.
//
// Возвращаемое значение:
// ОбщийМодуль
// СправочникМенеджер,
// ДокументМенеджер,
// ОбработкаМенеджер,
// РегистрСведенийМенеджер.
//
// Пример:
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
// МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации.<Имя метода>();
// КонецЕсли;
//
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
// МодульПолнотекстовыйПоискСервер = ОбщегоНазначения.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер.<Имя метода>();
// КонецЕсли;
//
Функция ОбщийМодуль(Имя) Экспорт

Модуль = Вычислить(Имя);

#Если Не ВебКлиент Тогда

// В веб-клиенте не проверяется
// т.к. при обращении к модулям с вызовом сервера типа такого модуля в веб-клиенте не существует.

Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда
ВызватьИсключение ПодставитьПараметрыВСтроку(
НСтр("ru = 'Общий модуль ""%1"" не существует.'"),
Имя);
КонецЕсли;

#КонецЕсли

Возврат Модуль;

КонецФункции

&НаКлиенте
// Возвращает Истина, если клиентское приложение запущено под управлением ОС Windows.
//
// См. ОбщегоНазначения.ЭтоWindowsКлиент
//
// Возвращаемое значение:
// Булево - если нет клиентского приложения, возвращается Ложь.
//
Функция ЭтоWindowsКлиент() Экспорт

ТипПлатформыКлиента = ТипПлатформыКлиента();
Возврат ТипПлатформыКлиента = ТипПлатформы.Windows_x86
Или ТипПлатформыКлиента = ТипПлатформы.Windows_x86_64;

КонецФункции

&НаКлиенте
// Формирует и выводит сообщение, которое может быть связано с элементом управления формы.
//
Процедура СообщитьПользователю(
Знач ТекстСообщенияПользователю,
Знач КлючДанных = Неопределено,
Знач Поле = "",
Знач ПутьКДанным = "",
Отказ = Ложь) Экспорт

ЭтоОбъект = Ложь;

Если КлючДанных <> Неопределено
И XMLТипЗнч(КлючДанных) <> Неопределено Тогда

ТипЗначенияСтрокой = XMLТипЗнч(КлючДанных).ИмяТипа;
ЭтоОбъект = СтрНайти(ТипЗначенияСтрокой, "Object.") > 0;
КонецЕсли;

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ТекстСообщенияПользователю;
Сообщение.Поле = Поле;

Попытка
Если ЭтоОбъект Тогда
Сообщение.УстановитьДанные(КлючДанных);
Иначе
Сообщение.КлючДанных = КлючДанных;
КонецЕсли;

Если НЕ ПустаяСтрока(ПутьКДанным) Тогда
Сообщение.ПутьКДанным = ПутьКДанным;
КонецЕсли;
Исключение

КонецПопытки;

Сообщение.Сообщить();

Отказ = Истина;

КонецПроцедуры

&НаКлиенте
// Возвращает тип платформы клиента.
//
// Возвращаемое значение:
// ТипПлатформы, Неопределено - тип платформы на которой запущен клиент. В режиме веб-клиента, если тип
// платформы иной, чем описан в типе ТипПлатформы, то возвращается Неопределено.
//
Функция ТипПлатформыКлиента() Экспорт

СистемнаяИнфо = Новый СистемнаяИнформация;
Возврат СистемнаяИнфо.ТипПлатформы;

КонецФункции

&НаКлиенте
// Подставляет параметры в строку. Максимально возможное число параметров - 9.
// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы.
//
// Параметры:
// ШаблонСтроки - Строка - шаблон строки с параметрами (вхождениями вида "%<номер параметра>",
// например "%1 пошел в %2");
// Параметр1 - Строка - значение подставляемого параметра.
// Параметр2 - Строка
// Параметр3 - Строка
// Параметр4 - Строка
// Параметр5 - Строка
// Параметр6 - Строка
// Параметр7 - Строка
// Параметр8 - Строка
// Параметр9 - Строка
//
// Возвращаемое значение:
// Строка - текстовая строка с подставленными параметрами.
//
// Пример:
// СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел
// в Зоопарк".
//
Функция ПодставитьПараметрыВСтроку(Знач ШаблонСтроки,
Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено,
Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено,
Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт


ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%1", Параметр1);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%2", Параметр2);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%3", Параметр3);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%4", Параметр4);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%5", Параметр5);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%6", Параметр6);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%7", Параметр7);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%8", Параметр8);
ШаблонСтроки = СтрЗаменить(ШаблонСтроки, "%9", Параметр9);
Возврат ШаблонСтроки;

КонецФункции
Loading
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载