Библиотека алгоритмов — различия между версиями
Строка 1: | Строка 1: | ||
− | Библиотека алгоритмов представляет собой список алгоритмов - блоков программного кода на встроенном языке 1С. К алгоритмам можно обращаться из правил заполнения шаблонов. Алгоритмы используются в ситуациях, когда невозможно извлечь необходимые для заполнения шаблона данные стандартными средствами (через укаказние поля объекта). | + | Библиотека алгоритмов представляет собой список алгоритмов - блоков программного кода на встроенном языке 1С. К алгоритмам можно обращаться из [[Правила_заполнения|правил заполнения]] шаблонов. Алгоритмы используются в ситуациях, когда невозможно извлечь необходимые для заполнения шаблона данные стандартными средствами (через укаказние поля объекта). |
Каждый алгоритм библиотеки имеет имя, и описывается программным кодом на встроенном языке 1С. | Каждый алгоритм библиотеки имеет имя, и описывается программным кодом на встроенном языке 1С. | ||
Строка 13: | Строка 13: | ||
Использование библиотек алгоритмов | Использование библиотек алгоритмов | ||
Библиотеки алгоритмов можно сравнить с общими модулями в структуре конфигурации 1С, а отдельные алгоритмы - с функциями. Использование библиотек алгоритмов позволяет | Библиотеки алгоритмов можно сравнить с общими модулями в структуре конфигурации 1С, а отдельные алгоритмы - с функциями. Использование библиотек алгоритмов позволяет | ||
− | * упростить описание правил заполнения шаблонов (при описании способа заполнения закладки не нужно будет каждый раз писать программный код алгоритма получения данных - достаточно указать библиотеку и алгоритм); | + | * упростить описание [[Правила_заполнения|правил заполнения]] шаблонов (при описании способа заполнения закладки не нужно будет каждый раз писать программный код алгоритма получения данных - достаточно указать библиотеку и алгоритм); |
* сделать программный код подготовки данных для заполнения шаблонов более модульным (возможен вызов одного алгоритма из другого как функции). | * сделать программный код подготовки данных для заполнения шаблонов более модульным (возможен вызов одного алгоритма из другого как функции). | ||
Строка 22: | Строка 22: | ||
* '''ПараметрАлгоритма''' - произвольный параметр, обычно строковый, который может быть передан алгоритму; | * '''ПараметрАлгоритма''' - произвольный параметр, обычно строковый, который может быть передан алгоритму; | ||
* '''кэш''' - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования); | * '''кэш''' - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования); | ||
− | * '''текВалюта''' - данную переменную желательно устанавливать в случаях, когда алгоритм возвращает суммовые данные (в рублях или в валюте). Это позволит корректно выводить эту сумму прописью (см. о форматировании в разделе о правилах заполнения). | + | * '''текВалюта''' - данную переменную желательно устанавливать в случаях, когда алгоритм возвращает суммовые данные (в рублях или в валюте). Это позволит корректно выводить эту сумму прописью (см. о форматировании в разделе о [[Правила_заполнения|правилах заполнения]]). |
Алгоритм библиотеки может быть вызван из другого алгоритма путем следующей строки кода: | Алгоритм библиотеки может быть вызван из другого алгоритма путем следующей строки кода: | ||
Строка 30: | Строка 30: | ||
где | где | ||
− | *Библиотека - имя библиотеки алгоритмов; | + | *'''Библиотека''' - имя библиотеки алгоритмов; |
− | + | *'''ИмяАлгоритма''' - имя алгоритма внутри указанной библиотеки; | |
− | *ИмяАлгоритма - имя алгоритма внутри указанной библиотеки; | + | *'''ПараметрАлгоритма''' - произвольный параметр, передаваемый алгоритму (параметр передается по значению); |
− | + | *'''Объект''' - обычно в данный параметр передается ссылка на объект 1С, на основе которого заполняется шаблон (если объект не нужен, то можно, например, передать Неопределено). | |
− | *ПараметрАлгоритма - произвольный параметр, передаваемый алгоритму (параметр передается по значению); | ||
− | |||
− | *Объект - обычно в данный параметр передается ссылка на объект 1С, на основе которого заполняется шаблон (если объект не нужен, то можно, например, передать Неопределено). |
Версия 07:12, 15 ноября 2017
Библиотека алгоритмов представляет собой список алгоритмов - блоков программного кода на встроенном языке 1С. К алгоритмам можно обращаться из правил заполнения шаблонов. Алгоритмы используются в ситуациях, когда невозможно извлечь необходимые для заполнения шаблона данные стандартными средствами (через укаказние поля объекта).
Каждый алгоритм библиотеки имеет имя, и описывается программным кодом на встроенном языке 1С.
На закладке "Алгоритмы" в верхней части формы - список алгоритмов, а ниже - программный код выбранного алгоритма.
Редактирование алгоритмов доступно только под полными правами.
На закладке "Описание" - текстовое описание библиотеки алгоритмов.
Использование библиотек алгоритмов Библиотеки алгоритмов можно сравнить с общими модулями в структуре конфигурации 1С, а отдельные алгоритмы - с функциями. Использование библиотек алгоритмов позволяет
- упростить описание правил заполнения шаблонов (при описании способа заполнения закладки не нужно будет каждый раз писать программный код алгоритма получения данных - достаточно указать библиотеку и алгоритм);
- сделать программный код подготовки данных для заполнения шаблонов более модульным (возможен вызов одного алгоритма из другого как функции).
Алгоритмы выполняются на сервере. Контекст алгоритма библиотеки содержит следующие переменные:
- Результат - в эту переменную должен быть присвоен результат выполнения алгоритма;
- Объект - ссылка на объект информационной базы 1С, на основе которого заполняется шаблон;
- ПараметрАлгоритма - произвольный параметр, обычно строковый, который может быть передан алгоритму;
- кэш - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования);
- текВалюта - данную переменную желательно устанавливать в случаях, когда алгоритм возвращает суммовые данные (в рублях или в валюте). Это позволит корректно выводить эту сумму прописью (см. о форматировании в разделе о правилах заполнения).
Алгоритм библиотеки может быть вызван из другого алгоритма путем следующей строки кода:
РезультатВыполненияАлгоритма = ПолучитьРезультатВыполненияАлгоритмаБиблиотеки(Библиотека, ИмяАлгоритма, ПараметрАлгоритма, Объект)
где
- Библиотека - имя библиотеки алгоритмов;
- ИмяАлгоритма - имя алгоритма внутри указанной библиотеки;
- ПараметрАлгоритма - произвольный параметр, передаваемый алгоритму (параметр передается по значению);
- Объект - обычно в данный параметр передается ссылка на объект 1С, на основе которого заполняется шаблон (если объект не нужен, то можно, например, передать Неопределено).