From cf0cb91f83bc36e1cbb8162ea8362a952fe76c73 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Fri, 11 Aug 2023 22:27:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommonModules/ЮТПреобразования/Module.bsl | 25 ++ .../ЮТПреобразования/ЮТПреобразования.mdo | 9 + .../CommonModules/ЮТТестовыеДанные/Module.bsl | 28 +- .../Module.bsl | 254 +++++++++--------- .../ЮТТестовыеДанныеСлужебный/Module.bsl | 2 +- .../src/Configuration/Configuration.mdo | 1 + 6 files changed, 174 insertions(+), 145 deletions(-) create mode 100644 exts/yaxunit/src/CommonModules/ЮТПреобразования/Module.bsl create mode 100644 exts/yaxunit/src/CommonModules/ЮТПреобразования/ЮТПреобразования.mdo diff --git a/exts/yaxunit/src/CommonModules/ЮТПреобразования/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТПреобразования/Module.bsl new file mode 100644 index 00000000..6b1c2284 --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТПреобразования/Module.bsl @@ -0,0 +1,25 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git a/exts/yaxunit/src/CommonModules/ЮТПреобразования/ЮТПреобразования.mdo b/exts/yaxunit/src/CommonModules/ЮТПреобразования/ЮТПреобразования.mdo new file mode 100644 index 00000000..54396408 --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТПреобразования/ЮТПреобразования.mdo @@ -0,0 +1,9 @@ + + + ЮТПреобразования + + ru + Преобразования + + true + diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl index f4fdcffd..2a0c2dc8 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl @@ -577,19 +577,17 @@ // * ФикцияОбязательныхПолей - Булево - По умолчанию - Ложь // * ОбменДаннымиЗагрузка - Булево - По умолчанию - Истина // Возвращаемое значение: -// см. ЮТТестовыеДанные_ТаблицыЗначений.ТаблицаЗначенийИзМассиваСтруктур +// см. ЮТТестовыеДанные_ТаблицыЗначений.ТипизированнаяТаблицаЗначений Функция ТаблицаЗначенийИзТабличногоДокумента(ТабличныйДокумент, ОписанияТипов, КэшЗначений = Неопределено, ЗаменяемыеЗначения = Неопределено, ПараметрыСозданияОбъектов = Неопределено) Экспорт Параметры = ЮТТестовыеДанные_ТаблицыЗначений.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов); ИсточникДанных = СтруктурыТабличногоДокумента(ТабличныйДокумент); - ТаблицаЗначений = ЮТТестовыеДанные_ТаблицыЗначений.ТипизированнаяТаблицаЗначений( - ИсточникДанных, - ОписанияТипов, - КэшЗначений, - ЗаменяемыеЗначения, - Параметры - ); + ТаблицаЗначений = ЮТТестовыеДанные_ТаблицыЗначений.ТипизированнаяТаблицаЗначений(ИсточникДанных, + ОписанияТипов, + КэшЗначений, + ЗаменяемыеЗначения, + Параметры); Возврат ТаблицаЗначений; @@ -605,19 +603,17 @@ // * ФикцияОбязательныхПолей - Булево - По умолчанию - Ложь // * ОбменДаннымиЗагрузка - Булево - По умолчанию - Истина // Возвращаемое значение: -// см. ЮТТестовыеДанные_ТаблицыЗначений.ТаблицаЗначенийИзМассиваСтруктур +// см. ЮТТестовыеДанные_ТаблицыЗначений.ТипизированнаяТаблицаЗначений Функция ТаблицаЗначенийИзТаблицыMarkDown(Строки, ОписанияТипов, КэшЗначений = Неопределено, ЗаменяемыеЗначения = Неопределено, ПараметрыСозданияОбъектов = Неопределено) Экспорт Параметры = ЮТТестовыеДанные_ТаблицыЗначений.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов); ИсточникДанных = ТаблицаMarkDown(Строки); - ТаблицаЗначений = ЮТТестовыеДанные_ТаблицыЗначений.ТипизированнаяТаблицаЗначений( - ИсточникДанных, - ОписанияТипов, - КэшЗначений, - ЗаменяемыеЗначения, - Параметры - ); + ТаблицаЗначений = ЮТТестовыеДанные_ТаблицыЗначений.ТипизированнаяТаблицаЗначений(ИсточникДанных, + ОписанияТипов, + КэшЗначений, + ЗаменяемыеЗначения, + Параметры); Возврат ТаблицаЗначений; diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl index 0073410d..aa72a1c7 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl @@ -19,44 +19,48 @@ #Область СлужебныйПрограммныйИнтерфейс // Возвращает таблицу значений, заполненную из массива структур -// Параметры: -// Данные - Массив из Структура - Значения для преобразования в таблицу -// ОписанияТипов - Соответствие из Строка - Соответствие имен колонок таблицы к типам значений -// КэшЗначений - Соответствие из Произвольный - Соответствие для хранения создаваемых значений -// ЗаменяемыеЗначения - Соответствие из Строка - Значения, использующиеся для замены -// Параметры - см. ЮТТестовыеДанные_ТаблицыЗначений.ПараметрыЗаполненияТаблицыЗначений -// Возвращаемое значение: -// ТаблицаЗначений -Функция ТипизированнаяТаблицаЗначений(Данные, ОписанияТипов, КэшЗначений = Неопределено, - ЗаменяемыеЗначения = Неопределено, Параметры = Неопределено) Экспорт +// +// Параметры: +// Данные - Массив из Структура - Значения для преобразования в таблицу +// ОписанияТипов - Соответствие из Строка - Соответствие имен колонок таблицы к типам значений +// КэшЗначений - Соответствие из Произвольный - Соответствие для хранения создаваемых значений +// ЗаменяемыеЗначения - Соответствие из Строка - Значения, использующиеся для замены +// Параметры - см. ЮТТестовыеДанные_ТаблицыЗначений.ПараметрыЗаполненияТаблицыЗначений +// Возвращаемое значение: +// ТаблицаЗначений +Функция ТипизированнаяТаблицаЗначений(Данные, + ОписанияТипов, + КэшЗначений = Неопределено, + ЗаменяемыеЗначения = Неопределено, + Параметры = Неопределено) Экспорт Если Не ЗначениеЗаполнено(Данные) Тогда Возврат Новый ТаблицаЗначений; КонецЕсли; ИменаКолонок = ЮТОбщий.ВыгрузитьЗначения(Данные[0], "Ключ"); - + НедостающиеКолонки = НедостающиеКолонкиДанных(ИменаКолонок, ОписанияТипов); Если ЗначениеЗаполнено(НедостающиеКолонки) Тогда ТекстИсключения = "Отсутствуют данные для ожидаемых колонок: " + СтрСоединить(НедостающиеКолонки, ","); - Вызватьисключение ТекстИсключения; + ВызватьИсключение ТекстИсключения; КонецЕсли; - + Если ЗаменяемыеЗначения = Неопределено Тогда ЗаменяемыеЗначения = Новый Соответствие; КонецЕсли; - + Если Параметры = Неопределено Тогда - Параметры = ПараметрыЗаполненияТаблицыЗначений(); + Параметры = ПараметрыЗаполненияТаблицыЗначений(); КонецЕсли; ПараметрыСозданияОбъектовМетаданных = Параметры.СозданиеОбъектовМетаданных; - + СведенияОбъектовМетаданных = СведенияОбъектовМетаданныхИзОписанийТипов(ИменаКолонок, ОписанияТипов); СведенияОРеквизитахОбъектов = СведенияРеквизитовОбъектовМетаданных(ИменаКолонок, СведенияОбъектовМетаданных); ТаблицаЗначений = ИнициализированнаяТаблицаЗначений(ИменаКолонок, ОписанияТипов); - ИнициализироватьКэшЗначенийОбъектовМетаданных(КэшЗначений, ИменаКолонок, СведенияОбъектовМетаданных); + ИнициализироватьКэшЗначенийОбъектовМетаданных(КэшЗначений, ИменаКолонок, СведенияОбъектовМетаданных); Для Каждого Источник Из Данные Цикл @@ -71,8 +75,8 @@ Если Не ЗначениеЗаполнено(ЗначениеИсточника) Тогда Продолжить; - КонецЕсли; - + КонецЕсли; + СведенияОбъекта = СведенияОбъектовМетаданных.Получить(ИмяКолонки); ЗаменяемоеЗначение = ЗаменяемыеЗначения.Получить(ЗначениеИсточника); @@ -89,71 +93,64 @@ Если ЗначениеТаблицы = Неопределено Тогда - ЗначенияРеквизитовОбъекта = ПолучитьЗначенияРеквизитовПоУмолчанию( - ОписаниеОбъектаМетаданных, - ЗначениеИсточника - ); + ЗначенияРеквизитовОбъекта = ПолучитьЗначенияРеквизитовПоУмолчанию(ОписаниеОбъектаМетаданных, ЗначениеИсточника); СведенияРеквизитовОбъекта = СведенияОРеквизитахОбъектов.Получить(ИмяКолонки); - Если СведенияРеквизитовОбъекта <> Неопределено Тогда + Если СведенияРеквизитовОбъекта <> Неопределено Тогда - ДополнитьЗначенияРеквизитовОбъекта( - ЗначенияРеквизитовОбъекта, - СведенияРеквизитовОбъекта, - Источник, - КэшЗначений, - ЗаменяемыеЗначения, - ПараметрыСозданияОбъектовМетаданных - ); + ДополнитьЗначенияРеквизитовОбъекта(ЗначенияРеквизитовОбъекта, + СведенияРеквизитовОбъекта, + Источник, + КэшЗначений, + ЗаменяемыеЗначения, + ПараметрыСозданияОбъектовМетаданных); КонецЕсли; - ЗначениеТаблицы = ЗначениеОбъектаМетаданных( - ОписаниеОбъектаМетаданных, - Менеджер, - ЗначенияРеквизитовОбъекта, - ПараметрыСозданияОбъектовМетаданных - ); + ЗначениеТаблицы = ЗначениеОбъектаМетаданных(ОписаниеОбъектаМетаданных, + Менеджер, + ЗначенияРеквизитовОбъекта, + ПараметрыСозданияОбъектовМетаданных); КэшЗначений[Менеджер].Вставить(ЗначениеИсточника, ЗначениеТаблицы); - КонецЕсли; + КонецЕсли; Иначе ЗначениеТаблицы = ПривестиЗначение(ОписаниеТипа, ЗначениеИсточника); - - КонецЕсли; + + КонецЕсли; НоваяСтрока[ИмяКолонки] = ЗначениеТаблицы; - КонецЦикла; + КонецЦикла; - КонецЦикла; + КонецЦикла; Возврат ТаблицаЗначений; КонецФункции // Возвращает фиксированную структуру параметров для заполнения таблицы значений -// Параметры: -// СозданиеОбъектовМетаданных - Структура: -// * ФикцияОбязательныхПолей - Булево -// * ОбменДаннымиЗагрузка - Булево -// Возвращаемое значение: -// ФиксированнаяСтруктура: -// * СозданиеОбъектовМетаданных - ФиксированнаяСтруктура: -// * ФикцияОбязательныхПолей - Булево, -// * ОбменДаннымиЗагрузка - Булево +// Параметры: +// СозданиеОбъектовМетаданных - Структура: +// * ФикцияОбязательныхПолей - Булево +// * ОбменДаннымиЗагрузка - Булево +// Возвращаемое значение: +// ФиксированнаяСтруктура: +// * СозданиеОбъектовМетаданных - ФиксированнаяСтруктура: +// * ФикцияОбязательныхПолей - Булево +// * ОбменДаннымиЗагрузка - Булево Функция ПараметрыЗаполненияТаблицыЗначений(СозданиеОбъектовМетаданных = Неопределено) Экспорт ФикцияОбязательныхПолей = Ложь; ОбменДаннымиЗагрузка = Истина; Если ТипЗнч(СозданиеОбъектовМетаданных) = Тип("Структура") Тогда - ЮТОбщий.ЗначениеСтруктуры(СозданиеОбъектовМетаданных, "ФикцияОбязательныхПолей", ФикцияОбязательныхПолей); - ЮТОбщий.ЗначениеСтруктуры(СозданиеОбъектовМетаданных, "ОбменДаннымиЗагрузка", ОбменДаннымиЗагрузка); - КонецЕсли; + ФикцияОбязательныхПолей = ЮТОбщий.ЗначениеСтруктуры(СозданиеОбъектовМетаданных, "ФикцияОбязательныхПолей", ФикцияОбязательныхПолей); + ОбменДаннымиЗагрузка = ЮТОбщий.ЗначениеСтруктуры(СозданиеОбъектовМетаданных, "ОбменДаннымиЗагрузка", ОбменДаннымиЗагрузка); + КонецЕсли; СозданиеОбъектовМетаданных = Новый Структура; СозданиеОбъектовМетаданных.Вставить("ФикцияОбязательныхПолей", ФикцияОбязательныхПолей); @@ -176,14 +173,14 @@ ОжидаемыеКолонки = ЮТОбщий.ВыгрузитьЗначения(ОписанияТипов, "Ключ"); Для Каждого ИмяКолонки Из ОжидаемыеКолонки Цикл Если ИменаКолонок.Найти(ИмяКолонки) = Неопределено Тогда - НедостающиеКолонки.Добавить(ИмяКолонки); - КонецЕсли; - КонецЦикла; + НедостающиеКолонки.Добавить(ИмяКолонки); + КонецЕсли; + КонецЦикла; Возврат НедостающиеКолонки; КонецФункции - + Функция СведенияОбъектовМетаданныхИзОписанийТипов(ИменаКолонок, ОписанияТипов) МенеджерыЗначений = Новый Соответствие; @@ -196,16 +193,16 @@ Если ОписаниеОбъектаМетаданных = Неопределено Тогда Продолжить; КонецЕсли; - + Менеджер = МенеджерОбъектаИзОписанияОбъектаМетаданных(ОписаниеОбъектаМетаданных); Сведения = Новый Структура; Сведения.Вставить("Менеджер", Менеджер); Сведения.Вставить("ОписаниеОбъектаМетаданных", ОписаниеОбъектаМетаданных); - МенеджерыЗначений.Вставить(ИмяКолонки, Сведения); + МенеджерыЗначений.Вставить(ИмяКолонки, Сведения); - КонецЦикла; + КонецЦикла; Возврат МенеджерыЗначений; @@ -225,17 +222,17 @@ Если ОбъектМетаданных = Неопределено Тогда Возврат ОписаниеОбъектаМетаданных; - КонецЕсли; + КонецЕсли; Если Метаданные.Перечисления.Содержит(ОбъектМетаданных) Тогда ОписаниеОбъектаМетаданных = Новый Структура; ОписаниеОбъектаМетаданных.Вставить("Имя", ОбъектМетаданных.Имя); - Иначе + Иначе ОписаниеОбъектаМетаданных = ЮтМетаданные.ОписаниеОбъектМетаданных(ОбъектМетаданных.ПолноеИмя()); КонецЕсли; Возврат ОписаниеОбъектаМетаданных; - + КонецФункции Функция ТипИзОписанияТипа(ОписаниеТипа) @@ -243,18 +240,15 @@ Если ОписаниеТипа = Неопределено Тогда Возврат Неопределено; КонецЕсли; - + Если ТипЗнч(ОписаниеТипа) <> Тип("ОписаниеТипов") Или Не ЗначениеЗаполнено(ОписаниеТипа.Типы()) Тогда - Вызватьисключение ЮТОбщий.НеподдерживаемыйПараметрМетода( - "ЮТТестовыеДанные_ТаблицыЗначений.ТипИзОписанияТипа", - ОписаниеТипа - ); + ВызватьИсключение ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТТестовыеДанные_ТаблицыЗначений.ТипИзОписанияТипа", ОписаниеТипа); КонецЕсли; - + Возврат ОписаниеТипа.Типы()[0]; - + КонецФункции - + Функция МенеджерОбъектаИзОписанияОбъектаМетаданных(ОписаниеОбъектаМетаданных) Если Метаданные.Перечисления.Найти(ОписаниеОбъектаМетаданных.Имя) <> Неопределено Тогда @@ -273,7 +267,7 @@ Возврат Менеджер; КонецФункции - + Функция СведенияРеквизитовОбъектовМетаданных(ИменаКолонок, СведенияОбъектовМетаданных) ПодстрокиДляЗамены = ЮТТестовыеДанныеСлужебный.ПодстрокиДляЗаменыВИменахСвойств(); @@ -288,43 +282,43 @@ Если СведенияОбъектаМетаданных = Неопределено Тогда Продолжить; КонецЕсли; - + ОписаниеОбъектаМетаданных = СведенияОбъектаМетаданных.ОписаниеОбъектаМетаданных; - - МассивСведений = Новый Массив; + + МассивСведений = Новый Массив; Для Каждого ИмяКолонки Из ИменаКолонок Цикл Если СтрНайти(ИмяКолонки, ИмяКолонкиОбъекта) = 0 Или СтрНайти(ИмяКолонки, ПодстрокаЗаменыТочки) = 0 Тогда Продолжить; КонецЕсли; - - Массив = СтрРазделить(ИмяКолонки, ПодстрокаЗаменыТочки, Ложь); + + Массив = СтрРазделить(ИмяКолонки, ПодстрокаЗаменыТочки, Ложь); Если Массив.Количество() <> 2 Тогда Продолжить; Иначе РеквизитОбъекта = Неопределено; - ОписаниеОбъектаМетаданных.Реквизиты.Свойство(Массив[1], РеквизитОбъекта); + ОписаниеОбъектаМетаданных.Реквизиты.Свойство(Массив[1], РеквизитОбъекта); Если РеквизитОбъекта <> Неопределено Тогда Сведения = Новый Структура; Сведения.Вставить("Идентификатор", ИмяКолонки); Сведения.Вставить("ИмяРеквизита", РеквизитОбъекта.Имя); Сведения.Вставить("ОписаниеТипа", РеквизитОбъекта.Тип); - МассивСведений.Добавить(Сведения); - КонецЕсли; - КонецЕсли; + МассивСведений.Добавить(Сведения); + КонецЕсли; + КонецЕсли; КонецЦикла; Если ЗначениеЗаполнено(МассивСведений) Тогда - СведенияРеквизитовОбъекта.Вставить(ИмяКолонкиОбъекта, МассивСведений); + СведенияРеквизитовОбъекта.Вставить(ИмяКолонкиОбъекта, МассивСведений); КонецЕсли; КонецЦикла; Возврат СведенияРеквизитовОбъекта; - + КонецФункции Функция ИнициализированнаяТаблицаЗначений(ИменаКолонок, ОписанияТипов) @@ -338,11 +332,11 @@ Если ОписаниеТипаКолонки = Неопределено Тогда Продолжить; КонецЕсли; - + ТаблицаЗначений.Колонки.Добавить(ИмяКолонки, ОписаниеТипаКолонки); КонецЦикла; - + Возврат ТаблицаЗначений; КонецФункции @@ -352,20 +346,20 @@ Если Не ЗначениеЗаполнено(КэшЗначений) Тогда КэшЗначений = Новый Соответствие; КонецЕсли; - + Для Каждого ИмяКолонки Из ИменаКолонок Цикл СведенияОбъекта = СведенияОбъектовМетаданных.Получить(ИмяКолонки); Если СведенияОбъекта = Неопределено Тогда Продолжить; КонецЕсли; - + Менеджер = СведенияОбъекта.Менеджер; Если КэшЗначений.Получить(Менеджер) = Неопределено Тогда КэшЗначений.Вставить(Менеджер, Новый Соответствие); КонецЕсли; - - КонецЦикла; + + КонецЦикла; КонецПроцедуры @@ -378,8 +372,8 @@ ИначеЕсли ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя = "Справочник" Тогда ИмяРеквизита = "Наименование"; Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизита) = Неопределено Тогда - ИмяРеквизита = "Код"; - КонецЕсли; + ИмяРеквизита = "Код"; + КонецЕсли; ЗначенияРеквизитовПоУмолчанию.Вставить(ИмяРеквизита, Значение); КонецЕсли; @@ -387,9 +381,13 @@ КонецФункции -Функция ДополнитьЗначенияРеквизитовОбъекта(Результат, СведенияРеквизитов, Источник, КешЗначений, ЗаменяемыеЗначения, - ПараметрыСозданияОбъектовМетаданных) - +Функция ДополнитьЗначенияРеквизитовОбъекта(Результат, + СведенияРеквизитов, + Источник, + КешЗначений, + ЗаменяемыеЗначения, + ПараметрыСозданияОбъектовМетаданных) + Для Каждого Сведения Из СведенияРеквизитов Цикл ЗначениеИсточника = Источник[Сведения.Идентификатор]; @@ -397,50 +395,50 @@ Если ЗначениеЗаполнено(ЗначениеИсточника) Тогда ЗаменяемоеЗначение = ЗаменяемыеЗначения.Получить(ЗначениеИсточника); - ОписаниеОбъектаМетаданных = ОписаниеОбъектМетаданныхПоОписаниюТипа(Сведения.ОписаниеТипа); + ОписаниеОбъектаМетаданных = ОписаниеОбъектМетаданныхПоОписаниюТипа(Сведения.ОписаниеТипа); Если ЗаменяемоеЗначение <> Неопределено Тогда - ЗначениеРеквизита = ЗаменяемоеЗначение; + ЗначениеРеквизита = ЗаменяемоеЗначение; ИначеЕсли ОписаниеОбъектаМетаданных = Неопределено Тогда - ЗначениеРеквизита = Сведения.ОписаниеТипа.ПривестиЗначение(ЗначениеИсточника); - - Иначе + ЗначениеРеквизита = Сведения.ОписаниеТипа.ПривестиЗначение(ЗначениеИсточника); - Менеджер = МенеджерОбъектаИзОписанияОбъектаМетаданных(ОписаниеОбъектаМетаданных); + Иначе + + Менеджер = МенеджерОбъектаИзОписанияОбъектаМетаданных(ОписаниеОбъектаМетаданных); ЗначенияМенеджера = КешЗначений[Менеджер]; Если ЗначенияМенеджера = Неопределено Тогда ЗначенияМенеджера = Новый Соответствие; КешЗначений.Вставить(Менеджер, ЗначенияМенеджера); - КонецЕсли; + КонецЕсли; ЗначениеРеквизита = ЗначенияМенеджера.Получить(ЗначениеИсточника); Если ЗначениеРеквизита = Неопределено Тогда ЗначенияРеквизитовОбъекта = ПолучитьЗначенияРеквизитовПоУмолчанию( - ОписаниеОбъектаМетаданных, + ОписаниеОбъектаМетаданных, ЗначениеИсточника ); ЗначениеРеквизита = ЗначениеОбъектаМетаданных( - ОписаниеОбъектаМетаданных, - Менеджер, + ОписаниеОбъектаМетаданных, + Менеджер, ЗначенияРеквизитовОбъекта, ПараметрыСозданияОбъектовМетаданных ); КешЗначений[Менеджер].Вставить(ЗначениеИсточника, ЗначениеРеквизита); - - КонецЕсли; - - КонецЕсли; + + КонецЕсли; + + КонецЕсли; Иначе - ЗначениеРеквизита = Неопределено; + ЗначениеРеквизита = Неопределено; КонецЕсли; @@ -454,27 +452,27 @@ Функция ЗначениеОбъектаМетаданных(ОписаниеОбъектаМетаданных, Менеджер, ЗначенияРеквизитов, Параметры) - Если Метаданные.Перечисления.Найти(ОписаниеОбъектаМетаданных.Имя) <> Неопределено Тогда + Если Метаданные.Перечисления.Найти(ОписаниеОбъектаМетаданных.Имя) <> Неопределено Тогда Значение = Менеджер[ЗначенияРеквизитов.Значение]; - Иначе + Иначе - КонструкторОбъекта = ЮТест.Данные().КонструкторОбъекта(Менеджер); + КонструкторОбъекта = ЮТест.Данные().КонструкторОбъекта(Менеджер); Для Каждого ДанныеЗначения Из ЗначенияРеквизитов Цикл - КонструкторОбъекта.Установить(ДанныеЗначения.Ключ, ДанныеЗначения.Значение); - КонецЦикла; + КонструкторОбъекта.Установить(ДанныеЗначения.Ключ, ДанныеЗначения.Значение); + КонецЦикла; Если Параметры.ФикцияОбязательныхПолей Тогда - КонструкторОбъекта.ФикцияОбязательныхПолей(); + КонструкторОбъекта.ФикцияОбязательныхПолей(); КонецЕсли; - + Значение = КонструкторОбъекта.Записать(, Параметры.ОбменДаннымиЗагрузка); - + КонецЕсли; - + Возврат Значение; - + КонецФункции Функция ПривестиЗначение(ОписаниеТипа, Значение) @@ -482,8 +480,8 @@ Если ОписаниеТипа.СодержитТип(Тип("Дата")) Тогда Результат = ПривестиЗначениеКДате(ОписаниеТипа, Значение); ИначеЕсли ОписаниеТипа.СодержитТип(Тип("Число")) Тогда - Результат = ПривестиЗначениеКЧислу(ОписаниеТипа, Значение); - Иначе + Результат = ПривестиЗначениеКЧислу(ОписаниеТипа, Значение); + Иначе Результат = ОписаниеТипа.ПривестиЗначение(Значение); КонецЕсли; @@ -509,7 +507,7 @@ Если ЗначениеЗаполнено(СтрокаДаты) Тогда Прервать; КонецЕсли; - + МассивЧастейДат = СтрРазделить(Значение, Разделитель); Если МассивЧастейДат.Количество() = 3 Тогда Если СтрДлина(МассивЧастейДат[2]) = 4 Тогда @@ -517,12 +515,12 @@ ИначеЕсли СтрДлина(МассивЧастейДат[0]) = 4 Тогда СтрокаДаты = МассивЧастейДат[0] + МассивЧастейДат[1] + МассивЧастейДат[2]; Иначе - СтрокаДаты = "20" + МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0]; + СтрокаДаты = "20" + МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0]; КонецЕсли; КонецЕсли; - + КонецЦикла; - + Результат = ОписаниеТипа.ПривестиЗначение(СтрокаДаты); Возврат Результат; @@ -535,7 +533,7 @@ Если ЗначениеЗаполнено(Результат) Тогда Возврат Результат; КонецЕсли; - + Значение = СтрЗаменить(Значение, " ", ""); Результат = ОписаниеТипа.ПривестиЗначение(Значение); diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl index a7d56aca..b56a010d 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl @@ -123,7 +123,7 @@ ЗаменяемыеПодстроки = Новый Соответствие; ЗаменяемыеПодстроки.Вставить(".", "_tchk_"); - + Возврат ЗаменяемыеПодстроки; КонецФункции diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index 7228e2ea..386e5148 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -87,6 +87,7 @@ CommonModule.ЮТПодражательСлужебный CommonModule.ЮТПредикаты CommonModule.ЮТПредикатыКлиентСервер + CommonModule.ЮТПреобразования CommonModule.ЮТРасширения CommonModule.ЮТРегистрацияОшибок CommonModule.ЮТСобытия