From 4f62d0f421edf5dc35d9169afc2bbe1898132b6f Mon Sep 17 00:00:00 2001 From: Belyakov Alexandr Date: Sat, 25 Mar 2017 22:33:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D0=B5=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D1=84=D0=BE=D1=80=D0=BC=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2:?= =?UTF-8?q?=20=D0=B2=D0=B2=D0=BE=D0=B4=20=D0=BD=D0=B0=20=D0=BE=D1=81=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tests/Smoke/README.md | 33 + Tests/Smoke/Smoke_InputBasedOn.epf | Bin 0 -> 12653 bytes ...0\244\320\276\321\200\320\274\320\260.bsl" | 620 +++++++++++++ .../Smoke/Smoke_InputBasedOn/ObjectModule.bsl | 15 + src/Tests/Smoke/Smoke_InputBasedOn/maps.txt | 1 + .../Smoke/Smoke_InputBasedOn/renames.txt | 9 + .../und/70e297e0-e8a2-43bf-8be1-62e408f610a1 | 15 + .../70e297e0-e8a2-43bf-8be1-62e408f610a1.0 | 867 ++++++++++++++++++ .../und/79a499cc-1782-4a2f-abe7-61ea4d49fd5a | 39 + .../info | 1 + .../Smoke/Smoke_InputBasedOn/und/copyinfo | 16 + src/Tests/Smoke/Smoke_InputBasedOn/und/root | 1 + .../Smoke/Smoke_InputBasedOn/und/version | 5 + .../Smoke/Smoke_InputBasedOn/und/versions | 1 + 14 files changed, 1623 insertions(+) create mode 100644 Tests/Smoke/README.md create mode 100644 Tests/Smoke/Smoke_InputBasedOn.epf create mode 100644 "src/Tests/Smoke/Smoke_InputBasedOn/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/ObjectModule.bsl create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/maps.txt create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/renames.txt create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1 create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1.0 create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/79a499cc-1782-4a2f-abe7-61ea4d49fd5a create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/8aa13ab8-188a-4f59-be4f-031aa5450c90.0/info create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/copyinfo create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/root create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/version create mode 100644 src/Tests/Smoke/Smoke_InputBasedOn/und/versions diff --git a/Tests/Smoke/README.md b/Tests/Smoke/README.md new file mode 100644 index 00000000..f9a0b6fe --- /dev/null +++ b/Tests/Smoke/README.md @@ -0,0 +1,33 @@ +#Дымовое тестирование + +Данная обработка может быть использована и в [VanessaBehavior](https://github.com/silverbulleters/vanessa-behavior) и в [xUnit](https://github.com/xDrivenDevelopment/xUnitFor1C). +Запускать данный набора тестов рекомендуется базе данных в которой уже есть заполненные документы. + +##Дымовое тестирование xUnit + +Для заполнения списка исключений документов из проверки их необходимо заполнить в модуле документа обработки в процедуре ```ПолучитьСписокИсключений_ДокументыПроведенные``` и/или ```ПолучитьСписокИсключений_ДокументыНеПроведенные``` + +##Дымовое тестирование VanessaBehavior + +Для возможностей запуска дымового тестирования можно использовать данную обработку, как пример сниппетов для генерации feature файлов и использования сниппетов. +В обработке используется несколько сниппетов: + +``` +Я открываю форму документа "Документ" заполненного на основании проведенного "ДокументОснование" +Я открываю форму документа "Документ" заполненного на основании не проведенного "ДокументОснование" +Я открываю форму документа "Документ" заполненного на основании проведенного "ДокументОснование" номер "НомерДокументаОснования" от "ДатаДокументаОснования" +Я открываю форму документа "Документ" заполненного на основании не проведенного "ДокументОснование" номер "НомерДокументаОснования" от "ДатаДокументаОснования" +``` + +Данный сниппет получает форму, открывает ее и потом закрывает. В теории проверяем возможность работы процедур "ПриСозданииНаСервере", "ПриОткрытии", "ОбработкаЗаполнения" + +##Быстрый старт для типовых конфигураций VanessaBehavior + +Для быстрого старта необходимо открыть данныю обработку в режиме предприятия и нажать кнопку "Генерация фич", после генерации необходимых feature файлов, предложит выбрать каталог где будут созданны feature файлы в разрезе документов оснований. + +Если стоит галочка "Указывать документ основание", то происходит указание номера и даты документа на основании которого будет создаваться документ. + +Файлы создаются по имени документа основания, включают все документы которые можно создать на основании документа основания. Документом основания выбирается последний проведенный и не проведенный документ. Этого достаточно для первого старта, в дальнейшем предполагается, что при добавлении новых документов разработчик сам подкорретирует feature файл с необходимым документом. + +Предполагается, что перегенерация для типовых конфигураций будет происходить только для репозитория git вы всегда сможете увидеть только добавленные формы в фича файлах, а те которые исправляли сможете вернуть на правильное поведение. + diff --git a/Tests/Smoke/Smoke_InputBasedOn.epf b/Tests/Smoke/Smoke_InputBasedOn.epf new file mode 100644 index 0000000000000000000000000000000000000000..4b478b4dda4c2021ed7c79d68486ae7d804091f7 GIT binary patch literal 12653 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 Xj1xDnmv1`K>FQ44-=C*{J;MJ3!N$Gm literal 0 HcmV?d00001 diff --git "a/src/Tests/Smoke/Smoke_InputBasedOn/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/Tests/Smoke/Smoke_InputBasedOn/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" new file mode 100644 index 00000000..781b14c7 --- /dev/null +++ "b/src/Tests/Smoke/Smoke_InputBasedOn/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -0,0 +1,620 @@ +//начало текста модуля +#Область Служебные_функции_и_процедуры_xUnit + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; + + +#КонецОбласти + +#Область Служебные_функции_и_процедуры_VanessaBehavior + +&НаКлиенте +// контекст фреймворка Vanessa-Behavior +Перем Ванесса; + +&НаКлиенте +// Структура, в которой хранится состояние сценария между выполнением шагов. Очищается перед выполнением каждого сценария. +Перем Контекст Экспорт; + +&НаКлиенте +// Структура, в которой можно хранить служебные данные между запусками сценариев. Существует, пока открыта форма Vanessa-Behavior. +Перем КонтекстСохраняемый Экспорт; + +&НаКлиенте +// Функция экспортирует список шагов, которые реализованы в данной внешней обработке. +Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт + Ванесса = КонтекстФреймворкаBDD; + + ВсеТесты = Новый Массив; + + //описание параметров + //Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,ОписаниеШага,ТипШага,Транзакция,Параметр); + + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04)","ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт","Когда Я открываю форму документа ""АвтоВзаимозачет"" заполненного на основании проведенного ""ПоступлениеАвтомобилей"" номер ""АИ00000002"" от ""12.03.2017""","Открытие формы на основании проведенного документа","UI.Формы"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного(Парам01,Парам02)","ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного","И Я открываю форму документа ""АвтоВзаимозачет"" заполненного на основании проведенного ""ПоступлениеАвтомобилей""","Открытие формы на основании проведенного документа","UI.Формы"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04)","ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт","Когда Я открываю форму документа ""АвтоВзаимозачет"" заполненного на основании не проведенного ""ПоступлениеАвтомобилей"" номер ""АВ00000080"" от ""04.09.2016""","Открытие формы на основании не проведенного документа","UI.Формы"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного(Парам01,Парам02)","ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного","И Я открываю форму документа ""АвтоВзаимозачет"" заполненного на основании не проведенного ""ПоступлениеАвтомобилей""","Открытие формы на основании не проведенного документа","UI.Формы"); + + Возврат ВсеТесты; +КонецФункции + +&НаСервере +// Служебная функция. +Функция ПолучитьМакетСервер(ИмяМакета) + ОбъектСервер = РеквизитФормыВЗначение("Объект"); + Возврат ОбъектСервер.ПолучитьМакет(ИмяМакета); +КонецФункции + +&НаКлиенте +// Служебная функция для подключения библиотеки создания fixtures. +Функция ПолучитьМакетОбработки(ИмяМакета) Экспорт + Возврат ПолучитьМакетСервер(ИмяМакета); +КонецФункции + + +#КонецОбласти + +#Область Работа_со_сценариями_VanessaBehavior + +&НаКлиенте +// Процедура выполняется перед началом каждого сценария +Процедура ПередНачаломСценария() Экспорт + +КонецПроцедуры + +&НаКлиенте +// Процедура выполняется перед окончанием каждого сценария +Процедура ПередОкончаниемСценария() Экспорт + +КонецПроцедуры + +#КонецОбласти + +#Область Работа_с_тестами_xUnit + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НужноИсключениеЕслиНеНайденоДокументов = Ложь; + + ТолькоУправляемыеФормы = Истина; + Объект.ВыводитьСообщенияВЖурналРегистрации = Истина; + + СписокИсключений_ДокументыПроведенные = ПолучитьСписокИсключений(Истина); + СписокИсключений_ДокументыНеПроведенные = ПолучитьСписокИсключений(Ложь); + + ОписаниеТестов = Новый Массив; + ГенерацияФичТестовНаСервере(ОписаниеТестов); + + ТекущаяГруппа = ""; + Для каждого Тест Из ОписаниеТестов Цикл + Если ТекущаяГруппа <> Тест.ТипОснование Тогда + ТекущаяГруппа = Тест.ТипОснование; + НаборТестов.НачатьГруппу("Тип документа основания""" + Тест.ТипОснование + """", Ложь); + КонецЕсли; + + Если Тест.Проведен Тогда + Рез = СписокИсключений_ДокументыПроведенные.НайтиПоЗначению(""+Тест.ВводитсяНаОсновании.Имя+"/"+Тест.ТипОснование); + Иначе + Рез = СписокИсключений_ДокументыНеПроведенные.НайтиПоЗначению(""+Тест.ВводитсяНаОсновании.Имя+"/"+Тест.ТипОснование); + КонецЕсли; + + Если Рез <> Неопределено Тогда + Продолжить; + КонецЕсли; + + ПолноеИмяФормы = "Документ." + Тест.ВводитсяНаОсновании.Имя + ".ФормаОбъекта"; + + НаборТестов.Добавить("ТестДолжен_ВыполнитьОткрытиеФормыДокументаНаОснованииДругогоДокумента", + НаборТестов.ПараметрыТеста(ПолноеИмяФормы, Тест.Основание), + "Создание документа """ + Тест.ВводитсяНаОсновании.Синоним + """ на основании " + + ?(Тест.Проведен, "", "не ") + "проведенного """ + + Тест.Основание + """"); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ВыполнитьОткрытиеФормыДокументаНаОснованииДругогоДокумента(ПолноеИмяФормы, Основание) Экспорт + ПараметрыФормы = Новый Структура("Основание", Основание); + ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы); +КонецПроцедуры + +#КонецОбласти + +&НаКлиенте +Процедура ГенерацияФич(Команда) + + ОписаниеТестов = Новый Массив; + ГенерацияФичТестовНаСервере(ОписаниеТестов); + СписокИсключений_ДокументыПроведенные = ПолучитьСписокИсключений(Истина); + СписокИсключений_ДокументыНеПроведенные = ПолучитьСписокИсключений(Ложь); + ТекущаяГруппа = ""; + Текст = Новый ТекстовыйДокумент; + МассивТекстов = Новый Массив; + Для каждого Тест Из ОписаниеТестов Цикл + Если ТекущаяГруппа <> Тест.ТипОснование Тогда + Если ТекущаяГруппа <> "" Тогда + СоответствиеФорм = Новый Соответствие; + СоответствиеФорм.Вставить("Имя", ТекущаяГруппа); + СоответствиеФорм.Вставить("Текст", Текст); + + МассивТекстов.Добавить(СоответствиеФорм); + //Текст.Показать(ТекущаяГруппа, "Ввод на основании - " + ТекущаяГруппа + ".feature"); + + КонецЕсли; + Текст = Новый ТекстовыйДокумент; + ТекущаяГруппа = Тест.ТипОснование; + + Текст.ДобавитьСтроку("# language: ru"); + Текст.ДобавитьСтроку(""); + + Текст.ДобавитьСтроку("@" + Тест.ТипОснование); + Текст.ДобавитьСтроку("@tree"); + Текст.ДобавитьСтроку("@smoke"); + Текст.ДобавитьСтроку(""); + + Текст.ДобавитьСтроку("Функционал: Тестирование открытия форм для подсистемы "); + Текст.ДобавитьСтроку(" Как Разработчик + | Я Хочу чтобы проверялось открытие формы всех элементов этой подсистемы + | Чтобы я мог гарантировать работоспособность заполнения форм на основании"); + Текст.ДобавитьСтроку(""); + Текст.ДобавитьСтроку("Сценарий: Ввод на основании документа """ + Тест.ТипОснование + """"); + + ШаблонСнипета = " Когда Я открываю форму документа ""#ВводитсяНаОсновании"" заполненного на основании #Проведен ""#ДокументОснования"""; + КонецЕсли; + + Если Тест.Проведен Тогда + Рез = СписокИсключений_ДокументыПроведенные.НайтиПоЗначению(""+Тест.ВводитсяНаОсновании.Имя+"/"+Тест.ТипОснование); + Иначе + Рез = СписокИсключений_ДокументыНеПроведенные.НайтиПоЗначению(""+Тест.ВводитсяНаОсновании.Имя+"/"+Тест.ТипОснование); + КонецЕсли; + + Если Рез <> Неопределено Тогда + Продолжить; + КонецЕсли; + + Снипет = СтрЗаменить(ШаблонСнипета, "#ВводитсяНаОсновании", Тест.ВводитсяНаОсновании.Имя); + Снипет = СтрЗаменить(Снипет, "#ДокументОснования", Тест.ТипОснование); + Снипет = СтрЗаменить(Снипет, "#Проведен", ?(Тест.Проведен, "", "не ") + "проведенного"); + + Если УказыватьДокументОснование Тогда + Снипет = Снипет + " номер ""#НомерДокументаОснования"" от ""#ДатаДокументаОснования"""; + Снипет = СтрЗаменить(Снипет, "#НомерДокументаОснования", Тест.Номер); + Снипет = СтрЗаменить(Снипет, "#ДатаДокументаОснования", Формат(Тест.Дата, "ДФ=dd.MM.yyyy")); + КонецЕсли; + + Текст.ДобавитьСтроку(Снипет); + ШаблонСнипета = СтрЗаменить(ШаблонСнипета, " Когда", " И "); + КонецЦикла; + + Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + Диалог.Заголовок = "Выберите каталог для feature файлов"; + ДополнительныеПарам = Новый Структура("МассивТекстов", МассивТекстов); + ОповещениеОбВыборе = Новый ОписаниеОповещения("КаталогСохраненияФичЗавершение", ЭтотОбъект, ДополнительныеПарам); + Диалог.Показать(ОповещениеОбВыборе); + +КонецПроцедуры + +&НаКлиенте +Процедура КаталогСохраненияФичЗавершение(ВыбранныеФайлы, ДопПараметры) Экспорт + + Если ВыбранныеФайлы = Неопределено или ВыбранныеФайлы.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Каталог = ВыбранныеФайлы.Получить(0); + ОповещениеОбЗаписи = Новый ОписаниеОповещения("ЗаписьФайлаЗавершение", ЭтотОбъект, Неопределено); + Для каждого Элемент Из ДопПараметры["МассивТекстов"] Цикл + ТекстДок = Элемент["Текст"]; + ТекстДок.НачатьЗапись(ОповещениеОбЗаписи, Каталог + "/"+ Элемент["Имя"] + ".feature", КодировкаТекста.UTF8); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаписьФайлаЗавершение(Результат, ДопПараметры) Экспорт + +КонецПроцедуры + +&НаСервере +Функция ПолучитьСписокИсключений(Проведен) + + ОсновнойОбъект = Объект(); + Если Проведен Тогда + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_ДокументыПроведенные(); + Иначе + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_ДокументыНеПроведенные(); + КонецЕсли; + + Возврат СписокИсключений; + +КонецФункции + +&НаСервере +Функция Объект() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции + +&НаКлиенте +Процедура ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Проведен, НомерДокумента = Неопределено, ДатаДокумента = Неопределено) + + Если ДатаДокумента <> Неопределено Тогда + ДатаДокумента = Сред(ДатаДокумента, 7, 4) + Сред(ДатаДокумента, 4, 2) + Сред(ДатаДокумента, 1, 2); + КонецЕсли; + + Основание = ПолучитьСсылкуНаДокументОснование(ДокументОснование, Проведен, НомерДокумента, ДатаДокумента); + + Если Основание = Неопределено Тогда + ВызватьИсключение "Для """ + ИмяДокумента + """ не найдено документа основания"; + КонецЕсли; + + ПараметрыФормы = Новый Структура("Основание", Основание); + ПолноеИмяФормы = "Документ." + ИмяДокумента + ".ФормаОбъекта"; + ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы); + +КонецПроцедуры // ПроверитьОткрытиеФормыНаОсновании() + +&НаСервере +Функция ПолучитьСсылкуНаДокументОснование(ДокументОснование, Проведен, НомерДокумента, ДатаДокумента) + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | #Док.Ссылка КАК Ссылка + |ИЗ + | Документ.#Док КАК #Док + |ГДЕ + | НЕ #Док.ПометкаУдаления + | И #Док.Проведен = &Проведен + | #ЕстьНомерДата + | + |УПОРЯДОЧИТЬ ПО + | #Док.Дата УБЫВ"; + + Если НомерДокумента <> Неопределено И ДатаДокумента <> Неопределено Тогда + Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ЕстьНомерДата", "И #Док.Номер = &Номер И #Док.Дата = &Дата"); + Иначе + Запрос.Текст = СтрЗаменить(Запрос.Текст, "#ЕстьНомерДата", ""); + КонецЕсли; + Запрос.УстановитьПараметр("Проведен", Проведен); + Запрос.УстановитьПараметр("Номер", НомерДокумента); + Запрос.УстановитьПараметр("Дата", ДатаДокумента); + + Запрос.Текст = СтрЗаменить(Запрос.Текст, "#Док", ДокументОснование); + + РезультатЗапроса = Запрос.Выполнить().Выгрузить(); + Если РезультатЗапроса.Количество() = 0 Тогда + Если НомерДокумента <> Неопределено И ДатаДокумента <> Неопределено Тогда + Возврат ПолучитьСсылкуНаДокументОснование(ДокументОснование, Проведен, Неопределено, Неопределено); + Иначе + Возврат Неопределено; + КонецЕсли; + Иначе + Возврат РезультатЗапроса[0].Ссылка; + КонецЕсли; + +КонецФункции // ПолучитьСсылкуНаДокументОснование() + +// заимствовона из плагина дымовых тестов xUnit +&НаКлиенте +Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) Экспорт + + КлючВременнойФормы = "908насмь9ыв3245"; + //Если Модально Тогда + // ТестируемаяФорма = ОткрытьФормуМодально(ПолноеИмяФормы, ПараметрыФормы); + //Иначе + //ошибка =""; + //Попытка + + // К сожалению здесь исключения не ловятся https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 + ТестируемаяФорма = ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы,, КлючВременнойФормы); + + //Исключение + // ошибка = ОписаниеОшибки(); + // Предупреждение(" поймали исключение 20" + ошибка); + //КонецПопытки; + //КонецЕсли; + Если ТестируемаяФорма = Неопределено Тогда + Возврат; + КонецЕсли; + + //ТестируемаяФорма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350 + Если ТестируемаяФорма.Открыта() = Ложь Тогда + ВызватьИсключение "ТестируемаяФорма """ + ПолноеИмяФормы+""" не открылась, а должна была открыться"; + КонецЕсли; + + Если ТипЗнч(ТестируемаяФорма) = Тип("УправляемаяФорма") Тогда + ТестируемаяФорма.ОбновитьОтображениеДанных(); + Иначе + //Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда + ТестируемаяФорма.Обновить(); + КонецЕсли; + + ЗакрытьФорму(ТестируемаяФорма); + ЗавершитьТранзакцию(); + +КонецПроцедуры + +&НаСервере +Процедура ЗавершитьТранзакцию() + + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму(ТестируемаяФорма) + //Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") и ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда + Если ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда + Возврат; + КонецЕсли; + ТестируемаяФорма.Модифицированность = Ложь; + Если ТестируемаяФорма.Открыта() Тогда + ТестируемаяФорма.Модифицированность = Ложь; + //Попытка + ТестируемаяФорма.Закрыть(); + //Исключение + // Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + // ЗакрытьФормуБезусловноСОтменойТранзакции(ТестируемаяФорма); + // //Если ТранзакцияАктивна() Тогда + // // ОтменитьТранзакцию(); + // //КонецЕсли; + // // //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); + // //НачатьТранзакцию(); + // //ТестируемаяФорма.УстановитьДействие("ПередЗакрытием", Неопределено); + // //ТестируемаяФорма.УстановитьДействие("ПриЗакрытии", Неопределено); + // //ТестируемаяФорма.Закрыть(); + // ВызватьИсключение Ошибка; + //КонецПопытки; + Иначе + Попытка + ТестируемаяФорма.Закрыть(); + Исключение + КонецПопытки; + КонецЕсли; + ТестируемаяФорма = ""; + +КонецПроцедуры + +&НаСервере +Процедура ГенерацияФичТестовНаСервере(ОписаниеТестов) + + СписокМетаданных = ПолучитьСписокМетаданныхНаСервере(); + СписокДокументыОснования = ПолучитьСсылкиНаДокументыОснованияНаСервере(СписокМетаданных); + + Для каждого ТипМетаданного Из СписокМетаданных Цикл + ТипДокумента = ТипМетаданного.Значение; + + ВводятсяНаОснованииДокумента = СписокВводятсяНаОснованииДокументаНаСервере(ТипДокумента.Имя); + Если ВводятсяНаОснованииДокумента.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Отбор = Новый Структура; + Отбор.Вставить("ТипДокумента", ТипДокумента.Имя); + СписокОснований = СписокДокументыОснования.НайтиСтроки(Отбор); + Если СписокОснований.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Для каждого ВводитсяНаОсновании Из ВводятсяНаОснованииДокумента Цикл + Для каждого Основание Из СписокОснований Цикл + СоответствиеФорм = Новый Структура; + СоответствиеФорм.Вставить("ВводитсяНаОсновании", ВводитсяНаОсновании.Значение); + СоответствиеФорм.Вставить("Проведен", Основание.Проведен); + СоответствиеФорм.Вставить("Основание", Основание.Ссылка); + СоответствиеФорм.Вставить("Номер", Основание.Номер); + СоответствиеФорм.Вставить("Дата", Основание.Дата); + СоответствиеФорм.Вставить("ТипОснование", Основание.ТипДокумента); + + ОписаниеТестов.Добавить(СоответствиеФорм); + КонецЦикла; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Функция ПолучитьСписокМетаданныхНаСервере() + + СписокМетаданных = Новый СписокЗначений; + Для каждого ТипДок Из Метаданные.Документы Цикл + СписокМетаданных.Добавить(ТипДок, ТипДок.Имя); + КонецЦикла; + СписокМетаданных.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + + Возврат СписокМетаданных; + +КонецФункции + +&НаСервере +Функция СписокВводятсяНаОснованииДокументаНаСервере(ТипДокумента) + + ЯвляетсяОснованием = Новый СписокЗначений; + + ДокументОснования = Метаданные.Документы[ТипДокумента]; + //Если ДокументОснования.ИспользоватьСтандартныеКоманды Тогда // исключаем документы которые пользователь не может создать из интерфейса + Для каждого ДокументКоллекции ИЗ Метаданные.Документы Цикл + ВводитсяНаОсновании = ДокументКоллекции.ВводитсяНаОсновании; + Для каждого Док ИЗ ВводитсяНаОсновании Цикл + Если Док = ДокументОснования Тогда + ЯвляетсяОснованием.Добавить(Новый Структура("Имя, Синоним", ДокументКоллекции.Имя, ДокументКоллекции.Синоним), ДокументКоллекции.Имя); + Прервать; + КонецЕсли; + КонецЦикла; + КонецЦикла; + //КонецЕсли; + + ЯвляетсяОснованием.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + + Возврат ЯвляетсяОснованием; + +КонецФункции + +&НаСервере +Функция ПолучитьСсылкиНаДокументыОснованияНаСервере(СписокМетаданных) + + ШаблонЗапроса = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | #Док.Ссылка КАК Ссылка, + | #Док.Номер КАК Номер, + | #Док.Дата КАК Дата, + | #Док.Проведен КАК Проведен, + | ""#Док"" КАК ТипДокумента + |ПОМЕСТИТЬ #Док_Проведенные + |ИЗ + | Документ.#Док КАК #Док + |ГДЕ + | #Док.Проведен + | + |УПОРЯДОЧИТЬ ПО + | #Док.Дата УБЫВ + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ ПЕРВЫЕ 1 + | #Док.Ссылка КАК Ссылка, + | #Док.Номер КАК Номер, + | #Док.Дата КАК Дата, + | #Док.Проведен КАК Проведен, + | ""#Док"" КАК ТипДокумента + |ПОМЕСТИТЬ #Док_НеПроведенные + |ИЗ + | Документ.#Док КАК #Док + |ГДЕ + | НЕ #Док.ПометкаУдаления + | И НЕ #Док.Проведен + | + |УПОРЯДОЧИТЬ ПО + | #Док.Дата УБЫВ + |; + |ВЫБРАТЬ + | #Док_Проведенные.Ссылка КАК Ссылка, + | #Док_Проведенные.Номер КАК Номер, + | #Док_Проведенные.Дата КАК Дата, + | #Док_Проведенные.Проведен КАК Проведен, + | #Док_Проведенные.ТипДокумента КАК ТипДокумента + |ИЗ + | #Док_Проведенные КАК #Док_Проведенные + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | #Док_НеПроведенные.Ссылка КАК Ссылка, + | #Док_НеПроведенные.Номер КАК Номер, + | #Док_НеПроведенные.Дата КАК Дата, + | #Док_НеПроведенные.Проведен КАК Проведен, + | #Док_НеПроведенные.ТипДокумента КАК ТипДокумента + |ИЗ + | #Док_НеПроведенные КАК #Док_НеПроведенные + |"; + + // Ищем тестовые документы: проведенный и не проведенный + ТаблицаДокументовОснований = Новый ТаблицаЗначений; + ТаблицаДокументовОснований.Колонки.Добавить("Ссылка"); + ТаблицаДокументовОснований.Колонки.Добавить("Номер"); + ТаблицаДокументовОснований.Колонки.Добавить("Дата"); + ТаблицаДокументовОснований.Колонки.Добавить("Проведен"); + ТаблицаДокументовОснований.Колонки.Добавить("ТипДокумента"); + + Для каждого ТипМетаданного Из СписокМетаданных Цикл + Запрос = Новый Запрос; + Запрос.Текст = ШаблонЗапроса; + Если ТипМетаданного.Значение.ДлинаНомера = 0 Тогда + Запрос.Текст = СтрЗаменить(Запрос.Текст, "#Док.Номер", """"""); + КонецЕсли; + + Запрос.Текст = СтрЗаменить(Запрос.Текст, "#Док", ТипМетаданного.Значение.Имя); + + Попытка + Результат = Запрос.Выполнить().Выгрузить(); + Результат.Сортировать("ТипДокумента Возр"); + Если Результат.Количество() > 0 Тогда + ЗагрузитьВТаблицуЗначений(Результат, ТаблицаДокументовОснований); + КонецЕсли; + Исключение + Сообщить("Возникли проблеммы с поиском документов оснований для """ + ТипМетаданного.Значение.Имя + """"); + КонецПопытки; + КонецЦикла; + + Возврат ТаблицаДокументовОснований; + +КонецФункции // ПолучитьОснованиеНаСервере() + +&НаСервере +Процедура ЗагрузитьВТаблицуЗначений(ТаблицаИсточник, ТаблицаПриемник) + + //Сформируем массив совпадающих колонок. + МассивСовпадающихКолонок = Новый Массив(); + Для каждого Колонка Из ТаблицаПриемник.Колонки Цикл + Если ТаблицаИсточник.Колонки.Найти(Колонка.Имя) <> Неопределено Тогда + МассивСовпадающихКолонок.Добавить(Колонка.Имя); + КонецЕсли; + КонецЦикла; + + Для каждого СтрокаТаблицыИсточника Из ТаблицаИсточник Цикл + СтрокаТаблицыПриемника = ТаблицаПриемник.Добавить(); + // Заполним значения в совпадающих колонках. + Для каждого ЭлементМассива Из МассивСовпадающихКолонок Цикл + СтрокаТаблицыПриемника[ЭлементМассива] = СтрокаТаблицыИсточника[ЭлементМассива]; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры // ЗагрузитьВТаблицуЗначений() + +#Область Реализация_Шагов_VanessaBehavior +&НаКлиенте +//Когда открываю форму документа "АвтоВзаимозачет" заполненного на основании проведенного "ПоступлениеАвтомобилей" номер "АИ00000002" от "12.03.2017" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт(ИмяДокумента, ДокументОснование,НомерДокумента,ДатаДокумента) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Истина, НомерДокумента, ДатаДокумента); +КонецПроцедуры + +&НаКлиенте +//И открываю форму документа "АвтоВзаимозачет" заполненного на основании проведенного "ПоступлениеАвтомобилей" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного(Парам01,Парам02) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного(ИмяДокумента, ДокументОснование) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Истина, Неопределено, Неопределено); +КонецПроцедуры + +&НаКлиенте +//Когда открываю форму документа "АвтоВзаимозачет" заполненного на основании не проведенного "ПоступлениеАвтомобилей" номер "АВ00000080" от "04.09.2016" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт(ИмяДокумента, ДокументОснование,НомерДокумента,ДатаДокумента) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Ложь, НомерДокумента, ДатаДокумента); +КонецПроцедуры + +&НаКлиенте +//И открываю форму документа "АвтоВзаимозачет" заполненного на основании не проведенного "ПоступлениеАвтомобилей" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного(Парам01,Парам02) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного(ИмяДокумента, ДокументОснование) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Ложь, Неопределено, Неопределено); +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/ObjectModule.bsl b/src/Tests/Smoke/Smoke_InputBasedOn/ObjectModule.bsl new file mode 100644 index 00000000..cd891ff2 --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/ObjectModule.bsl @@ -0,0 +1,15 @@ +Функция ПолучитьСписокИсключений_ДокументыПроведенные() Экспорт + Результат = Новый СписокЗначений; + + //Результат.Добавить("ЧтоОткрываем/ДокументОснование"); + + Возврат Результат; +КонецФункции + +Функция ПолучитьСписокИсключений_ДокументыНеПроведенные() Экспорт + Результат = Новый СписокЗначений; + + //Результат.Добавить("ЧтоОткрываем/ДокументОснование"); + + Возврат Результат; +КонецФункции \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/maps.txt b/src/Tests/Smoke/Smoke_InputBasedOn/maps.txt new file mode 100644 index 00000000..5c73d8dc --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/maps.txt @@ -0,0 +1 @@ +Form\Форма\Форма.bsl-->70e297e0-e8a2-43bf-8be1-62e408f610a1.0 (173, 792) diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/renames.txt b/src/Tests/Smoke/Smoke_InputBasedOn/renames.txt new file mode 100644 index 00000000..e716158b --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/renames.txt @@ -0,0 +1,9 @@ +70e297e0-e8a2-43bf-8be1-62e408f610a1-->und\70e297e0-e8a2-43bf-8be1-62e408f610a1 +70e297e0-e8a2-43bf-8be1-62e408f610a1.0-->und\70e297e0-e8a2-43bf-8be1-62e408f610a1.0 +79a499cc-1782-4a2f-abe7-61ea4d49fd5a-->und\79a499cc-1782-4a2f-abe7-61ea4d49fd5a +8aa13ab8-188a-4f59-be4f-031aa5450c90.0\info-->und\8aa13ab8-188a-4f59-be4f-031aa5450c90.0\info +8aa13ab8-188a-4f59-be4f-031aa5450c90.0\text-->ObjectModule.bsl +copyinfo-->und\copyinfo +root-->und\root +version-->und\version +versions-->und\versions diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1 b/src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1 new file mode 100644 index 00000000..e7c1214a --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1 @@ -0,0 +1,15 @@ +{1, +{1, +{0, +{12, +{1, +{0,0,70e297e0-e8a2-43bf-8be1-62e408f610a1},"Форма", +{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1, +{2, +{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1}, +{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2} +} +}, +{0} +} +},0} \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1.0 b/src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1.0 new file mode 100644 index 00000000..0b946a05 --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/70e297e0-e8a2-43bf-8be1-62e408f610a1.0 @@ -0,0 +1,867 @@ +{3, +{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{1,0},0,0,1,1,1,0,1,0, +{0,1,0}, +{0},1, +{21, +{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,9,"ФормаКоманднаяПанель", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{0,0,1},0,1,0,0,0,3,3},2,77ffcc29-7f2d-4223-b22f-19666e7250ba, +{33, +{6,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},3,"УказыватьДокументОснование",4,0, +{1,0}, +{1,0}, +{1, +{2} +}, +{0},1,0,2,0,2, +{1,0}, +{1,0},1,1,0,3,0,3,1,3,0, +{4,0, +{0},"",-1,-1,1,0,""}, +{4,0, +{0},"",-1,-1,1,0,""}, +{3,4, +{0} +}, +{7,3,0,1,100}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{10,0, +{3,4, +{0} +}, +{3,4, +{0} +},0, +{1,0}, +{3,4, +{0} +}, +{7,3,0,1,100},0,0,0,2}, +{0,1,0},1, +{21, +{7,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,8,"УказыватьДокументОснованиеКонтекстноеМеню", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{1,1},0,1,0,0,0,3,3},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0,0,1, +{10, +{8,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"УказыватьДокументОснованиеРасширеннаяПодсказка", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0,1,0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0,1,0,0,1,0,3,3},3,3},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{28, +{4,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},1,"ГенерацияФич", +{1,0},1, +{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0, +{4,0, +{0},"",-1,-1,1,0,""},1, +{"Pattern"},"",2,0,1, +{10, +{5,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГенерацияФичРасширеннаяПодсказка", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0,1,0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0,1,0,0,1,0,3,3}, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,1,0},"","",1, +{21, +{0},0,0,0,7,"Navigator", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{10, +{0},0,0,0,0,"NavigatorExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0,1,0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",0,0,0,0,0,0,3,3,0,0,0},"//начало текста модуля +#Область Служебные_функции_и_процедуры_xUnit + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; + + +#КонецОбласти + +#Область Служебные_функции_и_процедуры_VanessaBehavior + +&НаКлиенте +// контекст фреймворка Vanessa-Behavior +Перем Ванесса; + +&НаКлиенте +// Структура, в которой хранится состояние сценария между выполнением шагов. Очищается перед выполнением каждого сценария. +Перем Контекст Экспорт; + +&НаКлиенте +// Структура, в которой можно хранить служебные данные между запусками сценариев. Существует, пока открыта форма Vanessa-Behavior. +Перем КонтекстСохраняемый Экспорт; + +&НаКлиенте +// Функция экспортирует список шагов, которые реализованы в данной внешней обработке. +Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт + Ванесса = КонтекстФреймворкаBDD; + + ВсеТесты = Новый Массив; + + //описание параметров + //Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,ОписаниеШага,ТипШага,Транзакция,Параметр); + + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04)"",""ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт"",""Когда Я открываю форму документа """"АвтоВзаимозачет"""" заполненного на основании проведенного """"ПоступлениеАвтомобилей"""" номер """"АИ00000002"""" от """"12.03.2017"""""",""Открытие формы на основании проведенного документа"",""UI.Формы""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного(Парам01,Парам02)"",""ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного"",""И Я открываю форму документа """"АвтоВзаимозачет"""" заполненного на основании проведенного """"ПоступлениеАвтомобилей"""""",""Открытие формы на основании проведенного документа"",""UI.Формы""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04)"",""ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт"",""Когда Я открываю форму документа """"АвтоВзаимозачет"""" заполненного на основании не проведенного """"ПоступлениеАвтомобилей"""" номер """"АВ00000080"""" от """"04.09.2016"""""",""Открытие формы на основании не проведенного документа"",""UI.Формы""); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного(Парам01,Парам02)"",""ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного"",""И Я открываю форму документа """"АвтоВзаимозачет"""" заполненного на основании не проведенного """"ПоступлениеАвтомобилей"""""",""Открытие формы на основании не проведенного документа"",""UI.Формы""); + + Возврат ВсеТесты; +КонецФункции + +&НаСервере +// Служебная функция. +Функция ПолучитьМакетСервер(ИмяМакета) + ОбъектСервер = РеквизитФормыВЗначение(""Объект""); + Возврат ОбъектСервер.ПолучитьМакет(ИмяМакета); +КонецФункции + +&НаКлиенте +// Служебная функция для подключения библиотеки создания fixtures. +Функция ПолучитьМакетОбработки(ИмяМакета) Экспорт + Возврат ПолучитьМакетСервер(ИмяМакета); +КонецФункции + + +#КонецОбласти + +#Область Работа_со_сценариями_VanessaBehavior + +&НаКлиенте +// Процедура выполняется перед началом каждого сценария +Процедура ПередНачаломСценария() Экспорт + +КонецПроцедуры + +&НаКлиенте +// Процедура выполняется перед окончанием каждого сценария +Процедура ПередОкончаниемСценария() Экспорт + +КонецПроцедуры + +#КонецОбласти + +#Область Работа_с_тестами_xUnit + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин(""БазовыеУтверждения""); + Ожидаем = КонтекстЯдра.Плагин(""УтвержденияBDD""); +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НужноИсключениеЕслиНеНайденоДокументов = Ложь; + + ТолькоУправляемыеФормы = Истина; + Объект.ВыводитьСообщенияВЖурналРегистрации = Истина; + + СписокИсключений_ДокументыПроведенные = ПолучитьСписокИсключений(Истина); + СписокИсключений_ДокументыНеПроведенные = ПолучитьСписокИсключений(Ложь); + + ОписаниеТестов = Новый Массив; + ГенерацияФичТестовНаСервере(ОписаниеТестов); + + ТекущаяГруппа = """"; + Для каждого Тест Из ОписаниеТестов Цикл + Если ТекущаяГруппа <> Тест.ТипОснование Тогда + ТекущаяГруппа = Тест.ТипОснование; + НаборТестов.НачатьГруппу(""Тип документа основания"""""" + Тест.ТипОснование + """""""", Ложь); + КонецЕсли; + + Если Тест.Проведен Тогда + Рез = СписокИсключений_ДокументыПроведенные.НайтиПоЗначению(""""+Тест.ВводитсяНаОсновании.Имя+""/""+Тест.ТипОснование); + Иначе + Рез = СписокИсключений_ДокументыНеПроведенные.НайтиПоЗначению(""""+Тест.ВводитсяНаОсновании.Имя+""/""+Тест.ТипОснование); + КонецЕсли; + + Если Рез <> Неопределено Тогда + Продолжить; + КонецЕсли; + + ПолноеИмяФормы = ""Документ."" + Тест.ВводитсяНаОсновании.Имя + "".ФормаОбъекта""; + + НаборТестов.Добавить(""ТестДолжен_ВыполнитьОткрытиеФормыДокументаНаОснованииДругогоДокумента"", + НаборТестов.ПараметрыТеста(ПолноеИмяФормы, Тест.Основание), + ""Создание документа """""" + Тест.ВводитсяНаОсновании.Синоним + """""" на основании "" + + ?(Тест.Проведен, """", ""не "") + ""проведенного """""" + + Тест.Основание + """"""""); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ВыполнитьОткрытиеФормыДокументаНаОснованииДругогоДокумента(ПолноеИмяФормы, Основание) Экспорт + ПараметрыФормы = Новый Структура(""Основание"", Основание); + ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы); +КонецПроцедуры + +#КонецОбласти + +&НаКлиенте +Процедура ГенерацияФич(Команда) + + ОписаниеТестов = Новый Массив; + ГенерацияФичТестовНаСервере(ОписаниеТестов); + СписокИсключений_ДокументыПроведенные = ПолучитьСписокИсключений(Истина); + СписокИсключений_ДокументыНеПроведенные = ПолучитьСписокИсключений(Ложь); + ТекущаяГруппа = """"; + Текст = Новый ТекстовыйДокумент; + МассивТекстов = Новый Массив; + Для каждого Тест Из ОписаниеТестов Цикл + Если ТекущаяГруппа <> Тест.ТипОснование Тогда + Если ТекущаяГруппа <> """" Тогда + СоответствиеФорм = Новый Соответствие; + СоответствиеФорм.Вставить(""Имя"", ТекущаяГруппа); + СоответствиеФорм.Вставить(""Текст"", Текст); + + МассивТекстов.Добавить(СоответствиеФорм); + //Текст.Показать(ТекущаяГруппа, ""Ввод на основании - "" + ТекущаяГруппа + "".feature""); + + КонецЕсли; + Текст = Новый ТекстовыйДокумент; + ТекущаяГруппа = Тест.ТипОснование; + + Текст.ДобавитьСтроку(""# language: ru""); + Текст.ДобавитьСтроку(""""); + + Текст.ДобавитьСтроку(""@"" + Тест.ТипОснование); + Текст.ДобавитьСтроку(""@tree""); + Текст.ДобавитьСтроку(""@smoke""); + Текст.ДобавитьСтроку(""""); + + Текст.ДобавитьСтроку(""Функционал: Тестирование открытия форм для подсистемы ""); + Текст.ДобавитьСтроку("" Как Разработчик + | Я Хочу чтобы проверялось открытие формы всех элементов этой подсистемы + | Чтобы я мог гарантировать работоспособность заполнения форм на основании""); + Текст.ДобавитьСтроку(""""); + Текст.ДобавитьСтроку(""Сценарий: Ввод на основании документа """""" + Тест.ТипОснование + """"""""); + + ШаблонСнипета = "" Когда Я открываю форму документа """"#ВводитсяНаОсновании"""" заполненного на основании #Проведен """"#ДокументОснования""""""; + КонецЕсли; + + Если Тест.Проведен Тогда + Рез = СписокИсключений_ДокументыПроведенные.НайтиПоЗначению(""""+Тест.ВводитсяНаОсновании.Имя+""/""+Тест.ТипОснование); + Иначе + Рез = СписокИсключений_ДокументыНеПроведенные.НайтиПоЗначению(""""+Тест.ВводитсяНаОсновании.Имя+""/""+Тест.ТипОснование); + КонецЕсли; + + Если Рез <> Неопределено Тогда + Продолжить; + КонецЕсли; + + Снипет = СтрЗаменить(ШаблонСнипета, ""#ВводитсяНаОсновании"", Тест.ВводитсяНаОсновании.Имя); + Снипет = СтрЗаменить(Снипет, ""#ДокументОснования"", Тест.ТипОснование); + Снипет = СтрЗаменить(Снипет, ""#Проведен"", ?(Тест.Проведен, """", ""не "") + ""проведенного""); + + Если УказыватьДокументОснование Тогда + Снипет = Снипет + "" номер """"#НомерДокументаОснования"""" от """"#ДатаДокументаОснования""""""; + Снипет = СтрЗаменить(Снипет, ""#НомерДокументаОснования"", Тест.Номер); + Снипет = СтрЗаменить(Снипет, ""#ДатаДокументаОснования"", Формат(Тест.Дата, ""ДФ=dd.MM.yyyy"")); + КонецЕсли; + + Текст.ДобавитьСтроку(Снипет); + ШаблонСнипета = СтрЗаменить(ШаблонСнипета, "" Когда"", "" И ""); + КонецЦикла; + + Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + Диалог.Заголовок = ""Выберите каталог для feature файлов""; + ДополнительныеПарам = Новый Структура(""МассивТекстов"", МассивТекстов); + ОповещениеОбВыборе = Новый ОписаниеОповещения(""КаталогСохраненияФичЗавершение"", ЭтотОбъект, ДополнительныеПарам); + Диалог.Показать(ОповещениеОбВыборе); + +КонецПроцедуры + +&НаКлиенте +Процедура КаталогСохраненияФичЗавершение(ВыбранныеФайлы, ДопПараметры) Экспорт + + Если ВыбранныеФайлы = Неопределено или ВыбранныеФайлы.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Каталог = ВыбранныеФайлы.Получить(0); + ОповещениеОбЗаписи = Новый ОписаниеОповещения(""ЗаписьФайлаЗавершение"", ЭтотОбъект, Неопределено); + Для каждого Элемент Из ДопПараметры[""МассивТекстов""] Цикл + ТекстДок = Элемент[""Текст""]; + ТекстДок.НачатьЗапись(ОповещениеОбЗаписи, Каталог + ""/""+ Элемент[""Имя""] + "".feature"", КодировкаТекста.UTF8); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаписьФайлаЗавершение(Результат, ДопПараметры) Экспорт + +КонецПроцедуры + +&НаСервере +Функция ПолучитьСписокИсключений(Проведен) + + ОсновнойОбъект = Объект(); + Если Проведен Тогда + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_ДокументыПроведенные(); + Иначе + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_ДокументыНеПроведенные(); + КонецЕсли; + + Возврат СписокИсключений; + +КонецФункции + +&НаСервере +Функция Объект() + Возврат РеквизитФормыВЗначение(""Объект""); +КонецФункции + +&НаКлиенте +Процедура ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Проведен, НомерДокумента = Неопределено, ДатаДокумента = Неопределено) + + Если ДатаДокумента <> Неопределено Тогда + ДатаДокумента = Сред(ДатаДокумента, 7, 4) + Сред(ДатаДокумента, 4, 2) + Сред(ДатаДокумента, 1, 2); + КонецЕсли; + + Основание = ПолучитьСсылкуНаДокументОснование(ДокументОснование, Проведен, НомерДокумента, ДатаДокумента); + + Если Основание = Неопределено Тогда + ВызватьИсключение ""Для """""" + ИмяДокумента + """""" не найдено документа основания""; + КонецЕсли; + + ПараметрыФормы = Новый Структура(""Основание"", Основание); + ПолноеИмяФормы = ""Документ."" + ИмяДокумента + "".ФормаОбъекта""; + ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы); + +КонецПроцедуры // ПроверитьОткрытиеФормыНаОсновании() + +&НаСервере +Функция ПолучитьСсылкуНаДокументОснование(ДокументОснование, Проведен, НомерДокумента, ДатаДокумента) + + Запрос = Новый Запрос; + Запрос.Текст = + ""ВЫБРАТЬ ПЕРВЫЕ 1 + | #Док.Ссылка КАК Ссылка + |ИЗ + | Документ.#Док КАК #Док + |ГДЕ + | НЕ #Док.ПометкаУдаления + | И #Док.Проведен = &Проведен + | #ЕстьНомерДата + | + |УПОРЯДОЧИТЬ ПО + | #Док.Дата УБЫВ""; + + Если НомерДокумента <> Неопределено И ДатаДокумента <> Неопределено Тогда + Запрос.Текст = СтрЗаменить(Запрос.Текст, ""#ЕстьНомерДата"", ""И #Док.Номер = &Номер И #Док.Дата = &Дата""); + Иначе + Запрос.Текст = СтрЗаменить(Запрос.Текст, ""#ЕстьНомерДата"", """"); + КонецЕсли; + Запрос.УстановитьПараметр(""Проведен"", Проведен); + Запрос.УстановитьПараметр(""Номер"", НомерДокумента); + Запрос.УстановитьПараметр(""Дата"", ДатаДокумента); + + Запрос.Текст = СтрЗаменить(Запрос.Текст, ""#Док"", ДокументОснование); + + РезультатЗапроса = Запрос.Выполнить().Выгрузить(); + Если РезультатЗапроса.Количество() = 0 Тогда + Если НомерДокумента <> Неопределено И ДатаДокумента <> Неопределено Тогда + Возврат ПолучитьСсылкуНаДокументОснование(ДокументОснование, Проведен, Неопределено, Неопределено); + Иначе + Возврат Неопределено; + КонецЕсли; + Иначе + Возврат РезультатЗапроса[0].Ссылка; + КонецЕсли; + +КонецФункции // ПолучитьСсылкуНаДокументОснование() + +// заимствовона из плагина дымовых тестов xUnit +&НаКлиенте +Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) Экспорт + + КлючВременнойФормы = ""908насмь9ыв3245""; + //Если Модально Тогда + // ТестируемаяФорма = ОткрытьФормуМодально(ПолноеИмяФормы, ПараметрыФормы); + //Иначе + //ошибка =""""; + //Попытка + + // К сожалению здесь исключения не ловятся https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 + ТестируемаяФорма = ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы,, КлючВременнойФормы); + + //Исключение + // ошибка = ОписаниеОшибки(); + // Предупреждение("" поймали исключение 20"" + ошибка); + //КонецПопытки; + //КонецЕсли; + Если ТестируемаяФорма = Неопределено Тогда + Возврат; + КонецЕсли; + + //ТестируемаяФорма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350 + Если ТестируемаяФорма.Открыта() = Ложь Тогда + ВызватьИсключение ""ТестируемаяФорма """""" + ПолноеИмяФормы+"""""" не открылась, а должна была открыться""; + КонецЕсли; + + Если ТипЗнч(ТестируемаяФорма) = Тип(""УправляемаяФорма"") Тогда + ТестируемаяФорма.ОбновитьОтображениеДанных(); + Иначе + //Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда + ТестируемаяФорма.Обновить(); + КонецЕсли; + + ЗакрытьФорму(ТестируемаяФорма); + ЗавершитьТранзакцию(); + +КонецПроцедуры + +&НаСервере +Процедура ЗавершитьТранзакцию() + + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму(ТестируемаяФорма) + //Если ТипЗнч(ТестируемаяФорма) <> Тип(""Форма"") и ТипЗнч(ТестируемаяФорма) <> Тип(""УправляемаяФорма"") Тогда + Если ТипЗнч(ТестируемаяФорма) <> Тип(""УправляемаяФорма"") Тогда + Возврат; + КонецЕсли; + ТестируемаяФорма.Модифицированность = Ложь; + Если ТестируемаяФорма.Открыта() Тогда + ТестируемаяФорма.Модифицированность = Ложь; + //Попытка + ТестируемаяФорма.Закрыть(); + //Исключение + // Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + // ЗакрытьФормуБезусловноСОтменойТранзакции(ТестируемаяФорма); + // //Если ТранзакцияАктивна() Тогда + // // ОтменитьТранзакцию(); + // //КонецЕсли; + // // //ДобавитьСтрокуРезультата(ИмяОперации, ИнформацияОбОшибке()); + // //НачатьТранзакцию(); + // //ТестируемаяФорма.УстановитьДействие(""ПередЗакрытием"", Неопределено); + // //ТестируемаяФорма.УстановитьДействие(""ПриЗакрытии"", Неопределено); + // //ТестируемаяФорма.Закрыть(); + // ВызватьИсключение Ошибка; + //КонецПопытки; + Иначе + Попытка + ТестируемаяФорма.Закрыть(); + Исключение + КонецПопытки; + КонецЕсли; + ТестируемаяФорма = """"; + +КонецПроцедуры + +&НаСервере +Процедура ГенерацияФичТестовНаСервере(ОписаниеТестов) + + СписокМетаданных = ПолучитьСписокМетаданныхНаСервере(); + СписокДокументыОснования = ПолучитьСсылкиНаДокументыОснованияНаСервере(СписокМетаданных); + + Для каждого ТипМетаданного Из СписокМетаданных Цикл + ТипДокумента = ТипМетаданного.Значение; + + ВводятсяНаОснованииДокумента = СписокВводятсяНаОснованииДокументаНаСервере(ТипДокумента.Имя); + Если ВводятсяНаОснованииДокумента.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Отбор = Новый Структура; + Отбор.Вставить(""ТипДокумента"", ТипДокумента.Имя); + СписокОснований = СписокДокументыОснования.НайтиСтроки(Отбор); + Если СписокОснований.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Для каждого ВводитсяНаОсновании Из ВводятсяНаОснованииДокумента Цикл + Для каждого Основание Из СписокОснований Цикл + СоответствиеФорм = Новый Структура; + СоответствиеФорм.Вставить(""ВводитсяНаОсновании"", ВводитсяНаОсновании.Значение); + СоответствиеФорм.Вставить(""Проведен"", Основание.Проведен); + СоответствиеФорм.Вставить(""Основание"", Основание.Ссылка); + СоответствиеФорм.Вставить(""Номер"", Основание.Номер); + СоответствиеФорм.Вставить(""Дата"", Основание.Дата); + СоответствиеФорм.Вставить(""ТипОснование"", Основание.ТипДокумента); + + ОписаниеТестов.Добавить(СоответствиеФорм); + КонецЦикла; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Функция ПолучитьСписокМетаданныхНаСервере() + + СписокМетаданных = Новый СписокЗначений; + Для каждого ТипДок Из Метаданные.Документы Цикл + СписокМетаданных.Добавить(ТипДок, ТипДок.Имя); + КонецЦикла; + СписокМетаданных.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + + Возврат СписокМетаданных; + +КонецФункции + +&НаСервере +Функция СписокВводятсяНаОснованииДокументаНаСервере(ТипДокумента) + + ЯвляетсяОснованием = Новый СписокЗначений; + + ДокументОснования = Метаданные.Документы[ТипДокумента]; + //Если ДокументОснования.ИспользоватьСтандартныеКоманды Тогда // исключаем документы которые пользователь не может создать из интерфейса + Для каждого ДокументКоллекции ИЗ Метаданные.Документы Цикл + ВводитсяНаОсновании = ДокументКоллекции.ВводитсяНаОсновании; + Для каждого Док ИЗ ВводитсяНаОсновании Цикл + Если Док = ДокументОснования Тогда + ЯвляетсяОснованием.Добавить(Новый Структура(""Имя, Синоним"", ДокументКоллекции.Имя, ДокументКоллекции.Синоним), ДокументКоллекции.Имя); + Прервать; + КонецЕсли; + КонецЦикла; + КонецЦикла; + //КонецЕсли; + + ЯвляетсяОснованием.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + + Возврат ЯвляетсяОснованием; + +КонецФункции + +&НаСервере +Функция ПолучитьСсылкиНаДокументыОснованияНаСервере(СписокМетаданных) + + ШаблонЗапроса = + ""ВЫБРАТЬ ПЕРВЫЕ 1 + | #Док.Ссылка КАК Ссылка, + | #Док.Номер КАК Номер, + | #Док.Дата КАК Дата, + | #Док.Проведен КАК Проведен, + | """"#Док"""" КАК ТипДокумента + |ПОМЕСТИТЬ #Док_Проведенные + |ИЗ + | Документ.#Док КАК #Док + |ГДЕ + | #Док.Проведен + | + |УПОРЯДОЧИТЬ ПО + | #Док.Дата УБЫВ + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ ПЕРВЫЕ 1 + | #Док.Ссылка КАК Ссылка, + | #Док.Номер КАК Номер, + | #Док.Дата КАК Дата, + | #Док.Проведен КАК Проведен, + | """"#Док"""" КАК ТипДокумента + |ПОМЕСТИТЬ #Док_НеПроведенные + |ИЗ + | Документ.#Док КАК #Док + |ГДЕ + | НЕ #Док.ПометкаУдаления + | И НЕ #Док.Проведен + | + |УПОРЯДОЧИТЬ ПО + | #Док.Дата УБЫВ + |; + |ВЫБРАТЬ + | #Док_Проведенные.Ссылка КАК Ссылка, + | #Док_Проведенные.Номер КАК Номер, + | #Док_Проведенные.Дата КАК Дата, + | #Док_Проведенные.Проведен КАК Проведен, + | #Док_Проведенные.ТипДокумента КАК ТипДокумента + |ИЗ + | #Док_Проведенные КАК #Док_Проведенные + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | #Док_НеПроведенные.Ссылка КАК Ссылка, + | #Док_НеПроведенные.Номер КАК Номер, + | #Док_НеПроведенные.Дата КАК Дата, + | #Док_НеПроведенные.Проведен КАК Проведен, + | #Док_НеПроведенные.ТипДокумента КАК ТипДокумента + |ИЗ + | #Док_НеПроведенные КАК #Док_НеПроведенные + |""; + + // Ищем тестовые документы: проведенный и не проведенный + ТаблицаДокументовОснований = Новый ТаблицаЗначений; + ТаблицаДокументовОснований.Колонки.Добавить(""Ссылка""); + ТаблицаДокументовОснований.Колонки.Добавить(""Номер""); + ТаблицаДокументовОснований.Колонки.Добавить(""Дата""); + ТаблицаДокументовОснований.Колонки.Добавить(""Проведен""); + ТаблицаДокументовОснований.Колонки.Добавить(""ТипДокумента""); + + Для каждого ТипМетаданного Из СписокМетаданных Цикл + Запрос = Новый Запрос; + Запрос.Текст = ШаблонЗапроса; + Если ТипМетаданного.Значение.ДлинаНомера = 0 Тогда + Запрос.Текст = СтрЗаменить(Запрос.Текст, ""#Док.Номер"", """"""""""""); + КонецЕсли; + + Запрос.Текст = СтрЗаменить(Запрос.Текст, ""#Док"", ТипМетаданного.Значение.Имя); + + Попытка + Результат = Запрос.Выполнить().Выгрузить(); + Результат.Сортировать(""ТипДокумента Возр""); + Если Результат.Количество() > 0 Тогда + ЗагрузитьВТаблицуЗначений(Результат, ТаблицаДокументовОснований); + КонецЕсли; + Исключение + Сообщить(""Возникли проблеммы с поиском документов оснований для """""" + ТипМетаданного.Значение.Имя + """"""""); + КонецПопытки; + КонецЦикла; + + Возврат ТаблицаДокументовОснований; + +КонецФункции // ПолучитьОснованиеНаСервере() + +&НаСервере +Процедура ЗагрузитьВТаблицуЗначений(ТаблицаИсточник, ТаблицаПриемник) + + //Сформируем массив совпадающих колонок. + МассивСовпадающихКолонок = Новый Массив(); + Для каждого Колонка Из ТаблицаПриемник.Колонки Цикл + Если ТаблицаИсточник.Колонки.Найти(Колонка.Имя) <> Неопределено Тогда + МассивСовпадающихКолонок.Добавить(Колонка.Имя); + КонецЕсли; + КонецЦикла; + + Для каждого СтрокаТаблицыИсточника Из ТаблицаИсточник Цикл + СтрокаТаблицыПриемника = ТаблицаПриемник.Добавить(); + // Заполним значения в совпадающих колонках. + Для каждого ЭлементМассива Из МассивСовпадающихКолонок Цикл + СтрокаТаблицыПриемника[ЭлементМассива] = СтрокаТаблицыИсточника[ЭлементМассива]; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры // ЗагрузитьВТаблицуЗначений() + +#Область Реализация_Шагов_VanessaBehavior +&НаКлиенте +//Когда открываю форму документа ""АвтоВзаимозачет"" заполненного на основании проведенного ""ПоступлениеАвтомобилей"" номер ""АИ00000002"" от ""12.03.2017"" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенногоНомерОт(ИмяДокумента, ДокументОснование,НомерДокумента,ДатаДокумента) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Истина, НомерДокумента, ДатаДокумента); +КонецПроцедуры + +&НаКлиенте +//И открываю форму документа ""АвтоВзаимозачет"" заполненного на основании проведенного ""ПоступлениеАвтомобилей"" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного(Парам01,Парам02) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииПроведенного(ИмяДокумента, ДокументОснование) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Истина, Неопределено, Неопределено); +КонецПроцедуры + +&НаКлиенте +//Когда открываю форму документа ""АвтоВзаимозачет"" заполненного на основании не проведенного ""ПоступлениеАвтомобилей"" номер ""АВ00000080"" от ""04.09.2016"" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт(Парам01,Парам02,Парам03,Парам04) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенногоНомерОт(ИмяДокумента, ДокументОснование,НомерДокумента,ДатаДокумента) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Ложь, НомерДокумента, ДатаДокумента); +КонецПроцедуры + +&НаКлиенте +//И открываю форму документа ""АвтоВзаимозачет"" заполненного на основании не проведенного ""ПоступлениеАвтомобилей"" +//@ОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного(Парам01,Парам02) +Процедура ЯОткрываюФормуДокументаЗаполненногоНаОснованииНеПроведенного(ИмяДокумента, ДокументОснование) Экспорт + ПроверитьОткрытиеФормыНаОсновании(ИмяДокумента, ДокументОснование, Ложь, Неопределено, Неопределено); +КонецПроцедуры + +#КонецОбласти", +{4,2, +{9, +{1},0,"Объект", +{1,0}, +{"Pattern", +{"#",1fa267af-3d54-4f70-ac00-718486d7aafd} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},1,0,0,0, +{0,0}, +{0,0} +}, +{9, +{2},0,"УказыватьДокументОснование", +{1,1, +{"ru","Указывать документ основание"} +}, +{"Pattern", +{"B"} +}, +{0, +{0, +{"B",1},0} +}, +{0, +{0, +{"B",1},0} +}, +{0,0}, +{0,0},0,0,0,0, +{0,0}, +{0,0} +},0,0, +{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0 +aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u +LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv +OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo +dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0 +cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9 +Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw +Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj +LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 +LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 +cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +}, +{0,0}, +{0,1, +{8, +{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a},"ГенерацияФич", +{1,1, +{"ru","Генерация фич"} +}, +{1,1, +{"ru","Генерация фич"} +}, +{0, +{0, +{"B",1},0} +}, +{0,0,0}, +{4,0, +{0},"",-1,-1,1,0,""},"ГенерацияФич",3,0,0, +{0,0},1,0,1,0,0} +}, +{0,0}, +{0,0},0,0} \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/79a499cc-1782-4a2f-abe7-61ea4d49fd5a b/src/Tests/Smoke/Smoke_InputBasedOn/und/79a499cc-1782-4a2f-abe7-61ea4d49fd5a new file mode 100644 index 00000000..bc5e4f29 --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/79a499cc-1782-4a2f-abe7-61ea4d49fd5a @@ -0,0 +1,39 @@ +{1, +{79a499cc-1782-4a2f-abe7-61ea4d49fd5a},1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f, +{1, +{4,1fa267af-3d54-4f70-ac00-718486d7aafd,ed829681-4496-44fd-adeb-667f09d931c3, +{0, +{1, +{0,0,8aa13ab8-188a-4f59-be4f-031aa5450c90},"Smoke_InputBasedOn", +{1,"ru","Smoke_InputBasedOn"},"",0,0} +},70e297e0-e8a2-43bf-8be1-62e408f610a1,"",00000000-0000-0000-0000-000000000000},4, +{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, +{3daea016-69b7-4ed4-9453-127911372fe6,0}, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,70e297e0-e8a2-43bf-8be1-62e408f610a1}, +{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,1, +{ +{0, +{27, +{2, +{1, +{0,0,634fafd1-35dc-4662-adf2-72e30fd4022c},"ВыводитьСообщенияВЖурналРегистрации", +{1,"ru","Выводить сообщения в журнал регистрации"},"",0,0}, +{"Pattern", +{"B"} +} +},0, +{0}, +{0},0,"",0, +{"U"}, +{"U"},0,00000000-0000-0000-0000-000000000000,2,0, +{5004,0}, +{3,0,0}, +{0,0},0, +{0}, +{"S",""},0,0,0} +},0} +} +} +} +} \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/8aa13ab8-188a-4f59-be4f-031aa5450c90.0/info b/src/Tests/Smoke/Smoke_InputBasedOn/und/8aa13ab8-188a-4f59-be4f-031aa5450c90.0/info new file mode 100644 index 00000000..c70b5f39 --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/8aa13ab8-188a-4f59-be4f-031aa5450c90.0/info @@ -0,0 +1 @@ +{3,1,0,"",0} \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/copyinfo b/src/Tests/Smoke/Smoke_InputBasedOn/und/copyinfo new file mode 100644 index 00000000..749d8cd0 --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/copyinfo @@ -0,0 +1,16 @@ +{4, +{2, +{70e297e0-e8a2-43bf-8be1-62e408f610a1,70e297e0-e8a2-43bf-8be1-62e408f610a1,1, +{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"} +}, +{8aa13ab8-188a-4f59-be4f-031aa5450c90,8aa13ab8-188a-4f59-be4f-031aa5450c90,1, +{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"Smoke_InputBasedOn"} +} +}, +{1, +{1fa267af-3d54-4f70-ac00-718486d7aafd,8aa13ab8-188a-4f59-be4f-031aa5450c90,0} +}, +{0}, +{0,0}, +{0} +} \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/root b/src/Tests/Smoke/Smoke_InputBasedOn/und/root new file mode 100644 index 00000000..8acebfec --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/root @@ -0,0 +1 @@ +{2,79a499cc-1782-4a2f-abe7-61ea4d49fd5a,} \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/version b/src/Tests/Smoke/Smoke_InputBasedOn/und/version new file mode 100644 index 00000000..32619b14 --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/version @@ -0,0 +1,5 @@ +{ +{216,0, +{80309,0} +} +} \ No newline at end of file diff --git a/src/Tests/Smoke/Smoke_InputBasedOn/und/versions b/src/Tests/Smoke/Smoke_InputBasedOn/und/versions new file mode 100644 index 00000000..3775dfbc --- /dev/null +++ b/src/Tests/Smoke/Smoke_InputBasedOn/und/versions @@ -0,0 +1 @@ +{1,9,"",b2f2dd92-bba5-46fd-8fcb-1710d295bdde,"70e297e0-e8a2-43bf-8be1-62e408f610a1",5546f794-00c2-4a6f-a061-55aeed283c22,"70e297e0-e8a2-43bf-8be1-62e408f610a1.0",03b2c1c2-2b84-4d85-9042-582ecae719fb,"79a499cc-1782-4a2f-abe7-61ea4d49fd5a",206c5acc-8d90-4d2f-907a-7fe037a83d2e,"8aa13ab8-188a-4f59-be4f-031aa5450c90.0",cd548a61-c796-4b16-8344-ebd686e7c713,"copyinfo",d77ed4e2-eedf-4f69-b11f-160c913eaeb0,"root",2931fddf-5f72-43d8-b8d0-0804a38283ac,"version",6fe0a06c-e2fb-4f6e-ac30-10184d9d2d94,"versions",a71779f6-fb07-46c2-8848-1ce0b5c5e5f0} \ No newline at end of file