Проверка базы: ищет битые ссылки, дубли и пустые реквизиты, восстанавливает битые ссылки по образцу
База данных - Инструменты администратора БД
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
В базе могут остаться ссылки на удалённые объекты, одинаковые карточки справочников и документы с незаполненными реквизитами. «Проверка данных базы» помогает найти эти проблемы, посмотреть, где они встречаются, и открыть нужную запись. По битой ссылке на элемент справочника можно создать карточку с данными другого элемента, выбранного как образец. Прежняя ссылка сохраняется — документы и другие записи снова смогут открывать эту карточку.
Что умеет обработка
-
Ссылки — Отсутствующие объекты и помеченные на удаление объекты, на которые ещё ссылаются выбранные данные.
-
Создать по образцу — Создание отсутствующего элемента справочника с данными выбранного образца и прежней ссылкой.
-
Дубли — Группы элементов справочников, у которых совпали выбранные поля.
-
Даты — Документы раньше 2000 года и документы, датированные позднее текущего дня.
-
Пустые — Объекты, у которых не заполнено хотя бы одно отмеченное для проверки поле.
-
Профили — Сохранение и повторная загрузка наборов настроек, выгрузка в файл и загрузка из файла.
-
Лог — Просмотр хода проверки, итогов и сообщений об ошибках.
Выбрать область и запустить проверку
Слева находятся объекты конфигурации: справочники, документы, регистры и другие доступные виды. Отметки задают, где искать. Поиск по названию помогает найти нужный вид в большом дереве; уже сделанные отметки сохраняются при смене поисковой строки.
Например, для проверки данных продаж можно отметить номенклатуру, контрагентов и расходные накладные. Над деревом выбираются сами проверки, затем запускается команда «Проверить». Ход выполнения виден внизу; проверку можно остановить кнопкой «Остановить».
Результаты разделены по вкладкам. В заголовках видны количества найденных объектов или групп, а общая строка над вкладками помогает оценить итог прогона.
Ссылки: увидеть проблему и найти её источник
На вкладке «Ссылки» отдельно показаны отсутствующие и помеченные на удаление объекты. Это разные ситуации: у отсутствующего объекта нет карточки в базе, а помеченная карточка ещё существует.
При выборе объекта внизу появляется список мест, где на него ссылаются: вид документа или регистра, поле и количество ссылок. Рядом — конкретные записи. Двойной щелчок позволяет открыть документ или элемент; для записи регистра обработка открывает список с отбором.
На примере из УНФ расходная накладная ссылается в табличной части «Предоплата» на помеченное поступление в кассу. По результату видно и сам проблемный объект, и накладную, которую стоит посмотреть.

УНФ: помеченный документ и расходная накладная, в которой на него сохранилась ссылка.
В колонках также могут быть сведения о создании и удалении. Если имя или событие удаления не найдено в журнале регистрации, обработка показывает «нет в журнале». При настроенном обмене она предупреждает, что часть отсутствующих объектов может находиться в другой базе обмена: такую находку нужно оценивать с учётом устройства обмена.
Дубли: задать, какие совпадения искать
Для каждого справочника можно выбрать свои поля сравнения. Справа во вкладке «Дубли» стоят флажки: например, искать по наименованию или по сочетанию наименования и артикула. После изменения полей команда «Пересчитать» обновляет результат выбранного справочника.
В группу попадают элементы, у которых совпали все отмеченные поля. При сравнении строк не учитываются регистр и пробелы по краям. Элементы с пустым значением отмеченного поля в группы дублей не включаются.
В УНФ нашлись две карточки «Йогурт персик 2,5%, 125г». В раскрытой группе видны отдельные элементы и их коды. Карточку можно открыть двойным щелчком и решить, действительно ли это дубль. Обработка сама такие карточки не объединяет.

УНФ: две карточки «Йогурт персик 2,5%, 125г». Справа выбран признак сравнения — наименование.
Контроль пустых: обязательные поля и свои правила
На вкладке «Контроль пустых» справа показаны поля выбранного вида объектов. У каждого есть флажок проверки и отметка происхождения: «конфигурация» или «мой».
По умолчанию отмечены поля, которые указаны обязательными в конфигурации. К ним можно добавить свои. Например, если для работы нужен артикул товара, достаточно отметить «Артикул» у номенклатуры и нажать «Пересчитать». Снимать флажки тоже можно — это полезно, когда поле в конкретной задаче проверять не нужно.
В результате слева появляется список объектов, а под ним — что именно не заполнено у выбранного. На экране ниже у товара «Лак мебельный» пустой артикул, а справа видно, что это поле добавлено пользователем.

УНФ: Артикул добавлен как своё поле. У выбранного товара «Лак мебельный» он не заполнен.
Если отмечено несколько полей, достаточно одного пустого, чтобы объект попал в результат. Каждое поле проверяется независимо. В деталях можно посмотреть, какие из них не заполнены у конкретного объекта.
Отметка «конфигурация» означает, что поле отмечено обязательным в конфигурации. Некоторые требования к заполнению могут зависеть от вида операции и других значений карточки. Вкладка проверяет выбранные поля и не охватывает автоматически все такие условия. Нужные для своей задачи поля можно включить в собственный набор.
Поля табличных частей тоже выбираются
Табличные части находятся в том же дереве. Внутри каждой можно отметить отдельные реквизиты; у найденного пустого поля в деталях указывается строка табличной части.
В расходной накладной УНФ это, например, табличная часть «Запасы». Внутри видны её поля и отдельный пункт «нет строк»: он позволяет искать документы, у которых эта табличная часть вообще не заполнена.
Проверку реквизита строки и отсутствие строк можно включать отдельно — под конкретную задачу контроля.

Фрагмент экрана УНФ: поля табличной части «Запасы» расходной накладной и отдельный пункт «нет строк».
Даты: проверить документы с необычным годом
Вкладка «Даты» показывает документы раньше 1 января 2000 года и позднее конца текущего дня. В результате видны документ, дата и причина попадания в список. Двойной щелчок открывает документ.
Такая дата может быть допустимой для конкретной операции. Обработка выделяет документы для просмотра; дату она не исправляет.
Создать отсутствующий элемент по образцу
Если в базе сохранилась ссылка на отсутствующий элемент справочника, команда «Создать по образцу» позволяет создать по этой ссылке копию существующего элемента того же справочника.
- На вкладке «Ссылки» выбирается конкретный отсутствующий элемент справочника.
- Команда «Создать по образцу» открывает выбор из этого же справочника.
- После выбора появляется подтверждение с названием образца, его кодом и GUID отсутствующего элемента.
- После подтверждения обработка записывает копию и открывает её карточку.

Пример из демонстрационной базы: перед созданием показаны образец, его код и GUID отсутствующего элемента.
Здесь выполняется запись данных в базу. У нового элемента сохраняется прежняя ссылка, поэтому существующие ссылки снова могут открыть карточку. Образец остаётся отдельным элементом. Данные новой карточки берутся из образца; утраченные исходные значения команда не восстанавливает.
Команда копирует сам элемент. Отдельные характеристики и другие связанные записи вне него не переносятся. Для групп дерева, документов и помеченных объектов эта команда недоступна.
После создания запись появляется в логе, объект исчезает из отсутствующих. Затем стоит повторить проверку: копия может попасть в группу дублей по выбранным полям или потребовать заполнения реквизитов.
Сохранить настройки для следующего запуска
Последние настройки запоминаются между открытиями обработки. Для разных задач есть вкладка «Профили»: например, один набор для номенклатуры и продаж, другой — для контроля контрагентов.
Профиль сохраняет область поиска, выбранные проверки, поля сравнения дублей и настройки контроля пустых. По имени его можно сохранить, загрузить или удалить. Команды «Выгрузить в файл» и «Загрузить из файла» позволяют перенести набор настроек.

УНФ: именованный профиль сохраняет выбранную область и правила проверок.
Посмотреть ход проверки и сообщения
Вкладка «Лог» сохраняет события текущей работы строками со временем: начало проверки, этапы и итог. При ошибке сообщение выводится сюда же. Так можно посмотреть, на каком этапе остановилась обработка, и сохранить текст сообщения для разбора.

УНФ: во вкладке «Лог» видны этапы проверки и итог.
Что входит в поставку
Готовая внешняя обработка ПроверкаДанныхБазы_1_3.epf. Четыре проверки собирают и показывают данные. Отдельное действие записи — создание отсутствующего элемента справочника по образцу с подтверждением пользователя.
На чём проверено. Проверки и показанные экраны я проверял в веб-клиенте на платформе 1С:Предприятие 8.5.1.1522, в «Управлении нашей фирмой», редакция 3.0, версия 3.0.14.143. Создание элемента по образцу с сохранением GUID я проверял отдельно в демонстрационной базе на платформе 8.5.1.1522; снимок подтверждения в статье сделан там. В УНФ этот сценарий записи я не проверял. На платформе 8.3 я обработку не проверял.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.143
Вступайте в нашу телеграмм-группу Инфостарт