Для получения значения элемента бланка и для получения условий формирования шаблона строки можно использовать пользовательские функции. Для этого в элемент записывается служебное слово «CALL» + пробел + НаименованиеФункции.

 

 

НаименованиеФункции – наименование пользовательской функции, которая должна находиться в общем модуле базы данных MS Access и описана с ключевым словом Public.

 

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

 

1.       Текущий источник данных.

 

2.       Дополнительный источник данных (см. раздел 14.10.3.4 третье служебное поле). Будет определен, если функция используется для элемента шаблона строки и у данного шаблона строки есть дополнительный источник данных. В остальных случаях будет передаваться Notching.

 

3.       Вариантный массив, содержащий следующие элементы:

 

1 -    Порядковый номер листа выходного документа.

 

2 -    Порядковый номер листа выходного документа, сформированного на основе текущего бланка.

 

3 -    Порядковый номер сформированной строки на листе (см. «НомерСтрокиНаЛисте» в разделе 14.10.3.4)

 

4 -    Порядковый номер сформированной строки относительно начала документа с учетом всех сформированных листов (см. «НомерСтроки» в разделе 14.10.3.4)

 

5 -    Порядковый номер сформированной позиции относительно начала документа с учетом всех сформированных листов (см. «НомерПозиции» в разделе 14.10.3.4)

 

6 -    Значение 1, если текущий лист выходного документа формируется на основании области «Карта1», значение 2, если на основании «Карта2»

 

Источники данных будут передаваться как объекты Recordset библиотеки ADO, с установленным курсором на текущей записи, которую в данный момент обрабатывает модуль формирования выходных форм. Тип курсора «Keyset» (см. описание библиотеки ADO). Объект Recordset рекомендуется принимать по ссылке и при этом не переопределять его. Можно только перемещать курсор и читать значения полей.

 

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

 

·         Если функция используется для получения значения элемента бланка, то должна возвращать текстовое значение. Если элементу нужно присвоить несколько значений, то функция должна вернуть конкатенацию этих значений, используя в качестве символа разделителя «|».

 

·         Если функция используется для получения условия формирования шаблона строки, то должна возвращать в качестве истинного значения «-1», а в качестве ложного значения «0».

 

 

! См. также:

14.10 Создание бланка