---
title: Работа с формулами клиент сервер
slug: erp-uh/работа-с-формулами-клиент-сервер
---


## ИдентификаторДляФормул
<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]", "РеквизитТЧ", "{ХарактеристикаРеквизита}", "РеквизитХарактеристики".
//
// Параметры:
// 	Операнд - Строка - Операнд формулы.
// 	ПредставленияХарактеристик - Булево - Флаг, указывающий, что парсится выражения с представлениями характеристик,
// 				а не идентификаторами.
// 	УдалятьВнешниеСкобки - Булево - Если Истина, то если операнд заключен во внешние [] скобки, они будут удалены.
// 				В основном, если операнд заключен во внешние квадратные скобки, это ограничение самого операнда,
// 				как, например, в формулах видов номенклатур. Однако, если разбирается на части часть операнда, то
// 				внешние квадратные скобки являются признаком характеристики, и их удалять не следует.
// 				Например, в методе "ВыполнениеПроверкиИПреобразованияВыражений", может распарсиваться путь
// 				типа "Счет.Субконто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

Функция СпецСимволы() Экспорт
```

Пример вызова
```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>, <Параметр функции 2>)".
// 			В приведенном примере описания параметров "<Параметр функции 1>" могут быть помещены в НСтр для отображения
// 			пользователю.
// 	 *Пояснение - Строка - Необязательный параметр. Пояснение, выводимое в конструкторе формул при позиционировании
// 	 		на строке функции. На языке пользователя.
//
Функция ОписаниеФункцииОбщегоМодуля() Экспорт
```

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

---

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

---
