6.2.1.2 Структура исходного сообщения

Формат CSV (commaseparatedvalues - текстовый с разделителями) - это формат, специально предназначенный для обмена большими объемами записей, имеющих однородную структуру. Каждая запись занимает отдельную строку файла, в которой передаваемые значения отделяются друг от друга заданным разделителем.

К csv-файлам, которые используются при обменах в ЕРЗ, предъявляются следующие требования.

1 При кодировании файла следует использовать кодовую страницу Windows-1251.

2 В первой строке должны быть перечислены имена атрибутов, разделенные точкой с запятой (";" код 5910). Перечень атрибутов, порядок их следования, назначение, наименования и требования к правилам заполнения определены в разделах, посвященных конкретным типам сообщений.

3 Последующие несколько строк, начиная со второй строки, занимают метаданные файла, включающие, как правило, сведения об отправителе, дате отправки и некоторые другие данные, специфичные для конкретного типа сообщения. Каждое значение в разделе метаданных размещается в отдельной строке. Количество строк, отведенных на метаданные, является строго фиксированным для каждого типа сообщения.

4 Признаком окончания метаданных служит специальная служебная строка-разделитель, содержащая следующую последовательность символов:

(((|||)))

(последовательность кодов: 4010, 4010, 4010, 12410, 12410, 12410, 4110, 4110, 4110,)

5 После служебной строки следуют строки с передаваемыми значениями.

Требования к заполнению строк со значениями атрибутов:

- Значения атрибутов должны следовать строго в том порядке, который задан для конкретного сообщения.

- Значения отделяются друг от друга знаком "точка с запятой" (";" код 5910).

- Каждое отдельное значение должно быть взято в кавычки с обеих сторон (код 3410).

- Обязательные для заполнения значения помечены значением Да в графе "Обяз.". Имена таких атрибутов выделены жирным шрифтом.

- Некоторые поля являются обязательными при определенных условиях. Такие поля также выделены жирным шрифтом и дополнительно помечены в графе "Обяз." значением Усл (т.е. условно-обязательное). Условие, при котором заполнение данного поля является обязательным, указывается в столбце "Указания по заполнению".

- Необязательные атрибуты помечены графе "Обяз." значением Нет. Значения таких атрибутов могут отсутствовать.

- Если значение отсутствует, то на его месте следует вставить очередную точку с запятой (кавычки в таком случае не требуются).

- Кавычки на месте отсутствующих значений в конце строки ставить не обязательно.

6 Строки файла должны отделяться друг от друга парой знаков "возврат каретки" и "перевод строки" (коды 1310 и 1010), следующих непосредственно друг за другом.

7 Файл не должен начинаться со знаков "возврат каретки" и "перевод строки" или заканчиваться этими знаками. Включение в файл пустых строк (повторение пар "возврат каретки" и "перевод строки" несколько раз непосредственно друг за другом) не допускается.

8 Если знаки, являющиеся разделителями (точка с запятой и кавычки) встречаются внутри передаваемого значения, то перед ними должен быть вставлен знак "обратная косая черта" ("\"; код 9210). Одиночный знак "\" должен быть заменен парой знаков "\\". Правила замены даны в таблице 47.