О ВВЕДЕНИИ В ПРОМЫШЛЕННУЮ ЭКСПЛУАТАЦИЮ ПРОГРАММНО-ТЕХНИЧЕСКОГО КОМПЛЕКСА "БАНКОВСКИЕ СЧЕТА". Приказ. Министерство РФ по налогам и сборам. 30.06.04 САЭ-3-24/401

Фрагмент документа "О ВВЕДЕНИИ В ПРОМЫШЛЕННУЮ ЭКСПЛУАТАЦИЮ ПРОГРАММНО-ТЕХНИЧЕСКОГО КОМПЛЕКСА "БАНКОВСКИЕ СЧЕТА"".

Предыдущий фрагмент <<< ...  Оглавление  ... >>> Следующий фрагмент

Полный текст документа

5.2. Синтаксические требования
                     к внутренней структуре файла

     В   данном  разделе  формулируются  синтаксические  требования  к
внутренней  структуре  файла  (к  передаваемому  в  файле  сообщению).
Передаваемое сообщение, не удовлетворяющее этим требованиям, считается
синтаксически  некорректным. Файл, представленный в виде синтаксически
некорректного сообщения, не может быть принят в электронном виде.
     5.2.1. Понятия и обозначения
     I. При описании синтаксиса сообщения и его элементов используются
следующие металингвистические конструкции:
     ::= - метасимвол, означающий "есть по определению";
     <   >   -   метасимволы,  используемые  для  выделения  элементов
металингвистической структуры;
     |  -  метасимвол,  означающий возможность выбора среди нескольких
вариантов значений элемента металингвистической структуры;
     [   ]   -   метасимволы,   означающие  необязательность  элемента
металингвистической структуры;
     {  }  - метасимволы, означающие использование металингвистической
структуры один и более раз.
     К   числу   синтаксических   ограничений   относятся   также  ряд
дополнительных  требований к непротиворечивости представленной в файле
информации.
     Например,   при   использовании   метасимвола  `|`  для  описания
нескольких  возможных  вариантов  структуры  файла  могут быть указаны
условия,  в случае выполнения которых правильным является единственный
вариант.   Эти  условия  называются  условиями  выбора  и  могут  быть
проверены на основе присутствующей в файле информации (без привлечения
дополнительных источников).
     В таких случаях используются обозначения:
     <структура>::=<вариант1>|?УсловиеВыбора<вариант2>
     Если  условие `УсловиеВыбора` выполнено, то <структура> принимает
значение <вариант1>, иначе - <вариант2>.
     II.  При  описании  синтаксиса  сообщения  используются следующие
основные понятия.
     <слово>::=<число>|<дата>|<текст>|<код>|<специальное слово>|
     <пустое выражение>
     <словосочетание>::=<слово1>,<слово1>|<слово1>,<словосочетание>
     <слово1>::=<число>|<дата>|<текст1>|<текст2>|<код>
     Текст  (<текст>)  представляет  собой непустую последовательность
символов,   в  качестве  которых  используются  прописные  (заглавные)
русские и латинские буквы, цифры, а также любые другие символы таблицы
ASCII,  за  исключением  символов "возврат каретки" и "перевод строки"
(коды  ASCII соответственно 13 и 10). Первый символ текста должен быть
отличен от пробела. В том случае, когда текстовое значение встречается
в  составе  словосочетания, возможны дополнительные ограничения на вид
текста.  Для  выделения  этих  возможностей  используются  обозначения
<текст1>, <текст2>.
     Число  состоит  только  из  цифр  (в  том  числе  и с лидирующими
нулями), причем может включать десятичную точку и знак "-" (минус) для
отрицательных чисел.
     Дата представляется в виде <день>.<месяц>.<год>, где <день> - две
цифры,  соответствующие  номеру  дня  в  месяце,  <месяц> - две цифры,
соответствующие номеру месяца в году, <год> - четыре цифры года.
     Код  определяется  как  слово (последовательность любых символов,
включая   пробелы  и  знаки  препинания),  встречающееся  в  некотором
множестве  слов. Как правило, такое множество задается в виде таблицы.
В  частности,  код может быть задан путем указания графы определенного
справочника  -  в  таком  случае  код  должен  совпадать  с каким-либо
значением из этой графы. Сравнение кода со словами из соответствующего
множества выполняется без учета регистра.
     <русская буква> - прописная русская буква
     <латинская буква> - прописная латинская буква
     <ц> - цифра
     <пробел> - символ пробела
     <другой  символ> - символ, имеющий код ASCII, отличный от 13 и 10
и не являющийся ни цифрой, ни буквой, ни пробелом
     <пустое выражение> - выражение, не содержащее ни одного символа
     <буква>::=<русская буква>|<латинская буква>
     <символ>::=<буква>|<ц>|<пробел>|<другой символ>
     <текст>::=(<буква>|<ц>|<другой символ>)[{<символ>}]|
     <текст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.  При  описании  синтаксиса  сообщения используются следующие
некоторые  специальные  виды  слов,  используемых  в качестве значений
реквизитов.

     <специальное слово>::=<идентификатор файла>|
     <идентификатор отправителя>|
     <идентификатор документа>|
     <ИННЮЛ>|<КПП>|<ИННИП>|<ОГРН>|<ОГРНИП>
     <идентификатор файла>::=<идентификатор отправителя><год>
     <месяц><день><часы><минуты><секунды>
     <номер файла>
     <номер файла>::=<6ц>
     <идентификатор документа>::=<идентификатор отправителя><год>
     <номер документа>
     <номер документа>::=<8ц>
     <идентификатор отправителя>::=<идентификатор ЮЛ>|
     <идентификатор ИП>|
     <идентификатор НО>
     <идентификатор банка>
     <идентификатор ЮЛ>::=<ИННЮЛ><2*><КПП>|
     <идентификатор ИП>::=<ИННИП><9*>
     <идентификатор НО>::=<КодНО><17*>
     <идентификатор банка>::=<идентификатор ЮЛ>
     <ИННЮЛ>::=<10ц>
     <КПП>::=<9ц>
     <ИННИП>::=<12ц>
     <ОГРН>::=<13ц>
     <ОГРНИП>::=<15ц>
     <КодНО>::=<4ц>
     <2*>, <9*>, <17*> и т.п. - последовательности из соответствующего
числа подряд идущих символов "*", например <2*>::=**.
     <4ц>,  <8ц>,  <9ц>,  <10ц>,  <12ц> и т.п. - последовательности из
соответствующего числа подряд идущих цифр (<ц>).
     5.2.2. Табличное представление блоков информации
     Строки  каждой  таблицы, описывающей блоки информации, определяют
реквизиты,   которые   при   переходе   к   стандартному   описанию  с
использованием  металингвистических  конструкций встречались бы в этом
описании   в   одном   из   представлений:   как   обязательный,   как
необязательный,   как   условно-обязательный   или   как  предписанный
реквизит.
     Обязательный  реквизит - это реквизит, который должен обязательно
присутствовать в файле.
     Необязательный   реквизит  -  это  реквизит,  который  может  как
присутствовать, так и отсутствовать в файле.
     Условно-обязательный   реквизит   -   это  реквизит,  присутствие
которого  в  файле  обусловлено  значениями,  наличием или отсутствием
других   реквизитов  этого  же  файла.  В  случае  выполнения  условия
присутствия (УП) условно-обязательный реквизит по всем своим свойствам
приравнивается   к   обязательному,   а  в  случае  невыполнения  -  к
необязательному.
     Предписанный   реквизит  -  это  реквизит,  код  которого  должен
обязательно присутствовать в файле, в то время как значения может и не
быть.
     При  этом  для  любого  i (1 <= i <= N, N - число строк в разделе
таблицы) представление реквизита определяется следующим образом:

     <представление реквизита i>::=<обязательный реквизит i>|
     <необязательный реквизит i>|
     <условно-обязательный реквизит i>|
     <предписанный реквизит i>
     <обязательный реквизит i>::=<реквизит i>
     <необязательный реквизит i>::=[<реквизит i>]
     <условно-обязательный  реквизит  i>::=<реквизит i>|?УПi[<реквизит
i>]
     <предписанный реквизит i>::=<реквизит i>

     5.2.3. Синтаксис реквизитов
     Реквизит   включает  код  реквизита,  символ  ":"  (двоеточие)  и
значение реквизита, следующие в указанном порядке. Пробелы перед кодом
реквизита,  между кодом реквизита и разделителем, между разделителем и
значением реквизита, а также после значения реквизита не допускаются.
     Код  представляет  собой  последовательность русских букв и цифр.
Значение представляется в строго определенном формате.
     В  качестве  кодов  реквизитов,  не  являющихся элементами таблиц
формы,   используются   сокращенные  представления  наименований  этих
реквизитов. Такие коды состоят только из русских букв.
     Используются    следующие    способы   формирования   сокращенных
наименований этих реквизитов:
     1)  инициальная  аббревиация, образуемая путем выбора первых букв
(слогов)  из  слов  или  словосочетаний  (например, совокупный годовой
доход - СГД);
     2)  усечение  -  отбрасывание  концевой  части  слова  (например,
количество документов - КолДок);
     3) эллипс - использование для образования сокращений элементов не
всех  слов,  компонентов  наименования  показателя,  а  только  слов с
основной  смысловой  нагрузкой  (например,  место  получения  дохода -
МестоДох, документ, удостоверяющий личность, - УдЛичн);
     4)  контрактура  -  слияние  начальной  и  концевой  части  слова
(например, район - Рн);
     5)  сочетание  различных  способов  в одном сокращении (например,
адрес места жительства - АдрМЖ).
     Для  большей  наглядности  визуального  представления  каждая  из
частей  слов,  из  которых  состоит сокращение, начинается с прописной
буквы. Однако при обработке сокращений (как и других текстовых данных)
регистр  должен  игнорироваться.  В  любых  сообщениях  одно  и  то же
сокращение должно иметь один и тот же смысл и структуру.
     Порядок    следования   реквизитов   в   пределах   одной   формы
оговаривается   особо  в  описании  формата,  определяющего  состав  и
структуру представления показателей конкретной формы.
     Значением реквизита может быть слово или словосочетание.

     <реквизит>::=<код реквизита>:<значение реквизита>EO-
     <значение реквизита>::=<слово>|<словосочетание>

     5.2.4. Таблицы блоков информации
     Таблицы  блоков  информации  определяют коды и структуру значений
реквизитов,  входящих  в  конкретные  информационные блоки. В таблицах
используются следующие обозначения.
     В  графах "Наименование реквизита" и "Код реквизита" указываются,
соответственно наименование и код реквизита.
     В  графе  "Тип" записывается один из символов О, Н, У, П. Символы
имеют следующий смысл:
     О - обязательный реквизит;
     Н - необязательный реквизит;
     У - условно-обязательный реквизит;
     П - предписанный реквизит.
     Условия присутствия условно-обязательных реквизитов указываются в
графе "Структура реквизита и дополнительная информация".
     В  графе  "Формат"  для  каждого  реквизита,  значением  которого
является слово, указывается - при помощи выражений T, T1, T2, N, D, K,
I1,  I2, I3, I4, I5, I6, I7, E - синтаксис этого слова, а вслед за ним
в круглых скобках - максимальная длина слова (т.е. количество символов
в слове).
     <формат слова>::=<синтаксис>(<число>)
     Символы  T,  T1,  T2,  N,  D,  K,  I1,  I2, I3, I4, I5, I6, I7, E
соответствуют следующим видам данных:
     T - <текст>;
     T1 - <текст1>;
     T2 - <текст2>;
     N - <число>;
     D - <дата>;
     K - <код>;
     I1 - <идентификатор файла>;
     I2 - <идентификатор документа>;
     I3 - <ИННЮЛ>;
     I4 - <КПП>;
     I5 - <ИННИП>;
     I6 - <ОГРН>;
     I7 - <ОГРНИП>;
     E - <пустое выражение>.
     Если  значением реквизита является дробное десятичное число, то в
графе "Формат" указывается формат его представления в виде N(m.k), где
m  -  максимальное  количество знаков в числе, включая целую и дробную
часть  числа,  десятичную точку и знак "-" (минус), а k - число знаков
дробной части числа.
     Если  значением реквизита является словосочетание вида <слово 1>,
<слово  2>,  ...,  <слово  S>,  то в графе "Формат" указывается формат
представления   и   максимальная   длина   каждого   из   входящих   в
словосочетание   слов.   Описывающие   отдельные   слова   конструкции
перечисляются через запятую.

     <формат словосочетания>::=<формат слова 1>,<формат слова 2>, ...,
     <формат слова S>

     В   графе   "Структура  реквизита  и  дополнительная  информация"
приводятся следующие данные.
     Если   реквизит   имеет  в  рамках  данного  формата  единственно
возможное значение, то указывается это значение.
     Если  значением  реквизита  является код, то приводится множество
значений  этого  кода в виде {<значение1>, ...,<значениеN>} или ссылка
на множество значений кода в виде <код...>.
     Если  реквизит  имеет  в  качестве  значения  словосочетание,  то
описывается структура этого словосочетания. При этом в угловых скобках
используются обозначения типа <название>.
     Для  условно-обязательных  реквизитов  формулируется  условие его
присутствия (УП).
     Для  значений  реквизитов, к которым предъявляются дополнительные
(не  отраженные  в других графах таблицы) требования (при невыполнении
которых   файл   считается  некорректным),  приводятся  дополнительные
требования (ДТ).

Фрагмент документа "О ВВЕДЕНИИ В ПРОМЫШЛЕННУЮ ЭКСПЛУАТАЦИЮ ПРОГРАММНО-ТЕХНИЧЕСКОГО КОМПЛЕКСА "БАНКОВСКИЕ СЧЕТА"".

Предыдущий фрагмент <<< ...  Оглавление  ... >>> Следующий фрагмент

Полный текст документа