В процессе администрирования 1С:Предприятие 8.3 на операционной системе macOS пользователи часто сталкиваются с ситуацией, когда попытка «навести порядок» в правах доступа приводит к неожиданным последствиям. Типичный сценарий: создание нового пользователя с полными правами блокирует автоматический вход без пароля, и, что более критично, исчезают все накопленные настройки «Избранного», которые были привязаны к так называемому «пустому» пользователю (в терминологии системы — Неопределен).
В данной статье мы подробно разберем, как восстановить привычный режим работы, вернуть настройки «Избранного», настроить резервное копирование на Mac и организовать удобную смену сотрудников без перезапуска программы и конфликтов с торговым оборудованием.
Проанализируем ситуацию. В платформе 1С существует объект ПараметрыСеанса.ТекущийПользователь. Когда в списке пользователей базы данных нет ни одной записи, система запускается в режиме «без авторизации». В этом случае все пользовательские настройки, включая ссылки в панели «Избранное», настройки отчетов и расположение окон, сохраняются в базе данных для профиля Неопределен.
Как только в «Конфигураторе» создается хотя бы один пользователь, механизм аутентификации активируется. При входе под новым именем система создает чистый профиль настроек. Старые данные никуда не исчезли, они остались в базе, но «висят» на пустом пользователе, к которому теперь невозможно получить доступ через стандартное окно входа.
Рассмотрим по шагам самый простой и эффективный способ вернуть всё «как было», если разделение прав больше не является приоритетом, а важнее вернуть настройки пользователя.
Если же нам все-таки нужно разделить права, но при этом перенести накопленное «Избранное» из профиля Неопределен конкретному сотруднику, мы можем воспользоваться встроенными механизмами работы с хранилищем настроек. Настройки «Избранного» хранятся в объекте ХранилищеСистемныхНастроек под ключом Общее/Избранное.
Разберем пример кода, который можно запустить во внешней обработке для копирования данных:
// Получаем настройки из профиля "пустого" пользователя
НастройкиИзбранного = ХранилищеСистемныхНастроек.Загрузить("Общее/Избранное", , , "");
// Сохраняем эти настройки для конкретного пользователя (например, "Администратор")
ХранилищеСистемныхНастроек.Сохранить("Общее/Избранное", , НастройкиИзбранного, , "Администратор");
Этот метод позволяет сохранить преемственность данных при переходе от общей работы к персональным учетным записям.
На операционной системе macOS стандартные средства автоматического бэкапа 1С (через запуск планировщика в Windows) часто работают некорректно. Рассмотрим альтернативные способы обеспечения безопасности данных.
Способ 1: Выгрузка информационной базы (.dt). Это классический метод. В режиме Конфигуратор выберите Администрирование — Выгрузить информационную базу. Полученный файл является полным слепком данных и конфигурации. Его можно переносить между macOS, Windows и Linux.
Способ 2: Файловое копирование. Если используется файловая версия базы (что чаще всего бывает в небольших магазинах), основным контейнером данных является файл 1Cv8.1CD. На Mac мы можем использовать встроенную систему Time Machine. Рекомендуется добавить папку с базой в исключения для ежечасного копирования (чтобы избежать тормозов при работе 1С) и настроить ежедневное копирование этого файла на внешний накопитель или в облачное хранилище (например, iCloud или Яндекс.Диск) с помощью простых скриптов Automator.
Проанализируем сложную ситуацию: в магазине работают несколько менеджеров, им нужно фиксировать свои действия в Журнале регистрации под своими именами, но при этом к компьютеру подключена ККМ через эмулятор COM-порта. На macOS драйвер торгового оборудования захватывает порт монопольно. Если один пользователь выйдет из 1С, а другой войдет, сессия может «зависнуть», или порт не освободится вовремя, что приведет к ошибке печати чека.
Оптимальное решение здесь — внутренняя авторизация внутри одного сеанса 1С. Рассмотрим, как это работает:
1. В базе оставляется один системный пользователь (например, «Кассир»), под которым 1С запускается утром. Оборудование инициализируется один раз и работает стабильно.
2. Создается справочник Сотрудники (или используются физические лица). По таймауту или нажатию горячих клавиш программно вызывается модальное окно «Смена сотрудника».
3. После ввода пароля или сканирования бейджа текущий сотрудник фиксируется в Параметре сеанса.
Чтобы действия логировались в журнале регистрации под именами реальных людей, а не общего системного пользователя, используем метод ЗаписьЖурналаРегистрации. Разберем пример кода для фиксации события:
ТекстСообщения = "Документ оформлен сотрудником: " + ПараметрыСеанса.ТекущийСотрудник;
ЗаписьЖурналаРегистрации("СменаСотрудника", УровеньЖурналаРегистрации.Информация, , , ТекстСообщения);
Преимущества такого подхода:
Таким образом, мы выяснили, что для возврата настроек достаточно очистить список пользователей в конфигураторе, а для стабильной работы на Mac лучше использовать комбинированный метод авторизации и системные средства копирования файлов базы данных.