Формулы значений реквизитов. В графе “Выр.” запроса структуры документа (рис. 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.
Формулы невычисляемых реквизитов шапки и табличной части документа. В этих формулах описываются действия (изменения начальных значений других реквизитов), выполняемые после ввода данного реквизита. Эти действия могут быть следующими:
ЗНn=выражение - изменение значения реквизита с номером n шапки документа;
ЗНm|n=выражение - изменение значения реквизита с номером n строки m табличной части документа.
Если m или n не указываются, подразумевается текущая строка и текущий столбец запроса.
Выражение, задающее значение реквизита, имеющего тип субконто, счет или валюта, должно быть символьным (например, текстовой строкой в кавычках) и содержать код счета или номер валюты, или номер субконто. Для многоуровневых субконто номер суб-конто состоит из номеров на каждом уровне, разделенных символом “:”.
Замечание. Читатели, знакомые с табличными процессорами (SuperCalc, Lotus 1-2-3, Quattro Pro, Excel и т.д.), могут быть дезориентированы тем, что формулы в клетках табличных процессоров задают выражения для вычисления значения в данной клетке по значениям в других клетках, а формулы для невычисляемых реквизитов документа или расчета, наоборот, задают правила для изменения значения других реквизитов при изменении данного. Это отличие связано с тем, что реквизиты документа или расчета рассматриваются как исходные данные, которые могут быть изменены пользователем. Назначение формул здесь состоит в задании начальных, а не окончательных значений реквизитов. Значения, которые не должны корректироваться пользователем, лучше задавать с помощью вычисляемых реквизитов документа, либо вычислять при генерации проводок или формировании выходного документа.
Примеры:
ЗН!4=ЗН;3*СЦ{!2}*ЗН5
Здесь предполагается, что сумма находится в четвертом реквизите многострочной части, количество в третьем реквизите многострочной части, субконто (товар) во втором реквизите многострочной части, а скидка в пятом реквизите шапки."Переоценка валюты "+ЗН1+" за "+ЗНЗ
Здесь ЗН1 — номер документа, а ЗНЗ — реквизит-комментарий в шапке документа, вычисляемый после ввода даты документа. Формула для его вычисления располагается в строке “Дата” и имеет вид:М""+ЗН2:ЗНЗ=""+РПЕР
"ПП " + ЗН1 + " от " + ЗН2