Фрагмент документа "О ВВЕДЕНИИ В ПРОМЫШЛЕННУЮ ЭКСПЛУАТАЦИЮ ПРОГРАММНО-ТЕХНИЧЕСКОГО КОМПЛЕКСА "БАНКОВСКИЕ СЧЕТА"".
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>} или ссылка на множество значений кода в виде <код...>. Если реквизит имеет в качестве значения словосочетание, то описывается структура этого словосочетания. При этом в угловых скобках используются обозначения типа <название>. Для условно-обязательных реквизитов формулируется условие его присутствия (УП). Для значений реквизитов, к которым предъявляются дополнительные (не отраженные в других графах таблицы) требования (при невыполнении которых файл считается некорректным), приводятся дополнительные требования (ДТ). |
Фрагмент документа "О ВВЕДЕНИИ В ПРОМЫШЛЕННУЮ ЭКСПЛУАТАЦИЮ ПРОГРАММНО-ТЕХНИЧЕСКОГО КОМПЛЕКСА "БАНКОВСКИЕ СЧЕТА"".