Разработка алгоритмов

Материал из Формирование документов Word из 1C
Перейти к: навигация, поиск

Информация для технических специалистов (программисты, консультанты, администраторы)

Разработка алгоритмов необходима в случаях, когда не хватает стандартных возможностей СКД для получения необходимых данных. Алгоритм может быть разработан

  • при описании заполнения закладки способом "Заполнение произвольным алгоритмом";
  • при разработке библиотеки алгоритмов.

В обоих случаях алгоритм имеет одинаковый контекст.

Алгоритмы выполняются на сервере. Контекст алгоритма содержит следующие переменные:

  • Результат - в эту переменную должен быть присвоен результат выполнения алгоритма. Это значение будет подставлено в закладку. Если значение - Неопределено, то закладка не будет обработана (подстановка значения не производится). Значение по умолчанию - Неопределено.
  • Объект - ссылка на объект информационной базы 1С, на основе которого заполняется шаблон;
  • кэш - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования);
  • текВалюта - данную переменную желательно устанавливать в случаях, когда алгоритм возвращает суммовые данные (в рублях или в валюте). Это позволит корректно выводить эту сумму прописью (см. о форматировании).

В случае алгоритма библиотеки доступен еще одна переменная:

  • ПараметрАлгоритма - произвольный параметр, обычно строковый, который может быть передан алгоритму;

Алгоритм библиотеки может быть вызван из другого алгоритма путем следующей строки кода:

РезультатВыполненияАлгоритма = ПолучитьРезультатВыполненияАлгоритмаБиблиотеки(Библиотека, ИмяАлгоритма, ПараметрАлгоритма, Объект)

где

  • Библиотека - имя библиотеки алгоритмов;
  • ИмяАлгоритма - имя алгоритма внутри указанной библиотеки;
  • ПараметрАлгоритма - произвольный параметр, передаваемый алгоритму (параметр передается по значению);
  • Объект - обычно в данный параметр передается ссылка на объект 1С, на основе которого заполняется шаблон (если объект не нужен, то можно, например, передать Неопределено).

Редактирование алгоритмов доступно только под полными правами.