Пошаговый алгоритм работы:
Шаг 1. Загрузка исходных данных
- Поля на форме: Файл1, Файл2.
- Действие: Пользователь с помощью кнопки обзора (...) выбирает два файла в формате .xlsx или .xls.
- Техническая деталь: Обработка ожидает, что в каждом файле активным является первый лист, который содержит таблицу с заголовками в первой строке.
Шаг 2. Инициализация и предварительный просмотр
- Кнопка: Считать.
- Действие: После нажатия кнопки система:
- Загружает данные из указанных Excel-файлов во внутренние таблицы обработки.
- Выводит на форму список полей (столбцов), обнаруженных в каждой из таблиц, в соответствующих списках (например, Поля из файла 1 и Поля из файла 2).
- Цель: Позволить пользователю увидеть структуру загруженных данных и подготовиться к следующему шагу.
Шаг 3. Настройка логики сравнения (ключевое поле)
- Поля на форме: Ключ для файла1, Ключ для файла2.
- Действие: Пользователь в двух выпадающих списках выбирает по одному полю из каждого файла. Эти поля должны содержать идентичные логические идентификаторы (ИНН, номер счета, код). Именно по совпадению значений в этих полях строки из двух таблиц будут связаны между собой.
- Важно: Система может автоматически предлагать для выбора поля с совпадающими именами или типом данных.
Шаг 4. Запуск процедуры сверки
- Кнопка: Сверка остатков.
- Действие: После нажатия кнопки система выполняет следующий алгоритм:
- Соединение данных: Для каждой строки из Файла1 ищется строка в Файле2 с равным значением ключевого поля, и наоборот. Используется логика полного внешнего соединения (FULL JOIN). Это означает, что в результат попадут:
- Строки, найденные в обоих файлах.
- Строки, которые есть только в Файле1 (отсутствующие в Файле2).
- Строки, которые есть только в Файле2 (отсутствующие в Файле1).
- Сравнение сумм: Для найденных пар строк сравниваются значения в предварительно выбранном (или заданном по умолчанию) поле «Сумма».
- Формирование результата: Создается итоговая таблица.
- Соединение данных: Для каждой строки из Файла1 ищется строка в Файле2 с равным значением ключевого поля, и наоборот. Используется логика полного внешнего соединения (FULL JOIN). Это означает, что в результат попадут:
Шаг 5. Анализ результата
- Итоговая таблица содержит следующие информативные колонки:
- [Ключевое поле] (например, ИНН) — значение из выбранного ключа.
- Сумма1 — значение суммы из первой таблицы.
- Сумма2 — значение суммы из второй таблицы.
Выводит только те строки, по которым есть разница в сумме
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.25.72
Вступайте в нашу телеграмм-группу Инфостарт