У меня периодически возникает необходимость проверить, что объект конфигурации не изменился после каких-нибудь действий.
Например, с того момента, как появилась возможность добавлять реквизиты в расширениях, встал вопрос переноса добавленных реквизитов в расширения. Я обычно выгружаю объект в файл, переношу реквизит из конфигурации в расширение и загружаю данные из файла. Так вот, чтобы проверить, что ничего не изменилось и написал предлагаемую обработку, сравнивающую сохранённую на диск версию таблицы с тем, что есть в базе.
Как это работает. Перед выполнением каких либо действий над базой делаем резервную копию, запускаем обработку, выбираем период, имя файла для сохранения, нужные типы объектов (справочники, документы и пр.) и сохраняемые таблицы. После этого нажимаем кн. "Сохранить".
Выполняем запланированный действия. И снова запускаем обработку. Проверяем имя файла, нажимаем в командной панели Считать настройки. Восстанавливаются настройки сохранения (список сохранённых таблиц). И нажимаем кн. Сверить. На 2-й вкладке будет представлен результат сравнения.
Сохранение на диск делается через ЗначениеВФайл. Иногда при сравнении бывают проблемы: данные не изменились, а обработка показывает иначе. Например, с неограниченными строками. Для этого предусмотрел возможность исключения из сравнения некоторых реквизитов. Перед сравнением дважды щёлкните на колонку Реквизиты и удалите из списка ненужный вместе с запятой. В некоторых случаях поможет опция "Сравнивать представления". Хранилища значений сравниваются по хешам (MD5).
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.175.32
- Управление нашей фирмой, редакция 3.0, релизы 3.0.11.161