Действующий

Формат представления налоговой и бухгалтерской отчетности в электронном виде (версия 2.00) Части I - IV (с изменениями на 20 августа 2009 года)

2.3.1. Понятия и обозначения

В п.2.3 формулируются синтаксические требования к внутренней структуре файла отчетности (к передаваемому в файле сообщению). Передаваемое сообщение, не удовлетворяющее этим требованиям, считается синтаксически некорректным. Отчетность, представленная в виде синтаксически некорректного сообщения, не может быть принята в электронном виде.

I. При описании синтаксиса сообщения и его элементов используются следующие металингвистические конструкции:

::= - метасимвол, означающий "есть по определению";

< > - метасимволы, используемые для выделения элементов металингвистической структуры;

| - метасимвол, означающий возможность выбора среди нескольких вариантов значений элемента металингвистической структуры;

[ ] - метасимволы, означающие необязательность элемента металингвистической структуры;

{ } - метасимволы, означающие использование металингвистической структуры один и более раз.

К числу синтаксических ограничений относятся также ряд дополнительных требований к непротиворечивости представленной в файле информации. Все дополнительные требования явно сформулированы в п.2.3.

Например, при использовании метасимвола '|' для описания нескольких возможных вариантов структуры файла могут быть указаны условия, в случае выполнения которых правильным является единственный вариант. Эти условия называются условиями выбора и могут быть проверены на основе данных, присутствующей в файле (без привлечения дополнительных источников информации).

В таких случаях используются обозначения:

<структура>::=<вариант1>|?УсловиеВыбора <вариант2>

Если условие 'УсловиеВыбора' выполнено, то <структура> принимает значение <вариант1>, иначе - <вариант2>.

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

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

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

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

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

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

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

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

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

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

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

<ц> - цифра

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

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

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

    

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