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

· 11 мин

Содержание

1С 8 работает как связка двух частей: платформа (программа «1С:Предприятие 8.3», общая для всех) и конфигурация (прикладное решение — Бухгалтерия, ЗУП, УТ). Платформа умеет хранить данные, выполнять код на встроенном языке, рисовать формы и проверять права. Конфигурация описывает, какие справочники, документы и отчёты нужны конкретной задаче.

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

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

Три слоя стоит различать с первого дня.

СлойЧто этоПримерКто меняет
ПлатформаИсполняемые файлы 1cv8.exe, 1cv8c.exe, сервер, библиотеки8.3.24, 8.3.25Администратор ставит новую версию
КонфигурацияОписание объектов, форм, модулей, ролейБП 3.0, ЗУП 3.1Поставщик выпускает релизы, программист дорабатывает
Информационная базаКонфигурация + ваши данные«Бухгалтерия ООО Ромашка»Пользователи вводят данные

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

Объекты метаданных

Конфигурация собирается из типовых «кирпичей», которые понимает платформа:

  • 📁 Справочники — списки: контрагенты, номенклатура, сотрудники.
  • 📄 Документы — события: реализация, приход, начисление зарплаты.
  • 📊 Регистры — накопленные итоги. Регистр накопления хранит остатки и обороты, регистр сведений — значения на дату (курсы, цены), регистр бухгалтерии — проводки по плану счетов, регистр расчёта — начисления.
  • 🧾 Отчёты и обработки — выборка данных и сервисные действия.
  • ⚙️ Общие модули, роли, планы обмена, регламентные задания — служебная механика.

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

Три конфигурации внутри одной базы

В Конфигураторе у базы на поддержке видно три версии конфигурации:

  1. Основная конфигурация — та, которую правит программист.
  2. Конфигурация базы данных — та, по которой реально работают пользователи.
  3. Конфигурация поставщика — эталон от фирмы-разработчика для сравнения при обновлении.

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

Файловый и клиент-серверный режим 1С 8

Информационную базу можно развернуть двумя способами. Код конфигурации при этом один и тот же: переносить базу между режимами можно выгрузкой в файл .dt.

ПараметрФайловый режимКлиент-серверный режим
Где лежат данныеОдин файл 1Cv8.1CD в папке базыВ СУБД: MS SQL Server, PostgreSQL, IBM Db2 или Oracle
Кто исполняет серверный кодПроцесс на компьютере пользователяРабочие процессы кластера серверов 1С
Нужен ли сервер 1СНетДа, плюс лицензия на сервер
Комфортное число пользователейОриентировочно до 5–10 одновременноДесятки и сотни
Резервная копияКопия файла или выгрузка .dtСредствами СУБД, без остановки работы
Типичные проблемыБлокировки при общей работе по сети, порча файла при обрывеНагрузка на память, ожидания на блокировках, настройка кластера

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

Файловую базу по сети лучше открывать через публикацию на веб-сервере или удалённый рабочий стол, а не через общую папку: при обрыве сетевого соединения в момент записи файл 1Cv8.1CD может повредиться.

Как устроен кластер серверов 1С

В клиент-серверном варианте работают три вида процессов:

  • Агент сервера (ragent) — принимает первое подключение клиента, по умолчанию порт 1540. Консоль администрирования тоже подключается к агенту.
  • Менеджер кластера (rmngr) — ведёт список баз, сеансов, лицензий, порт 1541.
  • Рабочие процессы (rphost) — исполняют серверный код и общаются с СУБД. Им выделяется диапазон портов, по умолчанию 1560:1591; он задаётся в свойствах рабочего сервера.

Клиент сначала стучится к агенту, тот передаёт его менеджеру кластера, а дальше клиент работает с выделенным рабочим процессом. Если в брандмауэре открыт только 1541, подключение упадёт, хотя «порт 1С открыт».

Посмотреть состояние кластера можно из оснастки «Администрирование серверов 1С Предприятия» или утилитой rac. Две команды, которые нужны чаще всего:

rac cluster list
rac session list --cluster=<UUID кластера>

Для работы rac должен быть запущен сервер администрирования ras. Полный список параметров выводит rac help.

Режимы запуска и виды клиентов

На стартовом окне 1С есть два входа: 1С:Предприятие (работа с данными) и Конфигуратор (разработка и администрирование). Отдельно для разработчиков существует среда EDT, но бухгалтеру она не нужна.

Пользователь может подключиться разными клиентами:

КлиентФайл / способКогда используют
Тонкий клиент1cv8c.exeОсновной вариант для «Такси»: лёгкий, работает через интернет
Толстый клиент1cv8.exeСтарые обычные формы, Конфигуратор, некоторые обработки
Веб-клиентБраузерНет возможности ставить платформу, работа с Mac или чужого ПК
Мобильный клиентПриложение на телефонеУдалённый доступ к той же базе

Для веб-клиента и тонкого клиента через интернет базу публикуют на веб-сервере (IIS или Apache) — из Конфигуратора командой Администрирование → Публикация на веб-сервере.

Как 1С работает с базой данных

Программист 1С не пишет SQL. Он пишет запрос на встроенном языке, а платформа переводит его в SQL для конкретной СУБД. Один и тот же модуль работает и на файловой базе, и на PostgreSQL.

ВЫБРАТЬ
    Остатки.Номенклатура,
    Остатки.КоличествоОстаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, ) КАК Остатки

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

Транзакции и блокировки

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

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

Сообщение Конфликт блокировок при выполнении транзакции означает, что ваш сеанс не дождался, пока другой отпустит данные. Это не поломка базы, а сигнал, что кто-то держит долгую транзакцию — например, массовое перепроведение.

Где выполняется код: клиент и сервер

Модули управляемой формы делятся директивами &НаКлиенте, &НаСервере, &НаСервереБезКонтекста. Обращение к базе данных возможно только на сервере. Каждый переход «клиент → сервер» — это сетевой вызов, поэтому в медленном интернете тормозит именно форма, где таких вызовов много.

Роли и права доступа в 1С 8

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

Поверх ролей работает ограничение доступа на уровне записей (RLS): например, менеджер видит заказы только своего подразделения. Без RLS роль даёт доступ ко всему справочнику целиком.

В типовых конфигурациях руками роли не раздают. В БП 3.0 и ЗУП 3.1 пользователей и права настраивают в режиме Предприятия:

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. В разделе «Пользователи» создайте или откройте пользователя.
  3. На закладке прав включите нужные профили групп доступа (например, «Бухгалтер», «Кадровик»).
  4. Для ограничений по организациям используйте группы доступа с указанием разрешённых значений.

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

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

Как обновляется 1С: платформа и конфигурация отдельно

Обновляют две вещи, и путать их нельзя.

Платформа. Скачивается дистрибутив новой версии 8.3.x.y и ставится рядом со старой. Клиенты переходят на неё автоматически, если в настройках запуска не закреплена конкретная версия. В клиент-серверном режиме версия сервера и клиента должна совпадать до последней цифры, иначе вход будет отклонён с сообщением о несоответствии версий.

Конфигурация. Обновляется файлами поставки .cfu (обновление) или .cf (полная конфигурация). Типовые базы можно обновить:

  • из режима Предприятия через интернет-поддержку — Администрирование → Интернет-поддержка и сервисы;
  • из Конфигуратора — Конфигурация → Поддержка → Обновить конфигурацию, затем F7.

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

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

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

Доработки без снятия с поддержки

Начиная с платформы 8.3.6 изменения можно вносить расширениями (.cfe). Расширение подключается поверх типовой конфигурации и не мешает её обновлению. Это основной современный способ добавить печатную форму, реквизит или проверку, не «ломая» поддержку поставщика.

Производительность: что тормозит 1С и где искать причину

Скорость 1С определяют четыре звена: диск, память, сеть и код. Прежде чем покупать новый сервер, найдите узкое место.

Диагностика: выберите симптом

Полезные инструменты практика:

  • 🔍 Замер производительности в отладчике Конфигуратора — показывает строки кода, на которые ушло время.
  • 📜 Технологический журнал — настраивается файлом logcfg.xml и пишет события сервера: долгие запросы, ожидания на блокировках, исключения.
  • 🧹 Очистка кэша клиента — запуск с параметром /ClearCache лечит странное поведение форм после обновления.
  • 🗓️ Регламентные задания — проверьте, не стартует ли тяжёлое задание (загрузка курсов, полнотекстовое индексирование) в разгар рабочего дня.

Перезапуск службы сервера 1С или завершение рабочего процесса обрывает все сеансы пользователей. Делайте это вне рабочего времени или после предупреждения коллег.

Обмен данными: как 1С 8 связывается с другими системами

Платформа даёт несколько механизмов интеграции, и выбор зависит от задачи.

МеханизмДля чегоПример
Планы обмена + формат EnterpriseDataСинхронизация между базами 1СУТ → БП, ЗУП → БП
Конвертация данныхПравила обмена между разными конфигурациямиПеренос из старой базы в новую
HTTP-сервисы (REST)Свой API для сайта или мобильного приложенияИнтернет-магазин забирает остатки
Веб-сервисы (SOAP)Интеграция с корпоративными системамиОбмен с банком или ERP холдинга
Стандартный интерфейс ODataЧтение и запись объектов без программирования APIBI-системы, внешние отчёты
COM-соединениеОбращение из Windows-программ к базеСкрипты, Excel-макросы
Внешние компонентыРабота с оборудованием и библиотекамиКассы, сканеры, весы

В типовых конфигурациях синхронизация между базами 1С настраивается без программиста: Администрирование → Синхронизация данных. Там выбирают вид обмена, способ передачи (каталог, FTP, интернет) и расписание.

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

Типичные сбои и что они говорят об устройстве 1С

Многие ошибки становятся понятны, если знать, какое звено их выдаёт.

  • 🔑 Не обнаружена лицензия или нет свободной лицензии — платформа проверяет клиентские лицензии при входе. В клиент-серверном режиме их выдаёт менеджер кластера, и смотреть надо там, а не на компьютере пользователя.
  • 🌐 Сервер 1С не обнаружен — клиент не достучался до агента на 1540: служба остановлена, неверное имя сервера или закрыт порт.
  • 💾 Ошибки чтения файла базы — повреждён 1Cv8.1CD в файловом режиме. Лечится тестированием и исправлением из Конфигуратора после копии файла.
  • 🧩 «Версия клиента не соответствует версии сервера» — обновили платформу на сервере, а клиент остался старым, или наоборот.
  • 🔒 «Ошибка блокировки информационной базы для конфигурирования» — кто-то держит базу в Конфигураторе или открыт незавершённый сеанс.

Без лицензии платформа рабочую базу не запускает. Исключение — учебная версия, у которой свои ограничения.

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

Можно ли работать с 1С 8 на Linux или Mac?
Да. Клиент и сервер 1С выпускаются для Linux, клиент — ещё и для macOS. В качестве СУБД на Linux обычно выбирают PostgreSQL. Конфигурации при этом остаются прежними.
Чем отличается платформа 8.3 от конфигурации 3.0?
8.3 — версия движка, общего для всех решений. 3.0 у Бухгалтерии — редакция конкретной конфигурации. Бухгалтерия 3.0 работает только на платформе 8.3.
Можно ли посмотреть данные 1С прямо в SQL?
Технически таблицы видны, но их имена служебные, а прямая запись в обход платформы может нарушить целостность данных. Для внешнего доступа используют OData, HTTP-сервисы или выгрузки.
Нужно ли переходить на клиент-сервер, если в базе работает три человека?
Обычно нет. Файловый вариант справляется, если база не огромная и сеть стабильная. Переход нужен при росте числа пользователей, тяжёлых обработках или требованиях к резервному копированию без остановки работы.
Почему после обновления программист говорит, что «слетели доработки»?
Изменения в основной конфигурации при обновлении сравниваются с новой версией поставщика, и часть кода может быть заменена. Доработки в расширениях такой проблемы почти не создают.