1.10. Синтаксические требования к внутренней структуре файла
2.1.1. В данном разделе формулируются синтаксические требования к внутренней структуре файла (к передаваемому в файле сообщению). Передаваемое сообщение, не удовлетворяющее этим требованиям, считается синтаксически некорректным. Файл, представленный в виде синтаксически некорректного сообщения, не может быть принят в электронном виде.
Файл имеет наименование строго определенного вида и включает служебную и информационную части. Служебная часть содержит данные об отправителе и получателе сообщения. Информационная часть включает сведения о счетах.
Состав сведений фрагмента "Служебная часть" определяется технологией обработки информации в электронном виде в рамках автоматизированной системы АИС "Налог". Состав сведений фрагмента "Информационная часть" определяется соответствующим сообщением.
Файл состоит из строк, содержащих реквизиты либо разделители.
Реквизит представляет собой неделимую в смысловом отношении конструкцию, соответствующую, как правило, одной заполняемой позиции (показателю). Наименование реквизита соответствует назначению (наименованию) заполняемой позиции.
Разделителями, используемыми в файле, являются:
@@@ - конец фрагмента (конец служебной или информационной частей сообщения);
Каждый реквизит или разделитель записывается в отдельной строке. Признаком окончания строки служат пара символов с кодами ASCII 13 и 10, расположенных в указанном порядке. Эта пара символов ниже обозначается EOL.
2.1.2. При описании синтаксиса сообщения и его элементов используются следующие металингвистические конструкции:
::= - метасимвол, означающий "есть по определению";
<> - метасимволы, используемые для выделения элементов металингвистической структуры;
| - метасимвол, означающий возможность выбора среди нескольких вариантов значений элемента металингвистической структуры;
[] - метасимволы, означающие необязательность элемента металингвистической структуры;
{} - метасимволы, означающие использование металингвистической структуры один и более раз.
К числу синтаксических ограничений относится также ряд дополнительных требований к непротиворечивости представленной в файле информации.
Например, при использовании метасимвола '|' для описания нескольких возможных вариантов структуры файла могут быть указаны условия, в случае выполнения которых правильным является единственный вариант. Эти условия называются условиями выбора и могут быть проверены на основе присутствующей в файле информации (без привлечения дополнительных источников).
В таких случаях используются обозначения:
<структура>::=<вариант1>|?УсловиеВыбора <вариант2>
Если условие 'УсловиеВыбора' выполнено, то <структура> принимает значение <вариант1>, иначе - <вариант2>.
2.1.3. При описании синтаксиса сообщения используются следующие основные понятия.
<слово>::=<число>|<дата>|<текст>|<код>|<специальное слово>|
<пустое выражение>
<словосочетание>::=<слово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
2.1.4. При описании синтаксиса сообщения используются следующие специальные виды слов, используемых в качестве значений реквизитов.
<специальное слово>::=<идентификатор файла>|
<идентификатор отправителя>|
<идентификатор документа>|
<ИНН>|<КПП>|<ИННФЛ>|
<ОГРН>|<ОГРНИП>|
<КИО>
<идентификатор файла>::=<идентификатор отправителя><год><месяц>
<день><номер файла>
<номер файла>::=<GUID>
<идентификатор документа>::=<номер документа>
<номер документа>::=<GUID>
<идентификатор отправителя>::=<идентификатор ЮЛ>|
<идентификатор ИП>|
<идентификатор НО>|
<идентификатор банка>
<идентификатор ЮЛ>::=<ИНН><2*><КПП>
<идентификатор ИП>::=<ИННФЛ><9*>
<идентификатор НО>::=<КодНО><17*>
<идентификатор банка>::=<идентификатор ЮЛ>
<ИНН>::=<10ц>
<КПП>::=<9ц>
<ИННФЛ>::=<12ц>
<ОГРН>::=<13ц>
<ОГРНИП>::=<15ц>
<КИО>::=<5ц>
<КодНО>::=<4ц>
<GUID>::=<шестнадцатеричная цифра>[{<шестнадцатеричная цифра>|<дефис>}] -
глобально уникальный идентификатор GUID длиной не более 36 знаков.
<2*>, <9*>, <17*> и т.п. - последовательности из соответствующего числа
подряд идущих символов *, например <2*>::=**.
<4ц>, <8ц>, <9ц>, <10ц>, <12ц> и т.п. - последовательности из
соответствующего числа подряд идущих цифр (<ц>).
- Гражданский кодекс (ГК РФ)
- Жилищный кодекс (ЖК РФ)
- Налоговый кодекс (НК РФ)
- Трудовой кодекс (ТК РФ)
- Уголовный кодекс (УК РФ)
- Бюджетный кодекс (БК РФ)
- Арбитражный процессуальный кодекс
- Конституция РФ
- Земельный кодекс (ЗК РФ)
- Лесной кодекс (ЛК РФ)
- Семейный кодекс (СК РФ)
- Уголовно-исполнительный кодекс
- Уголовно-процессуальный кодекс
- Производственный календарь на 2025 год
- МРОТ 2024
- ФЗ «О банкротстве»
- О защите прав потребителей (ЗОЗПП)
- Об исполнительном производстве
- О персональных данных
- О налогах на имущество физических лиц
- О средствах массовой информации
- Производственный календарь на 2024 год
- Федеральный закон "О полиции" N 3-ФЗ
- Расходы организации ПБУ 10/99
- Минимальный размер оплаты труда (МРОТ)
- Календарь бухгалтера на 2024 год
- Частичная мобилизация: обзор новостей