ПРИКАЗ ФНС РФ от 12.01.2006 N ММ-3-24/3@ "О ВНЕСЕНИИ ИЗМЕНЕНИЙ В ФОРМАТ ОБМЕНА ИНФОРМАЦИЕЙ ОБ ОТКРЫТИИ, ЗАКРЫТИИ (ИЗМЕНЕНИИ НОМЕРОВ) БАНКОВСКИХ СЧЕТОВ ЮРИДИЧЕСКИХ ЛИЦ И ИНДИВИДУАЛЬНЫХ ПРЕДПРИНИМАТЕЛЕЙ, ПРЕДСТАВЛЯЕМОЙ БАНКАМИ В НАЛОГОВЫЕ ОРГАНЫ (ВЕРСИЯ 3.00)"
7.2.1. Понятия и обозначения
I. При описании синтаксиса сообщения и его элементов используются следующие металингвистические конструкции:
| ::= | - метасимвол, означающий "есть по определению"; |
| < > | - метасимволы, используемые для выделения элементов металингвистической структуры; |
| | | - метасимвол, означающий возможность выбора среди нескольких вариантов значений элемента металингвистической структуры; |
| [ ] | - метасимволы, означающие необязательность элемента металингвистической структуры; |
| { } | - метасимволы, означающие использование металингвистической структуры один и более раз. |
К числу синтаксических ограничений относятся также ряд дополнительных требований к непротиворечивости представленной в файле информации.
Например, при использовании метасимвола '|' для описании нескольких возможных вариантов структуры файла могут быть указаны условия, в случае выполнения которых правильным является единственный вариант. Эти условия называются условиями выбора и могут быть проверены на основе присутствующей в файле информации (без привлечения дополнительных источников).
В таких случаях используются обозначения:
| <структура>::= | <вариант1> | ?УсловиеВыбора <вариант2> |
Если условие 'УсловиеВыбора' выполнено, то <структура> принимает значение <вариант1>, иначе - <вариант2>.
II. При описании синтаксиса сообщения используются следующие основные понятия.
| <слово> ::= | <число> | <дата> | <текст> | <код >| <специальное слово> | <пустое выражение> |
| <словосочетание> ::= | <слово1> , <слово1> | <слово1> , < словосочетание> |
| <слово1> ::= | <число> | <дата> | <текст0> | <текст1> | <текст2> | <код > |
Текст (<текст>) представляет собой непустую последовательность символов, в качестве которых используются прописные (заглавные) русские и латинские буквы, цифры, а также любые другие символы таблицы ASCII за исключением символов "возврат каретки" и "перевод строки" (коды ASCII соответственно 13 и 10). Первый символ текста должен быть отличен от пробела. В том случае, когда текстовое значение встречается в составе словосочетания, возможны дополнительные ограничения на вид текста. Для выделения этих возможностей используются обозначения <текст0>, <текст1>, <текст2>.
Число состоит только из цифр (без лидирующих нулей), причем может включать десятичную точку и знак "-" (минус) для отрицательных чисел.
Дата представляется в виде <день>.<месяц>.<год>, где <день> - две цифры, соответствующие номеру дня в месяце, <месяц>- две цифры, соответствующие номеру месяца в году, <год> - четыре цифры года.
Код определяется как слово (последовательность любых символов, включая пробелы и знаки препинания), встречающееся в некотором множестве слов. Как правило, такое множество задается в виде таблицы. В частности, код может быть задан путем указания графы определенного справочника - в таком случае код должен совпадать с каким-либо значением из этой графы. Сравнение кода со словами из соответствующего множества выполняется без учета регистра.
| <русская буква> | - русская буква |
| <латинская буква> | - латинская буква |
| <ц> | - цифра |
| <пробел> | - символ пробела |
| <запятая> | - символ запятой: ',' |
| <другой символ> | - символ, имеющий код ASCII, отличный от 13 и 10, и не являющийся ни цифрой, ни буквой, ни пробелом, ни запятой |
| <пустое выражение> | - выражение, не содержащее ни одного символа |
| <буква>::= | <русская буква> | <латинская буква> |
| <символ>::= | <буква> | <ц> | <пробел> | <другой символ> |
| <символ-не-пробел>::= | <буква> | <ц> | <запятая> | <другой символ> |
| <символ0>::= | <буква> | <ц> | <пробел> | <другой символ> |
| <символ-не-пробел0>::= | <буква> | <ц> | <другой символ> |
| <текст>::= | <символ-не-пробел> [{<символ>}] |
| <текст0>::= | <символ-не-пробел0> [{<символ0>}] | <пустое выражение> |
| <текст1>::= | ( (<буква>|<ц>) [{<буква>|<ц>|<пробел>| - | / }] ) | <пустое выражение> |
| <текст2>::= | ( < буква> [{<буква>|<пробел>| - }] ) | <пустое выражение> |
| <число>::= | [-]{<ц>}[.{<ц>}] | [-].{<ц>} |
| <дата>::= | <день>.<месяц>.<год> |
| <год>::= | <ц><ц><ц><ц> |
| <месяц>::= | 01|02|03|04|05|06|07|08|09|10|11|12 |
| <день>::= | <ц><ц>, принимает значения от 01 до 28, 29, 30 или 31 - в зависимости от значений <месяц> и <год>; |
| <часы>::= | <ц><ц> - принимают значения от 00 до23; |
| <минуты>::= | <ц><ц> - принимают значения от 00 до 59; |
| <секунды>::= | <ц><ц> - принимают значения от 00 до 59; |
III. При описании синтаксиса сообщения используются следующие некоторые специальные виды слов, используемых в качестве значений реквизитов.
| <специальное слово> ::= | <идентификатор файла> | <идентификатор файла 41> | <идентификатор отправителя> | <идентификатор документа> | <ИНН> | <КПП> | <ИННФЛ> | <ОГРН> | <ОГРНИП> | <КИО> |
| <идентификатор файла> ::= | <идентификатор отправителя> <год> <месяц> <день> <часы> <минуты> <секунды> |
| <идентификатор файла 41> ::= | <идентификатор отправителя> <год> <месяц> <день> <часы> <минуты> <секунды><номер файла> |
| <номер файла> ::= | <6ц> |
| <идентификатор документа> ::= | <идентификатор отправителя> <год> <номер документа> |
| <номер документа>::= | <8ц> |
| <идентификатор отправителя> ::= | <идентификатор ЮЛ> | <идентификатор ИП> | <идентификатор НО> |<идентификатор банка> |
| <идентификатор ЮЛ> ::= | <ИНН> <2*> <КПП> |
| <идентификатор ИП> ::= | <ИННФЛ><9*> |
| <идентификатор НО> ::= | <КодНО><17*> |
| <идентификатор банка> ::= | <идентификатор ЮЛ> |
| <ИНН> ::= | <10ц> |
| <КПП>::= | <9ц> |
| <ИННФЛ> ::= | <12ц> |
| <ОГРН> ::= | <13ц> |
| <ОГРНИП> ::= | <15ц> |
| <КИО> ::= | <5ц> |
| <КодНО>::= | <4ц> |
<2*>, <9*>, <17*> и т.п. - последовательности из соответствующего числа подряд идущих символов *, например <2*>::=**.
<4ц>, <8ц>, <9ц>, <10ц>, <12ц> и т.п. - последовательности из соответствующего числа подряд идущих цифр (<ц>).