<структура>::=<вариант1> | ?УсловиеВыбора <вариант2>
Если условие "УсловиеВыбора" выполнено, то <структура> принимает значение <вариант1>, иначе - <вариант2>.
2) При описании синтаксиса сообщения используются следующие основные понятия.
<слово> ::= <число> | <дата> | <текст> | <код >| <специальное слово> |
<словосочетание> ::= <слово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;
3) При описании синтаксиса сообщения используются следующие некоторые специальные виды слов, используемых в качестве значений реквизитов.
<специальное слово> ::= <идентификатор файла> |
<идентификатор отправителя> |
<идентификатор файла> ::= <идентификатор отправителя> <год> <месяц>
<идентификатор документа> ::= <идентификатор отправителя> <год>
<номер документа>::=<8ц>
<идентификатор отправителя> ::= <4ц><17*>
4) Для обозначения условий выбора в описании синтаксической структуры файла используются выражения УВОтпрЮЛ, УВНалЮЛ, УВНалРО, УВФорм для обозначения условий выбора.
Если условие выбора истинно, то в конструкции <вариант1> |?УсловиеВыбора <вариант2> выбирается <вариант1> иначе <вариант2>.
В этой и других таблицах используются обозначения: если КодРек - код какого-либо реквизита, то выражение /КодРек/ соответствует значению реквизита, а <КодРек> - реквизиту в целом.
2. Табличное представление блоков информации
Строки каждой таблицы, описывающей блоки информации, определяют реквизиты, которые, при переходе к стандартному описанию с использованием металингвистических конструкций, встречались бы в этом описании в одном из представлений: как обязательный, как необязательный, как условно-обязательный реквизит.
Обязательный реквизит - это реквизит, который должен обязательно присутствовать в файле отчетности.
Необязательный реквизит - это реквизит, который может как присутствовать, так и отсутствовать в файле.
Условно-обязательный реквизит - это реквизит, присутствие которого в файле отчетности обусловлено значениями, наличием или отсутствием других реквизитов этого же файла. В случае выполнения условия присутствия (УП) условно-обязательный реквизит по всем своим свойствам приравнивается к обязательному, а в случае невыполнения - к необязательному.