Игра «найди 10 отличий» тренирует внимательность, находчивость и зрительную память, но быстро надоедает, когда дело касается сравнения информационных баз системы «1С: Предприятие». Тем не менее, на практике такая задача возникает чаще, чем хотелось. В наиболее типичном случае приходится выяснять причины почему-то изменившихся в прошлом периоде оборотов некоторого счета или регистра.
Обычно все начинается со слов: - Вчера (на прошлой неделе, в прошлом месяце) этот отчет показывал другие цифры! – Разберитесь, что произошло!
Самый надежный способ разобраться – это развернуть эталонную копию базы и сравнить ее с рабочей. Причем наиболее прямой и быстрый путь – это сравнение не содержания отдельных документов, а итогов их проведения в целом. Если суммарные итоги проведения документов на некотором интервале совпадают, этот интервал можно исключить из рассмотрения, сосредоточившись на оставшейся части интервала поиска. Доказано, что выгодней всего использовать на каждом шаге половинное деление интервала неопределенности. Из-за высокой эффективности именно половинное деление (дихотомия) применяется при ручном поиске причин расхождений. Предлагаемый отчет является автоматизированной разновидностью поиска расхождений в оборотах методом половинного деления.
На фиг.1 показано основная страница формы отчета.
На этой странице можно выбрать контролируемый регистр (включая регистр бухгалтерии). Список регистров для выбора заполняется автоматически по метаданным конфигурации. Также можно выбрать контролируемые ресурсы регистра. Именно обороты этих ресурсов участвуют в сравнении. В случае, когда ни один ресурс не выбран, контролируются все ресурсы регистра. Если регистр имеет измерение «организация», можно указать организацию, по которой будет делаться отбор при сравнении. Если организация не задана, то отбор не делается и проверка идет по всем организациям. Для регистра бухгалтерии можно уточнить список контролируемых счетов. Если список пустой, то будут контролироваться все счета.
Предполагается, что в сравнении участвуют родственные конфигурации – названия регистров и контролируемых ресурсов должны совпадать. Хотя принципиальных ограничений для сравнения этим методом оборотов по разноименным регистрам и ресурсам и не родственным конфигурациям нет, для простоты управления отчетом такая возможность пока не задействована.
Результат сравнения представляет собой дерево значений. Верхний уровень дерева содержит список максимально узких интервалов отличающихся оборотов. Каждая ветвь результата сравнения соответствует одному интервалу расхождений оборотов и выводится в две строки. В первой отражены обороты по соответствующим ресурсам для текущей базы, а во второй – обороты в подсоединенной базе. При раскрытии ветви дерева, соответствующей одному интервалу, показывается список регистраторов в текущем интервале с их оборотами в обеих базах. Показываются не все регистраторы интервала, а только те, обороты которых в двух базах различаются. Регистратор текущей базы можно открыть прямо из отчета.
На фиг.2 показана страница для настройки подключения ко второй базе.
Параметры подключения не обязательно записывать вручную. Их можно задать, выбрав базу для подключения из списка зарегистрированных баз.
Другие сценарии использования предлагаемого отчета могут быть связаны с проверкой правильности обновления конфигурации, правильности обновления правил обмена данными, проверкой результатов перепроведения документов, результатов загрузки при обмене с другими конфигурациями и так далее. То есть во всех ситуациях наличия некоторой эталонной информационной базы.
Также можно предложить использовать эталонную «теневую» базу с правами только на чтение, обновляемую после закрытия периода. В сочетании с данным отчетом это образует надежную самоконтролируемую учетную систему.
Основное достоинство отчета: высокая скорость работы. Она тем выше, чем ближе анализируемая база к эталонной. Даже очень большая база проверяется таким методом за несколько секунд.
Также можно отметить, что отчет позволяет сосредоточиться на контроле только существенных изменений в базе данных, не давая «ложных тревог» и оставляя без внимания второстепенные изменения, не повлиявшие на значения основных показателей.
P.S.: Просьба сообщать в комментариях о найденных в отчете ошибках и неудобствах, если они будут замечены.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.157.32