П1.4. Макроимена, показатели, константы, выражения

Макроимена. Для ссылок на остатки и обороты по счетам, субсчетам и объектам аналитического учета (субконто), курсы валют, характеристики субконто (цены, наименования, параметры), в макроязыке используются макроимена. Макроимена составляются по простым и наглядным правилам, которые весьма несложно запомнить. Например, СНД76 — сальдо на начало периода дебетовое по счету 76, ВКУРС{1}{1} — курс валюты, используемой в первой проводке типовой операции на дату этой проводки, ОБ20,70 — оборот за период в дебет счета 20 с кредита счета 70 и т.д. В названиях макроимен могут использоваться только русские буквы.

Для включения значения макроимени в формируемый документ надо указать это макроимя между квадратными скобками (“[” и “]”). Например, для включения в отчет или документ значения макроимени СНД76 в форму отчета или документа надо вставить поле:

[СНД76 ]

С помощью команд установки формата (!Е, !Т, !РАЗДЕЛЯТЬ, !НЕРАЗДЕЛЯТЬ), а также посредством указания формата вывода непосредственно в поле, Вы можете управлять форматом представления данных, помещаемых в поле. Вы можете управлять форматом вывода значений макроимен. С помощью команд установки периода (!М, !МНГ, !МНК, !КВ, !КН, !Г и т.д.) Вы можете указать, за какой период вычисляются остатки и обороты у соответствующих макроимен.

Показатели. Во многих случаях в формируемый документ надо вставить поле, значение которого не совпадает ни с одним из предусмотренных макроимен, но может быть получено из них по некоторой формуле. Для таких полей в формах первичных документов и в отчетах “1С:Бухгалтерии” используются показатели. Показатели выполняют ту же функцию, что и переменные в стандартных языках программирования: им можно присваивать значения и использовать эти значения в последующих выражениях.

Имена показателей в “1С:Бухгалтерии” состоят из буквы “П”, за которой могут следовать от 1 до 50 символов — букв, цифр и знаков подчеркивания. Для присваивания показателю значения следует использовать команду:

имя-показателя = выражение

Здесь выражение может быть:

После того, как показателю присвоено значение, его можно использовать в последующих формулах и в полях (между знаками “[” и “]”) расположенных в той же строке или ниже по тексту формы.

Примеры:

!П105=СНД76*0.12 — эта команда присваивает показателю П105 значение СНД76 (дебетовое сальдо на начало периода по счету 76), умноженное на 0.12;

[П105 ] — в это поле помещается значение показателя с именем П105.

!П_НДС=П_Сумма/1. 23*0.2 — эта команда присваивает показателю П_НДС значение показателя П_Сумма, разделенное на 1.23 и умноженное на 0.20;

[П_НДС ] — в это поле помещается значение показателя с именем П-НДС.

!П_Название = "Фирма " + П010 — эта команда присваивает показателю П_Название в качестве значения строку “Фирма ”, сцепленную со значением показателя П010 (подробнее см. ниже);

[П_Название ] — в это поле помещается значение показателя с именем П_Название.

Замечания. 1. Тип выражения определяется по типу первого значения в выражении. Так, например, если первым значением в выражении является текстовый показатель, то выражение будет иметь текстовый вид, и все остальные значения будут приводиться к текстовому виду. Если первым значением в выражении является константа (из списка констант) или параметр субконто, то выражение считается числовым. В любом случае, если Вы хотите, чтобы выражение имело конкретный тип, можно в качестве первого значения указать пустое значение данного типа. Например, для числового выражения: 0+..., для символьного выражения ""+...

2. Одноименные показатели в различных формах документов и в отчетах никак не связаны между собой.

3. При присваивании показателю значения одновременно запоминается, в каком формате надо выводить это значение (в единицах или тысячах, и с каким числом знаков в дробной части). Формат вывода можно изменить командами !Т, !ТТ, !Е, !Тn, !ТТn, !Еn (см. ниже).

Константы. Для ссылок на константы (см. п. 4.7, с. 78) используются макроимена:

Кn - константа с номером n (n — число от 1 до 99999).

Значения констант можно использовать в формах так же, как значения показателей, но значения показателей после окончания формирования документа “пропадают”, а констант — сохраняются. Для задания значения константы можно использовать команду:

номер-константы = выражение

Значения констант Вы можете задавать также и в режиме “Константы” группы “Операции” главного меню программы.

Примеры:

!П105=К101*0.12 — эта команда присваивает показателю П105 значение константы с номером 101, умноженное на 0.12;

[К222 ] — в это поле помещается значение константы с номером 222.

!К10=П_Сумма/1.23*0.2 — эта команда присваивает константе с номером 10 значение показателя П_Сумма, разделенное на 1.23 и умноженное на 0.20;

Замечания. 1. Присвоение значений константам используется для сохранения данных для их использования в других документах или отчетах.

2. Чтобы не запутаться в константах, заполняйте для каждой константы в их списке поле описания (режим “Константы” группы “Операции” главного меню).

Цены, наименования и параметры субконто могут включаться в отчеты с помощью следующих макроимен:

CHn:m - наименование субконто вида n с номером m;

СЦn:m - цена субконто вида n с номером m;

CHn:m.k - значение параметра с номером k субконто вида n c номером m;

n:m.k — значение параметра с номером k субконто вида n с номером m.

Здесь m — полный номер субконто, он перечисляет через двоеточие номера каждого уровня субконто. Например, 1:2:3 — субконто вида 1 с полным номером 2:3.

Примеры:

СН1:2:3.5 - значение пятого параметра субконто вида 1 с полным номером 2:3.

СЦ6:2 - цена субконто вида 6 с номером 2.

В типовых, операциях для обозначения субконто вместо n:m (как написано выше) в макроименах может использоваться обозначение {kД} — субконто, выбранного в дебете проводки с номером k, и {kK} — субконто, выбранного в кредите проводки с номером k:

СН{kД} - наименование субконто, выбранного в дебете проводки с номером k;

CH{kK} - наименование субконто, выбранного в кредите проводки с номером k;

СЦ{kД} - цена субконто, выбранного в дебете проводки с номером k;

СЦ{kК} - цена субконто, выбранного в кредите проводки с номером k;

СН{kД}.m - значение параметра с номером m субконто, выбранного в дебете проводки с номером k;

CП{kД}.m - значение параметра с номером m субконто, выбранного в дебете проводки с номером k;

CH{kK}.m - значение параметра с номером m субконто, выбранного в кредите проводки с номером k;

СП{kК}.m — значение параметра с номером m субконто, выбранного в кредите проводки с номером k;

Примеры:

СЦ{2К} — цена субконто, использованного по кредиту проводки с номером 2;

СН{2К}.1 — значение первого параметра субконто, использованного по кредиту проводки с номером 2;

СН{1Д}.2 — значение второго параметра субконто, использованного по дебету проводки с номером 1.

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

!СЦ6:2 = П_Сумма - установить значение цены субконто вида 6 с номером 2, равное значению показателя П_Сумма.

Замечание. Приведенный пример может показаться весьма искусственным. Действительно, чаще всего ссылки на характеристики субконто в макроязыке используются в циклах. Так, забегая вперед, приведем пример, в котором первому параметру всех субконто вида 3 присваивается нулевое значение:

 
    !ВЫБРАТЬ СУБКОНТО ВИД 3 ВСЕ
      !СН&.1=0 
    !СЛЕДУЮЩИЙ СУБКОНТО

Здесь символ “&” обозначает текущее субконто (выбранное командой !ВЫБРАТЬ СУБКОНТО).

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