Общий доступ к базе 1С по сети: файловый вариант и сервер
Содержание
Чтобы подключить базу 1С всем пользователям, положите её в общую сетевую папку с правом на изменение для нужной группы. Затем добавьте её на каждом компьютере по UNC-пути вида \\SRV\1C\Buh. Если пользователей больше пяти-десяти или база тяжёлая, ставьте сервер 1С с СУБД (MS SQL или PostgreSQL) и подключайте по строке Srvr="SRV1C";Ref="buh";. В обоих случаях каждому сотруднику нужна учётная запись внутри 1С и свободная клиентская лицензия.
Обычная история: бухгалтер годами работал в базе на своём ноутбуке, потом наняли второго, а следом кадровика. Базу копируют туда-сюда флешкой, и через месяц у каждого своя «правильная» версия. Решение одно: база живёт в одном месте, а все подключаются к ней по сети.
Всё описанное ниже относится к платформе 8.3 и не зависит от конфигурации. Бухгалтерия, ЗУП и УТ подключаются одинаково, различаются только пункты меню при заведении пользователей.
Файловая база или сервер 1С: что выбрать для общей работы
Выбор режима определяет всё остальное: где лежат данные, какие нужны лицензии и как делать копии.
| Признак | Файловый вариант | Клиент-серверный вариант |
|---|---|---|
| Где хранятся данные | Один файл 1Cv8.1CD в папке | База в СУБД, доступ через сервер 1С |
| Что нужно купить | Только клиентские лицензии | Клиентские лицензии + лицензия на сервер 1С |
| Ориентир по числу пользователей | до 5–10 одновременно | десятки и сотни |
| Устойчивость к сбоям сети | Обрыв может повредить файл базы | Сеанс рвётся, данные в СУБД целы |
| Сложность настройки | Полчаса | День-два с СУБД и правами |
| Резервное копирование | Копия файла, когда в базе никого нет | Регламентные копии средствами СУБД на ходу |
Цифра «5–10 пользователей» — ориентир, а не жёсткий предел. Платформа не ограничивает число подключений к файловой базе. Но все пользователи блокируют один и тот же файл по сети, и при активной работе (закрытие месяца , проведение пакетом) начинаются ожидания.
Для 2–4 человек в одном офисе файлового варианта хватает с запасом. Сервер нужен, когда база перевалила за 10–15 ГБ, пользователи жалуются на «зависания» при одновременном проведении или сотрудники работают из разных городов.
Есть и третий путь: опубликовать базу на веб-сервере (IIS или Apache) и работать через браузер или тонкий клиент по HTTP. Он удобен для удалённых сотрудников и работает поверх обоих вариантов хранения.
Как подключить файловую базу 1С по сети всем сотрудникам
Шаг 1. Готовим папку на компьютере-«сервере»
Базу лучше держать на компьютере, который работает постоянно: отдельный сервер, NAS с поддержкой SMB или хотя бы самый надёжный ПК в офисе.
- Создайте папку, например
D:\1C_Bases\Buh, и скопируйте туда содержимое каталога базы (главное — файл1Cv8.1CD). Перед копированием все должны выйти из программы. - Откройте свойства папки → вкладка «Доступ» → «Расширенная настройка» → отметьте «Открыть общий доступ к этой папке».
- В «Разрешениях» общего ресурса дайте нужной группе право «Изменение» и «Чтение».
- На вкладке «Безопасность» (права NTFS) той же группе дайте «Изменение». Нужны оба уровня прав: действует более строгий из них.
- В расширенной настройке нажмите «Кэширование» и выберите вариант, при котором файлы не доступны в автономном режиме.
Права только на чтение не подойдут. Платформа при работе создаёт и удаляет служебные файлы рядом с базой, например 1Cv8tmp.1CD и файлы блокировок. Без права на изменение пользователь увидит ошибку доступа уже при входе.
Добавьте папку с базами в исключения антивируса на этом компьютере. Проверка файла 1Cv8.1CD «на лету» заметно тормозит работу, а иногда блокирует файл и приводит к ошибкам записи.
Шаг 2. Добавляем базу на рабочих местах
На каждом компьютере должна стоять платформа 1С той же версии, что и на остальных. Дальше:
- Запустите 1С, в окне выбора баз нажмите «Добавить».
- Выберите «Добавление в список существующей информационной базы».
- Задайте понятное имя: «Бухгалтерия (общая)».
- Тип расположения — «На данном компьютере или на компьютере в локальной сети».
- Путь укажите как
\\SRV\1C_Bases\Buh, гдеSRV— имя компьютера с базой.
Используйте именно UNC-путь, а не подключённый сетевой диск вроде Z:\Buh. Буква диска на разных компьютерах бывает разной, а иногда диск просто не успевает подключиться после входа в Windows. Тогда 1С сообщает, что база не найдена, хотя файл на месте.
Единый список баз для всех: файл v8i и 1cestart.cfg
Когда компьютеров больше трёх, добавлять базу вручную на каждом неудобно. Особенно если баз несколько, а через полгода одна из них переезжает. Для этого у 1С есть общие списки информационных баз.
Сначала сделайте эталонный список. На любом компьютере, где базы уже добавлены, откройте файл %APPDATA%\1C\1CEStart\ibases.v8i. Он текстовый, каждая база в нём выглядит так:
[Бухгалтерия (общая)]
Connect=File="\\SRV\1C_Bases\Buh";
Folder=/
[Зарплата (сервер)]
Connect=Srvr="SRV1C";Ref="zup";
Folder=/
Скопируйте этот файл в общую папку, например \\SRV\1C_Bases\common.v8i, и дайте пользователям право только на чтение.
Затем подключите общий список на рабочих местах. Откройте файл 1cestart.cfg и добавьте строку:
CommonInfoBases=\\SRV\1C_Bases\common.v8i
Где лежит 1cestart.cfg:
- 👤
%APPDATA%\1C\1CEStart\1cestart.cfg— настройка для одного пользователя Windows; - 🖥️
C:\ProgramData\1C\1CEStart\1cestart.cfg— для всех пользователей этого компьютера, удобно на терминальном сервере.
После перезапуска 1С базы из общего файла появятся в списке у всех. Переехала база — правите одну строку в common.v8i, и при следующем запуске у всех новый путь. В домене файл 1cestart.cfg можно разложить групповой политикой.
Тот же диалог доступен из интерфейса: в окне выбора баз есть кнопка «Настройка», где можно добавить адрес общего списка. Результат пишется в тот же 1cestart.cfg.
Подключение всех пользователей к базе на сервере 1С и SQL
В клиент-серверном варианте пользователи не трогают файлы. Они подключаются к серверу 1С, а тот работает с СУБД.
Как база появляется на сервере
Если база уже работала в файловом режиме, перенос выглядит так:
- В файловой базе откройте Конфигуратор →
Администрирование → Выгрузить информационную базуи сохраните файл.dt. Нужен монопольный доступ: все пользователи должны выйти. - Создайте новую базу на сервере: в окне выбора баз «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации» → «На сервере 1С:Предприятия».
- Укажите кластер серверов (имя сервера 1С), имя базы в кластере, тип СУБД, сервер БД, имя базы данных, логин и пароль СУБД. Отметьте «Создать базу данных в случае ее отсутствия».
- Откройте новую базу в Конфигураторе →
Администрирование → Загрузить информационную базуи выберите.dt.
Альтернатива второму и третьему шагу — консоль администрирования серверов 1С: в ветке «Информационные базы» кластера создайте базу с теми же параметрами.
Флажок «Разрешить выдачу лицензий сервером 1С:Предприятия» в параметрах базы оставьте включённым, если клиентские лицензии активированы на сервере. Иначе каждый клиент будет искать лицензию у себя на компьютере.
Как пользователи подключаются
На рабочих местах базу добавляют через «Добавление в список существующей информационной базы» с типом «На сервере 1С:Предприятия». Указывают имя кластера и имя базы в кластере. Удобнее разослать общий v8i со строкой Connect=Srvr="SRV1C";Ref="buh";, как в разделе выше.
Какие порты открыть
Клиент обращается к агенту сервера по порту 1540, затем к менеджеру кластера (1541) и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560–1591. Все три значения должны быть открыты в брандмауэре сервера для компьютеров пользователей.
Порт СУБД (1433 для MS SQL, 5432 для PostgreSQL) пользователям открывать не нужно: с СУБД разговаривает только сервер 1С.
Учётные записи внутри 1С: чтобы каждый входил под собой
Общая папка или сервер дают доступ к базе, но не определяют, кто что может в ней делать. Это настраивается в самой 1С.
Пока в базе нет ни одного пользователя, в неё пускают всех без пароля с полными правами. Как только заведён первый пользователь, база начинает спрашивать логин.
В БП 3.0, ЗУП 3.1 и УТ 11 список ведётся по одному пути: Администрирование → Настройки пользователей и прав → Пользователи. Для каждого сотрудника:
- Создайте карточку, укажите полное имя.
- Включите «Вход в программу разрешён».
- Задайте имя для входа и пароль или включите аутентификацию операционной системы и выберите пользователя Windows. Тогда сотрудник войдёт без пароля под своей доменной учётной записью.
- На вкладке или по ссылке «Права доступа » отметьте нужные профили групп доступа: «Бухгалтер», «Кадровик», «Только просмотр» и так далее.
Первым заведите себе пользователя с полными правами и профилем «Администратор». Если начать с рядового сотрудника, войти в администрирование будет некому.
Не давайте всем один общий логин «Бухгалтер». В журнале регистрации тогда не видно, кто удалил документ или перепровёл квартал.
Лицензии: сколько человек смогут работать одновременно
Число одновременных пользователей ограничивает не база, а количество клиентских лицензий. Купленный комплект «на 5 рабочих мест» пустит пятерых, шестой получит сообщение об отсутствии свободной лицензии.
Как расходуются клиентские лицензии:
- 💻 в файловом варианте лицензия занимается на компьютер; несколько окон 1С с одного ПК обычно занимают одну лицензию;
- 🖧 на терминальном сервере каждый пользовательский сеанс расходует отдельную лицензию;
- 🗄️ в клиент-серверном варианте лицензии удобно активировать на сервере 1С и раздавать оттуда; дополнительно нужна лицензия на сам сервер 1С.
Программные лицензии в файловом режиме можно активировать на компьютере с базой или поставить на нём сервер лицензий. Тогда рабочие места берут лицензии из общего пула, и неважно, с какого ПК зашёл сотрудник.
Посмотреть, кто сейчас занимает лицензии, в серверном варианте можно в консоли администрирования (ветка «Сеансы») или командой:
rac session list --cluster=<id кластера> --licenses
Идентификатор кластера выдаёт команда rac cluster list.
Пользователь, который «просто закрыл ноутбук», может держать сеанс и лицензию ещё какое-то время. Завершать чужой сеанс из консоли можно, но несохранённые данные этого пользователя пропадут. Предупредите его заранее.
Не подключается к базе по сети: разбор по симптомам
Сначала проверьте простое: тот же пользователь Windows открывает \\SRV\1C_Bases\Buh в проводнике, а версия платформы на всех компьютерах совпадает.
Резервные копии и защита общей базы
Как только база стала общей, цена её потери выросла: пострадает работа всего отдела.
Файловая база. Копировать 1Cv8.1CD, пока в ней работают, нельзя: копия может оказаться неконсистентной. Варианты:
- 🌙 копировать файл ночью скриптом, когда все вышли из программы;
- 📦 выгружать
.dtчерез Конфигуратор (нужен монопольный доступ); - ⚙️ включить резервное копирование встроенными средствами конфигурации, если оно в ней есть: в БП 3.0 его настраивают в разделе
Администрирование → Обслуживание.
Серверная база. Копии делает СУБД: в MS SQL — план обслуживания с полной копией раз в сутки, в PostgreSQL — pg_dump по расписанию. Копии делаются на ходу, без выгона пользователей.
Храните хотя бы одну копию не на том же сервере. Шифровальщик или сгоревший диск уничтожат и базу, и копии рядом с ней.
И про доступ. Пароль пользователя 1С защищает вход в программу, но не файл. Любой, у кого есть право на чтение общей папки, может скопировать 1Cv8.1CD целиком и открыть у себя. Поэтому:
- 🔒 давайте доступ к папке только группе тех, кто реально работает в базе;
- 🔒 не публикуйте общую папку в интернет и не открывайте SMB наружу; удалённым сотрудникам — VPN, терминальный сервер или веб-публикация;
- 🔒 в серверном варианте пользователям не нужен доступ к файлам вообще, и это ещё один довод в его пользу.