Платформа 1С:Предприятие 8.3 изнутри: из чего она состоит, где хранит данные и как обслуживает пользователей
Содержание
1С 8 работает как связка двух частей: платформа (программа «1С:Предприятие 8.3», общая для всех) и конфигурация (прикладное решение — Бухгалтерия, ЗУП, УТ). Платформа умеет хранить данные, выполнять код на встроенном языке, рисовать формы и проверять права. Конфигурация описывает, какие справочники, документы и отчёты нужны конкретной задаче.
Когда бухгалтер жмёт «Провести», работает не «программа Бухгалтерия», а платформа: она исполняет код конфигурации, пишет движения в регистры и сохраняет их в базе данных. Понимание этой схемы помогает быстро разобраться, почему база тормозит, где искать ошибку и кого звать — администратора, программиста или поставщика.
Из чего состоит 1С:Предприятие 8: платформа, конфигурация, информационная база
Три слоя стоит различать с первого дня.
| Слой | Что это | Пример | Кто меняет |
|---|---|---|---|
| Платформа | Исполняемые файлы 1cv8.exe, 1cv8c.exe, сервер, библиотеки | 8.3.24, 8.3.25 | Администратор ставит новую версию |
| Конфигурация | Описание объектов, форм, модулей, ролей | БП 3.0, ЗУП 3.1 | Поставщик выпускает релизы, программист дорабатывает |
| Информационная база | Конфигурация + ваши данные | «Бухгалтерия ООО Ромашка» | Пользователи вводят данные |
Одна платформа запускает сколько угодно баз с разными конфигурациями. Поэтому на одном компьютере спокойно живут Бухгалтерия, ЗУП и учебная база.
Объекты метаданных
Конфигурация собирается из типовых «кирпичей», которые понимает платформа:
- 📁 Справочники — списки: контрагенты, номенклатура, сотрудники.
- 📄 Документы — события: реализация, приход, начисление зарплаты.
- 📊 Регистры — накопленные итоги. Регистр накопления хранит остатки и обороты, регистр сведений — значения на дату (курсы, цены), регистр бухгалтерии — проводки по плану счетов, регистр расчёта — начисления.
- 🧾 Отчёты и обработки — выборка данных и сервисные действия.
- ⚙️ Общие модули, роли, планы обмена, регламентные задания — служебная механика.
Документ сам по себе остатков не хранит. При проведении он формирует движения в регистрах, и уже из регистров строятся ОСВ, отчёты по складу, расчётные листки. Если отчёт «не видит» документ, первым делом проверяют, проведён ли он и есть ли у него движения.
Три конфигурации внутри одной базы
В Конфигураторе у базы на поддержке видно три версии конфигурации:
- Основная конфигурация — та, которую правит программист.
- Конфигурация базы данных — та, по которой реально работают пользователи.
- Конфигурация поставщика — эталон от фирмы-разработчика для сравнения при обновлении.
Пока изменения не применены командой Конфигурация → Обновить конфигурацию базы данных (клавиша 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С: платформа и конфигурация отдельно
Обновляют две вещи, и путать их нельзя.
Платформа. Скачивается дистрибутив новой версии 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 | Чтение и запись объектов без программирования API | BI-системы, внешние отчёты |
| COM-соединение | Обращение из Windows-программ к базе | Скрипты, Excel-макросы |
| Внешние компоненты | Работа с оборудованием и библиотеками | Кассы, сканеры, весы |
В типовых конфигурациях синхронизация между базами 1С настраивается без программиста: Администрирование → Синхронизация данных. Там выбирают вид обмена, способ передачи (каталог, FTP, интернет) и расписание.
Плану обмена важна регистрация изменений: платформа помечает, какие объекты изменились с прошлого сеанса, и отправляет только их. Если узел обмена удалить и создать заново, первая выгрузка пойдёт полная.
Типичные сбои и что они говорят об устройстве 1С
Многие ошибки становятся понятны, если знать, какое звено их выдаёт.
- 🔑
Не обнаружена лицензияили нет свободной лицензии — платформа проверяет клиентские лицензии при входе. В клиент-серверном режиме их выдаёт менеджер кластера, и смотреть надо там, а не на компьютере пользователя. - 🌐 Сервер 1С не обнаружен — клиент не достучался до агента на 1540: служба остановлена, неверное имя сервера или закрыт порт.
- 💾 Ошибки чтения файла базы — повреждён
1Cv8.1CDв файловом режиме. Лечится тестированием и исправлением из Конфигуратора после копии файла. - 🧩 «Версия клиента не соответствует версии сервера» — обновили платформу на сервере, а клиент остался старым, или наоборот.
- 🔒 «Ошибка блокировки информационной базы для конфигурирования» — кто-то держит базу в Конфигураторе или открыт незавершённый сеанс.
Без лицензии платформа рабочую базу не запускает. Исключение — учебная версия, у которой свои ограничения.