Ситуация, когда пользователь открывает документ в 1С:Управление нашей фирмой (УНФ), но не может изменить в нем ни цену, ни количество, ни даже выбрать номенклатуру (окно выбора просто не открывается), является довольно распространенной. Особенно часто это встречается в файловых базах, размещенных на сервере. При этом система не выдает никаких предупреждений или ошибок, а просто игнорирует действия пользователя. Рассмотрим детально, почему это происходит и как восстановить работоспособность интерфейса.
Первым делом проанализируем состояние формы документа. Если поля неактивны, скорее всего, для формы программно установлен режим ТолькоПросмотр = Истина. В конфигурации УНФ это часто происходит в процедуре ПриСозданииНаСервере. Система проверяет определенные условия и, если они соблюдены, блокирует редактирование. Для разблокировки элементов и изменения данных без вмешательства в код можно использовать обработку для открытия доступа к заблокированным реквизитам форм.
Разберем, на что именно стоит обратить внимание в коде:
ПриСозданииНаСервере.Пример кода, который может вызывать блокировку:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Проверка статуса документа
Если Объект.Статус = Справочники.СостоянияЗаказовПокупателей.Завершен Тогда
ЭтаФорма.ТолькоПросмотр = Истина;
КонецЕсли;
// Проверка прав на редактирование цен
Если Не РолиДоступны("ПолныеПрава, РедактированиеЦенВДокументах") Тогда
Элементы.ЗапасыЦена.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
Если программный код не содержит жестких блокировок, проанализируем права текущего пользователя. В 1С:УНФ права могут быть настроены очень гибко, и отсутствие прав на один связанный объект может блокировать работу со всей формой.
Выясним причину через стандартный отчет:
Также стоит проверить настройки RLS (Record Level Security). Если в базе включено ограничение прав на уровне записей, пользователь может видеть документ, но не иметь права на его изменение, если документ относится к «чужой» организации, складу или кассе, доступ к которым пользователю закрыт.
Даже если документ создан недавно, стоит проверить настройки даты запрета изменений. Иногда администраторы устанавливают дату запрета «на вчера» или используют динамические настройки (например, «конец предыдущего дня»).
Выполним следующие шаги:
Поскольку база файловая и лежит на сервере, доступ к ней осуществляется через общую сетевую папку. Это накладывает определенные технические риски. Проанализируем сетевое взаимодействие.
Иногда операционная система Windows (через протоколы SMB 2/3) некорректно кэширует состояние файлов базы данных (1Cv8.1CD). Если кто-то другой открывал этот документ и сессия завершилась аварийно, в папке с базой могут остаться временные файлы блокировок с расширениями *.lck или *.pfl. Программа может решить, что файл занят, и открыть его в режиме «только чтение» для текущего сеанса.
Рекомендация: Попросите всех пользователей выйти из базы, проверьте через «Управление компьютером» на сервере наличие открытых файлов в папке с базой и завершите все сессии. Удалите файлы *.lck, если они остались после выхода всех пользователей.
В современных версиях УНФ активное использование ЭДО накладывает свои ограничения. Если документ (например, «Расходная накладная») был отправлен контрагенту через 1С-ЭДО и уже имеет статус «Завершен» (подписан обеими сторонами), система блокирует любые изменения в табличной части. Это необходимо для обеспечения юридической значимости: данные в базе должны строго соответствовать тому, что подписано электронной подписью.
Если все вышеперечисленные методы не помогли, причина может крыться в нарушении логической или физической целостности таблиц базы данных. В файловых базах, работающих по сети, это случается при скачках напряжения или обрывах связи.
Запустим процедуру обслуживания:
Часто именно реиндексация помогает оживить «зависшие» формы выбора номенклатуры, которые перестали открываться из-за поврежденных индексов таблиц.
Существует редкий визуальный баг: когда пользователь нажимает кнопку выбора номенклатуры, окно выбора открывается, но за пределами видимости экрана или «схлопнутым» в узкую полоску. Это происходит из-за некорректного сохранения настроек положения окна в кэше пользователя.
Поскольку кэш вы уже чистили, попробуйте также сбросить настройки конкретной формы: Главное меню — Настройки — Настройки форм — выбрать нужную форму — Установить стандартные настройки. Это вернет все элементы интерфейса и окна выбора в исходное состояние.