1565 lines
85 KiB
Plaintext
1565 lines
85 KiB
Plaintext
#Область ПрограммныйИнтерфейс
|
||
|
||
// Получает текущую дату сервера, приведенную к часовому поясу сеанса.
|
||
// Предназначена для использования вместо функции ТекущаяДатаСеанса.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Дата - текущая дата сеанса.
|
||
//
|
||
Функция ДатаСеанса() Экспорт
|
||
#Если МобильноеПриложениеСервер Тогда
|
||
// BSLLS:DeprecatedCurrentDate-off
|
||
//@skip-check use-non-recommended-method
|
||
Возврат ТекущаяДата(); // АПК: 143 особенность мобильного приложения
|
||
// BSLLS:DeprecatedCurrentDate-on
|
||
#Иначе
|
||
Возврат ТекущаяДатаСеанса();
|
||
#КонецЕсли
|
||
КонецФункции
|
||
|
||
#Область РаботаСXML
|
||
|
||
// Функция читает корневой элемент XML.
|
||
//
|
||
// Параметры:
|
||
// СтрокаXML - Строка - XML строка.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура
|
||
//
|
||
Функция ПрочитатьКорневойЭлементXML(СтрокаXML) Экспорт
|
||
|
||
Результат = Новый Структура();
|
||
Если Не ПустаяСтрока(СтрокаXML) Тогда
|
||
ЧтениеXML = Новый ЧтениеXML;
|
||
ЧтениеXML.УстановитьСтроку(СтрокаXML);
|
||
ЧтениеXML.ПерейтиКСодержимому();
|
||
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
|
||
Если ЧтениеXML.КоличествоАтрибутов() > 0 Тогда
|
||
Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
|
||
Результат.Вставить(ЧтениеXML.Имя, ЧтениеXML.Значение);
|
||
КонецЦикла
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныйПрограммныйИнтерфейс
|
||
|
||
// Функция возвращает Истина, если внедрена Библиотека стандартных подсистем
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
Функция ИспользуетсяБСП() Экспорт
|
||
|
||
// Вызов БСП
|
||
СтандартныеПодсистемы = Метаданные.Подсистемы.Найти("СтандартныеПодсистемы");
|
||
Если СтандартныеПодсистемы = Неопределено Тогда
|
||
Возврат Ложь;
|
||
КонецЕсли;
|
||
Возврат СтандартныеПодсистемы.Подсистемы.Найти("БазоваяФункциональность") <> Неопределено;
|
||
// Конец Вызов БСП
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает установленную версию БСП, если БСП не установлена тогда
|
||
// возвращает "0.0.0.0"
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка
|
||
Функция ВерсияБСП() Экспорт
|
||
|
||
Версия = "0.0.0.0";
|
||
|
||
// Вызов БСП
|
||
Если ИспользуетсяБСП() Тогда
|
||
МодульСтандартныеПодсистемыСервер = ОбщийМодуль("СтандартныеПодсистемыСервер");
|
||
Если МодульСтандартныеПодсистемыСервер <> Неопределено Тогда
|
||
Версия = МодульСтандартныеПодсистемыСервер.ВерсияБиблиотеки();
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
// Конец Вызов БСП
|
||
|
||
Возврат Версия;
|
||
|
||
КонецФункции
|
||
|
||
#Область ОповещениеПользователя
|
||
|
||
// Формирует и выводит сообщение, которое может быть связано с элементом управления формы.
|
||
//
|
||
// Параметры:
|
||
// ТекстСообщенияПользователю - Строка - текст сообщения.
|
||
// КлючДанных - ЛюбаяСсылка - объект или ключ записи информационной базы, к которому это сообщение относится.
|
||
// Поле - Строка - наименование реквизита формы.
|
||
// ПутьКДанным - Строка - путь к данным (путь к реквизиту формы).
|
||
// Отказ - Булево - выходной параметр, всегда устанавливается в значение Истина.
|
||
//@skip-check method-too-many-params
|
||
Процедура СообщитьПользователю(Знач ТекстСообщенияПользователю, Знач КлючДанных = Неопределено, Знач Поле = "",
|
||
Знач ПутьКДанным = "", Отказ = Ложь) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
ОбщегоНазначенияМодуль.СообщитьПользователю(ТекстСообщенияПользователю, КлючДанных, Поле, ПутьКДанным, Отказ);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
СообщитьПользователюБПО(ТекстСообщенияПользователю, КлючДанных, Поле, ПутьКДанным, Отказ);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
// Формирует запись ошибки в журнал регистрации.
|
||
//
|
||
// Параметры:
|
||
// ИмяСобытия - Строка
|
||
// Комментарий - Строка, Неопределено -
|
||
// Метаданные - ОбъектМетаданных -
|
||
//
|
||
Процедура ЗаписатьОшибкуВЖурналРегистрации(ИмяСобытия, Комментарий = Неопределено, ПредставлениеУровня = "Ошибка", Метаданные = Неопределено) Экспорт
|
||
|
||
#Если МобильноеПриложениеСервер Тогда
|
||
ОбщегоНазначенияБПОПереопределяемый.ЗаписатьОшибкуВМобильномПриложении(ИмяСобытия, ПредставлениеУровня, Метаданные, Комментарий);
|
||
#Иначе
|
||
Если Комментарий = Неопределено Тогда
|
||
Комментарий = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
|
||
КонецЕсли;
|
||
Уровень = УровеньСобытияПоПредставлению(ПредставлениеУровня);
|
||
ЗаписьЖурналаРегистрации(ИмяСобытия, Уровень, Метаданные, ,Комментарий);
|
||
#КонецЕсли
|
||
|
||
КонецПроцедуры
|
||
|
||
// Возвращает структуру, содержащую значения реквизитов прочитанные из информационной базы
|
||
// по ссылке на объект.
|
||
//
|
||
// Если доступа к одному из реквизитов нет, возникнет исключение прав доступа.
|
||
// Если необходимо зачитать реквизит независимо от прав текущего пользователя,
|
||
// то следует использовать предварительный переход в привилегированный режим.
|
||
//
|
||
// Функция не предназначена для получения значений реквизитов пустых ссылок.
|
||
//
|
||
// Параметры:
|
||
// Ссылка - ЛюбаяСсылка - объект, значения реквизитов которого необходимо получить.
|
||
//
|
||
// Реквизиты - Строка - имена реквизитов, перечисленные через запятую, в формате
|
||
// требований к свойствам структуры.
|
||
// Например, "Код, Наименование, Родитель".
|
||
// - Структура, ФиксированнаяСтруктура - в качестве ключа передается
|
||
// псевдоним поля для возвращаемой структуры с результатом, а в качестве
|
||
// значения (опционально) фактическое имя поля в таблице.
|
||
// Если значение не определено, то имя поля берется из ключа.
|
||
// - Массив из Строка
|
||
// - ФиксированныйМассив из Строка - имена реквизитов в формате требований
|
||
// к свойствам структуры.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - содержит имена (ключи) и значения затребованных реквизитов.
|
||
// Если строка затребованных реквизитов пуста, то возвращается пустая структура.
|
||
// Если в качестве объекта передана пустая ссылка, то все реквизиты вернутся со значением Неопределено.
|
||
//
|
||
Функция ЗначенияРеквизитовОбъекта(Ссылка, Знач Реквизиты) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.ЗначенияРеквизитовОбъекта(Ссылка, Реквизиты);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Возврат ЗначенияРеквизитовОбъектаБПО(Ссылка, Реквизиты);
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает значение реквизита, прочитанного из информационной базы по ссылке на объект.
|
||
//
|
||
// Если доступа к реквизиту нет, возникнет исключение прав доступа.
|
||
// Если необходимо зачитать реквизит независимо от прав текущего пользователя,
|
||
// то следует использовать предварительный переход в привилегированный режим.
|
||
//
|
||
// Функция не предназначена для получения значений реквизитов пустых ссылок.
|
||
//
|
||
// Параметры:
|
||
// Ссылка - ЛюбаяСсылка - элемент справочника, документ, ...
|
||
// ИмяРеквизита - Строка -например, "Код".
|
||
//
|
||
// Возвращаемое значение:
|
||
// Произвольный - зависит от типа значения прочитанного реквизита.
|
||
//
|
||
Функция ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита) Экспорт
|
||
|
||
Результат = ЗначенияРеквизитовОбъекта(Ссылка, ИмяРеквизита);
|
||
Возврат Результат[СтрЗаменить(ИмяРеквизита, ".", "")];
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает код основного языка конфигурации, например "ru".
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - код языка.
|
||
//
|
||
Функция КодОсновногоЯзыка() Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.КодОсновногоЯзыка();
|
||
// Конец Вызов БСП
|
||
|
||
КонецЕсли;
|
||
|
||
Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
|
||
|
||
КонецФункции
|
||
|
||
// Определяет режим эксплуатации информационной базы файловый (Истина) или серверный (Ложь).
|
||
// При проверке используется СтрокаСоединенияИнформационнойБазы, которую можно указать явно.
|
||
//
|
||
// Параметры:
|
||
// СтрокаСоединенияИнформационнойБазы - Строка - параметр используется, если
|
||
// нужно проверить строку соединения не текущей информационной базы.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИнформационнаяБазаФайловая(Знач СтрокаСоединенияИнформационнойБазы = "") Экспорт
|
||
|
||
Если ПустаяСтрока(СтрокаСоединенияИнформационнойБазы) Тогда
|
||
СтрокаСоединенияИнформационнойБазы = СтрокаСоединенияИнформационнойБазы();
|
||
КонецЕсли;
|
||
Возврат СтрНайти(ВРег(СтрокаСоединенияИнформационнойБазы), "FILE=") = 1;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если эта информационная база подключена к 1С:Fresh.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - признак автономного рабочего места.
|
||
//
|
||
Функция ЭтоАвтономноеРабочееМесто() Экспорт
|
||
|
||
// Вызов БСП
|
||
Если ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда
|
||
МодульОбменДаннымиСервер = ОбщийМодуль("ОбменДаннымиСервер");
|
||
Возврат МодульОбменДаннымиСервер.ЭтоАвтономноеРабочееМесто();
|
||
КонецЕсли;
|
||
// Конец Вызов БСП
|
||
|
||
Возврат Ложь;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если приложение запущено через веб-клиент
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - признак веб клиента.
|
||
//
|
||
Функция ЭтоВебКлиент() Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.ЭтоВебКлиент();
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Возврат Ложь;
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если мобильное приложение или мобильный клиент
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - признак мобильной платформы.
|
||
//
|
||
Функция ЭтоМобильнаяПлатформа() Экспорт
|
||
|
||
ТипПриложения = КлиентскоеПриложение.ТипПриложения();
|
||
МобильнаяПлатформа = ТипПриложения = ТипКлиентскогоПриложения.МобильноеПриложениеКлиент Или ТипПриложения = ТипКлиентскогоПриложения.МобильныйКлиент;
|
||
|
||
Возврат МобильнаяПлатформа;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает признак работы в режиме разделения данных по областям
|
||
// (технически это признак условного разделения).
|
||
//
|
||
// Возвращает Ложь, если конфигурация не может работать в режиме разделения данных
|
||
// (не содержит общих реквизитов, предназначенных для разделения данных).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - Истина, если разделение включено,
|
||
// Ложь, если разделение выключено или не поддерживается.
|
||
//
|
||
Функция РазделениеВключено() Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.РазделениеВключено();
|
||
// Конец Вызов БСП
|
||
|
||
КонецЕсли;
|
||
|
||
Возврат Ложь;
|
||
|
||
КонецФункции
|
||
|
||
Функция ИмяКомпьютераКлиента() Экспорт
|
||
#Если НЕ МобильноеПриложениеСервер Тогда
|
||
Возврат ПолучитьТекущийСеансИнформационнойБазы().ИмяКомпьютера;
|
||
#Иначе
|
||
Возврат "";
|
||
#КонецЕсли
|
||
КонецФункции
|
||
|
||
|
||
// Возвращает признак возможности обращения к разделенным данным (которые входят в состав разделителей).
|
||
// Признак относится к сеансу, но может меняться во время работы сеанса, если разделение было включено
|
||
// в самом сеансе, поэтому проверку следует делать непосредственно перед обращением к разделенным данным.
|
||
//
|
||
// Возвращает Истина, если конфигурация не может работать в режиме разделения данных
|
||
// (не содержит общих реквизитов, предназначенных для разделения данных).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - Истина, если разделение не поддерживается, либо разделение выключено,
|
||
// либо разделение включено и разделители установлены.
|
||
// Ложь, если разделение включено и разделители не установлены.
|
||
//
|
||
Функция ДоступноИспользованиеРазделенныхДанных() Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.ДоступноИспользованиеРазделенныхДанных();
|
||
// Конец Вызов БСП
|
||
|
||
КонецЕсли;
|
||
|
||
Возврат Истина;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если "функциональная" подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// У "функциональной" подсистемы снят флажок "Включать в командный интерфейс".
|
||
//
|
||
// Параметры:
|
||
// ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема
|
||
// без слов "Подсистема." и с учетом регистра символов.
|
||
// Например: "СтандартныеПодсистемы.ВариантыОтчетов".
|
||
//
|
||
// Пример:
|
||
//
|
||
// Если ОбщегоНазначенияБПО.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
|
||
// МодульВариантыОтчетов = ОбщегоНазначенияБПО.ОбщийМодуль("ВариантыОтчетов");
|
||
// МодульВариантыОтчетов.<Имя метода>();
|
||
// КонецЕсли;
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ПодсистемаСуществует(ПолноеИмяПодсистемы) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.ПодсистемаСуществует(ПолноеИмяПодсистемы);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
ИменаПодсистем = ОбщегоНазначенияБПОПовтИсп.ИменаПодсистем();
|
||
Возврат ИменаПодсистем.Получить(ПолноеИмяПодсистемы) <> Неопределено;
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает ссылку на общий модуль по имени.
|
||
//
|
||
// Параметры:
|
||
// Имя - Строка - имя общего модуля, например:
|
||
// "ОбщегоНазначения",
|
||
// "ОбщегоНазначенияКлиент".
|
||
//
|
||
// Возвращаемое значение:
|
||
// ОбщийМодуль.
|
||
//
|
||
Функция ОбщийМодуль(Имя) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодульБПО("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.ОбщийМодуль(Имя);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Возврат ОбщийМодульБПО(Имя);
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Выполняет действия перед продолжением выполнения обработчика регламентного задания.
|
||
//
|
||
// Например, проверяет возможность выполнения обработчика регламентного задания.
|
||
// Если администратор не заблокировал выполнение регламентных заданий до
|
||
// окончания обновления ИБ, тогда требуется прекратить выполнение обработчика.
|
||
//
|
||
// Параметры:
|
||
// РегламентноеЗадание - РегламентноеЗадание - регламентное задание,
|
||
// из которого был вызван данный метод. Необходимо передавать для проверки доступности
|
||
// по функциональным опциям.
|
||
//
|
||
Процедура ПриНачалеВыполненияРегламентногоЗадания(РегламентноеЗадание = Неопределено) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
ОбщегоНазначенияМодуль.ПриНачалеВыполненияРегламентногоЗадания(РегламентноеЗадание);
|
||
// Конец Вызов БСП
|
||
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
// Вычисляет контрольную сумму для произвольных данных по указанному алгоритму.
|
||
//
|
||
// Параметры:
|
||
// Данные - Произвольный - любое сериализуемое значение.
|
||
// Алгоритм - ХешФункция - алгоритм расчета контрольной суммы. По умолчанию, MD5.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - контрольная сумма строкой без пробелов (например 32 символа).
|
||
//
|
||
Функция КонтрольнаяСуммаСтрокой(Знач Данные, Знач Алгоритм = Неопределено) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.КонтрольнаяСуммаСтрокой(Данные, Алгоритм);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Возврат КонтрольнаяСуммаСтрокойБПО(Данные, Алгоритм);
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Преобразует таблицу значений в массив структур.
|
||
// Может использоваться для передачи на клиент данных в том случае, если таблица
|
||
// значений содержит только такие значения, которые могут
|
||
// быть переданы с сервера на клиент.
|
||
//
|
||
// Полученный массив содержит структуры, каждая из которых повторяет
|
||
// структуру колонок таблицы значений.
|
||
//
|
||
// Не рекомендуется использовать для преобразования таблиц значений
|
||
// с большим количеством строк.
|
||
//
|
||
// Параметры:
|
||
// ТаблицаЗначений - ТаблицаЗначений - исходная таблица значений.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Массив - коллекция строк таблицы в виде структур.
|
||
//
|
||
Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияМодуль = ОбщийМодуль("ОбщегоНазначения");
|
||
Возврат ОбщегоНазначенияМодуль.ТаблицаЗначенийВМассив(ТаблицаЗначений);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Массив = Новый Массив();
|
||
СтруктураСтрокой = "";
|
||
НужнаЗапятая = Ложь;
|
||
Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
|
||
Если НужнаЗапятая Тогда
|
||
СтруктураСтрокой = СтруктураСтрокой + ",";
|
||
КонецЕсли;
|
||
СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
|
||
НужнаЗапятая = Истина;
|
||
КонецЦикла;
|
||
Для Каждого Строка Из ТаблицаЗначений Цикл
|
||
НоваяСтрока = Новый Структура(СтруктураСтрокой);
|
||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
|
||
Массив.Добавить(НоваяСтрока);
|
||
КонецЦикла;
|
||
Возврат Массив;
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
// Проверяет, умещаются ли переданные табличные документы на страницу при печати.
|
||
//
|
||
// Параметры:
|
||
// ТабДокумент - ТабличныйДокумент - табличный документ.
|
||
// ВыводимыеОбласти - Массив из ТабличныйДокумент
|
||
// - ТабличныйДокумент - массив из проверяемых таблиц или табличный документ.
|
||
// РезультатПриОшибке - Булево - какой возвращать результат при возникновении ошибки.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - умещаются или нет переданные документы.
|
||
//
|
||
Функция ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти, РезультатПриОшибке = Истина) Экспорт
|
||
|
||
Попытка
|
||
Возврат ТабДокумент.ПроверитьВывод(ВыводимыеОбласти);
|
||
Исключение
|
||
Возврат РезультатПриОшибке;
|
||
КонецПопытки;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает структуру сформированную по регистру сведений
|
||
//
|
||
// Параметры:
|
||
// МетаданныеРегистрСведений - ОбъектМетаданныхРегистрСведений
|
||
// МассивХранилищ - Массив из Строка - куда будут записаны имена полей регистра сведений содержащие тип ХранилищеЗначений
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура
|
||
//
|
||
Функция СтруктураИзМетаданныхРегистраСведений(МетаданныеРегистрСведений, МассивХранилищ = Неопределено) Экспорт
|
||
|
||
Результат = Новый Структура();
|
||
Если ТипЗнч(МассивХранилищ) <> Тип("Массив") Тогда
|
||
МассивХранилищ = Новый Массив();
|
||
КонецЕсли;
|
||
Для Каждого Измерение Из МетаданныеРегистрСведений.Измерения Цикл
|
||
Результат.Вставить(Измерение.Имя);
|
||
КонецЦикла;
|
||
Для Каждого Ресурс Из МетаданныеРегистрСведений.Ресурсы Цикл
|
||
Если Ресурс.Тип.СодержитТип(Тип("ХранилищеЗначения")) Тогда
|
||
МассивХранилищ.Добавить(Ресурс.Имя);
|
||
Продолжить;
|
||
КонецЕсли;
|
||
Результат.Вставить(Ресурс.Имя);
|
||
КонецЦикла;
|
||
Для Каждого Реквизит Из МетаданныеРегистрСведений.Реквизиты Цикл
|
||
Если Реквизит.Тип.СодержитТип(Тип("ХранилищеЗначения")) Тогда
|
||
МассивХранилищ.Добавить(Реквизит.Имя);
|
||
Продолжить;
|
||
КонецЕсли;
|
||
Результат.Вставить(Реквизит.Имя);
|
||
КонецЦикла;
|
||
Возврат Результат;
|
||
|
||
КонецФункции // СтруктураИзМетаданныхОбъекта()
|
||
|
||
#Область ИнтерфейсныйПроцедурыИФункции
|
||
|
||
// Установить свойства элемента управления
|
||
//
|
||
// Параметры:
|
||
// ЭлементУправления - ПолеФормы
|
||
//
|
||
Процедура ПодготовитьЭлементУправления(ЭлементУправления) Экспорт
|
||
|
||
ЭлементУправления.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх;
|
||
ЭлементУправления.ШрифтЗаголовка = ШрифтыСтиля.МелкийШрифтТекста;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
// Преобразует строку таблицы значений в структуру.
|
||
// Свойства структуры и их значения совпадают с колонками переданной строки.
|
||
//
|
||
// Параметры:
|
||
// СтрокаТаблицыЗначений - СтрокаТаблицыЗначений
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - преобразованная строка таблицы значений.
|
||
//
|
||
Функция СтрокаТаблицыЗначенийВСтруктуру(СтрокаТаблицыЗначений) Экспорт
|
||
|
||
Структура = Новый Структура;
|
||
Для каждого Колонка Из СтрокаТаблицыЗначений.Владелец().Колонки Цикл
|
||
Структура.Вставить(Колонка.Имя, СтрокаТаблицыЗначений[Колонка.Имя]);
|
||
КонецЦикла;
|
||
|
||
Возврат Структура;
|
||
|
||
КонецФункции
|
||
|
||
#Область Данные
|
||
|
||
// Создает полную копию структуры, соответствия, массива, списка или таблицы значений, рекурсивно,
|
||
// с учетом типов дочерних элементов. При этом содержимое значений объектных типов
|
||
// (СправочникОбъект, ДокументОбъект и т.п.) не копируются, а возвращаются ссылки на исходный объект.
|
||
//
|
||
// Параметры:
|
||
// Источник - Структура
|
||
// - ФиксированнаяСтруктура
|
||
// - Соответствие
|
||
// - ФиксированноеСоответствие
|
||
// - Массив
|
||
// - ФиксированныйМассив
|
||
// - СписокЗначений - объект, который необходимо скопировать.
|
||
// ФиксироватьДанные - Булево - если Истина - фиксировать, если Ложь - снять фиксацию.
|
||
// - Неопределено - не изменять.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура,
|
||
// ФиксированнаяСтруктура,
|
||
// Соответствие
|
||
// ФиксированноеСоответствие
|
||
// Массив
|
||
// ФиксированныйМассив
|
||
// СписокЗначений - копия объекта, переданного в параметре Источник.
|
||
//
|
||
Функция СкопироватьРекурсивно(Источник, ФиксироватьДанные = Неопределено) Экспорт
|
||
|
||
Перем Приемник;
|
||
|
||
ТипИсточника = ТипЗнч(Источник);
|
||
|
||
Если ТипИсточника = Тип("ТаблицаЗначений") Тогда
|
||
Возврат Источник.Скопировать();
|
||
КонецЕсли;
|
||
|
||
Если ТипИсточника = Тип("Структура")
|
||
Или ТипИсточника = Тип("ФиксированнаяСтруктура") Тогда
|
||
Приемник = СкопироватьСтруктуру(Источник, ФиксироватьДанные);
|
||
ИначеЕсли ТипИсточника = Тип("Соответствие")
|
||
Или ТипИсточника = Тип("ФиксированноеСоответствие") Тогда
|
||
Приемник = СкопироватьСоответствие(Источник, ФиксироватьДанные);
|
||
ИначеЕсли ТипИсточника = Тип("Массив")
|
||
Или ТипИсточника = Тип("ФиксированныйМассив") Тогда
|
||
Приемник = СкопироватьМассив(Источник, ФиксироватьДанные);
|
||
ИначеЕсли ТипИсточника = Тип("СписокЗначений") Тогда
|
||
Приемник = СкопироватьСписокЗначений(Источник, ФиксироватьДанные);
|
||
Иначе
|
||
Приемник = Источник;
|
||
КонецЕсли;
|
||
|
||
Возврат Приемник;
|
||
|
||
КонецФункции
|
||
|
||
// Приводит строковое значение к дате.
|
||
//
|
||
// Параметры:
|
||
// Значение - Строка - строковое значение, которое приводится к дате.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Дата - приведенное значение.
|
||
//
|
||
Функция СтрокаВДату(Знач Значение) Экспорт
|
||
|
||
Если ИспользуетсяБСП() Тогда
|
||
|
||
// Вызов БСП
|
||
ОбщегоНазначенияКлиентСерверМодуль = ОбщийМодуль("ОбщегоНазначенияКлиентСервер");
|
||
Возврат ОбщегоНазначенияКлиентСерверМодуль.СтрокаВДату(Значение);
|
||
// Конец Вызов БСП
|
||
|
||
Иначе
|
||
Возврат СтрокаВДатуБПО(Значение);
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#Область ДоступныеПодсистемы
|
||
|
||
// Возвращает Истина, если используется устройства ввода и эти подсистемы существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяУстройстваВвода() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.УстройстваВвода");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется устройства "Шаблоны магнитных карт" и эти подсистемы существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяШаблоныМагнитныхКарт() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.УстройстваВвода.ШаблоныМагнитныхКарт");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистемы фискальных устройств и эти подсистемы существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяЧекопечатающиеУстройства() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ЧекопечатающиеУстройства");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется "Кассовая смена" и эти подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяКассоваяСмена() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ЧекопечатающиеУстройства.КассоваяСмена");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется "РассылкаЭлектронныхЧеков" и эти подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяРассылкаЭлектронныхЧеков() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ЧекопечатающиеУстройства.РассылкаЭлектронныхЧеков");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется "ФорматноЛогическийКонтроль" и эти подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяФорматноЛогическийКонтроль() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ЧекопечатающиеУстройства.ФорматноЛогическийКонтроль");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется "Маркировка" и эти подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяМаркировка() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ЧекопечатающиеУстройства.Маркировка");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Платежные системы" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяПлатежныеСистемы() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ПлатежныеСистемы");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Дисплеи покупателя" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяДисплеиПокупателя() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ДисплеиПокупателя");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Весовое оборудование" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяВесовоеОборудование() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ВесовоеОборудование");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Терминалы сбора данных" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяТерминалыСбораДанных() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ТерминалыСбораДанных");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Принтеры этикеток" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяПринтерыЭтикеток() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ПринтерыЭтикеток");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Считыватель RFID" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяСчитывательRFID() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.СчитывательRFID");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "УстройствоРаспознавания" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяУстройствоРаспознавания() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.УстройствоРаспознавания");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "ОблачныеККТ" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуютсяОблачныеККТ() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ОблачныеККТ");
|
||
|
||
КонецФункции
|
||
// Возвращает Истина, если используется подсистема "Офлайн-оборудование" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяОфлайнОборудование() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ОфлайнОборудование");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Печать этикеток и ценников" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяПечатьЭтикетокИЦенников() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПечатьЭтикетокИЦенников");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина если существует подсистема ПоддержкаОборудования.СообщенияВСлужбуТехническойПоддержки
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево
|
||
Функция ИспользуетсяСообщенияВСлужбуТехническойПоддержки() Экспорт
|
||
|
||
// Вызов БИП
|
||
Возврат ПодсистемаСуществует("ИнтернетПоддержкаПользователей.СообщенияВСлужбуТехническойПоддержки")
|
||
И ПодсистемаСуществует("ПоддержкаОборудования.СообщенияВСлужбуТехническойПоддержки");
|
||
// Конец Вызов БИП
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "Электронные сертификаты НСПК" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяЭлектронныеСертификатыНСПК() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ЭлектронныеСертификаты");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "СертификатыНУЦМинцифры" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяСертификатыНУЦМинцифры() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ЭлектронныеСертификаты.СертификатыНУЦМинцифры");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "РаспределеннаяФискализация" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяРаспределеннаяФискализация() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ЧекопечатающиеУстройства.РаспределеннаяФискализация");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется "АвтономнаяККТ" и эти подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяАвтономнаяККТ() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.ЧекопечатающиеУстройства.АвтономнаяККТ");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "НастройкиПрограммы" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяНастройкиПрограммыБПО() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.НастройкиПрограммы");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "ЛогированиеОборудования" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяПодсистемаЛогирования() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ЛогированиеОборудования");
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает Истина, если используется подсистема "НесертифицированноеОборудование" и эта подсистема существует в конфигурации.
|
||
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево.
|
||
//
|
||
Функция ИспользуетсяНесертифицированноеОборудование() Экспорт
|
||
|
||
Возврат ПодсистемаСуществует("ПоддержкаОборудования.ПодключаемоеОборудование.НесертифицированноеОборудование");
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
// Преобразовать в булево возможные значения строки
|
||
//
|
||
// Параметры:
|
||
// Строка - Строка
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево
|
||
//
|
||
Функция ПреобразоватьВБулево(Строка) Экспорт
|
||
|
||
Попытка
|
||
Возврат XMLЗначение(Тип("Булево"), Строка);
|
||
Исключение
|
||
Возврат ВРег(Строка) = "ДА" Или ВРег(Строка) = "TRUE" Или ВРег(Строка) = "YES";
|
||
КонецПопытки;
|
||
|
||
КонецФункции
|
||
|
||
Функция ИмяЗначенияПеречисления(Значение) Экспорт
|
||
|
||
ИмяПеречисления = Значение.Метаданные().Имя;
|
||
ИндексЗначенияПеречисления = Перечисления[ИмяПеречисления].Индекс(Значение);
|
||
ИмяЗначенияПеречисления = Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[ИндексЗначенияПеречисления].Имя;
|
||
Возврат ИмяЗначенияПеречисления;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#Область СлужебныеПроцедурыИФункции
|
||
|
||
#Область ОповещениеПользователя
|
||
|
||
// Формирует и выводит сообщение, которое может быть связано с элементом управления формы.
|
||
//
|
||
// Параметры:
|
||
// ТекстСообщенияПользователю - Строка - текст сообщения.
|
||
// КлючДанных - ЛюбаяСсылка - объект или ключ записи информационной базы, к которому это сообщение относится.
|
||
// Поле - Строка - наименование реквизита формы.
|
||
// ПутьКДанным - Строка - путь к данным (путь к реквизиту формы).
|
||
// Отказ - Булево - выходной параметр, всегда устанавливается в значение Истина.
|
||
//@skip-check method-too-many-params
|
||
Процедура СообщитьПользователюБПО(
|
||
Знач ТекстСообщенияПользователю,
|
||
Знач КлючДанных = Неопределено,
|
||
Знач Поле = "",
|
||
Знач ПутьКДанным = "",
|
||
Отказ = Ложь)
|
||
|
||
ЭтоОбъект = Ложь;
|
||
|
||
Если КлючДанных <> Неопределено
|
||
И XMLТипЗнч(КлючДанных) <> Неопределено Тогда
|
||
|
||
ТипЗначенияСтрокой = XMLТипЗнч(КлючДанных).ИмяТипа;
|
||
ЭтоОбъект = СтрНайти(ТипЗначенияСтрокой, "Object.") > 0;
|
||
КонецЕсли;
|
||
|
||
Сообщение = Новый СообщениеПользователю;
|
||
Сообщение.Текст = ТекстСообщенияПользователю;
|
||
Сообщение.Поле = Поле;
|
||
|
||
//@skip-check empty-except-statement
|
||
// АПК: 280-выкл
|
||
Попытка
|
||
Если ЭтоОбъект Тогда
|
||
Сообщение.УстановитьДанные(КлючДанных);
|
||
Иначе
|
||
Сообщение.КлючДанных = КлючДанных;
|
||
КонецЕсли;
|
||
|
||
Если НЕ ПустаяСтрока(ПутьКДанным) Тогда
|
||
Сообщение.ПутьКДанным = ПутьКДанным;
|
||
КонецЕсли;
|
||
Исключение
|
||
|
||
КонецПопытки;
|
||
// АПК: 280-вкл
|
||
|
||
Сообщение.Сообщить();
|
||
|
||
Отказ = Истина;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецОбласти
|
||
|
||
// Возвращает структуру, содержащую значения реквизитов прочитанные из информационной базы
|
||
// по ссылке на объект.
|
||
//
|
||
// Если доступа к одному из реквизитов нет, возникнет исключение прав доступа.
|
||
// Если необходимо зачитать реквизит независимо от прав текущего пользователя,
|
||
// то следует использовать предварительный переход в привилегированный режим.
|
||
//
|
||
// Функция не предназначена для получения значений реквизитов пустых ссылок.
|
||
//
|
||
// Параметры:
|
||
// Ссылка - ЛюбаяСсылка - объект, значения реквизитов которого необходимо получить.
|
||
//
|
||
// Реквизиты - Строка - имена реквизитов, перечисленные через запятую, в формате
|
||
// требований к свойствам структуры.
|
||
// Например, "Код, Наименование, Родитель".
|
||
// - Структура, ФиксированнаяСтруктура - в качестве ключа передается
|
||
// псевдоним поля для возвращаемой структуры с результатом, а в качестве
|
||
// значения (опционально) фактическое имя поля в таблице.
|
||
// Если значение не определено, то имя поля берется из ключа.
|
||
// - Массив из Строка - имена реквизитов в формате требований
|
||
// к свойствам структуры.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Структура - содержит имена (ключи) и значения затребованных реквизитов.
|
||
// Если строка затребованных реквизитов пуста, то возвращается пустая структура.
|
||
// Если в качестве объекта передана пустая ссылка, то все реквизиты вернутся со значением Неопределено.
|
||
//
|
||
Функция ЗначенияРеквизитовОбъектаБПО(Ссылка, Знач Реквизиты)
|
||
|
||
Если ТипЗнч(Реквизиты) = Тип("Строка") Тогда
|
||
Если ПустаяСтрока(Реквизиты) Тогда
|
||
Возврат Новый Структура;
|
||
КонецЕсли;
|
||
Реквизиты = СтрРазделить(Реквизиты, ",", Ложь);
|
||
КонецЕсли;
|
||
|
||
СтруктураРеквизитов = Новый Структура;
|
||
Если ТипЗнч(Реквизиты) = Тип("Структура") Или ТипЗнч(Реквизиты) = Тип("ФиксированнаяСтруктура") Тогда
|
||
СтруктураРеквизитов = Реквизиты;
|
||
ИначеЕсли ТипЗнч(Реквизиты) = Тип("Массив") Или ТипЗнч(Реквизиты) = Тип("ФиксированныйМассив") Тогда
|
||
Для Каждого Реквизит Из Реквизиты Цикл
|
||
СтруктураРеквизитов.Вставить(СтрЗаменить(Реквизит, ".", ""), Реквизит);
|
||
КонецЦикла;
|
||
Иначе
|
||
ВызватьИсключение СтрШаблон(НСтр("ru = 'Неверный тип второго параметра Реквизиты: %1'"), Строка(ТипЗнч(Реквизиты)));
|
||
КонецЕсли;
|
||
|
||
ТекстПолей = "";
|
||
Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл
|
||
ИмяПоля = ?(ЗначениеЗаполнено(КлючИЗначение.Значение),
|
||
СокрЛП(КлючИЗначение.Значение),
|
||
СокрЛП(КлючИЗначение.Ключ));
|
||
|
||
Псевдоним = СокрЛП(КлючИЗначение.Ключ);
|
||
|
||
ТекстПолей = ТекстПолей + ?(ПустаяСтрока(ТекстПолей), "", ",") + "
|
||
| " + ИмяПоля + " КАК " + Псевдоним;
|
||
КонецЦикла;
|
||
|
||
Запрос = Новый Запрос;
|
||
Запрос.УстановитьПараметр("Ссылка", Ссылка);
|
||
Запрос.Текст =
|
||
"ВЫБРАТЬ
|
||
| &ТекстПолей
|
||
|ИЗ
|
||
| &ПолноеИмя КАК ПсевдонимЗаданнойТаблицы
|
||
|ГДЕ
|
||
| ПсевдонимЗаданнойТаблицы.Ссылка = &Ссылка";
|
||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекстПолей", ТекстПолей);
|
||
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ПолноеИмя", Ссылка.Метаданные().ПолноеИмя());
|
||
|
||
Выборка = Запрос.Выполнить().Выбрать();
|
||
Выборка.Следующий();
|
||
|
||
Результат = Новый Структура;
|
||
Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл
|
||
Результат.Вставить(КлючИЗначение.Ключ);
|
||
КонецЦикла;
|
||
ЗаполнитьЗначенияСвойств(Результат, Выборка);
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает ссылку на общий модуль по имени.
|
||
//
|
||
// Параметры:
|
||
// Имя - Строка - имя общего модуля, например:
|
||
// "ОбщегоНазначения",
|
||
// "ОбщегоНазначенияКлиент".
|
||
//
|
||
// Возвращаемое значение:
|
||
// ОбщийМодуль.
|
||
//
|
||
Функция ОбщийМодульБПО(Имя)
|
||
|
||
Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда
|
||
// АПК:486-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно.
|
||
#Если Не МобильноеПриложениеСервер Тогда
|
||
УстановитьБезопасныйРежим(Истина);
|
||
#КонецЕсли
|
||
Модуль = Вычислить(Имя);
|
||
// АПК:486-вкл
|
||
ИначеЕсли СтрЧислоВхождений(Имя, ".") = 1 Тогда
|
||
Возврат СерверныйМодульМенеджера(Имя);
|
||
Иначе
|
||
Модуль = Неопределено;
|
||
КонецЕсли;
|
||
|
||
Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда
|
||
ВызватьИсключение СтрШаблон(НСтр("ru = 'Общий модуль ""%1"" не существует.'"), Имя);
|
||
КонецЕсли;
|
||
|
||
Возврат Модуль;
|
||
|
||
КонецФункции
|
||
|
||
// Вычисляет контрольную сумму для произвольных данных по указанному алгоритму.
|
||
//
|
||
// Параметры:
|
||
// Данные - Произвольный - любое сериализуемое значение.
|
||
// Алгоритм - ХешФункция - алгоритм расчета контрольной суммы. По умолчанию, MD5.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - контрольная сумма строкой без пробелов (например 32 символа).
|
||
//
|
||
Функция КонтрольнаяСуммаСтрокойБПО(Знач Данные, Знач Алгоритм = Неопределено) Экспорт
|
||
|
||
Если Алгоритм = Неопределено Тогда
|
||
Алгоритм = ХешФункция.MD5;
|
||
КонецЕсли;
|
||
|
||
ХешированиеДанных = Новый ХешированиеДанных(Алгоритм);
|
||
Если ТипЗнч(Данные) <> Тип("Строка") И ТипЗнч(Данные) <> Тип("ДвоичныеДанные") Тогда
|
||
Данные = ЗначениеВСтрокуXML(Данные);
|
||
КонецЕсли;
|
||
ХешированиеДанных.Добавить(Данные);
|
||
|
||
Если ТипЗнч(ХешированиеДанных.ХешСумма) = Тип("ДвоичныеДанные") Тогда
|
||
Результат = СтрЗаменить(ХешированиеДанных.ХешСумма, " ", "");
|
||
ИначеЕсли ТипЗнч(ХешированиеДанных.ХешСумма) = Тип("Число") Тогда
|
||
Результат = Формат(ХешированиеДанных.ХешСумма, "ЧГ=");
|
||
КонецЕсли;
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает серверный модуль менеджера по имени объекта.
|
||
Функция СерверныйМодульМенеджера(Имя)
|
||
ОбъектНайден = Ложь;
|
||
|
||
ЧастиИмени = СтрРазделить(Имя, ".");
|
||
Если ЧастиИмени.Количество() = 2 Тогда
|
||
|
||
ИмяВида = ВРег(ЧастиИмени[0]);
|
||
ИмяОбъекта = ЧастиИмени[1];
|
||
|
||
Если ИмяВида = ВРег("Константы") Тогда
|
||
Если Метаданные.Константы.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("РегистрыСведений") Тогда
|
||
Если Метаданные.РегистрыСведений.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("РегистрыНакопления") Тогда
|
||
Если Метаданные.РегистрыНакопления.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("РегистрыБухгалтерии") Тогда
|
||
Если Метаданные.РегистрыБухгалтерии.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("РегистрыРасчета") Тогда
|
||
Если Метаданные.РегистрыРасчета.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("Справочники") Тогда
|
||
Если Метаданные.Справочники.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("Документы") Тогда
|
||
Если Метаданные.Документы.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("Отчеты") Тогда
|
||
Если Метаданные.Отчеты.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("Обработки") Тогда
|
||
Если Метаданные.Обработки.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("БизнесПроцессы") Тогда
|
||
Если Метаданные.БизнесПроцессы.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("ЖурналыДокументов") Тогда
|
||
Если Метаданные.ЖурналыДокументов.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("Задачи") Тогда
|
||
Если Метаданные.Задачи.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("ПланыСчетов") Тогда
|
||
Если Метаданные.ПланыСчетов.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("ПланыОбмена") Тогда
|
||
Если Метаданные.ПланыОбмена.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("ПланыВидовХарактеристик") Тогда
|
||
Если Метаданные.ПланыВидовХарактеристик.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
ИначеЕсли ИмяВида = ВРег("ПланыВидовРасчета") Тогда
|
||
Если Метаданные.ПланыВидовРасчета.Найти(ИмяОбъекта) <> Неопределено Тогда
|
||
ОбъектНайден = Истина;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
КонецЕсли;
|
||
|
||
Если Не ОбъектНайден Тогда
|
||
ВызватьИсключение СтрШаблон(
|
||
НСтр("ru = 'Объект метаданных ""%1"" не найден,
|
||
|либо для него не поддерживается получение модуля менеджера.'"), Имя);
|
||
КонецЕсли;
|
||
|
||
// АПК: 486-выкл, 488-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно.
|
||
#Если Не МобильноеПриложениеСервер Тогда
|
||
УстановитьБезопасныйРежим(Истина);
|
||
#КонецЕсли
|
||
Модуль = Вычислить(Имя);
|
||
// АПК: 486-вкл, 488-вкл
|
||
|
||
Возврат Модуль;
|
||
КонецФункции
|
||
|
||
// Преобразует (сериализует) любое значение в XML-строку.
|
||
// Преобразованы в могут быть только те объекты, для которых в синтакс-помощнике указано, что они сериализуются.
|
||
// См. также ЗначениеИзСтрокиXML.
|
||
//
|
||
// Параметры:
|
||
// Значение - Произвольный - значение, которое необходимо сериализовать в XML-строку.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - XML-строка.
|
||
//
|
||
Функция ЗначениеВСтрокуXML(Значение)
|
||
|
||
ЗаписьXML = Новый ЗаписьXML;
|
||
ЗаписьXML.УстановитьСтроку();
|
||
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Значение, НазначениеТипаXML.Явное);
|
||
|
||
Возврат ЗаписьXML.Закрыть();
|
||
КонецФункции
|
||
|
||
// Приводит строковое значение к дате.
|
||
//
|
||
// Параметры:
|
||
// Значение - Строка - строковое значение, которое приводится к дате.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Дата - приведенное значение.
|
||
//
|
||
Функция СтрокаВДатуБПО(Знач Значение)
|
||
|
||
ПустаяДата = Дата(1, 1, 1);
|
||
|
||
Если Не ЗначениеЗаполнено(Значение) Тогда
|
||
Возврат ПустаяДата;
|
||
КонецЕсли;
|
||
|
||
ОписаниеДаты = Новый ОписаниеТипов("Дата");
|
||
Дата = ОписаниеДаты.ПривестиЗначение(Значение);
|
||
|
||
Если ТипЗнч(Дата) = Тип("Дата")
|
||
И ЗначениеЗаполнено(Дата) Тогда
|
||
|
||
Возврат Дата;
|
||
КонецЕсли;
|
||
|
||
#Область ПодготовкаЧастейДаты
|
||
|
||
КоличествоСимволов = СтрДлина(Значение);
|
||
|
||
Если КоличествоСимволов > 25 Тогда
|
||
Возврат ПустаяДата;
|
||
КонецЕсли;
|
||
|
||
ЧастиЗначения = Новый Массив;
|
||
ЧастьЗначения = "";
|
||
|
||
Для НомерСимвола = 1 По КоличествоСимволов Цикл
|
||
|
||
Символ = Сред(Значение, НомерСимвола, 1);
|
||
|
||
Если ЭтоЧисло(Символ) Тогда
|
||
|
||
ЧастьЗначения = ЧастьЗначения + Символ;
|
||
|
||
Иначе
|
||
|
||
Если Не ПустаяСтрока(ЧастьЗначения) Тогда
|
||
ЧастиЗначения.Добавить(ЧастьЗначения);
|
||
КонецЕсли;
|
||
|
||
ЧастьЗначения = "";
|
||
|
||
КонецЕсли;
|
||
|
||
Если НомерСимвола = КоличествоСимволов
|
||
И Не ПустаяСтрока(ЧастьЗначения) Тогда
|
||
|
||
ЧастиЗначения.Добавить(ЧастьЗначения);
|
||
КонецЕсли;
|
||
|
||
КонецЦикла;
|
||
|
||
Если ЧастиЗначения.Количество() < 3 Тогда
|
||
Возврат ПустаяДата;
|
||
КонецЕсли;
|
||
|
||
Если ЧастиЗначения.Количество() < 4 Тогда
|
||
ЧастиЗначения.Добавить("00");
|
||
КонецЕсли;
|
||
|
||
Если ЧастиЗначения.Количество() < 5 Тогда
|
||
ЧастиЗначения.Добавить("00");
|
||
КонецЕсли;
|
||
|
||
Если ЧастиЗначения.Количество() < 6 Тогда
|
||
ЧастиЗначения.Добавить("00");
|
||
КонецЕсли;
|
||
|
||
#КонецОбласти
|
||
|
||
// Если формат ггггММддЧЧммсс:
|
||
НормализованноеЗначение = ЧастиЗначения[2] + ЧастиЗначения[1] + ЧастиЗначения[0]
|
||
+ ЧастиЗначения[3] + ЧастиЗначения[4] + ЧастиЗначения[5];
|
||
|
||
Дата = ОписаниеДаты.ПривестиЗначение(НормализованноеЗначение);
|
||
|
||
Если ТипЗнч(Дата) = Тип("Дата")
|
||
И ЗначениеЗаполнено(Дата) Тогда
|
||
|
||
Возврат Дата;
|
||
КонецЕсли;
|
||
|
||
// Если формат ггггддММЧЧммсс
|
||
НормализованноеЗначение = ЧастиЗначения[2] + ЧастиЗначения[0] + ЧастиЗначения[1]
|
||
+ ЧастиЗначения[3] + ЧастиЗначения[4] + ЧастиЗначения[5];
|
||
|
||
Дата = ОписаниеДаты.ПривестиЗначение(НормализованноеЗначение);
|
||
|
||
Если ТипЗнч(Дата) = Тип("Дата")
|
||
И ЗначениеЗаполнено(Дата) Тогда
|
||
|
||
Возврат Дата;
|
||
КонецЕсли;
|
||
|
||
Возврат ПустаяДата;
|
||
|
||
КонецФункции
|
||
|
||
// Возвращает признак того, что переданное значение является, либо не является, числом.
|
||
//
|
||
// Параметры:
|
||
// ПроверяемоеЗначение - Строка - значение, которое проверяется на соответствие числу.
|
||
//
|
||
// Возвращаемое значение:
|
||
// Булево - признак того, что переданное значение является, либо не является, числом.
|
||
//
|
||
Функция ЭтоЧисло(Знач ПроверяемоеЗначение)
|
||
|
||
Если ПроверяемоеЗначение = "0" Тогда
|
||
Возврат Истина;
|
||
КонецЕсли;
|
||
|
||
ОписаниеЧисла = Новый ОписаниеТипов("Число");
|
||
|
||
Возврат ОписаниеЧисла.ПривестиЗначение(ПроверяемоеЗначение) <> 0;
|
||
|
||
КонецФункции
|
||
|
||
#Область Данные
|
||
|
||
#Область СкопироватьРекурсивно
|
||
|
||
Функция СкопироватьСтруктуру(СтруктураИсточник, ФиксироватьДанные)
|
||
|
||
СтруктураРезультат = Новый Структура;
|
||
|
||
Для Каждого КлючИЗначение Из СтруктураИсточник Цикл
|
||
СтруктураРезультат.Вставить(КлючИЗначение.Ключ, СкопироватьРекурсивно(КлючИЗначение.Значение, ФиксироватьДанные));
|
||
КонецЦикла;
|
||
|
||
Если ФиксироватьДанные = Истина
|
||
Или ФиксироватьДанные = Неопределено
|
||
И ТипЗнч(СтруктураИсточник) = Тип("ФиксированнаяСтруктура") Тогда
|
||
|
||
Возврат Новый ФиксированнаяСтруктура(СтруктураРезультат);
|
||
КонецЕсли;
|
||
|
||
Возврат СтруктураРезультат;
|
||
|
||
КонецФункции
|
||
|
||
Функция СкопироватьСоответствие(СоответствиеИсточник, ФиксироватьДанные)
|
||
|
||
СоответствиеРезультат = Новый Соответствие;
|
||
|
||
Для Каждого КлючИЗначение Из СоответствиеИсточник Цикл
|
||
СоответствиеРезультат.Вставить(КлючИЗначение.Ключ, СкопироватьРекурсивно(КлючИЗначение.Значение, ФиксироватьДанные));
|
||
КонецЦикла;
|
||
|
||
Если ФиксироватьДанные = Истина
|
||
Или ФиксироватьДанные = Неопределено
|
||
И ТипЗнч(СоответствиеИсточник) = Тип("ФиксированноеСоответствие") Тогда
|
||
Возврат Новый ФиксированноеСоответствие(СоответствиеРезультат);
|
||
КонецЕсли;
|
||
|
||
Возврат СоответствиеРезультат;
|
||
|
||
КонецФункции
|
||
|
||
Функция СкопироватьМассив(МассивИсточник, ФиксироватьДанные)
|
||
|
||
МассивРезультат = Новый Массив;
|
||
|
||
Для Каждого Элемент Из МассивИсточник Цикл
|
||
МассивРезультат.Добавить(СкопироватьРекурсивно(Элемент, ФиксироватьДанные));
|
||
КонецЦикла;
|
||
|
||
Если ФиксироватьДанные = Истина
|
||
Или ФиксироватьДанные = Неопределено
|
||
И ТипЗнч(МассивИсточник) = Тип("ФиксированныйМассив") Тогда
|
||
Возврат Новый ФиксированныйМассив(МассивРезультат);
|
||
КонецЕсли;
|
||
|
||
Возврат МассивРезультат;
|
||
|
||
КонецФункции
|
||
|
||
Функция СкопироватьСписокЗначений(СписокИсточник, ФиксироватьДанные)
|
||
|
||
СписокРезультат = Новый СписокЗначений;
|
||
|
||
Для Каждого ЭлементСписка Из СписокИсточник Цикл
|
||
СписокРезультат.Добавить(
|
||
СкопироватьРекурсивно(ЭлементСписка.Значение, ФиксироватьДанные),
|
||
ЭлементСписка.Представление,
|
||
ЭлементСписка.Пометка,
|
||
ЭлементСписка.Картинка);
|
||
КонецЦикла;
|
||
|
||
Возврат СписокРезультат;
|
||
|
||
КонецФункции
|
||
|
||
#КонецОбласти
|
||
|
||
#КонецОбласти
|
||
|
||
#Если Не МобильноеПриложениеСервер Тогда
|
||
|
||
Функция УровеньСобытияПоПредставлению(ПредставлениеУровня)
|
||
Если ПредставлениеУровня = "Информация" Тогда
|
||
Возврат УровеньЖурналаРегистрации.Информация;
|
||
ИначеЕсли ПредставлениеУровня = "Ошибка" Тогда
|
||
Возврат УровеньЖурналаРегистрации.Ошибка;
|
||
ИначеЕсли ПредставлениеУровня = "Предупреждение" Тогда
|
||
Возврат УровеньЖурналаРегистрации.Предупреждение;
|
||
ИначеЕсли ПредставлениеУровня = "Примечание" Тогда
|
||
Возврат УровеньЖурналаРегистрации.Примечание;
|
||
КонецЕсли;
|
||
КонецФункции
|
||
|
||
#КонецЕсли
|
||
|
||
#КонецОбласти |