Перейти к содержанию

Почему запись не удаляется

Карточку завели «на пробу», больше она не нужна — а удалить не выходит: система отвечает «Запись реестра «Товар» используется в: Цены!» и запись остаётся на месте. Это не сбой и не нехватка прав. Так работает защита: справочник, на который уже кто-то ссылается, система не отдаёт.

Что защищается и зачем

Код карточки живёт не в ней самой. Он записан в каждом документе, где эту карточку выбрали: в строке счёта, в поступлении, в прейскуранте, в технологической карте. Удалить карточку — значит оставить все эти записи со ссылкой в никуда: в документе останется код, за которым уже ничего нет, отчёт по нему покажет пустое имя, а себестоимость и остатки пересчитать будет не из чего.

Поэтому перед удалением система обходит места, где карточка может быть упомянута, и при первой же находке отказывает. Такая проверка стоит у десятков справочников и документов — товары, контакты, склады, единицы измерения, счета, объекты, сотрудники, поступления и так далее.

Два разных сообщения

Отказы бывают двух видов, и это не одно и то же:

Сообщение Что за ним стоит Можно ли обойти
«Товар используется в документах!» по карточке есть движение по складу или остаток нет
«Запись реестра «Товар» используется в: Цены!» на карточку ссылается запись, названная после двоеточия да — убрать эту ссылку

История движения проверяется первой, ещё до ссылок; складской статус (остаток, резерв, заказанное количество) — после них, так что первый отказ может прийти и тогда, когда все ссылки уже убраны. Движение по складу — это уже свершившийся факт учёта: приход, отгрузка, инвентаризация. Отменить его удалением карточки нельзя ни при каких обстоятельствах, такой товар остаётся в системе навсегда.

Второе — обычная ссылка: строка в прейскуранте, позиция в технологической карте, штрих-код. Её можно убрать, и тогда карточка освободится.

Разбор на примере

Товар SRV00001 заведён, продан не был, по складу не двигался. Попытка удалить его отвечает:

Запись реестра «Товар» используется в: Цены!

«Цены» — это реестр цен, где для товара задана продажная цена. Порядок такой: открыть реестр цен, найти строку с этим товаром, удалить её — и после этого карточка удалится.

Второй пример из той же базы. Товар 220000 «Стеллаж металлический» по складу тоже не двигался, но ответ другой:

Запись реестра «Товар» используется в: Технологические карты!

Значит, товар стоит строкой в технологической карте — уберите строку из карты (или удалите саму карту, если она была пробной).

Система называет только первую причину

Проверка останавливается на первой находке. Если карточка упомянута в трёх местах, вы увидите только одно название — уберёте ссылку, попробуете снова и получите следующее. Это не ошибка: список мест длинный, и перебирать его придётся по одному.

Отсюда практический вывод: если после снятия одной ссылки сообщение поменялось — вы движетесь правильно. Если не поменялось — ссылка осталась (например, строка удалена в одном прейскуранте, а такая же есть во втором).

Если убрать ссылки нельзя — закройте карточку

Товар, который продавался, удалить не получится никогда: у него есть история движения, и она нужна для отчётов за прошлые периоды. Но убрать его из повседневной работы можно — для этого в карточке есть отметка «Закрыто» — в шапке, справа от отметки «Набор».

Отметка «Закрыто» в шапке карточки товара

Что меняется у закрытой карточки:

  • она не предлагается при подборе товара в документы — в счёте, отгрузке, технологической карте, табеле работ её просто не видно в списке выбора;
  • утвердить документ с ней нельзя: при попытке провести счёт система ответит «Товар … закрыт». Исключение — заказ поставщику: строку, по которой товар уже получен или пришёл счёт, закрытие карточки не блокирует;
  • на Prom она больше не выгружается: службы «Prom Обновить баланс» и «Prom Обновить цены» закрытые карточки пропускают, и на Prom остаются последние выгруженные цена и остаток. На Rozetka закрытие не действует: обновление цен и остатков Rozetka его не учитывает и продолжает отправлять цену и остаток такого товара.

При этом карточка остаётся на месте: старые документы, отчёты и остатки по ней читаются как раньше. Для «завели по ошибке, а удалить нельзя» это правильный выход.

Как это выглядит в других справочниках

Формат сообщения зависит от справочника, суть одна:

  • контакт — «Код контакта используется в документах: Заказы поставщикам, Растаможка, Заказы на обслуживание, Таблицы работ!». Здесь система перечисляет все места сразу, а не первое;
  • единица измерения — «Запись реестра «Единица измерения» используется в: Счета-фактуры!»;
  • пользователь — «Запись реестра «Пользователь» используется в: Задачи!», а второй строкой — совет закрыть его отметкой «Закрыто». Логин ищется в документах и настройках всех компаний базы: пользователь в системе один на все компании;
  • в остальных справочниках сообщение-ссылка строится по тому же образцу: после слов «Запись реестра» в кавычках — название справочника, после двоеточия — первое место, где запись нашлась.

Типичные ситуации

Удалил цену, а товар всё равно не удаляется. Появилась следующая ссылка — прочитайте новое сообщение, оно называет уже другое место.

Товар не двигался, а система пишет «Товар используется в документах». Кроме истории движения проверяется складской статус — строка остатка по складу. Мешает любая ненулевая величина в ней: остаток, резерв или заказанное количество (его ставит и черновик заказа клиента). Чисто нулевая строка без истории движения удалению не мешает — её уничтожит само удаление карточки. Так что ищите документ, который держит резерв или заказанное количество. Исключение — общая карточка группы компаний: строка статуса в другой компании группы мешает и нулевая, система назовёт компанию — «У товара есть строки складского статуса в другой компании группы (…): общую карточку нельзя удалить, пока они есть».

Карточка нужна для истории, но мешает в списках. Закройте её отметкой «Закрыто» — из подбора она исчезнет, из отчётов нет.

Ошиблись в коде уже созданной карточки. Код — ключ, по которому на карточку ссылаются документы; менять его у работавшей карточки нельзя. Заведите новую и закройте старую.

Нужно убрать не карточку, а ошибочную строку из проведённого документа. Это другая операция: сначала снимите с документа «ОК», см. Как вернуть документ в редактирование.