Для получения значения элемента бланка и для получения условий формирования шаблона строки можно использовать пользовательские функции. Для этого в элемент записывается служебное слово «CALL» + пробел + НаименованиеФункции.
НаименованиеФункции – наименование пользовательской функции, которая должна находиться в общем модуле базы данных MS Access и описана с ключевым словом Public.
Пользовательская функция должна принимать три параметра:
1. Текущий источник данных.
2. Дополнительный источник данных (см. раздел 15.10.3.4 третье служебное поле). Будет определен, если функция используется для элемента шаблона строки и у данного шаблона строки есть дополнительный источник данных. В остальных случаях будет передаваться Notching.
3. Вариантный массив, содержащий следующие элементы:
1 - Порядковый номер листа выходного документа.
2 - Порядковый номер листа выходного документа, сформированного на основе текущего бланка.
3 - Порядковый номер сформированной строки на листе (см. «НомерСтрокиНаЛисте» в разделе 15.10.3.4)
4 - Порядковый номер сформированной строки относительно начала документа с учетом всех сформированных листов (см. «НомерСтроки» в разделе 15.10.3.4)
5 - Порядковый номер сформированной позиции относительно начала документа с учетом всех сформированных листов (см. «НомерПозиции» в разделе 15.10.3.4)
6 - Значение 1, если текущий лист выходного документа формируется на основании области «Карта1», значение 2, если на основании «Карта2»
Источники данных будут передаваться как объекты Recordset библиотеки ADO, с установленным курсором на текущей записи, которую в данный момент обрабатывает модуль формирования выходных форм. Тип курсора «Keyset» (см. описание библиотеки ADO). Объект Recordset рекомендуется принимать по ссылке и при этом не переопределять его. Можно только перемещать курсор и читать значения полей.
Пользовательская функция должна возвращать:
· Если функция используется для получения значения элемента бланка, то должна возвращать текстовое значение. Если элементу нужно присвоить несколько значений, то функция должна вернуть конкатенацию этих значений, используя в качестве символа разделителя «|».
· Если функция используется для получения условия формирования шаблона строки, то должна возвращать в качестве истинного значения «-1», а в качестве ложного значения «0».
! См. также: