DocFlow

Шапка таблицы попала в данные

Как это выглядит

В сведённой таблице через каждые двадцать строк встречается строка со словами «Наименование», «Кол-во», «Цена». Автосумма по колонке ругается, а фильтр показывает эти слова как значения.

Коротко

На многостраничном документе шапка таблицы печатается заново на каждой странице — это нормальное поведение печатной формы. При разборе каждая такая шапка выглядит как обычная строка, потому что ничем от неё не отличается: те же координаты, тот же шрифт. В результате в данные попадает столько лишних строк, сколько было страниц.

Почему так происходит

  1. 01Повтор шапки на каждой странице

    Печатная форма повторяет заголовки, чтобы бумажный документ читался постранично. Для разбора это означает, что признак «строка заголовка» перестаёт быть уникальным.

  2. 02Шапка в две строки

    Объединённые ячейки с общим заголовком над группой колонок дают двухэтажную шапку. Разбор берёт за заголовок только одну из строк, а вторая уходит в данные.

  3. 03Строка «Итого» между блоками

    Промежуточные итоги по разделам счёта попадают в тот же поток строк. При сложении колонки они удваивают сумму, и итог оказывается ровно вдвое больше правильного.

Как понять, что причина именно эта

Как починить

Убрать повторы шапки фильтром

  1. 1.Включите фильтр по колонке наименования.
  2. 2.Отберите значения, совпадающие с текстом заголовка.
  3. 3.Удалите отобранные строки целиком и снимите фильтр.

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

Отсечь нечисловые строки по колонке количества

  1. 1.Добавьте служебную колонку с проверкой, число ли в колонке количества.
  2. 2.Отфильтруйте строки, где не число.
  3. 3.Проверьте их глазами и удалите повторы шапки и промежуточные итоги.

не чинит: Позиция с пустым количеством попадёт в тот же отбор, поэтому просмотр перед удалением обязателен.

Когда мы не нужны

На одностраничном счёте этой проблемы нет вовсе. Она появляется на спецификациях и накладных в десятки страниц — и там чистка фильтром занимает минуту, если знать, что искать. Инструмент нужен, когда таких документов много каждую неделю.

Что с этим делает наша выгрузка

В нашей выгрузке шапка идёт один раз, в начале листа, и не повторяется — даже если исходный документ был многостраничным. Промежуточные строки «Итого» в позиции мы не переносим. Проверить это можно на демонстрационном файле: он собирается тем же кодом, что и рабочая выгрузка.

Вопросы

Почему нельзя просто удалить каждую двадцать первую строку?

Потому что число строк на странице непостоянно: длинные наименования переносятся, и позиций на страницу помещается разное количество. Удаление по счёту сотрёт настоящие данные.

Что делать со строками «Итого» внутри документа?

Держать их отдельно от позиций и не складывать вместе с ними. Промежуточный итог — это результат по разделу, а не строка товара, и в одной таблице с позициями он всегда даёт двойной счёт.

Пилот · 1 990 ₽ за 30 дней

Если ошибка не в Excel, а в самих документах

Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/zagolovki-tablicy-ne-raspoznalis.