Программа для склада, для магазина, для производства |
Vvs "Офис-Склад-Магазин"Редактирование форм документов и отчетов |
П.5. Переменные.
Переменные в программе используются для хранения промежуточных значений. Используются переменные двух типов: числовые и строковые. Имена числовых переменных должны начинаться с символа X, строковых - с Y. Для задания значения переменной используется отдельная строка. Она должна начинаться со служебного символа @, затем идет имя переменной, символ равенства и формула или число, т.е. используется следующий формат выражения, которое должно стоять в начале строки:
@Переменная=Выражение
Например, для числовых переменных:
@X1=0
@XSUM=AP25*AP31
Для задания значения строковых переменных можно использовать любой текст. Формулы и значения из базы данных выводятся с помощью выражений в квадратных скобках. Максимальная длина текста в переменной - 255 символов.
Например:
@YADR=Адрес получателя: [BP2,-1], [BP3,-1] [BP6,-1] [BP7,-1]
В формулах переменные могут использоваться так же, как и значения полей базы данных:
Сумма счета в рублях: [XSUM*AP31]
Строковые переменные можно использовать в условиях совместно с текстовыми функциями %sub и %cmp.
Имеется также несколько зарезервированных служебных переменных.
Перед формированием отчетов запрашиваются дополнительные условия, в том числе временной интервал операций и номер склада для операций. Для использования этих значений на печатной форме введены внутренние переменные: XDATE1, XDATE2, XSKLAD. Например:
Операции за период с [&XDATE1 ] по [&XDATE2 ] по складу [XSKLAD]
Эти переменные можно изменять программно при формировании отчета. Это может быть полезно, например, чтобы подсчитать остаток товаров на начало периода отчета.
Например, увеличиваем интервал:
@ сохраняем начальное значение
@XOLD=XDATE1
@ меняем начальную дату
@XDATE1=#01.01.80
...
рассчитываем движение за весь период
...
@ восстанавливаем первоначальный вариант
@XDATE1=XOLD
При получении отчета по товарам для каждого товара можно обрабатывать получение и выдачу со склада - организовать цикл по пунктам накладных. При этом сортировка "по умолчанию" такая, что сначала выводятся все поступления, а затем все отгрузки. Для некоторых расчетов нужна
сортировка по дате. Для сортировки операций с товаром по дате, в форме документа надо создать переменную
XSORT2 и присвоить ей значение 1, т.е. в начале формы отчета вставить строку:
@XSORT2=1
Можно так:
@XSORT2=1
@XSORT2=??Сортировать по дате?
Для того, чтобы определить, какая версия программы используется, создается переменная XVERSION. Для версии 5.1 она принимает значение 1, для версии 5.2 - 2. Для более ранних версий ее значение равно 0. Таким образом, печатные формы, использующие новые конструкции языка, в предыдущих версиях программы могут выдавать предупреждающее сообщение. Например:
#if [ISMNS(XVERSION-2)]
@ALERT Для этой форы требуется версия 5.2!
@BREAK
#endif
Строковые переменные YPATHEXE и YPATHBASE содержат путь к исполняемому файлу программы и путь к базе данных. В макроязыке можно использовать эти переменные для открытия документов из этих папок.
При вызове функций LASTBUY() и LASTSALE(), создаются переменные
XLASTCUST и XLASTDATE, в которых сохраняются внутренние коды клиентов - поставщика или покупателя и дата поставки для текущего товара. По номеру XLASTCUST возможен переход к клиенту для доступа к его данным с помощью функции CUSTOMER().