Skip to content

Latest commit

 

History

History
67 lines (44 loc) · 7.07 KB

ПользовательскиеФункции.md

File metadata and controls

67 lines (44 loc) · 7.07 KB

Подсистема "пользовательские функции"

Общие сведения

Пользовательские функции в системе 1С предназначены для эффективного повторного использования кода. Они позволяют классифицировать и хранить часто используемые фрагменты кода, упрощая настройку шаблонов проводок и других операций.
Форма списка справочника содержит перечень пользовательских функций, описание выделенной функции, а также код функции с указанием типов входных параметров в виде комментария. В случае если выделена группа функций в окне кода появляется список функций, которые эта группа содержит.

Создание функции

Функции создаются в справочнике "Пользовательские функции". Они являются глобальными. Пользователь имеет возможность самостоятельно определить алгоритм, который сформирует возвращаемое значение.
Главным условием, является то, что сформированное значение должно быть помещено в переменную "Результат".

Параметры функции

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

Переменные функции

Предназначены для внедрения ссылочных констант в код, обеспечивая удобное управление этими константами в рамках разработки кода.

Работа с функциями

В коде пользовательской функции допускается использование запросов. Для вызова конструктора запросов можно воспользоваться кнопкой "Конструктор запроса" на панели инструментов редактора кода или сочетанием клавиш "Ctrl + D".

В процессе написания пользовательской функции может потребоваться проверка выполнения кода. Для запуска пользовательской функции на выполнение можно воспользоваться кнопкой "Выполнить" на панели инструментов редактора кода.

Произойдет попытка исполнения кода функции в контексте общего модуля. В случае ошибки при исполнении кода, пользователю будет сообщено об этом.

Для вызова пользовательской функции из произвольного места существует функция - пбп_ОбщегоНазначенияСервер.ВыполнитьПользовательскуюФункциюСПараметрами(Ссылка, Параметры)
Параметры:
Ссылка - СправочникСсылка.пбп_ПользовательскиеФункции - ссылка на выполняемую функцию;
Параметры - Структура - где ключ - имя параметра, значение - значение передаваемого параметра.
В случае если не передан обязательный параметр в структуре параметров, будет вызвано исключение, можно не передавать необязательные параметры, в таком случае их значение будет по умолчанию "Неопределено"

Пример создания пользовательской функции:

Функция УдалитьНедопустимыеСимволы(ИсходнаяСтрока) // Формируется на основании наименования элемента справочника и параметров

    НедопустимыеСимволы = """'`/\[]{}:;|-=?*<>,.()+#№@!%^&~«»";
    Результат = СтрСоединить(СтрРазделить(ИсходнаяСтрока, НедопустимыеСимволы, Истина));

    Возврат Результат; // Установлен автоматически, отдельно прописывать не нужно

КонецФункции // Установлен автоматически, отдельно прописывать не нужно

Пример вызова пользовательской функции:

Функция ПолучитьВалиднуюСтроку(СсылкаНаПользовательскуюФункцию, Имя)

    ИмяБезПробелов = СтрЗаменить(Имя, " ", "");
    ПараметрыФункции = Новый Структура;
    ПараметрыФункции.Вставить("ИсходнаяСтрока", ИмяБезПробелов);
    Результат = пбп_ОбщегоНазначенияСервер.ВыполнитьПользовательскуюФункциюСПараметрами(СсылкаНаПользовательскуюФункцию, ПараметрыФункции);

    Возврат Результат;

КонецФункции