II

II. При описании синтаксиса сообщения используются следующие основные понятия.

<слово>::=<число>|<дата>|<текст>|<код>|<специальное слово>|

<пустое выражение>

<словосочетание>::=<слово1>, <слово1>|<слово1>,

<словосочетание>

<слово1>::=<число>|<дата>|<текст1>|<текст2>|<код>

Текст (<текст>) представляет собой непустую последовательность символов, в качестве которых используются прописные (заглавные) русские и латинские буквы, цифры, а также любые другие символы таблицы ASCII, за исключением символов "возврат каретки" и "перевод строки" (коды ASCII, соответственно, 13 и 10). Первый символ текста должен быть отличен от пробела. В том случае, когда текстовое значение встречается в составе словосочетания, возможны дополнительные ограничения на вид текста. Для выделения этих возможностей используются обозначения <текст1>, <текст2>.

Число состоит только из цифр (в том числе и с лидирующими нулями), причем может включать десятичную точку и знак "-" (минус) для отрицательных чисел.

Дата представляется в виде <день>.<месяц>.<год>, где <день> - две цифры, соответствующие номеру дня в месяце, <месяц> - две цифры, соответствующие номеру месяца в году, <год> - четыре цифры года.

Код определяется как слово (последовательность любых символов, включая пробелы и знаки препинания), встречающееся в некотором множестве слов. Как правило, такое множество задается в виде таблицы. В частности, код может быть задан путем указания графы определенного справочника - в таком случае код должен совпадать с каким-либо значением из этой графы. Сравнение кода со словами из соответствующего множества выполняется без учета регистра.

В качестве кодов реквизитов, не являющихся элементами таблиц формы отчетности, используются сокращенные представления наименований этих реквизитов. Такие коды состоят только из русских букв.

Используются следующие способы формирования сокращенных наименований этих реквизитов:

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

усечение - отбрасывание концевой части слова (например, количество документов - КолДок);

эллипс - использование для образования сокращений элементов не всех слов, компонентов наименования показателя, а только слов с основной смысловой нагрузкой (например, место получения дохода - МестоДох, документ, удостоверяющий личность, - УдЛичн);

контрактура - слияние начальной и концевой части слова (например, район - Рн);

сочетание различных способов в одном сокращении (например, адрес места жительства - АдрМЖ).

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

<русская буква> - прописная русская буква

<латинская буква> - прописная латинская буква

<ц> - цифра

<пробел> - символ пробела

<другой символ> - символ, имеющий код ASCII, отличный от 13 и

10, и не являющийся ни цифрой, ни буквой, ни пробелом

<пустое выражение> - выражение, не содержащее ни одного

символа

<буква>::=<русская буква>|<латинская буква>

<символ>::=<буква>|<ц>|<пробел>|<другой символ>

<текст>::=(<буква>|<ц>|<другой символ>)[{<символ>}]|-

(в ред. Приказа ФНС РФ от 08.10.2007 N ММ-3-13/563@)

(см. текст в предыдущей редакции)

<текст1>::=((<буква>|<ц>)[{<буква>|<ц>|<пробел>|-|/|_|.|(|)}])|-|

<пустое выражение>

(в ред. Приказа ФНС РФ от 08.10.2007 N ММ-3-13/563@)

(см. текст в предыдущей редакции)

<текст2>::=(<буква>[{<буква>|<пробел>|-}])|-|

<пустое выражение>

(в ред. Приказа ФНС РФ от 08.10.2007 N ММ-3-13/563@)

(см. текст в предыдущей редакции)

<число>::=[-]{<ц>}[.{<ц>}]|[-].{<ц>}

<дата>::=<день>.<месяц>.<год>

<год>::=<ц><ц><ц><ц>

<месяц>::=01|02|03|04|05|06|07|08|09|10|11|12

<день>::=<ц><ц>, принимает значения от 01 до 28, 29, 30 или

31 - в зависимости от значений <месяц> и <год>;

<часы>::=<ц><ц> - принимают значения от 00 до 23;

<минуты>::=<ц><ц> - принимают значения от 00 до 59;

<секунды>::=<ц><ц> - принимают значения от 00 до 59.

I III