В практике системного администрирования и сопровождения 1С часто возникает задача ограничить возможности пользователя по изменению списка информационных баз. Это особенно актуально, когда необходимо обеспечить неизменность параметров запуска (например, для обязательного запуска внешних обработок или контроля МРЦ в базовых версиях), предотвратить случайное удаление баз пользователем или исключить возможность добавления сторонних конфигураций. Рассмотрим подробно, как реализовать такую защиту различными методами.
Это самый надежный и «штатный» способ заблокировать кнопки управления списком в окне запуска. Когда база прописана не в локальном файле пользователя, а подключена как «общая», платформа 1С автоматически отключает (делает серыми) кнопки «Изменить» и «Удалить».
Разберем по шагам, как это настроить:
ibases.v8i в папке %AppData%\1C\1CEStart\.common.v8i.1CEStart.cfg. Он находится в каталоге %AppData%\1C\1CEStart\ (для конкретного пользователя) или в %ProgramData%\1C\1CEStart\ (для всех пользователей компьютера).
CommonInfoBases=C:\Distr\1C\common.v8i
Проанализируем результат: при запуске 1С пользователь увидит список баз из общего файла. Попытка изменить параметры базы будет невозможна, так как кнопки управления будут заблокированы программно. При этом кнопка «Добавить» останется рабочей, но пользователь сможет добавить только свою локальную базу, не влияя на настройки основных рабочих баз.
Если ваша задача — обязательный запуск внешней обработки (например, для проверки цен МРЦ перед продажей алкоголя), мы можем прописать это непосредственно в параметрах запуска. Однако, чтобы пользователь не стер этот параметр, его нужно комбинировать с первым методом или защитой ярлыка.
Рассмотрим структуру команды запуска. В файле .v8i (общем или локальном) в параметре Connect или в строке запуска ярлыка можно добавить ключ /Execute.
Пример строки в ярлыке Windows:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "C:\Base1C" /Execute "C:\Scripts\CheckPrices.epf"
Выясним причину, почему это может не сработать: пользователь может создать свой ярлык или запустить 1cv8.exe напрямую из папки bin. Чтобы этого избежать, перейдем к административным методам защиты.
Посмотрим на более продвинутый способ подмены списка баз. Платформа 1С позволяет переопределить путь к файлу ibases.v8i с помощью переменной среды Windows. Это позволяет полностью игнорировать файл в профиле пользователя.
1C_IBASES_V8I.\\Server\1C_Config\readonly_bases.v8i.В этом случае, даже если пользователь вручную отредактирует файл в своем AppData, 1С его проигнорирует и загрузит список из указанного вами места.
Если вы не хотите использовать общие списки, можно попробовать ограничить права на запись в локальные конфигурационные файлы. Однако здесь есть важный нюанс, который упоминался в обсуждении.
Проанализируем ситуацию: если просто поставить атрибут «Только чтение» (Read-only) на файл ibases.v8i, программа 1С при попытке записи (которая происходит при каждом закрытии окна запуска) может выдать ошибку доступа. Чтобы этого не произошло, используйте более тонкую настройку разрешений NTFS:
ibases.v8i -> вкладка «Безопасность» -> «Дополнительно».Как справедливо заметили участники обсуждения, опытный пользователь может обойти окно запуска 1cestart.exe, запустив напрямую 1cv8.exe из подпапки конкретной версии платформы. Чтобы исключить эту возможность, рекомендуется использовать политики ограниченного использования программ (SRP) или AppLocker.
Разберем логику настройки:
1cestart.exe из каталога common.*.exe из подкаталогов с номерами версий (например, ...\8.3.22.1750\bin\1cv8.exe).Хотя автор темы утверждает, что в базовых версиях возможна только внешняя обработка, стоит напомнить, что современные версии платформы (начиная с 8.3.12) поддерживают работу с расширениями конфигурации даже в базовых версиях. Это открывает гораздо более надежный путь решения основной задачи (контроля МРЦ).
Вместо того чтобы пытаться спрятать кнопки в окне запуска, мы можем:
ПриНачалеРаботыСистемы.Преимущество этого метода в том, что логика проверки становится частью самой базы данных. Пользователь может запускать 1С любым способом, с любыми ярлыками, но проверка цен все равно сработает, так как она зашита внутри информационной базы, а не в параметрах её запуска.
Для надежной блокировки редактирования списка баз мы рекомендуем комбинированный подход:
CommonInfoBases в файле 1CEStart.cfg для блокировки кнопок «Изменить» и «Удалить».%AppData%\1C\1CEStart\, чтобы пользователь не мог модифицировать сам файл 1CEStart.cfg.Эти методы позволят вам создать стабильную и защищенную среду для работы пользователей, исключив человеческий фактор и попытки обхода установленных правил работы в системе.