1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-01-14 03:20:16 +02:00

#5 Доработал фича файл "УчетВремениПоЗадачам"

This commit is contained in:
Буслов Дмитрий 2016-12-21 22:41:14 +10:00
parent f6b016df40
commit 93164a9044
6 changed files with 310 additions and 180 deletions

View File

@ -57,11 +57,11 @@
Тогда открылось окно "Основной"
И я нажимаю на кнопку "Сформировать"
И Пауза 2
Тогда табличный документ формы с именем "ОтчетТабличныйДокумент" стал равен1:
Тогда табличный документ формы с именем "ОтчетТабличныйДокумент" стал равен:
| 'Основная задача' | '' | '' | '' | '' | '' | '' | '' | 'Часы план' | 'Часы факт' | 'Часы к оплате' | 'Количество задач' |
| 'Статус' | '' | '' | '' | '' | '' | '' | '' | '' | '' | '' | '' |
| 'Номер задачи' | 'Задача' | 'Исполнитель' | 'Конфигурация' | 'Важность' | 'Дата создания' | 'Дата передачи исполнителю' | 'Срок исполнения' | '' | '' | '' | '' |
| '' | '' | '' | '' | '' | '' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |
| 'Зарегистрирована' | '' | '' | '' | '' | '' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |
| '1' | 'ЭтоТестоваяЗадача' | '' | '' | 'Обычная' | '19.12.2016 23:17:58' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |
| '1' | 'ЭтоТестоваяЗадача' | '' | '' | '' | '19.12.2016 23:17:58' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |
| 'Итого' | '' | '' | '' | '' | '' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |

View File

@ -28,8 +28,6 @@
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПолеФормыСИменемСталоРавным(Парам01,Парам02)","ПолеФормыСИменемСталоРавным","Тогда поле формы с именем ""ЧасыФакт"" стало равным '15'");
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯПодготавливаюКонстантуСНаименованием(Парам01)","ЯПодготавливаюКонстантуСНаименованием","Допустим я подготавливаю константу с наименованием ""узИспользоватьУчетВремени""");
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ТабличныйДокументФормыСИменемСталРавен1(Парам01,ТабПарам)","ТабличныйДокументФормыСИменемСталРавен1","Тогда табличный документ формы с именем ""ОтчетТабличныйДокумент"" стал равен1:");
Возврат ВсеТесты;
КонецФункции
@ -55,21 +53,170 @@
&НаКлиенте
// Процедура выполняется перед началом каждого сценария
Процедура ПередНачаломСценария() Экспорт
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
Если ИмяСценария = "Проверка вывода ""ЧасыПлан"", ""ЧасыФакт"", ""ЧасыКОплате"" в отчете ""узОтчетПоЗадачам""" Тогда
ПредставлениеСправочника = "узЗадачи";
СоздатьЭлементСправочникаСНаименованиеНаСервере(ПредставлениеСправочника, "ЭтоТестоваяЗадача");
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , "ЭтоТестоваяЗадача",,ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, "ЧасыПлан" , 10);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, "ЧасыФакт" , 15);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, "ЧасыКОплате" , 10);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, "ПоказыватьВОтчетахИКанбанДоске", ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, "ДатаСоздания", Дата(2016,12,19,23,17,58));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
// Процедура выполняется перед окончанием каждого сценария
Процедура ПередОкончаниемСценария() Экспорт
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
Если ИмяСценария = "Проверка вывода ""ЧасыПлан"", ""ЧасыФакт"", ""ЧасыКОплате"" в отчете ""узОтчетПоЗадачам""" Тогда
ПредставлениеСправочника = "узЗадачи";
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , "ЭтоТестоваяЗадача",,ИСТИНА);
утвУдалитьЭлементСправочника(ПредставлениеСправочника, ЭлементСправочника);
КонецЕсли;
КонецПроцедуры
///////////////////////////////////////////////////
//Реализация шагов
///////////////////////////////////////////////////
&НаСервере
Процедура СоздатьЭлементСправочникаСНаименованиеНаСервере(ИмяСправочника, Наименование)
ЭлементСправочника = Справочники[ИмяСправочника].СоздатьЭлемент();
ЭлементСправочника.Наименование = Наименование;
ЭлементСправочника.Записать();
КонецПроцедуры
&НаСервере
Функция утвПолучитьЭлементГруппуСправочника(ИмяСправочника, Код = "", Наименование = "", ИскатьГруппу = Ложь, ДолженБыть = ЛОЖЬ)
ПредставлениеПоиска = "";
Если Истина
И ПустаяСтрока(Код)
И ПустаяСтрока(Наименование)
Тогда
ВызватьИсключение "Не заполнено ни одно свойство поиска";
ИначеЕсли Истина
И ЗначениеЗаполнено(Код)
И ЗначениеЗаполнено(Наименование)
Тогда
ПредставлениеПоиска = "коду """ + Код + """ и наименованию """ + Наименование + """";
ИначеЕсли ЗначениеЗаполнено(Код) Тогда
ПредставлениеПоиска = "коду """ + Код + """";
ИначеЕсли ЗначениеЗаполнено(Наименование) Тогда
ПредставлениеПоиска = "наименованию """ + Наименование + """";
КонецЕсли;
ТекстИсключения = "Не нашли #ГруппуИлиЭлемент справочника #ИмяСправочника по #ПредставлениеПоиска";
ТекстИсключения = СтрЗаменить(ТекстИсключения, "#ГруппуИлиЭлемент" , ?(ИскатьГруппу, "группу", "элемент"));
ТекстИсключения = СтрЗаменить(ТекстИсключения, "#ИмяСправочника" , ИмяСправочника);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "#ПредставлениеПоиска", ПредставлениеПоиска);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник.Пользователи КАК Справочник
|ГДЕ
| &МоиУсловия";
ТекстМоиУсловия = "";
Если ИскатьГруппу Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, "Справочник.ЭтоГруппа = &ИскатьГруппу");
КонецЕсли;
Если ЗначениеЗаполнено(Код) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, "Справочник.Код = &Код");
КонецЕсли;
Если ЗначениеЗаполнено(Наименование) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, "Справочник.Наименование = &Наименование");
КонецЕсли;
Если ПустаяСтрока(ТекстМоиУсловия) Тогда
ТекстМоиУсловия = "ИСТИНА";
КонецЕсли;
СтрокаЗаменыСправочника = "Справочник." + ИмяСправочника + " КАК Справочник";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&МоиУсловия", ТекстМоиУсловия);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи КАК Справочник", СтрокаЗаменыСправочника);
Запрос.УстановитьПараметр("ИскатьГруппу", ИскатьГруппу);
Запрос.УстановитьПараметр("Код", Код);
Запрос.УстановитьПараметр("Наименование", Наименование);
РезультатЗапроса = Запрос.Выполнить();
Если ДолженБыть И РезультатЗапроса.Пустой() Тогда
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.Ссылка;
КонецФункции
&НаСервере
Процедура СформироватьТекстУсловияЗапроса(ТекстРезультат, ТекстУсловия)
Если НЕ ПустаяСтрока(ТекстРезультат) Тогда
ТекстРезультат = ТекстРезультат + " И "
КонецЕсли;
ТекстРезультат = ТекстРезультат + ТекстУсловия;
КонецПроцедуры
&НаСервере
Процедура утвУдалитьЭлементСправочника(ИмяСправочника, ЭлементСправочника)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник." + ИмяСправочника + " КАК Справочник
|ГДЕ
| Справочник.Ссылка = &ЭлементСправочника";
Запрос.УстановитьПараметр("ЭлементСправочника", ЭлементСправочника);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЭлементОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ЭлементОбъект.Удалить();
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ИмяРеквизита, Значение, ЗначениеВХранилище = ЛОЖЬ)
СпрОбъект = ЭлементСправочника.ПолучитьОбъект();
Если ЗначениеВХранилище Тогда
СпрОбъект[ИмяРеквизита] = Новый ХранилищеЗначения(Значение);
Иначе
СпрОбъект[ИмяРеквизита] = Значение;
КонецЕсли;
СпрОбъект.Записать();
КонецПроцедуры
&НаКлиенте
Функция ПолучитьАктивноеОкноИзТестовоеПриложение()
Возврат КонтекстСохраняемый.ТестовоеПриложение.ПолучитьАктивноеОкно();
@ -157,86 +304,4 @@
Ванесса.ПроверитьРавенство(ДанныеПоля,Результат,"Ожидаемое значение поля.");
КонецПроцедуры
&НаКлиенте
//Тогда табличный документ формы с именем "ОтчетТабличныйДокумент" стал равен1:
//@ТабличныйДокументФормыСИменемСталРавен1(Парам01,ТабПарам)
Процедура ТабличныйДокументФормыСИменемСталРавен1(ИмяРеквизита,ТабПарамБыло,СталПустым = Ложь) Экспорт
Нашли = Ложь;
МассивФорм = НайтиФормыТекущегоОкна();
Для каждого ТекущаяФорма Из МассивФорм Цикл
ПолеТабДок = ТекущаяФорма.НайтиОбъект(Тип("ТестируемоеПолеФормы"),,ИмяРеквизита);
Если ПолеТабДок = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ПолеТабДок = Неопределено Тогда
Продолжить;
КонецЕсли;
ТабДокСтало = Ванесса.ПолучитьТабДокИзTestClient(ПолеТабДок);
Если СталПустым Тогда
Если ТабДокСтало.Количество() = 0 Тогда
Возврат;
Иначе
Стр = "В табличном документе " + ТабДокСтало.Количество() + " строк, а ожидалось, что он пустой.";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
КонецЕсли;
//Ванесса.ПосмотретьЗначение(ТабПарамБыло,Истина);
Если ТабДокСтало.Количество() <> ТабПарамБыло.Количество() Тогда
Стр = "В табличном документе " + ТабДокСтало.Количество() + " строк, а ожидалось " + ТабПарамБыло.Количество() + " строк.";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
Ном = -1;
Для каждого СтрСтало Из ТабДокСтало Цикл
Ном = Ном + 1;
СтрБыло = ТабПарамБыло[Ном];
Если СтрСтало.Количество() <> СтрБыло.Количество() Тогда
Стр = "В табличном документе " + СтрСтало.Количество() + " колонок, а ожидалось " + СтрБыло.Количество() + " колонок.";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
НомКол = 0;
Для каждого ЗнСтало Из СтрСтало Цикл
НомКол = НомКол + 1;
ЗнБыло = СтрБыло["Кол" + НомКол];
Если ЗнСтало <> ЗнБыло Тогда
Если ЗнБыло <> "*" Тогда
Стр = "В табличном документе в колонке №" + НомКол + " значение= <" + ЗнСтало + "> , а ожидалось <" + ЗнБыло + ">";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Нашли = Истина;
Прервать;
КонецЦикла;
Если НЕ Нашли Тогда
Стр = "Элемент формы с именем <" + ИмяРеквизита + "> не найден!";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция НайтиФормыТекущегоОкна()
Возврат Ванесса.НайтиФормыТекущегоОкнаTestClient();
КонецФункции
//окончание текста модуля

View File

@ -1 +1 @@
Form\Форма\Форма.bsl-->70e297e0-e8a2-43bf-8be1-62e408f610a1.0 (46, 287)
Form\Форма\Форма.bsl-->70e297e0-e8a2-43bf-8be1-62e408f610a1.0 (46, 352)

View File

@ -73,8 +73,6 @@
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ПолеФормыСИменемСталоРавным(Парам01,Парам02)"",""ПолеФормыСИменемСталоРавным"",""Тогда поле формы с именем """"ЧасыФакт"""" стало равным '15'"");
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ЯПодготавливаюКонстантуСНаименованием(Парам01)"",""ЯПодготавливаюКонстантуСНаименованием"",""Допустим я подготавливаю константу с наименованием """"узИспользоватьУчетВремени"""""");
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ТабличныйДокументФормыСИменемСталРавен1(Парам01,ТабПарам)"",""ТабличныйДокументФормыСИменемСталРавен1"",""Тогда табличный документ формы с именем """"ОтчетТабличныйДокумент"""" стал равен1:"");
Возврат ВсеТесты;
КонецФункции
@ -100,21 +98,170 @@
&НаКлиенте
// Процедура выполняется перед началом каждого сценария
Процедура ПередНачаломСценария() Экспорт
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
Если ИмяСценария = ""Проверка вывода """"ЧасыПлан"""", """"ЧасыФакт"""", """"ЧасыКОплате"""" в отчете """"узОтчетПоЗадачам"""""" Тогда
ПредставлениеСправочника = ""узЗадачи"";
СоздатьЭлементСправочникаСНаименованиеНаСервере(ПредставлениеСправочника, ""ЭтоТестоваяЗадача"");
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , ""ЭтоТестоваяЗадача"",,ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ""ЧасыПлан"" , 10);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ""ЧасыФакт"" , 15);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ""ЧасыКОплате"" , 10);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ""ПоказыватьВОтчетахИКанбанДоске"", ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ""ДатаСоздания"", Дата(2016,12,19,23,17,58));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
// Процедура выполняется перед окончанием каждого сценария
Процедура ПередОкончаниемСценария() Экспорт
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
Если ИмяСценария = ""Проверка вывода """"ЧасыПлан"""", """"ЧасыФакт"""", """"ЧасыКОплате"""" в отчете """"узОтчетПоЗадачам"""""" Тогда
ПредставлениеСправочника = ""узЗадачи"";
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , ""ЭтоТестоваяЗадача"",,ИСТИНА);
утвУдалитьЭлементСправочника(ПредставлениеСправочника, ЭлементСправочника);
КонецЕсли;
КонецПроцедуры
///////////////////////////////////////////////////
//Реализация шагов
///////////////////////////////////////////////////
&НаСервере
Процедура СоздатьЭлементСправочникаСНаименованиеНаСервере(ИмяСправочника, Наименование)
ЭлементСправочника = Справочники[ИмяСправочника].СоздатьЭлемент();
ЭлементСправочника.Наименование = Наименование;
ЭлементСправочника.Записать();
КонецПроцедуры
&НаСервере
Функция утвПолучитьЭлементГруппуСправочника(ИмяСправочника, Код = """", Наименование = """", ИскатьГруппу = Ложь, ДолженБыть = ЛОЖЬ)
ПредставлениеПоиска = """";
Если Истина
И ПустаяСтрока(Код)
И ПустаяСтрока(Наименование)
Тогда
ВызватьИсключение ""Не заполнено ни одно свойство поиска"";
ИначеЕсли Истина
И ЗначениеЗаполнено(Код)
И ЗначениеЗаполнено(Наименование)
Тогда
ПредставлениеПоиска = ""коду """""" + Код + """""" и наименованию """""" + Наименование + """""""";
ИначеЕсли ЗначениеЗаполнено(Код) Тогда
ПредставлениеПоиска = ""коду """""" + Код + """""""";
ИначеЕсли ЗначениеЗаполнено(Наименование) Тогда
ПредставлениеПоиска = ""наименованию """""" + Наименование + """""""";
КонецЕсли;
ТекстИсключения = ""Не нашли #ГруппуИлиЭлемент справочника #ИмяСправочника по #ПредставлениеПоиска"";
ТекстИсключения = СтрЗаменить(ТекстИсключения, ""#ГруппуИлиЭлемент"" , ?(ИскатьГруппу, ""группу"", ""элемент""));
ТекстИсключения = СтрЗаменить(ТекстИсключения, ""#ИмяСправочника"" , ИмяСправочника);
ТекстИсключения = СтрЗаменить(ТекстИсключения, ""#ПредставлениеПоиска"", ПредставлениеПоиска);
Запрос = Новый Запрос;
Запрос.Текст =
""ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник.Пользователи КАК Справочник
|ГДЕ
| &МоиУсловия"";
ТекстМоиУсловия = """";
Если ИскатьГруппу Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, ""Справочник.ЭтоГруппа = &ИскатьГруппу"");
КонецЕсли;
Если ЗначениеЗаполнено(Код) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, ""Справочник.Код = &Код"");
КонецЕсли;
Если ЗначениеЗаполнено(Наименование) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, ""Справочник.Наименование = &Наименование"");
КонецЕсли;
Если ПустаяСтрока(ТекстМоиУсловия) Тогда
ТекстМоиУсловия = ""ИСТИНА"";
КонецЕсли;
СтрокаЗаменыСправочника = ""Справочник."" + ИмяСправочника + "" КАК Справочник"";
Запрос.Текст = СтрЗаменить(Запрос.Текст, ""&МоиУсловия"", ТекстМоиУсловия);
Запрос.Текст = СтрЗаменить(Запрос.Текст, ""Справочник.Пользователи КАК Справочник"", СтрокаЗаменыСправочника);
Запрос.УстановитьПараметр(""ИскатьГруппу"", ИскатьГруппу);
Запрос.УстановитьПараметр(""Код"", Код);
Запрос.УстановитьПараметр(""Наименование"", Наименование);
РезультатЗапроса = Запрос.Выполнить();
Если ДолженБыть И РезультатЗапроса.Пустой() Тогда
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.Ссылка;
КонецФункции
&НаСервере
Процедура СформироватьТекстУсловияЗапроса(ТекстРезультат, ТекстУсловия)
Если НЕ ПустаяСтрока(ТекстРезультат) Тогда
ТекстРезультат = ТекстРезультат + "" И ""
КонецЕсли;
ТекстРезультат = ТекстРезультат + ТекстУсловия;
КонецПроцедуры
&НаСервере
Процедура утвУдалитьЭлементСправочника(ИмяСправочника, ЭлементСправочника)
Запрос = Новый Запрос;
Запрос.Текст =
""ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник."" + ИмяСправочника + "" КАК Справочник
|ГДЕ
| Справочник.Ссылка = &ЭлементСправочника"";
Запрос.УстановитьПараметр(""ЭлементСправочника"", ЭлементСправочника);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЭлементОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ЭлементОбъект.Удалить();
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ИмяРеквизита, Значение, ЗначениеВХранилище = ЛОЖЬ)
СпрОбъект = ЭлементСправочника.ПолучитьОбъект();
Если ЗначениеВХранилище Тогда
СпрОбъект[ИмяРеквизита] = Новый ХранилищеЗначения(Значение);
Иначе
СпрОбъект[ИмяРеквизита] = Значение;
КонецЕсли;
СпрОбъект.Записать();
КонецПроцедуры
&НаКлиенте
Функция ПолучитьАктивноеОкноИзТестовоеПриложение()
Возврат КонтекстСохраняемый.ТестовоеПриложение.ПолучитьАктивноеОкно();
@ -202,88 +349,6 @@
Ванесса.ПроверитьРавенство(ДанныеПоля,Результат,""Ожидаемое значение поля."");
КонецПроцедуры
&НаКлиенте
//Тогда табличный документ формы с именем ""ОтчетТабличныйДокумент"" стал равен1:
//@ТабличныйДокументФормыСИменемСталРавен1(Парам01,ТабПарам)
Процедура ТабличныйДокументФормыСИменемСталРавен1(ИмяРеквизита,ТабПарамБыло,СталПустым = Ложь) Экспорт
Нашли = Ложь;
МассивФорм = НайтиФормыТекущегоОкна();
Для каждого ТекущаяФорма Из МассивФорм Цикл
ПолеТабДок = ТекущаяФорма.НайтиОбъект(Тип(""ТестируемоеПолеФормы""),,ИмяРеквизита);
Если ПолеТабДок = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ПолеТабДок = Неопределено Тогда
Продолжить;
КонецЕсли;
ТабДокСтало = Ванесса.ПолучитьТабДокИзTestClient(ПолеТабДок);
Если СталПустым Тогда
Если ТабДокСтало.Количество() = 0 Тогда
Возврат;
Иначе
Стр = ""В табличном документе "" + ТабДокСтало.Количество() + "" строк, а ожидалось, что он пустой."";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
КонецЕсли;
//Ванесса.ПосмотретьЗначение(ТабПарамБыло,Истина);
Если ТабДокСтало.Количество() <> ТабПарамБыло.Количество() Тогда
Стр = ""В табличном документе "" + ТабДокСтало.Количество() + "" строк, а ожидалось "" + ТабПарамБыло.Количество() + "" строк."";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
Ном = -1;
Для каждого СтрСтало Из ТабДокСтало Цикл
Ном = Ном + 1;
СтрБыло = ТабПарамБыло[Ном];
Если СтрСтало.Количество() <> СтрБыло.Количество() Тогда
Стр = ""В табличном документе "" + СтрСтало.Количество() + "" колонок, а ожидалось "" + СтрБыло.Количество() + "" колонок."";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
НомКол = 0;
Для каждого ЗнСтало Из СтрСтало Цикл
НомКол = НомКол + 1;
ЗнБыло = СтрБыло[""Кол"" + НомКол];
Если ЗнСтало <> ЗнБыло Тогда
Если ЗнБыло <> ""*"" Тогда
Стр = ""В табличном документе в колонке №"" + НомКол + "" значение= <"" + ЗнСтало + ""> , а ожидалось <"" + ЗнБыло + "">"";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Нашли = Истина;
Прервать;
КонецЦикла;
Если НЕ Нашли Тогда
Стр = ""Элемент формы с именем <"" + ИмяРеквизита + ""> не найден!"";
Сообщить(Стр);
ВызватьИсключение Стр;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция НайтиФормыТекущегоОкна()
Возврат Ванесса.НайтиФормыТекущегоОкнаTestClient();
КонецФункции
//окончание текста модуля",
{4,1,
{9,

View File

@ -1 +1 @@
{1,9,"",106fe068-840b-48ec-a8d0-737b07f24023,"70e297e0-e8a2-43bf-8be1-62e408f610a1",443350b1-90fa-458d-a962-ab4f66366540,"70e297e0-e8a2-43bf-8be1-62e408f610a1.0",e23f12ab-193f-4ad8-b3a0-ab7bc1439721,"79a499cc-1782-4a2f-abe7-61ea4d49fd5a",44a02535-75a1-49ac-8561-a6f8e79d21fc,"8aa13ab8-188a-4f59-be4f-031aa5450c90.0",e28145f0-8f5a-4469-9fe5-b1f86fb512b6,"copyinfo",5ba79528-3c57-447b-81ed-f8b0e423cc0f,"root",e1f93eed-18e7-4d09-a6d2-7d776fa2e162,"version",864e949b-75f4-44cd-9ddc-23aca6fb7f50,"versions",0f2201a9-67c6-4c82-8de1-a4f5035dadb0}
{1,9,"",89284c42-6724-489f-9883-8cce3cdee355,"70e297e0-e8a2-43bf-8be1-62e408f610a1",19274f22-568a-49ae-a271-765d28360fb7,"70e297e0-e8a2-43bf-8be1-62e408f610a1.0",843b3a2d-c1ff-47e4-aa84-43df6dc181ce,"79a499cc-1782-4a2f-abe7-61ea4d49fd5a",44a02535-75a1-49ac-8561-a6f8e79d21fc,"8aa13ab8-188a-4f59-be4f-031aa5450c90.0",e28145f0-8f5a-4469-9fe5-b1f86fb512b6,"copyinfo",f4280c28-6d59-4663-b398-2ca787dbe4e1,"root",2ab6fa56-2bd9-4b8a-a4a3-cb36f5e9c57a,"version",de9dccc6-294c-4f90-b39c-190e99bc12e3,"versions",1e059ce0-49ee-4b2d-8fae-e3def6d77a80}