Другим видом выражений являются символьные выражения — их значением является не число, а строка символов. Такие выражения могут быть:
Значение символьного выражения может быть с помощью оператора присваивания занесено в показатель, константу, наименование или параметр субконто.
В символьных выражениях:
Символьные выражения можно сравнивать в условном операторе, при этом результат сравнения определяется алфавитным (лексикографическим) порядком. Например, "Февраль" < "Федя", так как у этих строк первые два символа одинаковы, а третий “больше” (имеет больший код в таблице кодировки) у второй строки символов.
Символьные функции. Для преобразования символьных выражений можно использовать следующие символьные функции:
СОКРЛ(символьное-выражение) - убирает пробелы в строке символов слева;
СОКРП(символьное-выражение) - убирает пробелы в строке символов справа;
ВЫД(символьное-выражение\х\n)- выделяет n символов строки, начиная с символа с номером х;
СТРДЛИНА(символьное-выражение) - выдает длину в символах переданного ей символьного выражения;
ФОРМАТ(выражение\формат) - выдает текстовое значение выражения с использованием формата (аналогично форматированию при выводе значения в форму документа). В качестве выражения может быть числовое или текстовое выражение, а в качестве формата может быть текстовое выражение, использующее Т, Е, П, Ш и т.д.
Примеры:
!П01= "Код "+ СОКРЛ(СОКРП(""+П_Номер)) — показателю П01 присваивается значение, полученное сцеплением строки "Код " и значения показателя П_Номер, с отброшенным с обеих сторон пробелами. Заметим, что здесь также нельзя было написать СОКРЛ(СОКРП(П_Номер)) — программа выдала бы сообщение об ошибке, посчитав, что аргументом функции СОКРП является числовое выражение.
!пТекстПров="ПП"+ФОРМАТ(ЗН5\"ЕО")+" от "+ФОРМАТ(ЗН2\"П") — данный пример формирует строку, включая в нее сумму документа без копеек и дату прописью.
Функции для работы с датами. Во всех командах и функциях дата используется как символьное значение в формате "ДД.ММ.ГГ".
ДАТАСРАВНИТЬ(дата1\дата2) — сравнение дат. Если даты равны, то функция возвращает 0. Если дата1 больше дата2, то функция возвращает 1. Если дата1 меньше дата2, то функция возвращает -1.
ДАТАСЛЕД(дата) — функция возвращает дату, следующую по отношению к указанной дате.
ДАТАПРЕД(дата) — функция возвращает дату, предыдущую по отношению к указанной дате.
Пример: Вычислим дату баланса (дату, следующую за концом периода вывода итогов). Дату конца вывода итогов можно получить как значение макроимени ДАТАКОНПЕР.
!КН !пКонПер=ДАТАКОНПЕР !пДатаБаланса=ДАТАСЛЕД(пКонПер)