---
title: Общего назначения клиент
slug: bsp/общего-назначения-клиент
---


## СообщитьПользователю
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// АПК:142-выкл 4 необязательных параметра для совместимости
// с устаревшей процедурой ОбщегоНазначенияКлиентСервер.СообщитьПользователю.

// Формирует и выводит сообщение, которое может быть связано с элементом управления формы.
//
// См. ОбщегоНазначения.СообщитьПользователю
//
// Параметры:
//  ТекстСообщенияПользователю - Строка - текст сообщения.
//  КлючДанных - ЛюбаяСсылка - объект или ключ записи информационной базы, к которому это сообщение относится.
//  Поле - Строка - наименование реквизита формы.
//  ПутьКДанным - Строка - путь к данным (путь к реквизиту формы).
//  Отказ - Булево - выходной параметр, всегда устанавливается в значение Истина.
//
// Пример:
//
//  1. Для вывода сообщения у поля управляемой формы, связанного с реквизитом объекта:
//  ОбщегоНазначенияКлиент.СообщитьПользователю(
//   НСтр("ru = 'Сообщение об ошибке.'"), ,
//   "ПолеВРеквизитеФормыОбъект",
//   "Объект");
//
//  Альтернативный вариант использования в форме объекта:
//  ОбщегоНазначенияКлиент.СообщитьПользователю(
//   НСтр("ru = 'Сообщение об ошибке.'"), ,
//   "Объект.ПолеВРеквизитеФормыОбъект");
//
//  2. Для вывода сообщения рядом с полем управляемой формы, связанным с реквизитом формы:
//  ОбщегоНазначенияКлиент.СообщитьПользователю(
//   НСтр("ru = 'Сообщение об ошибке.'"), ,
//   "ИмяРеквизитаФормы");
//
//  3. Для вывода сообщения связанного с объектом информационной базы:
//  ОбщегоНазначенияКлиент.СообщитьПользователю(
//   НСтр("ru = 'Сообщение об ошибке.'"), ОбъектИнформационнойБазы, "Ответственный",,Отказ);
//
//  4. Для вывода сообщения по ссылке на объект информационной базы:
//  ОбщегоНазначенияКлиент.СообщитьПользователю(
//   НСтр("ru = 'Сообщение об ошибке.'"), Ссылка, , , Отказ);
//
//  Случаи некорректного использования:
//   1. Передача одновременно параметров КлючДанных и ПутьКДанным.
//   2. Передача в параметре КлючДанных значения типа отличного от допустимого.
//   3. Установка ссылки без установки поля (и/или пути к данным).
//
Процедура СообщитьПользователю(Знач ТекстСообщенияПользователю,	Знач КлючДанных = Неопределено, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщенияПользователю, КлючДанных, );
```
</details>

## ПредопределенныйЭлемент
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Общие процедуры и функции для работы с данными в базе.

// Возвращает ссылку предопределенного элемента по его полному имени в следующих объектах:
//   - справочники;
//   - планы видов характеристик;
//   - планы счетов;
//   - планы видов расчета.
// См. также функцию ОбщегоНазначенияКлиент.ПредопределенныйЭлемент.
//
// Для корректной работы этой функции после изменения состава предопределенных следует вызывать
// метод ОбновитьПовторноИспользуемыеЗначения.
//
// Параметры:
//   ПолноеИмяПредопределенного - Строка - полное имя предопределенного элемента.
//     Формат аналогичен функции глобального контекста ПредопределенноеЗначение, например:
//       "Справочник.ВидыКонтактнойИнформации.EmailПользователя"
//       "ПланСчетов.Хозрасчетный.Материалы"
//       "ПланВидовРасчета.Начисления.ОплатаПоОкладу".
//
// Возвращаемое значение:
//   ЛюбаяСсылка - ссылка на предопределенный элемент.
//   Неопределено - если предопределенного элемента нет в метаданных или не создан в информационной базе.
//
Функция ПредопределенныйЭлемент(ПолноеИмяПредопределенного) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПредопределенныйЭлемент(ПолноеИмяПредопределенного) 
```
</details>

## КодОсновногоЯзыка
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает код основного языка информационной базы, например "ru".
// На котором программно записываются автогенерируемые строки в информационную базу.
// Например, при начальном заполнении информационной базы данными из макета, автогенерации комментария
// к проводке или определении значения параметра ИмяСобытия метода ЗаписьЖурналаРегистрации.
//
// Возвращаемое значение:
//  Строка - код языка.
//
Функция КодОсновногоЯзыка() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.КодОсновногоЯзыка() 
```
</details>

## ПроверитьПроведенностьДокументов
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет статус проведения переданных документов и возвращает
// те из них, которые не проведены.
//
// Параметры:
//  Документы - Массив из ДокументСсылка - документы, статус проведения которых необходимо проверить.
//
// Возвращаемое значение:
//  Массив из ДокументСсылка - непроведенные документы.
//
Функция ПроверитьПроведенностьДокументов(Знач Документы) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПроверитьПроведенностьДокументов(Документы) 
```
</details>

## ПровестиДокументы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет попытку проведения документов и возвращает информацию о документах, которые не удалось провести.
//
// Параметры:
//  Документы - Массив из ДокументСсылка - документы, которые необходимо провести.
//
// Возвращаемое значение:
//  Массив из Структура:
//   * Ссылка         - ДокументСсылка - документ, который не удалось провести,
//   * ОписаниеОшибки - Строка         - текст описания ошибки при проведении.
//
Функция ПровестиДокументы(Документы) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПровестиДокументы(Документы) 
```
</details>

## ПодсистемаСуществует
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для вызова необязательных подсистем.

// Возвращает Истина, если функциональная подсистема существует в конфигурации.
// Предназначена для вызова необязательной подсистемы (условного вызова) совместно
// с функцией ОбщегоНазначенияКлиент.ПодсистемаСуществует.
//
// У функциональной подсистемы снят флажок "Включать в командный интерфейс".
// См. также ОбщегоНазначенияПереопределяемый.ПриОпределенииОтключенныхПодсистем,
// и ОбщегоНазначения.ПодсистемаСуществует для вызова из серверного кода.
//
// Параметры:
//  ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема
//                        без слов "Подсистема." ИС учетом регистра символов.
//                        Например: "СтандартныеПодсистемы.ВариантыОтчетов".
//
// Пример:
//  Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
//  	МодульВариантыОтчетовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВариантыОтчетовКлиент");
//  	МодульВариантыОтчетовКлиент.<Имя процедуры>();
//  КонецЕсли;
//
// Возвращаемое значение:
//  Булево
//
Функция ПодсистемаСуществует(ПолноеИмяПодсистемы) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПодсистемаСуществует(ПолноеИмяПодсистемы) 
```
</details>

## ОбщийМодуль
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает ссылку на общий модуль по имени.
// Применяется для условного вызова процедуры или функции совместно с ОбщегоНазначенияКлиент.ПодсистемаСуществует.
// См. также ОбщегоНазначения.ОбщийМодуль для вызова серверного кода.
//
// Параметры:
//  Имя - Строка - имя общего модуля, например "ОбновлениеКонфигурацииКлиент", "ОтчетыВызовСервера".
//
// Возвращаемое значение:
//  ОбщийМодуль
//
// Пример:
//	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
//		МодульОбновлениеКонфигурацииКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбновлениеКонфигурацииКлиент");
//		МодульОбновлениеКонфигурацииКлиент.<Имя процедуры>();
//	КонецЕсли;
//
Функция ОбщийМодуль(Имя) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ОбщийМодуль(Имя) 
```
</details>

## ЭтоWindowsКлиент
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Функции описания текущего окружения клиентского приложения и операционной системы.

// Возвращает Истина, если клиентское приложение запущено под управлением ОС Windows.
//
// См. ОбщегоНазначения.ЭтоWindowsКлиент
//
// Возвращаемое значение:
//  Булево - если нет клиентского приложения, возвращается Ложь.
//
Функция ЭтоWindowsКлиент() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ЭтоWindowsКлиент() 
```
</details>

## ЭтоLinuxКлиент
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если клиентское приложение запущено под управлением ОС Linux.
//
// См. ОбщегоНазначения.ЭтоLinuxКлиент
//
// Возвращаемое значение:
//  Булево - если нет клиентского приложения, возвращается Ложь.
//
Функция ЭтоLinuxКлиент() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ЭтоLinuxКлиент() 
```
</details>

## ЭтоMacOSКлиент
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если клиентское приложение запущено под управлением macOS.
//
// См. ОбщегоНазначения.ЭтоMacOSКлиент
//
// Возвращаемое значение:
//  Булево - если нет клиентского приложения, возвращается Ложь.
//
Функция ЭтоMacOSКлиент() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ЭтоMacOSКлиент() 
```
</details>

## КлиентПодключенЧерезВебСервер
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если клиентское приложение подключено к базе через веб-сервер.
//
// См. ОбщегоНазначения.КлиентПодключенЧерезВебСервер
//
// Возвращаемое значение:
//  Булево - Истина, если подключен.
//
Функция КлиентПодключенЧерезВебСервер() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.КлиентПодключенЧерезВебСервер() 
```
</details>

## РежимОтладки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если включен режим отладки.
//
// См. ОбщегоНазначения.РежимОтладки
//
// Возвращаемое значение:
//  Булево - Истина, если включен режим отладки.
//
Функция РежимОтладки() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.РежимОтладки() 
```
</details>

## ОперативнаяПамятьДоступнаяКлиентскомуПриложению
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает объем оперативной памяти, доступной клиентскому  приложению.
//
// См. ОбщегоНазначения.ОперативнаяПамятьДоступнаяКлиентскомуПриложению
//
// Возвращаемое значение:
//  Число - количество гигабайтов оперативной памяти с точностью до десятых долей.
//  Неопределено - нет клиентского приложения, то есть ТекущийРежимЗапуска() = Неопределено.
//
Функция ОперативнаяПамятьДоступнаяКлиентскомуПриложению() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ОперативнаяПамятьДоступнаяКлиентскомуПриложению() 
```
</details>

## ИнформационнаяБазаФайловая
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Определяет режим эксплуатации информационной базы файловый (Истина) или серверный (Ложь).
// При проверке используется СтрокаСоединенияИнформационнойБазы, которую можно указать явно.
//
// См. ОбщегоНазначения.ИнформационнаяБазаФайловая
//
// Параметры:
//  СтрокаСоединенияИнформационнойБазы - Строка - параметр используется, если
//                 нужно проверить строку соединения не текущей информационной базы.
//
// Возвращаемое значение:
//  Булево - Истина, если файловая.
//
Функция ИнформационнаяБазаФайловая(Знач СтрокаСоединенияИнформационнойБазы = "") Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая(СтрокаСоединенияИнформационнойБазы);
```
</details>

## ТипПлатформыКлиента
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает тип платформы клиента.
//
// Возвращаемое значение:
//  ТипПлатформы, Неопределено - тип платформы на которой запущен клиент. В режиме веб-клиента, если тип
//                               платформы иной, чем описан в типе ТипПлатформы, то возвращается Неопределено.
//
Функция ТипПлатформыКлиента() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ТипПлатформыКлиента() 
```
</details>

## РазделениеВключено
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает признак работы в режиме разделения данных по областям
// (технически это признак условного разделения).
//
// Возвращает Ложь, если конфигурация не может работать в режиме разделения данных
// (не содержит общих реквизитов, предназначенных для разделения данных).
//
// Возвращаемое значение:
//  Булево - Истина, если разделение включено,
//           Ложь, если разделение выключено или не поддерживается.
//
Функция РазделениеВключено() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.РазделениеВключено() 
```
</details>

## ДоступноИспользованиеРазделенныхДанных
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает признак возможности обращения к разделенным данным (которые входят в состав разделителей).
// Признак относится к сеансу, но может меняться во время работы сеанса, если разделение было включено
// в самом сеансе, поэтому проверку следует делать непосредственно перед обращением к разделенным данным.
//
// Возвращает Истина, если конфигурация не может работать в режиме разделения данных
// (не содержит общих реквизитов, предназначенных для разделения данных).
//
// Возвращаемое значение:
//   Булево - Истина, если разделение не поддерживается, либо разделение выключено,
//                    либо разделение включено и разделители установлены.
//            Ложь, если разделение включено и разделители не установлены.
//
Функция ДоступноИспользованиеРазделенныхДанных() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ДоступноИспользованиеРазделенныхДанных() 
```
</details>

## ДатаСеанса
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Функции для работы с датами с учетом часового пояса сеанса

// Возвращает текущую дату, приведенную к часовому поясу сеанса.
// Предназначена для использования вместо функции ТекущаяДата() в клиентском коде
// в тех случаях, когда нет возможности перевести выполнение алгоритма в серверный код.
//
// Функция возвращает время, близкое к результату функции ТекущаяДатаСеанса в серверном коде.
// Погрешность обусловлена временем выполнения серверного вызова.
// Кроме того, если на клиентском компьютере перевести время, то функция учтет это изменение
// не сразу, а только после следующего сброса кеша повторно используемых значений
// (см. также метод ОбновитьПовторноИспользуемыеЗначения).
// Поэтому алгоритмы, для которых точное время критически важно, следует размещать в серверном коде,
// а не в клиентском.
//
// Возвращаемое значение:
//  Дата - текущая дата сеанса.
//
Функция ДатаСеанса() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ДатаСеанса() 
```
</details>

## ДатаУниверсальная
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает универсальную дату сеанса, получаемую из текущей даты сеанса.
//
// Функция возвращает время, близкое к результату функции УниверсальноеВремя() в серверном контексте.
// Погрешность обусловлена временем выполнения серверного вызова.
// Предназначена для использования вместо функции УниверсальноеВремя().
//
// Возвращаемое значение:
//  Дата - универсальная дата сеанса.
//
Функция ДатаУниверсальная() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ДатаУниверсальная() 
```
</details>

## ПредставлениеЛокальнойДатыСоСмещением
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Преобразует локальную дату к формату "YYYY-MM-DDThh:mm:ssTZD" согласно ISO 8601.
//
// См. ОбщегоНазначения.ПредставлениеЛокальнойДатыСоСмещением
//
// Параметры:
//  ЛокальнаяДата - Дата - дата в часовом поясе сеанса.
//
// Возвращаемое значение:
//   Строка - представление даты.
//
Функция ПредставлениеЛокальнойДатыСоСмещением(ЛокальнаяДата) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПредставлениеЛокальнойДатыСоСмещением(ЛокальнаяДата) 
```
</details>

## СкопироватьРекурсивно
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Общие процедуры и функции для работы с прикладными типами и коллекциями значений.

// Создает полную копию структуры, соответствия, массива, списка или таблицы значений, рекурсивно,
// с учетом типов дочерних элементов. При этом содержимое значений объектных типов
// (СправочникОбъект, ДокументОбъект и т.п.) не копируются, а возвращаются ссылки на исходный объект.
//
// См. ОбщегоНазначения.СкопироватьРекурсивно
//
// Параметры:
//  Источник - Структура
//           - ФиксированнаяСтруктура
//           - Соответствие
//           - ФиксированноеСоответствие
//           - Массив
//           - ФиксированныйМассив
//           - СписокЗначений - объект, который необходимо скопировать.
//  ФиксироватьДанные - Булево
//                    - Неопределено - если Истина - фиксировать,
//                          если Ложь - снять фиксацию, если Неопределено - не изменять.
//
// Возвращаемое значение:
//  Структура
//  ФиксированнаяСтруктура
//  Соответствие
//  ФиксированноеСоответствие
//  Массив
//  ФиксированныйМассив
//  СписокЗначений - копия объекта, переданного в параметре Источник.
//
Функция СкопироватьРекурсивно(Источник, ФиксироватьДанные = Неопределено) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.СкопироватьРекурсивно(Источник, ФиксироватьДанные);
```
</details>

## ПроверитьТипПараметраКоманды
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Проверяет, что в параметре команды Параметр передан объект ожидаемого типа ОжидаемыйТип.
// В противном случае, выдает стандартное сообщение и возвращает Ложь.
// Такая ситуация возможна, например, если в списке выделена строка группировки.
//
// Для использования в командах, работающих с элементами динамических списков в формах.
//
// Параметры:
//  Параметр     - Массив
//               - ЛюбаяСсылка - параметр команды.
//  ОжидаемыйТип - Тип                 - ожидаемый тип параметра.
//
// Возвращаемое значение:
//  Булево - Истина, если параметр ожидаемого типа.
//
// Пример:
//
//   Если НЕ ОбщегоНазначенияКлиент.ПроверитьТипПараметраКоманды(
//      Элементы.Список.ВыделенныеСтроки, Тип("ЗадачаСсылка.ЗадачаИсполнителя")) Тогда
//      Возврат;
//   КонецЕсли;
//   ...
//
Функция ПроверитьТипПараметраКоманды(Знач Параметр, Знач ОжидаемыйТип) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПроверитьТипПараметраКоманды(Параметр, ОжидаемыйТип) 
```
</details>

## ПоказатьПодтверждениеЗакрытияФормы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Клиентские процедуры общего назначения для работы в формами.

// Задает вопрос о продолжении действия, которое приведет к потере изменений:
// "Данные были изменены. Сохранить изменения?"
// Для использования в обработчиках события ПередЗакрытием модулей форм объектов,
// которые возможно записать в информационную базу.
// Отображение вопроса зависит свойства модифицированности формы.
//
// См. также процедуру ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы.
//
// Параметры:
//  ОповещениеСохранитьИЗакрыть  - ОписаниеОповещения - содержит имя процедуры, вызываемой при нажатии на кнопку "OK".
//  Отказ                        - Булево - возвращаемый параметр, признак отказа от выполняемого действия.
//  ЗавершениеРаботы             - Булево - признак того, что форма закрывается в процессе завершения работы приложения.
//  ТекстПредупреждения          - Строка - текст предупреждения, выводимый пользователю. По умолчанию, выводится текст
//                                          "Данные были изменены. Сохранить изменения?"
//  ТекстПредупрежденияПриЗавершении - Строка - возвращаемый параметр с текстом предупреждения, выводимым пользователю
//                                          при завершении приложения. Если параметр указан, то возвращается текст
//                                          "Данные были изменены. Все изменения будут потеряны.".
//
// Пример:
//
//  &НаКлиенте
//  Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
//    Оповещение = Новый ОписаниеОповещения("ВыбратьИЗакрыть", ЭтотОбъект);
//    ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы(Оповещение, Отказ, ЗавершениеРаботы);
//  КонецПроцедуры
//
//  &НаКлиенте
//  Процедура ВыбратьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
//     // записываем данные формы.
//     // ...
//     Модифицированность = Ложь; // не выводить подтверждение о закрытии формы еще раз.
//     Закрыть(<РезультатВыбораВФорме>);
//  КонецПроцедуры
//
Процедура ПоказатьПодтверждениеЗакрытияФормы( Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы();
```
</details>

## ПоказатьПодтверждениеЗакрытияПроизвольнойФормы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Задает вопрос о продолжении действия, которое приведет к закрытию формы.
// Для использования в обработчиках события ПередЗакрытием модулей форм.
// См. также процедуру ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияФормы.
//
// Параметры:
//  Форма                        - ФормаКлиентскогоПриложения - форма, которая вызывает диалог предупреждения.
//  Отказ                        - Булево - возвращаемый параметр, признак отказа от выполняемого действия.
//  ЗавершениеРаботы             - Булево - признак завершения работы программы.
//  ТекстПредупреждения          - Строка - текст предупреждения, выводимый пользователю.
//  ИмяРеквизитаЗакрытьФормуБезПодтверждения - Строка - имя реквизита, содержащего в себе признак того, нужно
//                                 выводить предупреждение или нет.
//  ОписаниеОповещенияЗакрыть    - ОписаниеОповещения - содержит имя процедуры, вызываемой при нажатии на кнопку "Да".
//
// Пример:
//  ТекстПредупреждения = НСтр("ru = 'Закрыть помощник?'");
//  ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(
//      ЭтотОбъект, Отказ, ЗавершениеРаботы, ТекстПредупреждения, "ЗакрытьФормуБезПодтверждения");
//
Процедура ПоказатьПодтверждениеЗакрытияПроизвольнойФормы( Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы();
```
</details>

## ОбновитьИнтерфейсПрограммы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Обновляет интерфейс программы сохраняя текущее активное окно.
//
Процедура ОбновитьИнтерфейсПрограммы() Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы() 
```
</details>

## ОповеститьОбИзмененииОбъекта
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Оповещает открытые формы и динамические списки об изменении одного объекта.
//
// Параметры:
//  Источник - ЛюбаяСсылка
//           - РегистрСведенийКлючЗаписиИмяРегистраСведений
//           - РегистрНакопленияКлючЗаписиИмяРегистраНакопления
//           - РегистрБухгалтерииКлючЗаписиИмяРегистраБухгалтерии
//           - РегистрРасчетаКлючЗаписиИмяРегистраРасчета - ссылка измененного объекта или ключ измененной записи
//                 регистра, об изменении которых необходимо уведомить динамические списки и формы.
//  ДополнительныеПараметры - Произвольный - любые параметры, которые необходимо передать в методе Оповестить.
//
Процедура ОповеститьОбИзмененииОбъекта(Источник, Знач ДополнительныеПараметры = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ОповеститьОбИзмененииОбъекта(Источник, ДополнительныеПараметры);
```
</details>

## ОповеститьОбИзмененииОбъектов
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Оповещает открытые формы и динамические списки об изменении сразу нескольких объектов.
//
// Параметры:
//  Источник - Тип
//           - ОписаниеТипов - тип или типы объектов, об изменении которых необходимо уведомить
//                             динамические списки и формы;
//           - Массив - список измененных ссылок и/или ключей записей регистров, об изменении
//                      которых необходимо уведомить динамические списки и формы.
//  ДополнительныеПараметры - Произвольный - любые параметры, которые необходимо передать в методе Оповестить.
//
Процедура ОповеститьОбИзмененииОбъектов(Источник, Знач ДополнительныеПараметры = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ОповеститьОбИзмененииОбъектов(Источник, ДополнительныеПараметры);
```
</details>

## ПоказатьВыборФорматаВложений
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Открывает форму выбора формата вложений.
//
// Параметры:
//  ОписаниеОповещения  - ОписаниеОповещения - обработчик результата выбора.
//  НастройкиФормата - Структура - настройки по умолчанию в форме:
//   * УпаковатьВАрхив   - Булево - признак необходимости упаковки вложений в архив.
//   * ФорматыСохранения - Массив из Строка - список выбранных форматов вложений.
//   * ПереводитьИменаФайловВТранслит - Булево - преобразовывать кириллические символы в латиницу.
//   * Подписать - Булево - подписать вложения электронной подписью.
//  Владелец - ФормаКлиентскогоПриложения - форма, из которой вызывается форма выбора вложений.
//
Процедура ПоказатьВыборФорматаВложений(ОписаниеОповещения, НастройкиФормата = Неопределено, Владелец = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПоказатьВыборФорматаВложений(ОписаниеОповещения, НастройкиФормата, Владелец);
```
</details>

## ПоказатьФормуРедактированияМногострочногоТекста
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Функции для обработки действий пользователя в процессе редактирования
// многострочного текста, например комментария в документах.

// Открывает форму редактирования произвольного многострочного текста.
//
// Параметры:
//  ОповещениеОЗакрытии     - ОписаниеОповещения - содержит описание процедуры, которая будет вызвана
//                            после закрытия формы ввода текста с теми же параметрами, что и для метода
//                            ПоказатьВводСтроки.
//  МногострочныйТекст      - Строка - произвольный текст, который необходимо отредактировать;
//  Заголовок               - Строка - текст, который необходимо отобразить в заголовке формы.
//
// Пример:
//
//   Оповещение = Новый ОписаниеОповещения("КомментарийЗавершениеВвода", ЭтотОбъект);
//   ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(Оповещение, Элемент.ТекстРедактирования);
//
//   &НаКлиенте
//   Процедура КомментарийЗавершениеВвода(Знач ВведенныйТекст, Знач ДополнительныеПараметры) Экспорт
//      Если ВведенныйТекст = Неопределено Тогда
//		   Возврат;
//   	КонецЕсли;
//
//	   Объект.МногострочныйКомментарий = ВведенныйТекст;
//	   Модифицированность = Истина;
//   КонецПроцедуры
//
Процедура ПоказатьФормуРедактированияМногострочногоТекста(Знач ОповещениеОЗакрытии, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(ОповещениеОЗакрытии, );
```
</details>

## ПоказатьФормуРедактированияКомментария
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Открывает форму редактирования многострочного комментария.
//
// Параметры:
//  МногострочныйТекст - Строка - произвольный текст, который необходимо отредактировать.
//  ФормаВладелец      - ФормаКлиентскогоПриложения - форма, в поле которой выполняется ввод комментария.
//  ИмяРеквизита       - Строка - имя реквизита формы, в который будет помещен введенный пользователем комментарий.
//                                По умолчанию - "Объект.Комментарий".
//  Заголовок          - Строка - текст, который необходимо отобразить в заголовке формы.
//                                По умолчанию - "Комментарий".
//
// Пример:
//  ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(
//  	Элемент.ТекстРедактирования, ЭтотОбъект, "Объект.Комментарий");
//
Процедура ПоказатьФормуРедактированияКомментария( Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария();
```
</details>

## СохранитьПерсональныеНастройки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Сохраняет персональные настройки пользователя.
//
// Параметры:
//  Настройки - Структура:
//   * НапоминатьОбУстановкеРасширенияРаботыСФайлами  - Булево - признак необходимости
//                                                               напоминания об установке расширения.
//   * ЗапрашиватьПодтверждениеПриЗавершенииПрограммы - Булево - запрашивать подтверждение по завершении работы.
//
Процедура СохранитьПерсональныеНастройки(Настройки) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.СохранитьПерсональныеНастройки(Настройки) 
```
</details>

## ЦветСтиля
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Функции для работы с цветами стиля в клиентском коде.

// Получает цвет стиля по имени элемента стиля.
//
// Параметры:
//  ИмяЦветаСтиля - Строка
//
// Возвращаемое значение:
//  Цвет
//
Функция ЦветСтиля(ИмяЦветаСтиля) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ЦветСтиля(ИмяЦветаСтиля) 
```
</details>

## ШрифтСтиля
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Получает шрифт стиля по имени элемента стиля.
//
// Параметры:
//  ИмяШрифтаСтиля - Строка
//
// Возвращаемое значение:
//  Шрифт
//
Функция ШрифтСтиля(ИмяШрифтаСтиля) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ШрифтСтиля(ИмяШрифтаСтиля) 
```
</details>

## ПараметрыПодключенияКомпоненты
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает структуру параметров для процедуры ПодключитьКомпонентуИзМакета.
//
// Возвращаемое значение:
//  Структура:
//      * Кэшировать           - Булево - (по умолчанию Истина) использовать механизм кэширования компонент на клиенте.
//      * ПредложитьУстановить - Булево - (по умолчанию Истина) предлагать устанавливать.
//      * ПредложитьЗагрузить  - Булево - (по умолчанию Ложь) предлагать загрузить компоненту с сайта ИТС.
//      * ТекстПояснения       - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
//      * ИдентификаторыСозданияОбъектов - Массив - идентификатор создания экземпляра модуля объекта,
//                 используется только для компонент, у которых есть несколько идентификаторов создания объектов,
//                 при задании параметр Идентификатор будет игнорироваться.
//      * Изолированно - Булево, Неопределено - (по умолчанию Неопределено) если Истина, компонента будет подключена
//                 изолированно, в этом случае внешняя компонента загружается в отдельный процесс операционной системы;
//                 Ложь - в этом случае внешняя компонента будет выполняться в том же процессе операционной системы,
//                 который выполняет код встроенного языка; Неопределено - поддерживается поведение платформы по умолчанию:
//                 изолированно - если компонентой поддерживается только этот режим, не изолированно - в остальных случаях.
//                 См. https://its.1c.eu/db/v83doc#bookmark:dev:TI000001866
//      * ОбновлятьАвтоматически - Булево - (по умолчанию Истина) если ПредложитьЗагрузить = Истина, при загрузке
//                 внешней компоненты устанавливать признак ОбновлятьСПортала1СИТС.
//      * ПоказыватьВопросУстановки - Булево - (по умолчанию Истина) если ПредложитьУстановить = Истина, перед установкой
//                 внешней компоненты будет показан вопрос об установке.
//
//
// Пример:
//
//  ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
//  ПараметрыПодключения.ТекстПояснения = НСтр("ru = 'Для использования сканера штрихкодов требуется
//                                             |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыПодключенияКомпоненты() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты() 
```
</details>

## ПодключитьКомпонентуИзМакета
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Подключает компоненту, выполненную по технологии Native API и COM, в асинхронном режиме.
// Компонента должна храниться в макете конфигурации в виде ZIP-архива.
// Для веб-клиента предлагается диалог, подсказывающий пользователю действия по установке.
//
// Параметры:
//  Оповещение - ОписаниеОповещения - описание оповещения о подключении со следующими параметрами:
//      * Результат - Структура - результат подключения компоненты:
//          ** Подключено         - Булево - признак подключения.
//          ** ПодключаемыйМодуль - ОбъектВнешнейКомпоненты  - экземпляр объекта внешней компоненты;
//                                - ФиксированноеСоответствие из КлючИЗначение - экземпляры объектов внешней компоненты,
//                                     указанные в ПараметрыПодключения.ИдентификаторыСозданияОбъектов:
//                                    *** Ключ - Строка - идентификатор внешней компоненты;
//                                    *** Значение - ОбъектВнешнейКомпоненты - экземпляр объекта.
//          ** Местоположение     - Строка - имя макета или навигационная ссылка компоненты из справочника, если она
//                                           более старшей версии, из которых была подключена компонента.
//          ** СимволическоеИмя   - Строка - символическое имя, с которым была подключена компонента.
//               По местоположению и символическому имени из прикладного кода можно проверять подключение компоненты
//               методом платформы
//               ПроверитьПодключениеВнешнейКомпоненты(Местоположение, Имя)
//          ** ОписаниеОшибки     - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
//      * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
//  Идентификатор        - Строка - идентификатор объекта внешней компоненты.
//  ПолноеИмяМакета      - Строка - полное имя макета, используемое как местоположение компоненты.
//  ПараметрыПодключения - Структура
//                       - Неопределено - см. функцию ПараметрыПодключенияКомпоненты.
//
// Пример:
//
//  Оповещение = Новый ОписаниеОповещения("ПодключитьКомпонентуЗавершение", ЭтотОбъект);
//
//  ПараметрыПодключения = ОбщегоНазначенияКлиент.ПараметрыПодключенияКомпоненты();
//  ПараметрыПодключения.ТекстПояснения = НСтр("ru = 'Для оформления заявления на выпуск сертификата требуется
//                                             |внешняя компонента ""Криптография (CryptS)"".'");
//
//  ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(Оповещение,
//      "CryptS",
//      "Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Макет.КомпонентаОбмена",
//      ПараметрыПодключения);
//
//  &НаКлиенте
//  Процедура ПодключитьКомпонентуЗавершение(Результат, ДополнительныеПараметры) Экспорт
//
//      ПодключаемыйМодуль = Неопределено;
//
//      Если Результат.Подключено Тогда
//          ПодключаемыйМодуль = Результат.ПодключаемыйМодуль;
//      Иначе
//          Если Не ПустаяСтрока(Результат.ОписаниеОшибки) Тогда
//              ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
//          КонецЕсли;
//      КонецЕсли;
//
//      Если ПодключаемыйМодуль <> Неопределено Тогда
//          // ПодключаемыйМодуль содержит созданный экземпляр подключенной компоненты.
//      КонецЕсли;
//
//      ПодключаемыйМодуль = Неопределено;
//
//  КонецПроцедуры
//
Процедура ПодключитьКомпонентуИзМакета(Оповещение, Идентификатор, ПолноеИмяМакета, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПодключитьКомпонентуИзМакета(Оповещение, Идентификатор, ПолноеИмяМакета, );
```
</details>

## ПараметрыУстановкиКомпоненты
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает структуру параметров для процедуры УстановитьКомпонентуИзМакета.
//
// Возвращаемое значение:
//  Структура:
//      * ТекстПояснения - Строка - для чего нужна компонента и что не будет работать, если ее не устанавливать.
//
// Пример:
//
//  ПараметрыУстановки = ОбщегоНазначенияКлиент.ПараметрыУстановкиКомпоненты();
//  ПараметрыУстановки.ТекстПояснения = НСтр("ru = 'Для использования сканера штрихкодов требуется
//                                           |внешняя компонента ""1С:Сканеры штрихкода (NativeApi)"".'");
//
Функция ПараметрыУстановкиКомпоненты() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПараметрыУстановкиКомпоненты() 
```
</details>

## УстановитьКомпонентуИзМакета
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устанавливает компоненту, выполненную по технологии Native API и COM асинхронном режиме.
// Компонента должна храниться в макете конфигурации в виде ZIP-архива.
//
// Параметры:
//  Оповещение - ОписаниеОповещения - описание оповещения об установке внешней компоненты:
//      * Результат - Структура - результат установки компоненты:
//          ** Установлено    - Булево - признак установки.
//          ** ОписаниеОшибки - Строка - краткое описание ошибки. При отмене пользователем пустая строка.
//      * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
//  ПолноеИмяМакета    - Строка                  - полное имя макета, используемое как местоположение компоненты.
//  ПараметрыУстановки - Структура
//                     - Неопределено - см. функцию ПараметрыУстановкиКомпоненты.
//
// Пример:
//
//  Оповещение = Новый ОписаниеОповещения("УстановитьКомпонентуЗавершение", ЭтотОбъект);
//
//  ПараметрыУстановки = ОбщегоНазначенияКлиент.ПараметрыУстановкиКомпоненты();
//  ПараметрыУстановки.ТекстПояснения = НСтр("ru = 'Для оформления заявления на выпуск сертификата требуется
//                                           |внешняя компонента ""Криптография (CryptS)"".'");
//
//  ОбщегоНазначенияКлиент.УстановитьКомпонентуИзМакета(Оповещение,
//      "Обработка.ЗаявлениеНаВыпускНовогоКвалифицированногоСертификата.Макет.КомпонентаОбмена",
//      ПараметрыУстановки);
//
//  &НаКлиенте
//  Процедура УстановитьКомпонентуЗавершение(Результат, ДополнительныеПараметры) Экспорт
//
//      Если Не Результат.Установлено И Не ПустаяСтрока(Результат.ОписаниеОшибки) Тогда
//          ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
//      КонецЕсли;
//
//  КонецПроцедуры
//
Процедура УстановитьКомпонентуИзМакета(Оповещение, ПолноеИмяМакета, ПараметрыУстановки = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.УстановитьКомпонентуИзМакета(Оповещение, ПолноеИмяМакета, ПараметрыУстановки);
```
</details>

## ЗарегистрироватьCOMСоединитель
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для работы с внешним соединением.

// Выполняет регистрацию компоненты "comcntr.dll" для текущей версии платформы.
// В случае успешной регистрации, предлагает пользователю перезапустить клиентский сеанс
// для того чтобы регистрация вступила в силу.
//
// Вызывается перед клиентским кодом, который использует менеджер COM-соединений (V83.COMConnector)
// и инициируется интерактивными действиями пользователя.
//
// Параметры:
//  ВыполнитьПерезагрузкуСеанса - Булево - если Истина, то после регистрации COM соединителя
//      будет вызван диалог перезапуска сеанса.
//  Оповещение - ОписаниеОповещения - оповещение о результате регистрации:
//      * Зарегистрировано - Булево - Истина, если COM соединитель зарегистрирован без ошибок.
//      * ДополнительныеПараметры - Произвольный - значение, которое было указано
//            при создании объекта ОписаниеОповещения.
//
// Пример:
//  ЗарегистрироватьCOMСоединитель();
//
Процедура ЗарегистрироватьCOMСоединитель(Знач ВыполнитьПерезагрузкуСеанса = Истина, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(ВыполнитьПерезагрузкуСеанса, );
```
</details>

## УстановитьВнешнееСоединениеСБазой
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устанавливает внешнее соединение с информационной базой по переданным параметрам подключения и возвращает его.
//
// См. ОбщегоНазначения.УстановитьВнешнееСоединениеСБазой.
//
// Параметры:
//  Параметры - см. ОбщегоНазначенияКлиентСервер.СтруктураПараметровДляУстановкиВнешнегоСоединения
//
// Возвращаемое значение:
//  Структура:
//    * Соединение - COMОбъект
//                 - Неопределено - COM-объект соединения или Неопределено в случае ошибки;
//    * КраткоеОписаниеОшибки - Строка - краткое описание ошибки;
//    * ПодробноеОписаниеОшибки - Строка - подробное описание ошибки;
//    * ОшибкаПодключенияКомпоненты - Булево - флаг ошибки подключения COM.
//
Функция УстановитьВнешнееСоединениеСБазой(Параметры) Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.УстановитьВнешнееСоединениеСБазой(Параметры) 
```
</details>

## ПредлагатьСоздаватьРезервныеКопии
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для выполнения резервного копирования в пользовательском режиме.

// Проверяет, возможно ли выполнить резервное копирование в пользовательском режиме.
//
// Возвращаемое значение:
//  Булево - Истина, если предлагать.
//
Функция ПредлагатьСоздаватьРезервныеКопии() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПредлагатьСоздаватьРезервныеКопии() 
```
</details>

## ПредложитьПользователюСоздатьРезервнуюКопию
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Предлагает пользователю создать резервную копию.
Процедура ПредложитьПользователюСоздатьРезервнуюКопию() Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПредложитьПользователюСоздатьРезервнуюКопию() 
```
</details>

## ХранилищеОбщихНастроекСохранить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// АПК:222-выкл вызываемые процедуры исключены из программного интерфейса.

// Сохраняет настройку в хранилище общих настроек, как метод платформы Сохранить,
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
// которая превышает 96 символов.
// Если нет права СохранениеДанныхПользователя, сохранение пропускается без ошибки.
//
// См. ОбщегоНазначения.ХранилищеОбщихНастроекСохранить
//
// Параметры:
//   КлючОбъекта       - Строка           - см. синтакс-помощник платформы.
//   КлючНастроек      - Строка           - см. синтакс-помощник платформы.
//   Настройки         - Произвольный     - см. синтакс-помощник платформы.
//   ОписаниеНастроек  - Неопределено     - не используется на клиенте.
//   ИмяПользователя   - Строка           - см. синтакс-помощник платформы.
//   ОбновитьПовторноИспользуемыеЗначения - Булево - выполнить одноименный метод платформы.
//
Процедура ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки, );
```
</details>

## ХранилищеОбщихНастроекСохранитьМассив
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Сохраняет несколько настроек в хранилище общих настроек, как метод платформы Сохранить,
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
// которая превышает 96 символов.
// Если нет права СохранениеДанныхПользователя, сохранение пропускается без ошибки.
//
// См. ОбщегоНазначения.ХранилищеОбщихНастроекСохранитьМассив
//
// Параметры:
//   НесколькоНастроек - Массив - со значениями:
//     * Значение - Структура:
//         * Объект    - Строка       - см. параметр КлючОбъекта  в синтакс-помощнике платформы.
//         * Настройка - Строка       - см. параметр КлючНастроек в синтакс-помощнике платформы.
//         * Значение  - Произвольный - см. параметр Настройки    в синтакс-помощнике платформы.
//
//   ОбновитьПовторноИспользуемыеЗначения - Булево - выполнить одноименный метод платформы.
//
Процедура ХранилищеОбщихНастроекСохранитьМассив(НесколькоНастроек, ОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ХранилищеОбщихНастроекСохранитьМассив(НесколькоНастроек, ОбновитьПовторноИспользуемыеЗначения);
```
</details>

## ХранилищеОбщихНастроекЗагрузить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Загружает настройку из хранилища общих настроек, как метод платформы Загрузить,
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
// которая превышает 96 символов.
// Кроме того, возвращает указанное значение по умолчанию, если настройки не существуют.
// Если нет права СохранениеДанныхПользователя, возвращается значение по умолчанию без ошибки.
//
// В возвращаемом значении очищаются ссылки на несуществующий объект в базе данных, а именно
// - возвращаемая ссылка заменяется на указанное значение по умолчанию;
// - из данных типа Массив ссылки удаляются;
// - у данных типа Структура и Соответствие ключ не меняется, а значение устанавливается Неопределено;
// - анализ значений в данных типа Массив, Структура, Соответствие выполняется рекурсивно.
//
// См. ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить
//
// Параметры:
//   КлючОбъекта          - Строка           - см. синтакс-помощник платформы.
//   КлючНастроек         - Строка           - см. синтакс-помощник платформы.
//   ЗначениеПоУмолчанию  - Произвольный     - значение, которое возвращается, если настройки не существуют.
//                                             Если не указано, возвращается значение Неопределено.
//   ОписаниеНастроек     - Неопределено     - не используется на клиенте.
//   ИмяПользователя      - Строка           - см. синтакс-помощник платформы.
//
// Возвращаемое значение:
//   Произвольный - см. синтакс-помощник платформы.
//
Функция ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию = Неопределено, Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию, );
```
</details>

## ХранилищеОбщихНастроекУдалить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Удаляет настройку из хранилища общих настроек, как метод платформы Удалить,
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
// которая превышает 96 символов.
// Если нет права СохранениеДанныхПользователя, удаление пропускается без ошибки.
//
// См. ОбщегоНазначения.ХранилищеОбщихНастроекУдалить
//
// Параметры:
//   КлючОбъекта     - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//   КлючНастроек    - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//   ИмяПользователя - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//
Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) 
```
</details>

## ХранилищеСистемныхНастроекСохранить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Сохраняет настройку в хранилище системных настроек, как метод платформы Сохранить
// объекта СтандартноеХранилищеНастроекМенеджер, но с поддержкой длины ключа настроек
// более 128 символов путем хеширования части, которая превышает 96 символов.
// Если нет права СохранениеДанныхПользователя, сохранение пропускается без ошибки.
//
// См. ОбщегоНазначения.ХранилищеСистемныхНастроекСохранить
//
// Параметры:
//   КлючОбъекта       - Строка           - см. синтакс-помощник платформы.
//   КлючНастроек      - Строка           - см. синтакс-помощник платформы.
//   Настройки         - Произвольный     - см. синтакс-помощник платформы.
//   ОписаниеНастроек  - Неопределено     - не используется на клиенте.
//   ИмяПользователя   - Строка           - см. синтакс-помощник платформы.
//   ОбновитьПовторноИспользуемыеЗначения - Булево - выполнить одноименный метод платформы.
//
Процедура ХранилищеСистемныхНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ХранилищеСистемныхНастроекСохранить(КлючОбъекта, КлючНастроек, Настройки, );
```
</details>

## ХранилищеСистемныхНастроекЗагрузить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Загружает настройку из хранилища системных настроек, как метод платформы Загрузить,
// объекта СтандартноеХранилищеНастроекМенеджер, но с поддержкой длины ключа настроек
// более 128 символов путем хеширования части, которая превышает 96 символов.
// Кроме того, возвращает указанное значение по умолчанию, если настройки не существуют.
// Если нет права СохранениеДанныхПользователя, возвращается значение по умолчанию без ошибки.
//
// В возвращаемом значении очищаются ссылки на несуществующий объект в базе данных, а именно:
// - возвращаемая ссылка заменяется на указанное значение по умолчанию;
// - из данных типа Массив ссылки удаляются;
// - у данных типа Структура и Соответствие ключ не меняется, а значение устанавливается Неопределено;
// - анализ значений в данных типа Массив, Структура, Соответствие выполняется рекурсивно
//
// См. ОбщегоНазначения.ХранилищеСистемныхНастроекЗагрузить
//
// Параметры:
//   КлючОбъекта          - Строка           - см. синтакс-помощник платформы.
//   КлючНастроек         - Строка           - см. синтакс-помощник платформы.
//   ЗначениеПоУмолчанию  - Произвольный     - значение, которое возвращается, если настройки не существуют.
//                                             Если не указано, возвращается значение Неопределено.
//   ОписаниеНастроек     - Неопределено     - не используется на клиенте.
//   ИмяПользователя      - Строка           - см. синтакс-помощник платформы.
//
// Возвращаемое значение:
//   Произвольный - см. синтакс-помощник платформы.
//
Функция ХранилищеСистемныхНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию = Неопределено, Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ХранилищеСистемныхНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию, );
```
</details>

## ХранилищеСистемныхНастроекУдалить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Удаляет настройку из хранилища системных настроек, как метод платформы Удалить,
// объекта СтандартноеХранилищеНастроекМенеджер, но с поддержкой длины ключа настроек
// более 128 символов путем хеширования части, которая превышает 96 символов.
// Если нет права СохранениеДанныхПользователя, удаление пропускается без ошибки.
//
// См. ОбщегоНазначения.ХранилищеСистемныхНастроекУдалить
//
// Параметры:
//   КлючОбъекта     - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//   КлючНастроек    - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//   ИмяПользователя - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//
Процедура ХранилищеСистемныхНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ХранилищеСистемныхНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) 
```
</details>

## ХранилищеНастроекДанныхФормСохранить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Сохраняет настройку в хранилище настроек данных форм, как метод платформы Сохранить,
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
// которая превышает 96 символов.
// Если нет права СохранениеДанныхПользователя, сохранение пропускается без ошибки.
//
// См. ОбщегоНазначения.ХранилищеНастроекДанныхФормСохранить
//
// Параметры:
//   КлючОбъекта       - Строка           - см. синтакс-помощник платформы.
//   КлючНастроек      - Строка           - см. синтакс-помощник платформы.
//   Настройки         - Произвольный     - см. синтакс-помощник платформы.
//   ОписаниеНастроек  - Неопределено     - не используется на клиенте.
//   ИмяПользователя   - Строка           - см. синтакс-помощник платформы.
//   ОбновитьПовторноИспользуемыеЗначения - Булево - выполнить одноименный метод платформы.
//
Процедура ХранилищеНастроекДанныхФормСохранить(КлючОбъекта, КлючНастроек, Настройки, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ХранилищеНастроекДанныхФормСохранить(КлючОбъекта, КлючНастроек, Настройки, );
```
</details>

## ХранилищеНастроекДанныхФормЗагрузить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Загружает настройку из хранилища настроек данных форм, как метод платформы Загрузить,
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
// которая превышает 96 символов.
// Кроме того, возвращает указанное значение по умолчанию, если настройки не существуют.
// Если нет права СохранениеДанныхПользователя, возвращается значение по умолчанию без ошибки.
//
// В возвращаемом значении очищаются ссылки на несуществующий объект в базе данных, а именно
// - возвращаемая ссылка заменяется на указанное значение по умолчанию;
// - из данных типа Массив ссылки удаляются;
// - у данных типа Структура и Соответствие ключ не меняется, а значение устанавливается Неопределено;
// - анализ значений в данных типа Массив, Структура, Соответствие выполняется рекурсивно.
//
// См. ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить
//
// Параметры:
//   КлючОбъекта          - Строка           - см. синтакс-помощник платформы.
//   КлючНастроек         - Строка           - см. синтакс-помощник платформы.
//   ЗначениеПоУмолчанию  - Произвольный     - значение, которое возвращается, если настройки не существуют.
//                                             Если не указано, возвращается значение Неопределено.
//   ОписаниеНастроек     - Неопределено     - не используется на клиенте.
//   ИмяПользователя      - Строка           - см. синтакс-помощник платформы.
//
// Возвращаемое значение:
//   Произвольный - см. синтакс-помощник платформы.
//
Функция ХранилищеНастроекДанныхФормЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию = Неопределено, Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ХранилищеНастроекДанныхФормЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию, );
```
</details>

## ХранилищеНастроекДанныхФормУдалить
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Удаляет настройку из хранилища настроек данных форм, как метод платформы Удалить,
// объектов СтандартноеХранилищеНастроекМенеджер или ХранилищеНастроекМенеджер.<Имя хранилища>,
// но с поддержкой длины ключа настроек более 128 символов путем хеширования части,
// которая превышает 96 символов.
// Если нет права СохранениеДанныхПользователя, удаление пропускается без ошибки.
//
// См. ОбщегоНазначения.ХранилищеНастроекДанныхФормУдалить
//
// Параметры:
//   КлючОбъекта     - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//   КлючНастроек    - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//   ИмяПользователя - Строка
//                   - Неопределено - см. синтакс-помощник платформы.
//
Процедура ХранилищеНастроекДанныхФормУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ХранилищеНастроекДанныхФормУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) 
```
</details>

## ПерейтиПоСсылке
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать:
//  ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку при передачи ссылки на сайт или навигационной ссылки.
//  ФайловаяСистемаКлиент.ОткрытьПроводник для открытия каталога в проводнике.
//  ФайловаяСистемаКлиент.ОткрытьФайл для открытия файла по расширению при передачи пути к файлу.
//
// Выполняет переход по ссылке на объект информационной базы или внешний объект.
// (например, ссылка на сайт или путь каталога на компьютере).
//
// Параметры:
//  Ссылка - Строка - ссылка для перехода.
//
Процедура ПерейтиПоСсылке(Ссылка) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПерейтиПоСсылке(Ссылка) 
```
</details>

## ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботы1СПредприятия
// Предлагает пользователю установить расширение для работы с 1С:Предприятием в веб-клиенте.
// Предназначена для использования в начале участков кода, в которых ведется работа с файлами.
//
// Параметры:
//   ОписаниеОповещенияОЗакрытии    - ОписаниеОповещения - описание процедуры,
//                                    которая будет вызвана после закрытия формы со следующими параметрами:
//                                      РасширениеПодключено    - Булево - Истина, если расширение было подключено.
//                                      ДополнительныеПараметры - Произвольный - параметры, заданные в
//                                                                               ОписаниеОповещенияОЗакрытии.
//   ТекстПредложения                - Строка - текст сообщения. Если не указан, то выводится текст по умолчанию.
//   ВозможноПродолжениеБезУстановки - Булево - если Истина, будет показана кнопка ПродолжитьБезУстановки,
//                                              если Ложь, будет показана кнопка Отмена.
//
// Пример:
//
//    Оповещение = Новый ОписаниеОповещения("ПечатьДокументаЗавершение", ЭтотОбъект);
//    ТекстСообщения = НСтр("ru = 'Для печати документа необходимо установить расширение для работы с 1С:Предприятием.'");
//    ОбщегоНазначенияКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(Оповещение, ТекстСообщения);
//
//    Процедура ПечатьДокументаЗавершение(РасширениеПодключено, ДополнительныеПараметры) Экспорт
//      Если РасширениеПодключено Тогда
//        // код печати документа, рассчитывающий на то, что расширение подключено.
//        // ...
//      Иначе
//        // код печати документа, который работает без подключенного расширения.
//        // ...
//      КонецЕсли;
//
Процедура ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(ОписаниеОповещенияОЗакрытии, Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(ОписаниеОповещенияОЗакрытии, );
```
</details>

## ПроверитьРасширениеРаботыСФайламиПодключено
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботы1СПредприятия
// Предлагает пользователю подключить расширение для работы с 1С:Предприятием в веб-клиенте,
// и в случае отказа выдает предупреждение о невозможности продолжения операции.
// Предназначена для использования в начале участков кода, в которых ведется работа с файлами
// только при подключенном расширении.
//
// Параметры:
//  ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - описание процедуры, которая будет вызвана, если расширение
//                                                     подключено со следующими параметрами:
//                                                      Результат               - Булево - всегда Истина.
//                                                      ДополнительныеПараметры - Неопределено
//  ТекстПредложения    - Строка - текст с предложением подключить расширение для работы с 1С:Предприятием.
//                                 Если не указан, то выводится текст по умолчанию.
//  ТекстПредупреждения - Строка - текст предупреждения о невозможности продолжения операции.
//                                 Если не указан, то выводится текст по умолчанию.
//
// Пример:
//
//    Оповещение = Новый ОписаниеОповещения("ПечатьДокументаЗавершение", ЭтотОбъект);
//    ТекстСообщения = НСтр("ru = 'Для печати документа необходимо установить расширение для работы с 1С:Предприятием.'");
//    ОбщегоНазначенияКлиент.ПроверитьРасширениеРаботыСФайламиПодключено(Оповещение, ТекстСообщения);
//
//    Процедура ПечатьДокументаЗавершение(Результат, ДополнительныеПараметры) Экспорт
//        // код печати документа, рассчитывающий на то, что расширение подключено.
//        // ...
//
Процедура ПроверитьРасширениеРаботыСФайламиПодключено(ОписаниеОповещенияОЗакрытии, Знач ТекстПредложения = "", Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ПроверитьРасширениеРаботыСФайламиПодключено(ОписаниеОповещенияОЗакрытии, ТекстПредложения, );
```
</details>

## ПредлагатьУстановкуРасширенияРаботыСФайлами
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ФайловаяСистемаКлиент.ПодключитьРасширениеДляРаботы1СПредприятия.
// Возвращает пользовательскую настройку "Предлагать установку расширения для работы с 1С:Предприятием".
//
// Возвращаемое значение:
//  Булево - Истина, если предлагать.
//
Функция ПредлагатьУстановкуРасширенияРаботыСФайлами() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ПредлагатьУстановкуРасширенияРаботыСФайлами() 
```
</details>

## ОткрытьФайлВПрограммеПросмотра
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ФайловаяСистемаКлиент.ОткрытьФайл
// Открывает файл в программе просмотра, ассоциированной с расширением файла в операционной системе.
// Блокирует возможность открытия файлов, расширение которых относятся к исполняемым файлам.
//
// Параметры:
//  ПутьКФайлу - Строка - полный путь к файлу, который требуется открыть.
//  Оповещение - ОписаниеОповещения - оповещение о результате открытия.
//      если оповещение не задано, в случае ошибки будет показано предупреждение:
//      * ПриложениеЗапущено - Булево - Истина, если внешнее приложение не вызвало ошибок при открытии.
//      * ДополнительныеПараметры - Произвольный - значение, которое было указано при создании объекта ОписаниеОповещения.
//
// Пример:
//  ОбщегоНазначенияКлиент.ОткрытьФайлВПрограммеПросмотра(КаталогДокументов() + "test.PDF");
//  ОбщегоНазначенияКлиент.ОткрытьФайлВПрограммеПросмотра(КаталогДокументов() + "test.xlsx");
//
Процедура ОткрытьФайлВПрограммеПросмотра(ПутьКФайлу, Знач Оповещение = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ОткрытьФайлВПрограммеПросмотра(ПутьКФайлу, Оповещение);
```
</details>

## ОткрытьПроводник
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ФайловаяСистемаКлиент.ОткрытьПроводник
// Открывает проводник с указанным путем.
// Если передан путь к файлу, то выполняет позиционирование курсора в проводнике на этом файле.
//
// Параметры:
//  ПутьККаталогуИлиФайлу - Строка - полный путь к файлу или каталогу.
//
// Пример:
//  // Для Windows
//  ОбщегоНазначенияКлиент.ОткрытьПроводник("C:\Users");
//  ОбщегоНазначенияКлиент.ОткрытьПроводник("C:\Program Files\1cv8\common\1cestart.exe");
//  // Для Linux
//  ОбщегоНазначенияКлиент.ОткрытьПроводник("/home/");
//  ОбщегоНазначенияКлиент.ОткрытьПроводник("/opt/1C/v8.3/x86_64/1cv8c");
//
Процедура ОткрытьПроводник(ПутьККаталогуИлиФайлу) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ОткрытьПроводник(ПутьККаталогуИлиФайлу) 
```
</details>

## ОткрытьНавигационнуюСсылку
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку
// Открывает навигационную ссылку в программе, которая ассоциирована с протоколом навигационной ссылки.
//
// Допустимые протоколы: HTTP, https, e1c, v8help, mailto, tel, skype.
//
// Для открытия проводника или файла в программе просмотра не следует формировать ссылку по протоколу file://
// - для открытия проводника см. ОткрытьПроводник.
// - для открытия файла по расширению см. ОткрытьФайлВПрограммеПросмотра.
//
// Параметры:
//  НавигационнаяСсылка - Строка - ссылка, которую требуется открыть.
//  Оповещение - ОписаниеОповещения - оповещение о результате открытия.
//      если оповещение не задано, в случае ошибки будет показано предупреждение:
//      * ПриложениеЗапущено - Булево - Истина, если внешнее приложение не вызвало ошибок при открытии.
//      * ДополнительныеПараметры - Произвольный - значение, которое было указано при создании объекта ОписаниеОповещения.
//
// Пример:
//  ОбщегоНазначенияКлиент.ОткрытьНавигационнуюСсылку("e1cib/navigationpoint/startpage"); // начальная страница.
//  ОбщегоНазначенияКлиент.ОткрытьНавигационнуюСсылку("v8help://1cv8/QueryLanguageFullTextSearchInData");
//  ОбщегоНазначенияКлиент.ОткрытьНавигационнуюСсылку("https://1c.com");
//  ОбщегоНазначенияКлиент.ОткрытьНавигационнуюСсылку("mailto:help@1c.com");
//  ОбщегоНазначенияКлиент.ОткрытьНавигационнуюСсылку("skype:echo123?call");
//
Процедура ОткрытьНавигационнуюСсылку(НавигационнаяСсылка, Знач Оповещение = Неопределено) Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.ОткрытьНавигационнуюСсылку(НавигационнаяСсылка, Оповещение);
```
</details>

## СоздатьВременныйКаталог
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ФайловаяСистемаКлиент.СоздатьВременныйКаталог
// Получение имени временного каталога.
//
// Параметры:
//  Оповещение - ОписаниеОповещения - оповещение о результате получения:
//      * ИмяКаталога             - Строка - путь к созданному каталогу.
//      * ДополнительныеПараметры - Структура - значение, которое было указано при создании объекта ОписаниеОповещения.
//  Расширение - Строка - суффикс в имени каталога, который поможет идентифицировать каталог при анализе.
//
Процедура СоздатьВременныйКаталог(Знач Оповещение, Расширение = "") Экспорт
```

Пример вызова
```bsl
ОбщегоНазначенияКлиент.СоздатьВременныйКаталог(Оповещение, Расширение);
```
</details>

## ЭтоOSXКлиент
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ОбщегоНазначенияКлиент.ЭтоMacOSКлиент
// Возвращает Истина, если клиентское приложение запущено под управлением ОС X.
//
// Возвращаемое значение:
//  Булево - если нет клиентского приложения, возвращается Ложь.
//
Функция ЭтоOSXКлиент() Экспорт
```

Пример вызова
```bsl
Результат = ОбщегоНазначенияКлиент.ЭтоOSXКлиент() 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
