ГЛАВНАЯ МЫСЛЬ

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

Соберите документы с исключениями

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

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

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

Покажите, откуда взялась сумма

Если итог не сходится, пользователю нужна возможность вернуться к источнику: открыть документ, найти период, проект и нужную строку. Связь с исходником стоит продумать вместе с импортом — загрузкой данных из файла.

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

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

Проверьте повторную загрузку

Акт уже загрузили и распределили суммы по проектам. Затем прислали исправленный файл. Что произойдёт при его добавлении: обновятся исходные данные или исчезнет и выполненное распределение?

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

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

Зафиксируйте порядок расчёта

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

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

  • Какие строки входят в итог?
  • Как обрабатывается отсутствующая цена?
  • На каком шаге округляются значения?
  • Как пользователь узнаёт о пропущенных данных?

Пройдите весь путь до готового файла

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

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

Именно такой разбор помогает определить объём разработки. Иногда достаточно автоматизировать загрузку и проверку нескольких типов файлов, сохранив привычный формат итогового отчёта.

ПРОЕКТ ПО ТЕМЕСверка смет и актовПрограмма для смет и актов: загружает документы, помогает сверять данные и распределять суммы по проектам.