---
title: Общего назначения БЗК клиент сервер
slug: zup/общего-назначения-бзк-клиент-сервер
---


## УстановитьЗначениеСвойства
<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

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

Пример вызова
```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

// Возвращает элементы массива с <НачальныйИндекс> по <КонечныйИндекс>.
//
// Параметры:
//	Массив          - Массив - исходный массив, срез которого будет получен.
//	НачальныйИндекс - Число  - Индекс элемента, с которого начинается срез (включительно).
//                             Если параметр не указан, то выбираются элементы с начала массива.
//                             Если указано значение, меньшее нуля, то параметр принимает значение 0.
//	КонечныйИндекс  - Число  - Индекс элемента, по который выполняется срез (включительно).
//                             Если параметр не указан, то выбираются элементы до конца массива.
//                             Если указано значение, большее индекса конечного элемента,
//                             то параметр принимает значение, равное индексу конечного элемента.
//
// Возвращаемое значение:
//	Массив - элементы исходного массива в указанном диапазоне.
//
Функция СрезМассива(Массив, Знач НачальныйИндекс = 0, Знач КонечныйИндекс = Неопределено) Экспорт
```

Пример вызова
```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

// Формирует небольшой массив размером от 2 до 5 элементов по их значениям.
// Для создания массива из единственного элемента см. ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве.
//
// Параметры:
// 	Элемент<n> - элементы массива.
//
// Возвращаемое значение:
// 	Массив из Элемент<n>.
//
Функция ЗначенияВМассиве( Экспорт
```

Пример вызова
```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>

---

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

---
