Разработка алгоритмов — различия между версиями
Материал из Формирование документов Word из 1C
Строка 4: | Строка 4: | ||
* при описании заполнения закладки способом "Заполнение произвольным алгоритмом"; | * при описании заполнения закладки способом "Заполнение произвольным алгоритмом"; | ||
* при разработке [[Библиотека_алгоритмов|библиотеки алгоритмов]]. | * при разработке [[Библиотека_алгоритмов|библиотеки алгоритмов]]. | ||
− | В обоих случаях алгоритм имеет | + | В обоих случаях алгоритм имеет одинаковый контекст. |
− | Контекст алгоритма содержит следующие переменные: | + | Алгоритмы выполняются на сервере. Контекст алгоритма содержит следующие переменные: |
*'''Результат''' - в эту переменную должен быть присвоен результат выполнения алгоритма. Это значение будет подставлено в закладку. Если значение - '''Неопределено''', то закладка не будет обработана (подстановка значения не производится). Значение по умолчанию - '''Неопределено'''. | *'''Результат''' - в эту переменную должен быть присвоен результат выполнения алгоритма. Это значение будет подставлено в закладку. Если значение - '''Неопределено''', то закладка не будет обработана (подстановка значения не производится). Значение по умолчанию - '''Неопределено'''. | ||
*'''Объект''' - ссылка на объект информационной базы 1С, на основе которого заполняется шаблон; | *'''Объект''' - ссылка на объект информационной базы 1С, на основе которого заполняется шаблон; | ||
*'''кэш''' - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования); | *'''кэш''' - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования); | ||
+ | * '''текВалюта''' - данную переменную желательно устанавливать в случаях, когда алгоритм возвращает суммовые данные (в рублях или в валюте). Это позволит корректно выводить эту сумму прописью (см. о [[Форматирование_значений_закладок|форматировании]]). | ||
+ | |||
+ | В случае алгоритма библиотеки доступен еще одна переменная: | ||
+ | |||
+ | * ПараметрАлгоритма - произвольный параметр, обычно строковый, который может быть передан алгоритму; | ||
+ | |||
+ | Алгоритм библиотеки может быть вызван из другого алгоритма путем следующей строки кода: | ||
+ | |||
+ | <code>РезультатВыполненияАлгоритма = ПолучитьРезультатВыполненияАлгоритмаБиблиотеки(Библиотека, ИмяАлгоритма, ПараметрАлгоритма, Объект)</code> | ||
+ | |||
+ | где | ||
+ | |||
+ | *'''Библиотека''' - имя библиотеки алгоритмов; | ||
+ | *'''ИмяАлгоритма''' - имя алгоритма внутри указанной библиотеки; | ||
+ | *'''ПараметрАлгоритма''' - произвольный параметр, передаваемый алгоритму (параметр передается по значению); | ||
+ | *'''Объект''' - обычно в данный параметр передается ссылка на объект 1С, на основе которого заполняется шаблон (если объект не нужен, то можно, например, передать Неопределено). | ||
Редактирование алгоритмов доступно только под полными правами. | Редактирование алгоритмов доступно только под полными правами. |
Версия 12:35, 22 ноября 2017
Информация для технических специалистов (программисты, консультанты, администраторы)
Разработка алгоритмов необходима в случаях, когда не хватает стандартных возможностей СКД для получения необходимых данных. Алгоритм может быть разработан
- при описании заполнения закладки способом "Заполнение произвольным алгоритмом";
- при разработке библиотеки алгоритмов.
В обоих случаях алгоритм имеет одинаковый контекст.
Алгоритмы выполняются на сервере. Контекст алгоритма содержит следующие переменные:
- Результат - в эту переменную должен быть присвоен результат выполнения алгоритма. Это значение будет подставлено в закладку. Если значение - Неопределено, то закладка не будет обработана (подстановка значения не производится). Значение по умолчанию - Неопределено.
- Объект - ссылка на объект информационной базы 1С, на основе которого заполняется шаблон;
- кэш - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования);
- текВалюта - данную переменную желательно устанавливать в случаях, когда алгоритм возвращает суммовые данные (в рублях или в валюте). Это позволит корректно выводить эту сумму прописью (см. о форматировании).
В случае алгоритма библиотеки доступен еще одна переменная:
- ПараметрАлгоритма - произвольный параметр, обычно строковый, который может быть передан алгоритму;
Алгоритм библиотеки может быть вызван из другого алгоритма путем следующей строки кода:
РезультатВыполненияАлгоритма = ПолучитьРезультатВыполненияАлгоритмаБиблиотеки(Библиотека, ИмяАлгоритма, ПараметрАлгоритма, Объект)
где
- Библиотека - имя библиотеки алгоритмов;
- ИмяАлгоритма - имя алгоритма внутри указанной библиотеки;
- ПараметрАлгоритма - произвольный параметр, передаваемый алгоритму (параметр передается по значению);
- Объект - обычно в данный параметр передается ссылка на объект 1С, на основе которого заполняется шаблон (если объект не нужен, то можно, например, передать Неопределено).
Редактирование алгоритмов доступно только под полными правами.