From 8ac12c1ca1adb3dd0a9e721b23f9f54f1bdba703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D1=8E=D0=B1=D0=B0=D0=BD=D0=B5=D0=B2=D0=B8=D1=87=20?= =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Wed, 9 Aug 2023 11:08:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=D0=BF=D1=80=D0=B8=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=BA=20=D1=82=D0=B8=D0=BF=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl | 68 ++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl index 4e4bd327..d76e3f58 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl @@ -106,7 +106,7 @@ Иначе - ЗначениеТаблицы = ОписаниеТипа.ПривестиЗначение(ЗначениеИсточника); + ЗначениеТаблицы = ПривестиЗначение(ОписаниеТипа, ЗначениеИсточника); КонецЕсли; @@ -427,4 +427,70 @@ КонецФункции +Функция ПривестиЗначение(ОписаниеТипа, Значение) + + Если ОписаниеТипа.СодержитТип(Тип("Дата")) Тогда + Результат = ПривестиЗначениеКДате(ОписаниеТипа, Значение); + ИначеЕсли ОписаниеТипа.СодержитТип(Тип("Число")) Тогда + Результат = ПривестиЗначениеКЧислу(ОписаниеТипа, Значение); + Иначе + Результат = ОписаниеТипа.ПривестиЗначение(Значение); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +Функция ПривестиЗначениеКДате(ОписаниеТипа, Знач Значение) + + Результат = ОписаниеТипа.ПривестиЗначение(Значение); + Если ЗначениеЗаполнено(Результат) Тогда + Возврат Результат; + КонецЕсли; + + МассивРазделителей = Новый Массив; + МассивРазделителей.Добавить("."); + МассивРазделителей.Добавить("/"); + МассивРазделителей.Добавить("-"); + + СтрокаДаты = Неопределено; + Для Каждого Разделитель Из МассивРазделителей Цикл + + Если ЗначениеЗаполнено(СтрокаДаты) Тогда + Прервать; + КонецЕсли; + + МассивЧастейДат = СтрРазделить(Значение, Разделитель); + Если МассивЧастейДат.Количество() = 3 Тогда + Если СтрДлина(МассивЧастейДат[2]) = 4 Тогда + СтрокаДаты = МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0]; + ИначеЕсли СтрДлина(МассивЧастейДат[0]) = 4 Тогда + СтрокаДаты = МассивЧастейДат[0] + МассивЧастейДат[1] + МассивЧастейДат[2]; + Иначе + СтрокаДаты = "20" + МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0]; + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + Результат = ОписаниеТипа.ПривестиЗначение(СтрокаДаты); + + Возврат Результат; + +КонецФункции + +Функция ПривестиЗначениеКЧислу(ОписаниеТипа, Знач Значение) + + Результат = ОписаниеТипа.ПривестиЗначение(Значение); + Если ЗначениеЗаполнено(Результат) Тогда + Возврат Результат; + КонецЕсли; + + Значение = СтрЗаменить(Значение, " ", ""); + Результат = ОписаниеТипа.ПривестиЗначение(Значение); + + Возврат Результат; + +КонецФункции + #КонецОбласти