7.9. Формулы для задания реквизитов документа

Формулы значений реквизитов. В графе “Выр.” запроса структуры документа (рис. 7.12) записываются формулы для реквизитов документа. Назначение формулы зависит от типа реквизита:

Формулы записываются по правилам макроязыка (см. Приложение 1), они могут состоять из выражений и команд установки периода, разделенных символом “;”. Команды установки периода в формуле (М, KB, KH и т.д.) записываются без предшествующего знака “!”.

Макроимена для ссылок на реквизиты. Для ссылок на реквизиты документа в формулах используются следующие макроимена:

ЗН - значение текущего реквизита шапки документа (т.е. реквизита, на котором установлен курсор);

ЗНn - значение реквизита с номером n шапки документа;

ЗН|n - значение реквизита с номером n текущей строки табличной части документа;

ЗН| - значение текущего реквизита (т.е. реквизита, на котором установлен курсор) в табличной части документа;

3Hm|n - значение реквизита с номером n строки m табличной части документа;

ИТОГn - сумма значений реквизита с номером n всех строк табличной части документа. Применяется только для числовых реквизитов.

Реквизитам документа можно присваивать значения командой присваивания. Например, ЗНЗ=256 — присваивает третьему реквизиту шапки документа значение 256.

Для реквизитов типа субконто, счет, валюта и дата Вы можете использовать эти реквизиты в стандартных макроименах с помощью следующих обозначений:

{n} - ссылка на реквизит с номером n шапки документа;

{} - ссылка на текущий реквизит шапки документа;

{m|n} — ссылка на реквизит с номером n строки m табличной части документа;

{|n} — ссылка на реквизит с номером n текущей строки табличной части документа.

Пример. Для ссылки на дебетовый остаток по счету, указанному в четвертом реквизите шапки документа, можно использовать макроимя СКД{4}.

Формулы реквизитов заголовка документа в журнале операций. Выражение, задающее краткое содержание для заголовка документа в журнале операций (“Содержание”), может иметь только текстовое значение, поэтому его не обязательно начинать со строки символов в кавычках.

Формулы для формирования первого и второго субконто (“Субконто 1” и “Субконто 2”) могут содержать только ссылку на значение реквизита, содержащего субконто.

Формула для суммы должна быть числовым выражением. Рекомендуется в эту графу помещать сумму документа (если она имеет смысл). Например, для счета в эту графу можно помещать сумму счета (скажем, с помощью макроимени ИТОГ5), для платежного поручения — перечисляемую сумму (скажем, с помощью макроимени ЗН4).

Замечание. Рекомендуется обязательно указывать формулу для текста содержания операции в журнале операций, чтобы заголовок документа в журнале включал информацию о содержании документа.

Формулы вычисляемых реквизитов шапки и табличной части документа. В этих формулах задается значение текущего вычисляемого реквизита документа (расчета). Формулы записываются поправилам макроязыка (см. Приложение 1), они могут состоять из выражений и команд установки периода, разделенных символом “;”. Команды установки периода в формуле (М,KB, KH и т.д.) записываются без предшествующего знака “!”.

Если в формуле имеется несколько выражений, то реквизиту присваивается значение последнего выражения в формуле. В выражении можно ссылаться на значение предыдущего выражения в формуле с помощью макроимени X.

Формулы невычисляемых реквизитов шапки и табличной части документа. В этих формулах описываются действия (изменения начальных значений других реквизитов), выполняемые после ввода данного реквизита. Эти действия могут быть следующими:

  1. Команды присваивания значений другим реквизитам. Каждая команда имеет вид:

    ЗНn=выражение - изменение значения реквизита с номером n шапки документа;

    ЗНm|n=выражение - изменение значения реквизита с номером n строки m табличной части документа.

    Если m или n не указываются, подразумевается текущая строка и текущий столбец запроса.

  2. Команды установки рабочего периода (М, К, Г и т.д.). Эти команды записываются без предшествующего знака “!”.

Выражение, задающее значение реквизита, имеющего тип субконто, счет или валюта, должно быть символьным (например, текстовой строкой в кавычках) и содержать код счета или номер валюты, или номер субконто. Для многоуровневых субконто номер суб-конто состоит из номеров на каждом уровне, разделенных символом “:”.

Замечание. Читатели, знакомые с табличными процессорами (SuperCalc, Lotus 1-2-3, Quattro Pro, Excel и т.д.), могут быть дезориентированы тем, что формулы в клетках табличных процессоров задают выражения для вычисления значения в данной клетке по значениям в других клетках, а формулы для невычисляемых реквизитов документа или расчета, наоборот, задают правила для изменения значения других реквизитов при изменении данного. Это отличие связано с тем, что реквизиты документа или расчета рассматриваются как исходные данные, которые могут быть изменены пользователем. Назначение формул здесь состоит в задании начальных, а не окончательных значений реквизитов. Значения, которые не должны корректироваться пользователем, лучше задавать с помощью вычисляемых реквизитов документа, либо вычислять при генерации проводок или формировании выходного документа.

Примеры:

  1. При описании реквизита “количество” в счете можно указать выражение, вычисляющее сумму как количество, умноженное на цену и на скидку:

    ЗН!4=ЗН;3*СЦ{!2}*ЗН5

    Здесь предполагается, что сумма находится в четвертом реквизите многострочной части, количество в третьем реквизите многострочной части, субконто (товар) во втором реквизите многострочной части, а скидка в пятом реквизите шапки.
  2. Для описания переоценки валюты в журнале операций в строке “Содержание” запроса структуры документа используется формула:

    "Переоценка валюты "+ЗН1+" за "+ЗНЗ

    Здесь ЗН1 — номер документа, а ЗНЗ — реквизит-комментарий в шапке документа, вычисляемый после ввода даты документа. Формула для его вычисления располагается в строке “Дата” и имеет вид:

    М""+ЗН2:ЗНЗ=""+РПЕР

  3. В информационном табло удобно задавать вывод различной справочной информации. Например, формула СКД41:{|3}Н выведет в табло остаток в натуральном выражении на 41 счету по товару, выбранному в третьей графе текущей строки табличной части документа. Такая формула в табло может служить для контроля остатков по товарам, включаемым в накладную.
  4. Для платежного поручения можно включить следующую формулу для задания текста заголовка документа в журнале операций, включающую краткое наименование(ПП), номер и дату документа:

    "ПП " + ЗН1 + " от " + ЗН2

Используются технологии uCoz