Восстановление удалённой карточки в 1С 8.3
Содержание
Карточка номенклатуры исчезла из справочника, в документе вместо контрагента стоит <Объект не найден>, а нужный элемент не находится поиском — знакомая ситуация. Восстановить карточку в 1С реально, но способ зависит от того, что с ней случилось: помечена на удаление, скрыта отбором или физически удалена из базы.
Разберём все варианты по очереди: от простого снятия пометки удаления в режиме «Предприятие» до отката базы из резервной копии. Пути меню привожу по 1С:Бухгалтерии 8.3 с интерфейсом «Такси»; в ЗУП 3.1 и УТ 11 логика та же, названия разделов близкие.
Почему карточка пропала: быстрая диагностика
Прежде чем что-то восстанавливать, выясните, удалена ли карточка на самом деле. Часто она на месте — просто не видна. Проверьте по порядку:
- Отбор в списке. Если над списком или в его шапке горит активный отбор, элемент может быть отфильтрован. Откройте
Ещё → Настроить списоки снимите лишние условия отбора, либо нажмите на индикатор отбора и очистите его. - Группа справочника. Справочники номенклатуры и контрагентов иерархические. Элемент мог переместиться в другую группу. Отключите показ по группам или встаньте в корень справочника и повторите поиск.
- Права доступа. Если в базе настроено ограничение доступа на уровне записей (RLS), пользователь может просто не видеть карточку. Зайдите под администратором и проверьте, видна ли она ему.
- Пометка на удаление. Помеченные на удаление элементы из списка не пропадают — они остаются видимыми, но отображаются бледно-серым, перечёркнуты и со значком красного крестика. Если видите такой значок — карточка цела, переходите к снятию пометки.
Отдельно проверьте поиск не по наименованию, а по коду или реквизитам: по коду номенклатуры, по ИНН контрагента . Иногда карточка на месте, но её переименовали, и по старому названию она не находится. Поиск по коду или ИНН в этом смысле надёжнее.
Если ничего из этого не помогло и элемента нет вообще — скорее всего, его удалили физически. Понять, когда и кто это сделал, поможет журнал регистрации.
Журнал регистрации лежит в разделе Администрирование → Обслуживание (пункт про журнал событий). Задайте отбор по событию удаления данных и по дате — увидите, какой пользователь и когда удалил объект, а заодно его представление. Это пригодится, чтобы воссоздать карточку с теми же данными.
Снять пометку удаления, если карточка ещё в базе
Самый частый случай: карточку не удалили окончательно, а только пометили на удаление. Пока не выполнена операция «Удаление помеченных объектов», все данные элемента и ссылки на него сохраняются. Снять пометку — дело пары кликов.
В режиме «Предприятие»:
- Найдите элемент в списке справочника — он будет со значком удаления.
- Щёлкните по нему правой кнопкой и выберите в контекстном меню команду снятия пометки удаления (та же команда, что и ставит пометку, работает как переключатель; горячая клавиша —
Del). - Либо откройте карточку двойным щелчком и нажмите кнопку снятия пометки в командной панели формы.
Значок удаления исчезнет — элемент снова активен. Документы, которые на него ссылались, при этом никуда не девались: ссылка остаётся рабочей, потому что внутренний идентификатор (GUID) не менялся.
Если карточку помечали на удаление намеренно (например, дубль контрагента), перед снятием пометки убедитесь, что возвращаете именно нужный элемент, а не ошибочный дубль. Иначе в базе снова будет два похожих контрагента.
Если на удаление пометили целую группу справочника, пометка проставляется и на саму группу, и на все вложенные элементы. Снимать её тогда тоже удобнее с группы — элементы внутри обычно освобождаются вместе с ней. После снятия всё равно пробегитесь по вложенным карточкам: отдельные элементы могли быть помечены ещё до того, как пометили группу, и с них пометка сама не слетит.
Массово посмотреть все помеченные объекты и выборочно снять с них пометку удобно через Администрирование → Обслуживание → Удаление помеченных объектов: на первом шаге обработка показывает полный список кандидатов на удаление, и ненужные пометки оттуда видно сразу.
Найти ссылки и перепровести документы после восстановления
Вернуть саму карточку — половина дела. Если элемент участвовал в проводках и движениях по регистрам, после восстановления их нужно пересчитать.
Поиск ссылок на объект. Чтобы понять, где используется восстановленный элемент, откройте его карточку и вызовите команду поиска ссылок в меню Ещё. 1С покажет все документы и объекты, которые на него ссылаются. Так вы увидите полный список документов, которые, возможно, придётся перепровести.
Групповое перепроведение документов . Если карточка влияла на себестоимость, остатки или взаиморасчёты, перепроведите связанные документы:
- Откройте
Администрирование → Обслуживание → Проведение документов → Групповое перепроведение документов(в ряде релизов — через сервисную обработку перепроведения). - Задайте период и, при необходимости, отбор по организации и виду документов.
- Запустите перепроведение.
Групповое перепроведение меняет движения документов за весь выбранный период и может идти долго на большой базе. Запускайте его в нерабочее время или на монопольном доступе, чтобы не мешать другим пользователям и не поймать конфликт блокировок.
Если период, в котором использовалась карточка, уже закрыт (выполнено закрытие месяца ), перепроводить документы задним числом нужно осторожно. Перепроведение может изменить закрытые данные, и месяц придётся закрывать заново. Сначала оцените, затрагивает ли восстановление уже закрытые периоды, и при необходимости согласуйте перезакрытие с главным бухгалтером.
Если после восстановления в документах всё ещё виден <Объект не найден> — значит, восстановленный элемент получил новый идентификатор и со старыми ссылками не связался. Такое бывает, когда карточку воссоздали вручную, а не вернули из резервной копии. В этом случае ссылки в документах придётся проставить заново: открыть каждый документ из списка ссылок, подставить восстановленный элемент и перепровести.
Восстановить удалённую карточку из резервной копии
Если «Удаление помеченных объектов» уже отработало, элемента в базе нет и снимать пометку не с чего. Остаётся резервная копия. Полностью откатывать рабочую базу ради одной карточки не нужно — достаточно поднять копию отдельно и перенести из неё нужный элемент.
Порядок действий:
- Разверните резервную копию как отдельную базу. Создайте в списке баз новую информационную базу и загрузите в неё файл копии (
.dt— черезКонфигуратор → Администрирование → Загрузить информационную базу; файловую копию папки — простым добавлением каталога). Рабочую базу не трогаем. - Проверьте, что карточка в копии есть и данные в ней те, что нужны.
- Перенесите элемент в рабочую базу. Для выборочного переноса объектов между базами одной конфигурации используют обработку выгрузки и загрузки данных в формате XML (
ВыгрузкаЗагрузкаДанныхXML). В копии выгрузите нужный элемент (и, при необходимости, связанные с ним объекты) в файл XML, затем загрузите этот файл в рабочую базу.
Важная оговорка про совместимость: загружать файл .dt можно только в базу с совместимой конфигурацией. Если рабочая база после создания бэкапа успела обновиться, конфигурацию копии нужно обновить до той же версии, иначе выгрузка-загрузка объектов через XML может не пройти из-за несовпадения структуры метаданных. Проще поднимать копию на той версии платформы и конфигурации, что и рабочая база на текущий момент.
Перенос через XML хорош тем, что сохраняет исходный идентификатор элемента. Если GUID совпадёт со старым, ссылки в документах рабочей базы восстановятся автоматически — <Объект не найден> исчезнет. Это главное преимущество перед ручным воссозданием карточки.
Если резервной копии нет, но в базе было включено версионирование объектов, загляните в историю изменений этого элемента. Даже у удалённого объекта версии могут сохраниться — по ним видно, какие были реквизиты, и карточку несложно завести заново с теми же данными. Автоматически вернуть объект версионирование не умеет, но переписать данные из последней версии — вполне.
Когда ни копии, ни версий нет, остаётся единственный путь — создать карточку заново вручную и проставить ссылки в документах. Данные при этом восстанавливаете по первичке: договорам, накладным, выпискам.
Полный откат базы из резервной копии: когда это оправдано
Полное восстановление базы из копии (откат) возвращает к состоянию на момент бэкапа всё — не только карточку. Это тяжёлый сценарий, к нему прибегают, когда повреждена не одна карточка, а значительная часть данных: например, кто-то удалил целую группу номенклатуры вместе с документами, или база побилась.
Откат базы уничтожает все данные, введённые после создания резервной копии. Если с момента бэкапа прошёл день работы — этот день придётся вводить заново. Поэтому для единичной карточки откат почти никогда не оправдан: дешевле поднять копию отдельно и перенести элемент.
Как откатить файловую базу:
- Завершите работу всех пользователей и сделайте свежую копию текущего состояния (чтобы было куда вернуться, если что-то пойдёт не так).
- В конфигураторе выполните
Администрирование → Загрузить информационную базуи укажите файл.dtнужной даты. - После загрузки проверьте остатки и ключевые отчёты за последний закрытый период.
Для клиент-серверной базы загрузку .dt делают так же через конфигуратор, но предварительно нужно, чтобы с базой никто не работал. Если копии хранятся штатным механизмом резервного копирования самой конфигурации, восстановление запускают из того же раздела, где настроены копии.
Как защититься от потери карточек: права и резервные копии
Восстановление — это всегда потеря времени. Проще не доводить до него. Несколько настроек закрывают большинство рисков.
- 🔐 Ограничьте право на удаление. Физически удалять помеченные объекты должен только ответственный сотрудник, а лучше — администратор. Рядовым пользователям в их профиле прав эту операцию отключают. Пометить на удаление они смогут, а стереть окончательно — нет.
- 💾 Настройте автоматическое резервное копирование
. В файловой версии — штатным механизмом конфигурации по расписанию (
Администрирование → Обслуживание → Резервное копирование и восстановление). В клиент-серверной — средствами СУБД. Копии храните не на том же диске, где база. - 🕓 Включите версионирование объектов. Тогда по каждому элементу хранится история изменений, и даже без полной копии вы увидите, какими были реквизиты карточки. Включается в настройках раздела
Администрирование. - 🗂 Удаляйте помеченные объекты по регламенту. Не спонтанно «почистить базу перед обедом», а в заранее оговорённое время, с предварительным контролем ссылок. Обработка удаления сама проверяет ссылки и не даст удалить объект, на который что-то ссылается, — не отключайте эту проверку бездумно.
Отдельная оговорка для распределённых баз (РИБ): восстановление элемента нужно развести по всем узлам обмена. Если вернули карточку в центральном узле, дождитесь, пока изменение уйдёт в периферийные базы, иначе там ссылка так и останется битой. Переносить восстановленный элемент сразу во все узлы вручную не нужно — этим занимается штатный обмен.