Для разбора нужен оригинальный файл и описание ожидаемых полей. Снимок таблицы показывает симптом, но теряет сведения о кодировке, разделителях и переносах. Сохраните исходник прежде, чем редактор изменит его при открытии и повторном сохранении.
Как сохранить исходные байты
Учебный поставщик передаёт файл с кодом товара, названием и суммой. В имени товара встречается кириллица, кавычки и точка с запятой. Получатель показывает три столбца для большинства строк, но на одной появляются четыре. Проверка должна начинаться с исходной передачи, а не с исправленной вручную таблицы.
Зафиксируйте источник, время получения, размер и контрольную сумму файла. Она позволяет установить, что обе команды разбирают одинаковую последовательность байтов; сама по себе не подтверждает правильность содержимого. Оригинал хранится отдельно от преобразованных вариантов.
Если файл содержит закрытые сведения, его нельзя просто переслать всем участникам диагностики. Для обсуждения создают отдельный разрешённый пример с теми же особенностями: кириллицей, кавычками и разделителями внутри значения. Затем проверяют, воспроизводится ли ошибка на этом примере. Источники и правила передачи входят в подготовку обмена.
Кодировка и экранирование полей
Кодировка определяет, как байты превращаются в символы. Если источник и получатель используют разные правила, текст может измениться ещё до разделения полей. Зафиксируйте выбранную кодировку явно; не считайте уверенный внешний вид файла доказательством её определения.
Следующее правило — разделение столбцов. В учебном формате выбран символ ;, а значения с разделителем или кавычкой заключаются в кавычки по отдельно описанному правилу. Фраза «обычный CSV» не заменяет эту договорённость: реализации могут ожидать разные детали формата.
Например, название Клапан; комплект должно остаться одним полем. Если получатель разделяет строку без учёта кавычек, дополнительный столбец сдвинет сумму. Для кавычки внутри названия тоже нужен однозначный способ записи. Нельзя исправить такой файл удалением всех кавычек: они могут быть частью данных или структуры.
Десятичные разделители и переносы строки
В файле сумма может выглядеть как 12,50, но это ещё не договорённость о способе чтения числа. Источник и получатель должны одинаково понимать десятичный разделитель, знак, допустимую точность и пустое значение. Пробел между тысячами также может быть символом, который программа обрабатывает не так, как человек.
Перенос строки бывает границей записи либо частью текстового поля. Для учебного комментария из двух строк нужно определить, разрешён ли перенос внутри значения и как он записывается. Иначе получатель создаст лишнюю запись или потеряет продолжение комментария.
| Свойство | Учебная договорённость | Контрольный случай |
|---|---|---|
| Кодировка | Явно выбранная сторонами | Кириллица и смешанное название |
| Разделитель столбцов | Точка с запятой | Разделитель внутри названия |
| Кавычки | Описанное правило включения и экранирования | Название с кавычкой |
| Сумма | Десятичная запятая, без разделителя тысяч | Пустота, отрицательное значение, дробная часть |
| Перенос | По договорённости формата | Двухстрочный комментарий |
Если число не соответствует правилам, полезнее остановить конкретную строку с причиной, чем молча прочитать только её начало. Предмет такой проверки отличается от выбора модуля интеграции с 1С: сначала нужен согласованный формат данных.
Набор файлов для проверки преобразования
Подготовьте маленький контрольный комплект: корректный файл, файл с разделителем в поле, файл с кавычкой и переносом, файл с некорректной суммой. Для каждого опишите ожидаемые строки и значения после разбора. Непригодный формат должен давать понятный отказ, а не частично испорченную таблицу без предупреждения.
Сверять нужно не только число записей. Проверьте точное название, код, сумму и наличие пустых значений. Затем сохраните результат преобразования и связь с оригиналом. Если ошибка появляется только в полном файле, ищите конкретную строку или сочетание символов, сохраняя его в допустимом учебном примере.
Итог диагностики — таблица формата, контрольные файлы и ожидаемые результаты. Такой комплект помогает исправить преобразование и проверить его повторно. Он не требует обещания заменить все системы или заново спроектировать весь обмен.

