Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бухгалтерский Метод (Мет пособие).doc
Скачиваний:
28
Добавлен:
15.06.2014
Размер:
406.53 Кб
Скачать

2. Условные операторы могут быть вложенными: и в условии, и в выра­жении1 , и в выражении2 могут использоваться условные операторы.

Примеры :

?(СКК46>0\СКК46\0) — если СКК46 (кредитовое сальдо по счету 46 на ко­нец периода, см. ниже) больше нуля, то результат вычисления условного опе­ратора равен значению СКК46, иначе — нулю;

?(Х<0\0\Х*0.12) — если X (значение предыдущего выражения в данной формуле типовой операции, см. ниже) меньше нуля, то результат вычисления условного оператора равен нулю, иначе — X, умноженному на 0.12.

П1.6. Символьные выражения

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

строкой символов в кавычках (например, "Иванов");

макроименем, имеющим символьное значение (например, наи­менование субконто, ссылка на дату документа или типовой операции и т.д.);

выражением, начинающимся со строки символов в кавычках, и включающим макроимена, строки символов в кавычках, вызовы символьных функций, операторы «+» и «$», круглые скобки.

Значение символьного выражения может быть с помощью опера­тора присваивания занесено в показатель, константу, наименование или параметр субконто.

В символьных выражениях:

числовые макроимена автоматически преобразуются в строки символов;

оператор «+» означает сцепление строк символов. Например: !П44 = "Дебет 70: " + СКД70 + " Кредит 70: " + СКК70 ― здесь сцепляются четыре строки символов;

оператор «$» используется для проверки вхождения одной стро­ки в другую. Например, ?(""+П01 $ П_0твет\ 1\ 2) — значение выражения равно 1, если в значение показателя П_0твет входит строка, являющаяся значением показателя П01, в противном случае оно равно 2);

чтобы указать, что выражение является символьным, иногда приходится начинать его с пустой строки символов "" (т.е. пи­сать ""+что-то еще. Так, в приведенном выше примере нельзя было написать П01 $ П_0твет, так как программа выдала бы со­общение об ошибке, посчитав П01 не символьным, а числовым выражением. Правильная формулировка — именно ""+П01 $ П_0твет.

Символьные выражения можно сравнивать в условном операторе, при этом результат сравнения определяется алфавитным (лексикографическим) порядком. Например, "Февраль" < "Федя", так как у этих строк первые два символа одинаковы, а третий «больше» (имеет боль­ший код в таблице кодировки) у второй строки символов.

Символьные функции. Для преобразования символьных выра­жений можно использовать следующие символьные функции:

СОК.РЛ(символьное-выражение) — убирает пробелы в строке сим­волов слева;

СОКРП(символьное-выражение) — убирает пробелы в строке сим­волов справа;

ВЫД(символьное-выражение\х\п) — выделяет п символов стро­ки, начиная с символа с номером х;

СТРДЛИНА(символьное-выражение) — выдает длину в символах переданного ей символьного выражения;

ФОРМАТ(выражение\формат) — выдает текстовое значение вы­ражения с использованием формата (аналогично форматированию при выводе значения в форму документа). В качестве выражения может быть числовое или текстовое выражение, а в качестве формата мо­жет быть текстовое выражение, использующее Т, Е, П, Ш и т.д.

Примеры:

П01= "Код "+ СОКРЛ(СОКРП(""+П_Номер)) —показателю П01 присваивается значение, полученное сцеплением строки "Код " и значения показателя П_Номер, с отброшенным с обеих сторон пробелами. Заметим, что здесь так­же нельзя было написать СОКРЛ(СОКРП(П_Номер)) — программа выдала бы со­общение об ошибке, посчитав, что аргументом функции СОКРП является чис­ловое выражение.

!пТекстПров="ПЛ"+ФОРМАТ(ЗН5\"ЕО")+" от "+ФОРМАТ(ЗН2\"П") — данный пример формирует строку, включая в нее сумму документа без копеек и дату прописью.

Функции для работы с датами. Во всех командах и функциях да­та используется как символьное значение в формате "ДД.ММ.ГГ".

ДАТАСРАВНИТЬ(дата1\дата2) — сравнение дат. Если даты рав­ны, то функция возвращает 0. Если дата1 больше дата2, то функция возвращает 1. Если дата1 меньше дата2, то функция возвращает -1.

ДАТАСЛЕД(дата) — функция возвращает дату, следующую по от­ношению к указанной дате.

ДАТАПРЕД(дата) — функция возвращает дату, предыдущую по отношению к указанной дате.

Пример: Вычислим дату баланса (дату, следующую за концом периода вывода итогов). Дату конца вывода итогов можно получить как значение макроимени ДАТАКОНПЕР.

!КН

!пКонПер=ДАТАКОНПЕР

!пДатаБаланса=ДАТАСЛЕД(пКонПер)

П1.7. Задание формата вывода значений макроимен

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

значения констант «прижимаются» к левому краю отведенного для них скобками «[» и «]» поля;

числовые значения показателей или других макроимен (кроме констант) «прижимаются» к правому краю отведенного для них поля;

символьные значения показателей или других макроимен (кроме констант) «прижимаются» к левому краю отведенного для них поля.

Для произвольных документов описанное выше выравнивание не производится — значения макроимен подставляются в объект на мес­то фрагментов текста между скобками «[» и «]» (включая эти скобки), а затем уже весь текст объекта выравнивается вправо, влево, по цен­тру или по обоим краям, как это указано для данного объекта.

Замечание. Если некоторая константа имеет числовое значение, и Вы хо­тите, чтобы оно в текстовом документе было прижато к правому краю поля, присвойте значение константы показателю и укажите между квадратными скобками («[» и «]») этот показатель.

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

!Т ―выводить последующие показатели в тысячах с двумя знаками в дробной части;

!ТТ — выводить последующие показатели в миллионах с дву­мя знаками в дробной части;

!Е ―выводить последующие показатели в единицах (например, рублях) с двумя знаками в дробной части;

n — выводить последующие показатели в тысячах с п зна­ками в дробной части;

ТТn ―выводить последующие показатели в миллионах с п знаками в дробной части;

n выводить последующие показатели в единицах с п зна­ками в дробной части.

Для каждого показателя формат его вывода запоминается при при­своении ему значения. Таким образом, в одной строке текстовой фор­мы документа Вы можете использовать показатели с разным форматом вывода. При необходимости Вы можете указать и другой формат вывода показателя, задав формат непосредственно между символами «[» и «]» через пробел после макроимени (см. ниже).

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

Примеры:

! Т — выводить показатели, которым присваиваются значения ниже по тек­сту формы документа, в тысячах (например, в тысячах рублей);

! ЕО — выводить показатели, которым присваиваются значения ниже по тексту формы документа, в единицах без дробной части.

Указание формата вывода чисел. Для задания формата вывода макроимен «1С:Бухгалтерия» для мпйошб позволяет использовать форматы вывода. Формат указывается между символами «[» и «]» пос­ле макроимени через пробел. Для числовых значений формат может быть таким:

- — выводить число, используя в качестве разделителя целой и дробной части числа символ «-»;

= — выводить число, используя в качестве разделителя целой и дробной части числа символ «=»;

П — выводить число в виде суммы прописью (рубли и копей­ки);

ПО — выводить число в виде суммы прописью в рублях (без копеек);

Ш — выводить число прописью (в штуках);

Т — выводить число в тысячах с двумя знаками в дробной части;

ТТ — выводить число в миллионах с двумя знаками в дробной части;

Е — выводить число в единицах (например, рублях) с двумя знаками в дробной части;

Тп — выводить число в тысячах с п знаками в дробной части;

ТТn — выводить число в миллионах с п знаками в дробной час­ти;

Еп — выводить число в единицах с п знаками в дробной части.

Для дат (макроимен, имеющих символьные значения типа даты «ДД.ММ.ГГ») формат может быть только один:

П — выводить дату прописью.

Замечания. 1. Указание «-» или в качестве разделителя целой и дробной части числа чаще всего используется для вывода сумм в платежных пору­чениях, счетах и аналогичных документах.

2. Если в текстовом документе строка при выводе прописью может быть длинной, ее следует разбить на несколько полей (одно под другим). Для этого надо задать несколько полей одинаковой длины одно под другим, не указывая во втором и последующих полях никакого имени внутри квадратных скобок.

Для произвольных документов этого не требуется — там значение макроиме­ни занимает то пространство, которое отведено для него границами объекта.

Пример. Следующий фрагмент формы выводит значение показателя «1234.56» в различных форматах:

!П1=1234.56

[П1 - ] !* Выводится 1234-56

[П1 = ] !* Выводится 1234=56

[П1 ЕО ] !* Выводится 1235

[П1 Е4 ] !* Выводится 1234.5600

[П1 П ] !* Выводится Одна тысяча двести тридцать четыре рубля пятьдесят шесть копеек

[П1 ПО ] !* Выводится Одна тысяча двести тридцать четыре рубля

[П1 Ш ] !* Выводится Одна тысяча двести тридцать четыре

Режим разделителей разрядов целой части. Иногда удобно вы­водить числовые значения с разделителями разрядов целой части (тысяч, миллионов, миллиардов и т.д.). Если в форму документа вста­вить команду !РАЗДЕЛЯТЬ, то присваиваемые после нее числовые по­казатели будут выводиться с разделителями разрядов целой части (в качестве разделителей используются запятые). Для отмены данного режима используйте команду !НЕРАЗДЕЛ ЯТЬ.

Пример:

!РАЗДЕЛЯТЬ

!П01 = 1234567

!НЕРАЗДЕЛЯТЬ

!П02 = 1234567

!* Выводится: 1,234,567.00

!* Выводится: 1,234,567=00

!* Выводится: 1234567.00

!* Выводится: 1234567=00

!* Выводится: 1234567-00

[П01 ]

[П01 = ]

[П02 ]

[П02 = ]

[П02 - ]

Пример.

Следующий фрагмент текстовой формы позволит вывести сумму операции прописью в три строки:

[ХО П ]

[ ]

[ ]

Замечания. 1. В произвольной форме две последние строки примера, как и большое количество пробелов между «П» и закрывающей квадратной скоб­кой, не нужны — значение макроимени занимает то пространство, которое отведено для него границами объекта.