К статье
Практический материал

Быстрый старт · 11 мин

Как работает 1С: устройство платформы и принципы работы

Разбираемся, как работает 1С: архитектура платформы, режимы запуска, роль СУБД, клиент-серверный вариант и типичные проблемы производительности.

1С — это не одна программа, а платформа, на которой работают прикладные решения: «Бухгалтерия», «Управление торговлей», «Зарплата и управление персоналом» и другие. Понимание того, как устроена эта связка, помогает быстрее находить причины ошибок, объяснять программисту, что именно «тормозит», и грамотно выбирать вариант установки для своей компании.

В основе лежит трёхзвенная модель: пользователь работает в клиентском приложении, логика и данные обрабатываются платформой, а сами данные хранятся либо в файле на диске, либо в базе данных под управлением СУБД. Какое звено выбрано, определяет скорость работы, допустимое число пользователей и способы резервного копирования.

Ниже разобраны основные режимы работы, роль конфигурации, отличия файлового и клиент-серверного вариантов, а также типичные ситуации, в которых система ведёт себя неожиданно, и способы это проверить.

Из чего состоит 1С: платформа, конфигурация и база данных

Платформа 1С:Предприятие — это исполняемая среда: она устанавливается на компьютер или сервер и умеет запускать прикладные решения. Сама по себе платформа «пустая»: без конфигурации в ней нечего учитывать. Конфигурация — это набор описаний объектов учёта (документы, справочники, отчёты, регистры) и программного кода на встроенном языке.

База данных — третий компонент. В ней физически хранятся и структура конфигурации, и сами данные: проведённые документы, остатки товаров, начисления сотрудникам. При обновлении конфигурации платформа изменяет структуру таблиц в базе — поэтому обновление нельзя прерывать на середине.

Важно различать версии обоих компонентов. Платформа имеет свою нумерацию релизов, конфигурация — свою. Ошибка «несовместимая версия» при запуске обычно означает, что конфигурация требует более новую платформу, чем установлена.

Режимы запуска: чем толстый клиент отличается от тонкого и веб-клиента

1С умеет работать через несколько типов клиентских приложений. Толстый клиент выполняет значительную часть логики на компьютере пользователя — он нужен разработчикам и в редких сценариях, где требуется прямой доступ к файловой базе. Тонкий клиент переносит вычисления на сервер и передаёт по сети только отображение форм, поэтому работает быстрее на слабых машинах и медленных каналах.

Веб-клиент запускается в браузере и не требует установки платформы — достаточно опубликовать базу на веб-сервере. Это удобно для удалённых сотрудников, но часть функций (например, некоторые виды интеграций с локальным оборудованием) в браузере недоступна или требует расширений.

Сравнение вариантов

Толстый клиент

Подходит для разработки и отладки; тяжёлый, нагружает компьютер пользователя, в файловом режиме требует быстрой сети к общей папке.

Тонкий клиент

Оптимален для повседневной работы пользователей; требует установки платформы, но выносит логику на сервер.

Веб-клиент

Подходит для удалённого доступа без установки; есть ограничения по работе с локальным оборудованием и файловой системой.

Файловый режим: как он устроен и когда его достаточно

В файловом варианте вся база — это один файл 1Cv8.1CD, лежащий на локальном диске или в общей сетевой папке. Каждый пользователь открывает этот файл напрямую, а платформа на его компьютере сама читает и пишет данные. Отдельного сервера приложений нет.

Такой режим прост в развёртывании и резервном копировании: достаточно скопировать файл. Но у него есть жёсткие ограничения. При работе по сети весь трафик чтения идёт через общую папку, поэтому скорость сильно зависит от сети и диска. При росте числа одновременных пользователей и объёма данных возрастают блокировки и риск повреждения файла при сбое сети или питания.

Признаки того, что файловый режим исчерпал себя: документы проводятся заметно дольше при одновременной работе нескольких человек, появляются ошибки «конфликт блокировок», база периодически требует тестирования и исправления после сбоев.

Клиент-серверный режим: роль сервера 1С и СУБД

В клиент-серверном варианте появляются два дополнительных звена. Сервер 1С:Предприятия — служба, которая выполняет прикладной код, управляет сеансами пользователей и блокировками. СУБД (обычно MS SQL Server, PostgreSQL или Oracle) отвечает за хранение таблиц и выполнение запросов.

Клиентское приложение общается только с сервером 1С, а тот — с СУБД. Благодаря этому тяжёлые операции выполняются на серверном оборудовании, сеть между пользователями и базой разгружается, а транзакционность СУБД защищает данные при сбоях. Именно такой вариант используют организации с десятками одновременных пользователей.

Медленно у всех пользователейПроблема на сервере или в СУБД

Загрузку CPU, памяти и диска сервера, длительные запросы в консоли СУБД

Медленно у одного пользователяПроблема на клиенте или в сети

Пинг до сервера, антивирус на компьютере, версию платформы у пользователя

Ошибки блокировокКонкуренция за данные

Какие документы проводятся одновременно, нет ли фоновых заданий, пересчитывающих итоги

База не открывается после сбояВозможное повреждение данных

Наличие свежей копии, журналы СУБД, результат тестирования и исправления

Минус — сложность администрирования: нужно следить за сервером 1С, СУБД, регламентными заданиями СУБД (обслуживание индексов, статистики) и лицензиями. Неверная настройка СУБД способна «утopмозить» даже мощный сервер.

Как 1С обрабатывает действия пользователя

Когда пользователь проводит документ, платформа выполняет цепочку действий: открывает транзакцию, запускает код обработчика проведения, записывает движения по регистрам (остатки, взаиморасчёты, проводки), контролирует блокировки и фиксирует транзакцию. Если на любом шаге возникает ошибка, вся транзакция откатывается — документ остаётся непроведённым, а данные не «зависают» в половинчатом состоянии.

Фоновые и регламентные задания работают отдельно от сеансов пользователей: обмены с другими системами, пересчёт итогов, отправка отчётности. Если база «подтормаживает» по расписанию — например, каждое утро в одно и то же время — первым делом стоит посмотреть, какие регламентные задания запускаются в этот момент.

Фраза пользователя «1С зависла» почти всегда означает одно из трёх: выполняется длинная серверная операция, ожидание блокировки другого сеанса или медленный запрос к СУБД. Прежде чем перезапускать сеанс, полезно посмотреть список активных пользователей и сеансов — часто видно, кто именно держит блокировку.
ПЗ
Практическое замечание

Где искать причины медленной работы и ошибок

Диагностику удобно вести от простого к сложному. Сначала определите масштаб: проблема у всех или у одного сотрудника. Затем проверьте инфраструктуру: свободное место на дисках, загрузку сервера, состояние сети. После этого переходите к прикладному уровню: технологический журнал платформы, консоль кластера, средства СУБД.

Порядок действий
  1. 1
    Уточните, у кого воспроизводится проблема: у всех, у одного пользователя или в одной операции.
  2. 2
    Проверьте ресурсы сервера: CPU, память, диск, свободное место в базе и журналах СУБД.
  3. 3
    Откройте консоль кластера или список активных пользователей и найдите длительные сеансы и блокировки.
  4. 4
    Проверьте регламентные и фоновые задания, совпадающие по времени с проблемой.
  5. 5
    Включите технологический журнал на время воспроизведения и проанализируйте длительные запросы.
  6. 6
    Зафиксируйте результат: после изменения повторите операцию и сравните время выполнения.
Контрольные точки

Как проверить результат

Время проведения типового документа
Норма

Сопоставимо с тем, что было до проблемы, и стабильно при повторах

Тревожный признак

Скачет от попытки к попытке или растёт в часы пик

Активные сеансы
Норма

Нет сеансов, висящих часами с блокировками

Тревожный признак

Есть «зависшие» сеансы от выключенных компьютеров

Свободное место на дисках
Норма

Есть запас под рост базы и журналы

Тревожный признак

Диск почти заполнен, журналы транзакций раздулись

Резервные копии
Норма

Копии создаются по расписанию и проверяются восстановлением

Тревожный признак

Копии не создаются или никогда не проверялись

Типичные ошибки при эксплуатации

Типичные ошибки
01
Размещение файловой базы на медленном сетевом диске при десятке пользователей — постоянные блокировки и риск повреждения файла.
02
Обновление конфигурации без свежей резервной копии — при сбое откат становится сложным или невозможным.
03
Отсутствие регламентного обслуживания СУБД — со временем деградируют индексы и запросы замедляются.
04
Прерывание реструктуризации при обновлении — база может остаться в рассогласованном состоянии.
05
Работа пользователей под одним общим логином — невозможно установить, кто изменил данные и кто держит блокировку.

Отдельная группа ошибок — попытки «починить» базу неподходящими средствами: редактирование данных напрямую в СУБД в обход платформы, восстановление файла базы сторонними утилитами, удаление «лишних» файлов из каталога базы. Такие действия часто превращают решаемую проблему в потерю данных.

Итог

Что важно запомнить

1С = платформа + конфигурация + база данных. Файловый режим подходит небольшим командам, клиент-серверный — при росте числа пользователей и объёма данных. Большинство проблем диагностируется по признакам: у всех или у одного, постоянно или по расписанию, с блокировками или без. Перед любыми обновлениями и исправлениями — проверенная резервная копия.

Частые вопросы

Можно ли перенести файловую базу в клиент-серверный режим?

Да. Стандартный путь — выгрузить базу в файл dt через конфигуратор и загрузить её в новую базу, созданную на сервере 1С и СУБД. Перед переносом убедитесь, что версии платформы совместимы, и сделайте копию исходной базы.

Почему после обновления конфигурации база долго «не открывается»?

При первом запуске после обновления платформа выполняет реструктуризацию: изменяет структуру таблиц и переносит данные. На больших базах это занимает заметное время. Прерывать процесс нельзя — дождитесь завершения и не пускайте пользователей до его окончания.

Что делать при ошибке «конфликт блокировки при выполнении транзакции»?

Это означает, что другой сеанс уже изменяет те же данные. Найдите сеанс, удерживающий блокировку, через консоль кластера или список активных пользователей. Если конфликты повторяются, проанализируйте, не пересекаются ли по времени массовые операции и фоновые задания.

Опасно ли удалять старые сеансы пользователей в консоли кластера?

Удаление «зависшего» сеанса завершает его работу принудительно: несохранённые данные пользователя будут потеряны, но целостность базы транзакционный механизм сохранит. Перед удалением желательно связаться с пользователем и убедиться, что сеанс действительно завис.

Как понять, что пора переходить с файлового на клиент-серверный режим?

Тревожные признаки: регулярные конфликты блокировок, заметное замедление при одновременной работе, повреждения файла после сбоев сети, длительное время регламентных операций. Точного порога в пользователях нет — ориентируйтесь на фактическую стабильность и скорость.

Можно ли редактировать данные напрямую в SQL-базе, минуя 1С?

Категорически не рекомендуется. Платформа хранит данные в собственном формате со служебными полями, и прямое изменение таблиц нарушает внутренние связи и лицензионные условия. Все корректировки выполняйте средствами 1С: документами, обработками или кодом на встроенном языке.