Технический лонгрид в духе what-happens-when Алекса Гейнора, но про 1С.
Аудитория: начинающие разработчики 1С и разработчики, переходящие с других платформ (Java, C#, Node.js).
Рамки и допущения:
- Основной маршрут — Windows-клиент в доменной среде
- Linux/macOS/мобильный/веб-клиент упоминается как отклонение
- Платформа 8.3 актуального релиза
- Внешнее соединение, COM-коннектор и фоновые задания — только упоминаем
- 0.1. Конфигурация и информационная база — это разные вещи
- 0.2. Два режима работы платформы: «Предприятие» и «Конфигуратор»
- 0.3. Откуда берутся информационные базы
- 0.4. Где живёт код конфигурации (и почему именно там)
- 0.5. Как устроены объекты конфигурации: уровни наследования и событийная модель
- 0.6. Что значит «указать путь к информационной базе»
- 0.7. Расширения конфигурации — современный способ дорабатывать чужое решение
- 1.1. Что лежит на диске после установки платформы
- 1.2. Что ещё установлено рядом с платформой
- 1.3. Ярлык на рабочем столе и что в нём записано
- 1.4. Что происходит, когда пользователь щёлкает по ярлыку
- 1.5. Что происходит на стороне ОС после успешного CreateProcess
- 2.1. Что делает лаунчер и почему он вообще существует
- 2.2. Что лаунчер делает первым делом
- 2.3. Чтение конфигурационных файлов
- 2.4. Сборка списка информационных баз
- 2.5. Окно выбора базы и выбор пользователя
- 2.6. Какую версию платформы запускать
- 2.7. Автоматическая загрузка недостающей версии
- 2.8. Какой клиент запускать: тонкий, толстый, веб
- 2.9. Формирование командной строки и запуск целевого клиента
- 2.10. Что мы имеем к концу работы лаунчера
- 3.1. Что клиент знает к этому моменту
- 3.2. Разрешение имени хоста: DNS
- 3.3. Установка TCP-соединения
- 3.4. Особый путь для веб-варианта: HTTP, TLS, прокси
- 3.5. Что мы имеем к концу сетевого пути
- 4.1. Файловая база: всё в одном процессе
- 4.2. Клиент-серверная база: цепочка ragent → rmngr → rphost
- 4.3. Топологии развёртывания: кто на каком хосте живёт
- 4.4. Подключение rphost к СУБД
- 4.5. Веб-публикация: три способа
- 4.6. Согласование версий клиента и сервера
- 4.7. Что мы имеем после успешного подключения
- 4.8. Практический разворот: как от строки подключения дойти до физической базы
- 5.1. Аутентификация пользователя
- 5.2. Где хранятся пользователи и хеши паролей
- 5.3. Параметры сеанса
- 5.4. Лицензирование: общая картина
- 5.5. Проверка серверной лицензии
- 5.6. Поиск клиентской лицензии
- 5.7. Проверка комплектации: базовая, ПРОФ, КОРП
- 5.8. Что мы имеем после успешной авторизации
- 6.1. Загрузка метаданных конфигурации в rphost
- 6.2. Применение расширений конфигурации
- 6.3. Расчёт прав пользователя
- 6.4. Проверка права на запуск выбранного типа клиента
- 6.5. Что мы имеем после подготовки прикладного решения
- 7.1. Модель исполнения: байт-код стек-машины
- 7.2. Контексты компиляции: серверный и клиентский
- 7.3. Что обязательно компилируется при старте
- 7.4. Что мы имеем после компиляции
- 8.1. Создание сеанса в кластере
- 8.2. Обработчики ПередНачаломРаботыСистемы и ПриНачалеРаботыСистемы
- 8.3. Подсистемы конфигурации
- 8.4. Построение главного окна
- 8.5. Движок управляемых форм
- 8.6. Рендеринг по платформам: один декларативный, разные реализации
- 8.7. Открытие рабочего стола и передача управления пользователю
- 8.8. Что мы прошли в восьмой части
- 9.1. Ошибки и общие принципы диагностики
- 9.2. Логи и инструменты диагностики
- 9.3. Кеши на разных уровнях
- 9.4. Где в 1С своё, а где — мировые стандарты
- 9.5. Что мы прошли в девятой части