mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-13 19:42:02 +02:00
Исправлена ошибка использования мокируемых методов в обработчиках событий Оптимизация работы с типами
This commit is contained in:
parent
533d51d81b
commit
e19943052a
@ -20,7 +20,9 @@
|
||||
|
||||
Функция Включен() Экспорт
|
||||
|
||||
Возврат ЮТКонтекст.ДанныеКонтекста() <> Неопределено;
|
||||
ДанныеКонтекста = ЮТКонтекст.ДанныеКонтекста();
|
||||
Настройки = Неопределено;
|
||||
Возврат ДанныеКонтекста <> Неопределено И ДанныеКонтекста.Свойство(КлючНастроек(), Настройки) И Настройки <> Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -38,7 +40,7 @@
|
||||
// см. НовыеНастройки
|
||||
Функция Настройки() Экспорт
|
||||
|
||||
Настройки = ЮТКонтекст.ЗначениеКонтекста(КлючНастроек());
|
||||
Настройки = ЮТКонтекст.ЗначениеКонтекста(КлючНастроек());
|
||||
|
||||
Если Настройки = Неопределено Тогда
|
||||
ВызватьИсключение "Что-то пошло не так, настройки Мокито не инициализированы";
|
||||
@ -268,7 +270,12 @@
|
||||
|
||||
Если ПараметрыПерехватаОбъекта = Неопределено Тогда
|
||||
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоТипОбъектаОбработкиОтчета(ТипЗначения) Или ЮТТипыДанныхСлужебный.ЭтоТипНабораЗаписей(ТипЗначения) Тогда
|
||||
|
||||
Менеджер = ЮТОбщий.Менеджер(ТипЗначения);
|
||||
ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер];
|
||||
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда
|
||||
|
||||
ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ.Ссылка];
|
||||
|
||||
@ -279,16 +286,6 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипНабораЗаписей(ТипЗначения) Тогда
|
||||
|
||||
Менеджер = ЮТОбщий.Менеджер(ТипЗначения);
|
||||
ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер];
|
||||
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипОбработкиОтчета(ТипЗначения) Тогда
|
||||
|
||||
Менеджер = ЮТОбщий.Менеджер(ТипЗначения);
|
||||
ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
@ -338,7 +335,7 @@
|
||||
// * Объект - Произвольный - Объект
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание параметров перехвата объекта:
|
||||
// Структура - Описание параметров перехвата объекта:
|
||||
// * Объект - Произвольный
|
||||
// * Методы - Структура -
|
||||
Функция ОписаниеПараметровПерехватаОбъекта(Объект) Экспорт
|
||||
|
@ -23,14 +23,7 @@
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ПредставлениеТипа");
|
||||
#Иначе
|
||||
//@skip-check Undefined variable
|
||||
ТипXML = СериализаторXDTO.XMLТип(Тип);
|
||||
|
||||
Если ТипXML = Неопределено Тогда
|
||||
Возврат Строка(Тип);
|
||||
Иначе
|
||||
Возврат ТипXML.ИмяТипа;
|
||||
КонецЕсли;
|
||||
Возврат ИдентификаторТипа(Тип);
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
@ -39,18 +32,20 @@
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ПредставлениеТипа");
|
||||
#ИначеЕсли Сервер Тогда
|
||||
Возврат ЗначениеВСтрокуВнутр(Тип); // Не все серверные типы сериализуются через СериализаторXDTO
|
||||
#Иначе
|
||||
Попытка
|
||||
Запись = Новый ЗаписьJSON();
|
||||
Запись.УстановитьСтроку();
|
||||
СериализаторXDTO.ЗаписатьJSON(Запись, Тип);
|
||||
Возврат Запись.Закрыть();
|
||||
Исключение
|
||||
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось определить идентификатор типа для `%1`", Тип));
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
ЮТПроверкиСлужебный.ПроверитьТипПараметра(Тип, Тип("Тип"), "ЮТТипыДанныхСлужебный.ИдентификаторТипа", "Тип");
|
||||
|
||||
Если Тип = Тип("Дата") Тогда
|
||||
ИдентификаторТипа = "date";
|
||||
ИначеЕсли Тип = Тип("Число") Тогда
|
||||
ИдентификаторТипа = "number";
|
||||
Иначе
|
||||
//@skip-check Undefined variable
|
||||
ИмяТипаСПространствомИмен = СериализаторXDTO.ЗаписатьXDTO(Тип).ЛексическоеЗначение;
|
||||
ИдентификаторТипа = СтрРазделить(ИмяТипаСПространствомИмен, "}")[1];
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИдентификаторТипа;
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
@ -59,30 +54,8 @@
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ПредставлениеТипа");
|
||||
#ИначеЕсли Сервер Тогда
|
||||
Если СтрНачинаетсяС(ИдентификаторТипа, "{") Тогда
|
||||
Возврат ЗначениеИзСтрокиВнутр(ИдентификаторТипа);
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
Возврат ТипПоПредставлению(ИдентификаторТипа);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипПоПредставлению(ПредставлениеТипа) Экспорт
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ТипПоПредставлению");
|
||||
#Иначе
|
||||
Чтение = Новый ЧтениеJSON();
|
||||
Чтение.УстановитьСтроку(ПредставлениеТипа);
|
||||
Результат = СериализаторXDTO.ПрочитатьJSON(Чтение, Тип("Тип"));
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
ВызватьИсключение СтрШаблон("Не удалось определить тип по представлению `%1`", ПредставлениеТипа);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
Возврат Тип(ИдентификаторТипа);
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
@ -93,48 +66,38 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоМенеджерЗаписи(Тип) Экспорт
|
||||
Функция ЭтоМенеджерЗаписи(ТипЗначения) Экспорт
|
||||
|
||||
ПредставлениеТипа = ПредставлениеТипа(Тип);
|
||||
СтрокаПоиска = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "менеджер записи:");
|
||||
|
||||
Возврат СтрНайти(ПредставлениеТипа, СтрокаПоиска);
|
||||
ПредставлениеТипа = ПредставлениеТипа(ТипЗначения);
|
||||
Возврат СтрНайти(ПредставлениеТипа, "RecordManager.") > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипОбъекта(ТипЗначения) Экспорт
|
||||
|
||||
ПредставлениеТипа = ПредставлениеТипа(ТипЗначения);
|
||||
|
||||
Возврат СтрНайти(ПредставлениеТипа, "Object.");
|
||||
Возврат СтрНайти(ПредставлениеТипа, "Object.") > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипНабораЗаписей(ТипЗначения) Экспорт
|
||||
|
||||
ПредставлениеТипа = ПредставлениеТипа(ТипЗначения);
|
||||
|
||||
Возврат СтрНайти(ПредставлениеТипа, "RecordSet.");
|
||||
Возврат СтрНайти(ПредставлениеТипа, "RecordSet.") > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипОбработкиОтчета(ТипЗначения) Экспорт
|
||||
Функция ЭтоТипОбъектаОбработкиОтчета(ТипЗначения) Экспорт
|
||||
|
||||
ПредставлениеТипа = ПредставлениеТипа(ТипЗначения);
|
||||
СтрокаОбработка = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "Обработка объект:");
|
||||
СтрокаОтчет = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "Отчет объект:");
|
||||
|
||||
Возврат СтрНайти(ПредставлениеТипа, СтрокаОбработка) > 0 ИЛИ СтрНайти(ПредставлениеТипа, СтрокаОтчет) > 0;
|
||||
Возврат СтрНачинаетсяС(ПредставлениеТипа, "DataProcessorObject") Или СтрНачинаетсяС(ПредставлениеТипа, "ReportObject");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипМенеджера(ТипЗначения) Экспорт
|
||||
|
||||
// TODO придумать другой способ определения типа
|
||||
ПредставлениеТипа = ПредставлениеТипа(ТипЗначения);
|
||||
|
||||
СтрокаПоиска = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), " manager:", " менеджер:");
|
||||
Возврат СтрНайти(ПредставлениеТипа, СтрокаПоиска) > 0;
|
||||
Возврат СтрНайти(ПредставлениеТипа, "Manager.") > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -43,6 +43,11 @@
|
||||
КонецЕсли;
|
||||
|
||||
Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь.Имя);
|
||||
|
||||
Если Владелец.Пустая() Тогда
|
||||
Владелец = Справочники.Пользователи.ПустойПользователь;
|
||||
КонецЕсли;
|
||||
|
||||
Объект.Владелец = Владелец;
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -23,7 +23,7 @@
|
||||
<name>PredefinedDataName</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -33,7 +33,7 @@
|
||||
<name>Predefined</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -43,7 +43,7 @@
|
||||
<name>Ref</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -53,7 +53,7 @@
|
||||
<name>DeletionMark</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -63,7 +63,7 @@
|
||||
<name>IsFolder</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -75,7 +75,7 @@
|
||||
<fillFromFillingValue>true</fillFromFillingValue>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -86,7 +86,7 @@
|
||||
<comment></comment>
|
||||
<fillFromFillingValue>true</fillFromFillingValue>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -101,7 +101,7 @@
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -111,14 +111,14 @@
|
||||
<name>Code</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<levelCount>2</levelCount>
|
||||
<foldersOnTop>true</foldersOnTop>
|
||||
@ -129,6 +129,15 @@
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultPresentation>AsDescription</defaultPresentation>
|
||||
<predefined>
|
||||
<items id="bf9313f1-f2b0-4fb4-a97a-aabef9e25a2e">
|
||||
<name>ПустойПользователь</name>
|
||||
<description>Пустой пользователь</description>
|
||||
<code xsi:type="core:StringValue">
|
||||
<value>0000000000000000000000001</value>
|
||||
</code>
|
||||
</items>
|
||||
</predefined>
|
||||
<editType>InDialog</editType>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
<defaultObjectForm>Catalog.Пользователи.Form.ФормаЭлемента</defaultObjectForm>
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
ЮТТесты
|
||||
.ДобавитьТест("ВыброситьИсключение")
|
||||
.ДобавитьСерверныйТест("ФормированиеТипыПерехватываемыхОбъектов")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -45,4 +46,39 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Если Сервер Тогда
|
||||
Процедура ФормированиеТипыПерехватываемыхОбъектов() Экспорт
|
||||
|
||||
Мокито.Обучение(Обработки.АдминистративныйСервис);
|
||||
|
||||
ЮТест.ОжидаетЧто(МокитоСлужебный.Настройки(), "Обработка менеджер") // Проверка сформированных настроек
|
||||
.Свойство("Перехват").ИмеетСвойство(Обработки.АдминистративныйСервис)
|
||||
.Свойство("ТипыПерехватываемыхОбъектов")
|
||||
.ИмеетДлину(2)
|
||||
.ИмеетСвойство(Тип("ОбработкаМенеджер.АдминистративныйСервис"))
|
||||
.ИмеетСвойство(Тип("ОбработкаОбъект.АдминистративныйСервис"));
|
||||
|
||||
Мокито.Сбросить();
|
||||
Мокито.Обучение(Справочники.Банки.ПустаяСсылка());
|
||||
|
||||
ЮТест.ОжидаетЧто(МокитоСлужебный.Настройки(), "Ссылка") // Проверка сформированных настроек
|
||||
.Свойство("Перехват").ИмеетСвойство(Справочники.Банки.ПустаяСсылка())
|
||||
.Свойство("ТипыПерехватываемыхОбъектов")
|
||||
.ИмеетДлину(2)
|
||||
.ИмеетСвойство(Тип("СправочникСсылка.Банки"))
|
||||
.ИмеетСвойство(Тип("СправочникОбъект.Банки"));
|
||||
|
||||
Мокито.Сбросить();
|
||||
Мокито.Обучение(РегистрыНакопления.Взаиморасчеты);
|
||||
|
||||
ЮТест.ОжидаетЧто(МокитоСлужебный.Настройки(), "Регистр") // Проверка сформированных настроек
|
||||
.Свойство("Перехват").ИмеетСвойство(РегистрыНакопления.Взаиморасчеты)
|
||||
.Свойство("ТипыПерехватываемыхОбъектов")
|
||||
.ИмеетДлину(2)
|
||||
.ИмеетСвойство(Тип("РегистрНакопленияНаборЗаписей.Взаиморасчеты"))
|
||||
.ИмеетСвойство(Тип("РегистрНакопленияМенеджер.Взаиморасчеты"));
|
||||
|
||||
КонецПроцедуры
|
||||
#КонецЕсли
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -23,6 +23,7 @@
|
||||
ЮТТесты.ВТранзакции().УдалениеТестовыхДанных()
|
||||
.ДобавитьТест("ЗаполнитьСправочник")
|
||||
.ДобавитьТест("ЗаполнитьДокумент")
|
||||
.ДобавитьТест("СоздатьЗаписьРегистраСведений")
|
||||
.ДобавитьТест("Фикция")
|
||||
.ДобавитьТест("Фикция_Типизированная")
|
||||
.ДобавитьТест("ФикцияОбязательныхПолей")
|
||||
@ -122,6 +123,20 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьЗаписьРегистраСведений() Экспорт
|
||||
|
||||
Результат = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют")
|
||||
.Фикция("Валюта")
|
||||
.Фикция("Курс")
|
||||
.Установить("Период", ТекущаяДата())
|
||||
.Записать();
|
||||
|
||||
ЮТест.ОжидаетЧто(Результат)
|
||||
.ИмеетТип(Тип("РегистрСведенийКлючЗаписи.КурсыВалют"))
|
||||
.Заполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Фикция() Экспорт
|
||||
|
||||
Поставщик = Ютест.Данные().СоздатьЭлемент("Справочники.Контрагенты");
|
||||
|
@ -39,7 +39,25 @@
|
||||
.ДобавитьТест("ЭтоКоллекцияПримитивныхТипов")
|
||||
.СПараметрами(ЮТОбщий.ЗначениеВМассиве(Тип("Строка"), Тип("Дата")), Истина)
|
||||
.СПараметрами(ЮТОбщий.ЗначениеВМассиве(Тип("Строка"), Тип("Дата"), Тип("ПеречислениеСсылка.PushУведомления")), Ложь)
|
||||
|
||||
.ДобавитьТест("ИдентификаторТипа")
|
||||
.СПараметрами("Дата")
|
||||
.СПараметрами("Строка")
|
||||
.СПараметрами("Число")
|
||||
.СПараметрами("Булево")
|
||||
.СПараметрами("Неопределено")
|
||||
.СПараметрами("Null")
|
||||
.СПараметрами("УникальныйИдентификатор")
|
||||
.СПараметрами("ВидДвиженияБухгалтерии")
|
||||
.СПараметрами("HTTPЗапрос")
|
||||
.СПараметрами("ТабличныйДокумент")
|
||||
.СПараметрами("ХранилищеЗначения")
|
||||
.СПараметрами("ПеречислениеСсылка.PushУведомления")
|
||||
.ДобавитьСерверныйТест("ИдентификаторТипа")
|
||||
.СПараметрами("СправочникМенеджер.Банки")
|
||||
.СПараметрами("СхемаКомпоновкиДанных")
|
||||
.СПараметрами("HTTPСервисЗапрос")
|
||||
.СПараметрами("ОбъектXDTO")
|
||||
.СПараметрами("ОбъектМетаданных")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -48,7 +66,6 @@
|
||||
|
||||
ЮТест.ОжидаетЧто(ЮТТипыДанныхСлужебный.ЭтоСистемноеПеречисление(Тип))
|
||||
.Равно(ОжидаемыйРезультат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ТипыСистемныхПеречислений() Экспорт
|
||||
@ -82,6 +99,18 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ИдентификаторТипа(ИмяТипа) Экспорт
|
||||
|
||||
Тип = Тип(ИмяТипа);
|
||||
Результат = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Тип(ИмяТипа));
|
||||
ЮТест.ОжидаетЧто(Результат)
|
||||
.Заполнено();
|
||||
|
||||
ЮТест.ОжидаетЧто(Тип(Результат))
|
||||
.Равно(Тип);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -5,5 +5,7 @@
|
||||
<key>ru</key>
|
||||
<value>Типы данных служебный</value>
|
||||
</synonym>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
||||
|
Loading…
x
Reference in New Issue
Block a user