← На главную
Разберем типичную и крайне распространенную проблему, с которой сталкиваются при начале автоматизации магазинов: база 1С:Розница установлена на одном компьютере, к каталогу с базой открыт общий доступ по локальной сети (так называемая «сетевая шара» по протоколу SMB), и к ней одновременно подключаются 4–5 пользователей. В процессе работы программа регулярно и аварийно закрывается у всех сотрудников.
Проанализируем причины такого поведения платформы 1С:Предприятие 8.3, выясним, почему файловый режим через сетевой ресурс опасен для сохранности данных, и рассмотрим по шагам надежные варианты построения рабочей архитектуры.
Технические причины сбоев файловой базы при работе через общий сетевой ресурс
Файловая база данных 1С представляет собой единый файл 1Cv8.1CD, содержащий таблицы данных, конфигурацию и служебную информацию. Когда несколько клиентских приложений работают с этим файлом напрямую через протокол SMB (сеть Windows), возникает комплекс проблем:
- Конфликты блокировок и кэширование SMB: Сетевые протоколы SMB2 и SMB3 используют механизмы
OpLocks и аренду кэша (SMB Leases). При одновременной записи данных несколькими пользователями (особенно кассирами при проведении чеков и подборе номенклатуры) возникают микрозадержки и конфликты блокировок. Клиент 1С не успевает получить подтверждение от файловой системы и завершает работу аварийно. - Кратковременные сетевые разрывы: Если в локальной сети кратковременно перезагружается маршрутизатор, теряются сетевые пакеты по Wi-Fi или сетевая карта хоста переходит в режим энергосбережения, разрывается дескриптор файла базы. Файловая 1С не умеет восстанавливать потерянное сетевое соединение к файлу «на лету» и мгновенно «падает».
- Блокировки антивирусным ПО: Антивирусы на хост-компьютере часто проверяют изменяемый файл
1Cv8.1CD или файлы блокировок *.1cl и *.cfl в момент записи, монопольно перехватывая к ним доступ. Это вызывает мгновенный вылет всех подключенных сеансов. - Риск разрушения базы данных: При каждом аварийном закрытии программы высока вероятность повреждения внутренней структуры таблиц файла базы данных, что со временем приводит к ошибкам формата потока и потере проведенных документов.
Вариант 1. Публикация файловой базы на веб-сервере (IIS или Apache)
Рассмотрим самый доступный и бесплатный способ устранения вылетов без покупки дополнительных серверных лицензий 1С. Публикация базы на веб-сервере полностью исключает работу с базой через сетевой протокол SMB.
Разберем принцип работы: веб-сервер (Microsoft IIS или Apache) разворачивается непосредственно на компьютере, где физически лежит база. Пользователи на рабочих местах подключаются к базе через тонкий клиент 1С по протоколу HTTP или HTTPS. При этом сам файл 1Cv8.1CD открывается локально процессами веб-сервера, а клиенты обмениваются с сервером только сжатыми пакетами данных. Даже при временном обрыве связи база не повреждается, а клиент просто выдает сообщение о необходимости повторного подключения.
Разберем настройку публикации по шагам:
- Установим на хост-компьютер веб-сервер (например, встроенный в Windows компонент
IIS или сервер Apache). - Запустим Конфигуратор от имени администратора.
- Перейдем в главное меню: Администрирование > Публикация на веб-сервере....
- Укажем имя публикации, выберем веб-сервер и путь к каталогу публикации, после чего нажмем кнопку Опубликовать.
- На клиентских компьютерах в окне запуска 1С изменим тип расположения информационной базы на На веб-сервере и укажем адрес вида
http://имя_компьютера_хоста/имя_публикации.
Вариант 2. Использование распределенной информационной базы (РИБ)
Для конфигурации 1С:Розница использование механизма РИБ по магазинам и кассам является штатным и рекомендуемым стандартом фирмы «1С». Проанализируем, как это работает:
- На компьютере товароведа или администратора находится главный узел базы.
- На каждом рабочем месте кассира (РМК) устанавливается локальная файловая база данных (подчиненный узел РИБ).
- Кассир работает с локальной базой на максимальной скорости: подбор товаров и печать чеков происходят мгновенно и не зависят от состояния локальной сети или работы других компьютеров.
- Обмен данными между узлами РИБ настраивается в автоматическом фоновом режиме по расписанию через сетевую папку, FTP или веб-сервис.
Вариант 3. Использование сервера «1С:Предприятия» (Мини-сервер или стандартный сервер)
Если специфика учета требует одновременной совместной работы пользователей в единой базе без задержек на обмен данными, перейдем на полноценную клиент-серверную архитектуру (SQL):
- Лицензия «1С:Предприятие 8.3. Сервер МИНИ на 5 подключений»: Это бюджетный вариант серверной лицензии фирмы «1С», предназначенный для небольших магазинов и офисов с ограничением до 5 пользовательских сеансов и одного сеанса сервера.
- СУБД (PostgreSQL или MS SQL Server): База данных хранится в профессиональной СУБД. Вся обработка запросов, транзакций и блокировок выполняется сервером баз данных, что гарантирует полную защиту от сбоев питания и разрывов сети на клиентских ПК.
Вариант 4. Терминальный сервер (RDP)
Рассмотрим вариант организации работы через удаленный рабочий стол Windows Remote Desktop Services (RDS). База остается файловой на мощном сервере, а пользователи подключаются по RDP и запускают 1С локально внутри своих терминальных сессий. В этом случае сетевой доступ по SMB к файлу базы также отсутствует, что предотвращает вылеты из-за сбоев сети на рабочих станциях.
Регламентные действия для стабилизации текущей базы и устранения последствий вылетов
Если аварийные завершения уже происходили, выполним обязательный комплекс восстановительных работ:
- Проверка физической целостности файла базы: Закроем 1С на всех компьютерах. В каталоге установки платформы (например,
C:\Program Files\1cv8\8.3.XX.XXXX\bin\) найдем и запустим утилиту chdbfl.exe. Укажем путь к файлу 1Cv8.1CD, установим флаг Исправлять обнаруженные ошибки и нажмем Выполнить. - Тестирование и исправление в Конфигураторе: Запустим базу в режиме Конфигуратор, перейдем в меню Администрирование > Тестирование и исправление..., отметим пункты проверки логической и ссылочной целостности, реиндексации и реструктуризации таблиц.
- Очистка пользовательского кэша: Удалим временные файлы 1С на всех клиентских машинах, очистив содержимое каталогов:
%LocalAppData%\1C\1cv8\
%AppData%\1C\1cv8\
- Настройка исключений безопасности: В настройках антивируса на основном компьютере добавим в список исключений каталог с информационной базой и расширения файлов
.1cd, .1cl, .cfl. - Настройка энергосбережения сетевых карт: В диспетчере устройств Windows в свойствах сетевых адаптеров на вкладке «Управление электропитанием» снимем отметку с пункта Разрешить отключение этого устройства для экономии энергии на всех ПК.