В процессе ведения учета в 1С:Бухгалтерия предприятия 3.0 (БП 3.0) нередко возникает необходимость изменить тип склада — например, перевести «Оптовый склад» в статус «Розничного магазина». Однако система часто блокирует это действие, выдавая сообщение: «Поле "Тип склада" заполнено некорректно. Существуют документы, в которых выбран склад... Реквизит "Тип склада" не может быть изменен». Даже после того, как все документы, в которых фигурирует данный склад, будут распроведены, ошибка может сохраняться. В рамках данной статьи мы подробно разберем, почему это происходит и какими способами можно решить эту задачу, соблюдая целостность данных.
Давайте проанализируем ситуацию: когда мы нажимаем кнопку «Записать» в карточке склада, система запускает программную проверку. Эта проверка обращается не только к самим документам, но и к записям в различных регистрах (в первую очередь к регистру бухгалтерии Хозрасчетный и регистрам накопления). Система блокирует изменение типа склада, если находит хотя бы одну запись, где данный склад указан в качестве значения Субконто или измерения.
Рассмотрим подробнее, где могут «прятаться» ссылки на склад, которые не исчезают после распроведения:
Это один из самых быстрых, но требующих осторожности методов. Мы воспользуемся встроенной обработкой, которая позволяет игнорировать стандартные проверки при записи объекта. Разберем по шагам, как это сделать:
Склады.Тип склада и установим новое значение (например, «Розничный магазин»).Важное предупреждение: Использование режима разработчика обходит логику программы. Если вы измените тип склада на розничный, а в базе останутся остатки на счете 41.01 (товары на складах), это приведет к ошибкам в закрытии месяца и некорректному формированию отчетности, так как розница в БП 3.0 обычно учитывается на счетах 41.11 или 41.12.
Если вы хотите действовать «чисто» и понять, какой именно документ блокирует изменение, можно воспользоваться методом глобального поиска. Этот путь подходит для администраторов и программистов.
Проанализируем ситуацию: сообщение об ошибке генерируется программным кодом. Если мы выполним Глобальный поиск по строке текста "Тип склада" не может быть изменен, мы попадем в модуль, где описана проверка. Чаще всего это выглядит как запрос к базе данных:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ХозрасчетныйДвиженияССубконто.Регистратор
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто КАК ХозрасчетныйДвиженияССубконто
|ГДЕ
| ХозрасчетныйДвиженияССубконто.Значение = &Склад";
Запрос.УстановитьПараметр("Склад", СсылкаНаСклад);
Выясним причину ошибки: такой запрос ищет записи в регистре бухгалтерии, где склад выступает в роли субконто. Выполнив аналогичный запрос в консоли запросов или просто просмотрев движения документов через отчет «Места использования объекта» (кнопка «Еще» в карточке склада), мы увидим все документы, которые «держат» этот склад. Часто это оказываются документы, где склад не указан в шапке (например, распределение расходов или регламентные операции), но подставляется в проводки автоматически.
Если документов много и распроводить их все невозможно, правильнее будет не менять тип старого склада, а заменить его на новый. Посмотрим на алгоритм действий:
Склады.В этом случае система сама попытается перезаписать ссылки во всех документах. Если документ проведен, система предложит его перепровести. Это критически важно, так как при перепроведении 1С автоматически подставит правильные счета учета (например, заменит 41.01 на 41.11), что обеспечит корректность бухгалтерского учета.
При переходе к розничному типу склада (АТТ или НТТ) нужно учитывать не только «флажок» в карточке, но и учетную политику организации. Рассмотрим подробнее:
Поступление товаров.Подведем итог: Самый надежный способ — это поиск всех ссылок через стандартные отчеты использования объекта и их корректировка. Если же требуется быстрое решение «здесь и сейчас», использование Группового изменения реквизитов в режиме разработчика поможет обойти ошибку, но потребует от вас ручного контроля за остатками на счетах учета.