При работе в современных конфигурациях на платформе 1С:Предприятие 8.3, таких как ERP, Комплексная автоматизация 2 или Управление торговлей 11, пользователи часто сталкиваются с ситуацией, когда после записи элемента справочника некоторые поля становятся недоступными для редактирования. Особенно критично это проявляется в справочнике Кассы, где реквизит Подразделение может быть заблокирован сразу после создания. Разберем подробно, почему так происходит и какими способами можно внести изменения в уже существующую карточку кассы.
Прежде чем переходить к активным действиям, проанализируем ситуацию. В системе 1С существует механизм защиты значимых реквизитов. Это сделано для того, чтобы пользователь случайно не изменил аналитику, по которой уже могли пройти движения документов. Если вы измените подразделение у кассы, по которой уже проведены приходные или расходные кассовые ордера, возникнет разрыв в аналитическом учете: документы будут числиться за одним подразделением, а сама касса в справочнике — за другим.
Система блокирует поле в следующих случаях:
Рассмотрим самый простой и штатный метод, который предусмотрен разработчиками 1С для большинства справочников. Посмотрим, как активировать доступ к скрытым настройкам формы.
Кассы предприятия.Подразделение должно стать доступным для выбора.Если после выполнения этих действий поле все равно остается серым и неактивным (как описывал автор темы на форуме), значит, вступают в силу программные запреты, связанные с наличием документов или особенностями прав доступа.
Если стандартная разблокировка не помогает, воспользуемся мощным системным инструментом — обработкой Групповое изменение реквизитов. Этот метод позволяет обойти визуальные запреты формы объекта. Разберем по шагам:
Касса (или Кассы предприятия).Подразделение и установите напротив него галочку, а в колонке «Новое значение» выберите нужное подразделение из справочника Структура предприятия.Данный метод принудительно записывает значение в базу данных, игнорируя проверку ЭтаФорма.ТолькоПросмотр или блокировки конкретных элементов управления на форме.
Выясним причину, связанную с настройками самой программы. Бывают ситуации, когда выбор подразделения невозможен из-за того, что система «не видит» подходящих подразделений для данной организации. Проверьте следующие моменты:
Структура предприятия нет ни одного элемента, поле в кассе будет заблокировано.В исключительных случаях, когда интерфейсные методы бессильны, можно прибегнуть к выполнению небольшого фрагмента кода через «Консоль кода» или внешнюю обработку. Проанализируем пример кода, который выполнит задачу:
// Получаем объект кассы по ссылке
ОбъектКасса = СсылкаНаКассу.ПолучитьОбъект();
// Отключаем проверки и устанавливаем новое подразделение
ОбъектКасса.Подразделение = Справочники.СтруктураПредприятия.НайтиПоНаименованию("Отдел продаж");
// Записываем объект с отключением проверок (если необходимо)
ОбъектКасса.ОбменДанными.Загрузка = Истина;
ОбъектКасса.Записать();
Использование свойства ОбменДанными.Загрузка = Истина позволяет пропустить большинство подписок на события и встроенных проверок в модуле объекта ПередЗаписью, что гарантирует сохранение изменений.
Если документов по кассе еще нет или их очень мало, можно воспользоваться советом из сообщения №11 — создать новую правильную кассу. Однако, чтобы не нарушить целостность данных в уже существующих документах, выполним процедуру корректно:
Важное предостережение: Перед любым массовым изменением реквизитов или программным вмешательством в справочник Кассы обязательно сделайте резервную копию информационной базы. После изменения подразделения обязательно сформируйте отчет Ведомость по денежным средствам, чтобы убедиться, что остатки по кассе отображаются корректно в разрезе новой аналитики.