Зачем одинэснику docker?
Разработка - DevOps и автоматизация разработки
Помните фразу: «Прекращайте считать себя одинэсниками»? Она принадлежит Алексею Лустину – он ее произнёс в далеком 2014 году, выступая с докладом об автоматизации сборки решений на платформе 1С.
Я с этим выражением согласен целиком и полностью. Потому что мы все – не одинэсники. Мы – инженеры-программисты. И я считаю, что инженер, конечно же, имеет право чего-то не знать, но не имеет права не знать этого намеренно. Инженер не имеет права ограничивать себя в своем развитии и познании. Он должен постоянно развиваться.
При этом мы, как программисты, должны быть немного ленивы и постоянно стремиться автоматизировать свою деятельность, чтобы не делать одну и ту же рутинную работу руками несколько раз подряд. И Docker нам в этом, как мне кажется, неплохо помогает.
Сегодня мы разберем:
-
Что такое контейнеры и Docker.
-
Зачем это вообще нужно.
-
Как это можно использовать, в том числе в 1С.
-
И как начать работать с этими инструментами.
Типичные вопросы от сообщества
Но сначала я хочу ответить на пару типичных вопросов, которые появляются в чатах 1С при упоминании Docker – особенно со стороны матерых разработчиков, давно познавших мир ИТ.
Первый: «Да сколько уже можно рассказывать про Docker…» Ребята, я вас очень понимаю, поддерживаю, уважаю. Согласен, тема кажется избыточной. Но это наши с вами когнитивные искажения: нам кажется, что все уже все знают, потому что мы это знаем и используем изо дня в день. На практике это не так. В тех же чатах регулярно появляются сообщения вроде: «не запускается контейнер» или «не пробрасывается порт». В конце концов за эту тему проголосовали люди. Значит, тема по-прежнему актуальна. Перефразирую классика: если про Docker рассказывают – значит, это кому-нибудь нужно.
Второй вопрос: «Почему именно Docker, если есть Vagrant или Terraform?»
Давайте кратко сравним.
- Docker – это платформа для контейнеризации приложений. С её помощью мы можем завернуть отдельные приложения в изолированные контейнеры и вызывать их для выполнения задач.
- Vagrant – инструмент для управления виртуальными машинами. Он поднимает виртуальную машину на основе конфиг-файла и позволяет что-нибудь дальше в ней запустить.
- Terraform – это инфраструктурный оркестратор, с помощью которого можно управлять целыми кластерами и поднимать, например, десятки виртуальных машин.
Эти инструменты друг друга не заменяют, но отлично взаимодополняют.
Что такое контейнеры? Как это можно использовать, в том числе в 1С?

Вернемся к основам. Что такое контейнеры? Если упростить, это такие «кирпичики», из которых собирается приложение (часто микросервисное). Контейнеры друг о друге ничего не знают, каждый выполняет свою задачу, и вместе они образуют систему.
Но если копнуть глубже – никаких «контейнеров» на самом деле нет, это просто удобная абстракция для малюток-девопсов, которые впервые знакомятся с профессией. А под капотом там:
-
уровни изоляции ядра Linux по пространствам имен и контрольным группам;
-
изоляция процессов, сети и файловой системы;
-
ограничение ресурсов процессора и памяти.
В общем, чума.
Но для нашего понимания достаточно считать контейнеры обычными кирпичиками.

Давайте разберемся, зачем нужна вся эта контейнеризация. С её помощью обеспечивается:
-
Изоляция приложений. Контейнеры работают независимо друг от друга и от внешней среды: они «не видят» лишнего и не конфликтуют между собой. В результате мы получаем чистую и предсказуемую среду выполнения.
-
Стандартизация окружения. Есть Docker-образ, в котором зафиксированы все зависимости: версии приложений, библиотек и прочее. Каждый раз, запуская контейнер из такого образа, мы получаем одинаковую среду. Мы гарантированно запускаем одно и то же окружение из раза в раз.
-
Быстрое развертывание. В отличие от классических виртуальных машин, для запуска контейнера нужна одна команда – docker run. И запускается он за считанные секунды – его легко поднять, остановить и удалить без лишних следов в системе.
-
Масштабируемость. Если один контейнер с нагрузкой не справляется, всегда можно поднять рядом ещё несколько и распределить трафик через балансировщик, обеспечив горизонтальное масштабирование.
-
Экономия ресурсов. В отличие от классических виртуальных машин, которые требуют большого объема дискового пространства, памяти и процессорного времени на всю систему целиком, контейнер использует только те ресурсы, которые нужны самому приложению.
-
Легкость обновления и отката. Образы версионируются, и обновление сводится к запуску новой версии. Если что-то пошло не так – можно просто вернуться к предыдущей версии образа.
-
Чистота на хостовой системе. Когда вы ставите на свой компьютер 10 версий платформы, пять версий EDT и три версии Java, а потом их удаляете, в системе накапливаются лишние «хвосты», которые в дальнейшем могут вызывать различные проблемы и конфликты. С Docker все проще: не нужен образ – удалили, и система снова чистая.
-
И самое главное – упрощение CI/CD. Вместо ручной настройки окружения на каждой машине (установка последней версии платформы, EDT, OneScript и всех нужных библиотек) можно один раз собрать для каждой задачи отдельные образы и дальше использовать их автоматически. CI-система сама скачает все нужные дистрибутивы и обновит окружение.

Теперь о том, что из мира 1С можно запустить в Docker. Если вкратце, то примерно всё:
-
платформа 1С отлично чувствует себя в Docker;
-
EDT тоже прекрасно там работает;
-
1С:Исполнитель (точнее, 1С:Элемент.Скрипт);
-
OneScript;
-
и даже Сервер взаимодействия.
С чего начать?
Чтобы начать работать с Docker, необходим ряд подготовительных работ:
-
завести аккаунт на https://hub.docker.com/
-
завести аккаунт на https://github.com/
-
обеспечить место для хранения образов – настроить Docker Registry (облачный или свой);
-
установить Docker на компьютер или сервер;
-
и собрать необходимые образы.
Первые два пункта, надеюсь, проблем не вызывают – вы все люди взрослые, аккаунты заводить умеете.
Следующим шагом нужно организовать Docker Registry. Есть два варианта:
-
Арендоваться в любом крупном облачном провайдере: Selectel, Яндекс, Cloud.Ru, цены везде примерно одинаковые.
-
Развернуть у себя Registry локально в Docker по инструкции. Но сразу предупрежу, что этот вариант – для стойких и сильных духом, потому что вы должны самостоятельно продумать авторизацию, резервное копирование и масштабирование. Если вас это не пугает – без проблем, ставьте вручную. Но я человек ленивый, мне проще делегировать эту ответственность и использовать облачное решение.
Далее нужно поставить Docker на ваш компьютер или на сервер. Здесь тоже в зависимости от операционной системы есть два варианта инструкций по установке:
-
на Windows – https://docs.docker.com/desktop/setup/install/windows-install/;
-
на Linux – https://docs.docker.com/engine/install/.
Далее необходимо собрать Docker-образы с 1С, потому что в этом и состоит наша цель. Здесь тоже есть два варианта, один из которых можно условно разделить ещё на два.
- Первый вариант – использовать проект onec-docker от «Первого Бита». Огромное спасибо ребятам, которые его развивают: Никите Федькину, Диме Овчаренко, Егору Иванову и всем причастным. Классный проект, крутые образы, я их сам долгое время использовал.
- Второй вариант – два «велосипеда» от меня: onec-images и oscript-images. Причина их появления – не только в классическом «not invented here», но и в том, что для работы с onec-docker нужно было скачивать себе репозиторий локально и запускать скрипты, причем обязательно в Linux. В общем, много ручной работы, а я ленивый.
Поэтому я решил автоматизировать процесс через GitHub Actions, CI-платформу от GitHub. В результате сделал два собственных проекта, где для получения Docker-образов для вашего Registry достаточно один раз:
-
сделать форк репозитория;
-
включить GitHub Actions;
-
настроить несколько секретов (доступ к ИТС для скачивания релизов, секреты к вашему Registry, и, возможно, API-токен для скачивания дистрибутива 1С:Исполнителя с сайта https://developer.1c.ru).
После этого достаточно повесить специальный тег на последний коммит – и дальше сборка и публикация в Registry нужных вам образов происходит автоматически. Вам остаётся только проверить результат.
Более того, это легко автоматизируется, например, через n8n: можно раз в сутки проверять выход новых версий платформы или EDT, автоматически добавлять теги – и образы будут собираться сами. Для тех, кто любит автоматизацию – это максимально удобный вариант.
Учимся пользоваться Docker

Теперь, когда образы готовы, нужно научиться с ними работать.
Я бы мог пошутить, что всё, что вам нужно – это команда docker help. Но это, увы, не так.
Для авторизации в Registry нам потребуется команда docker login. Без неё вы не сможете скачивать образы из приватных хранилищ. Из публичных – можно скачивать и без авторизации, но если вы захотите публиковать туда свои образы, вам все равно это потребуется.
Тут все просто:
docker login --username username url.my-private-registry.com
Вместо username указываете имя пользователя, вместо url.my-private-registry.com – адрес вашего Registry (если не указать, Docker будет обращаться в Registry по умолчанию – docker.io). После этого вводите пароль или токен – и всё, вы авторизованы.

Дальше нужно скачать образы командой:
docker pull <registry>/<image>:<tag>
Образ скачается в вашу систему.

Дальше вам нужно его запустить. Для этого используется команда:
docker run --rm
-v ./local-path:/container-path
-p local-port:container-port
registry/image:tag
--app-params
Обратите внимание на используемые в команде ключи:
-
--rm – удалить контейнер после завершения;
-
-v – примонтировать папку (volume) для сохранения артефактов после окончания работы локально;
-
-p – пробросить порт наружу, чтобы можно было общаться с приложением внутри контейнера;
-
--app-params – параметры, передаваемые в контейнер.

Если нужно поработать внутри контейнера вручную (например, для отладки), нужно добавить параметр -it для интерактивного запуска и переопределить --entrypoint (точку входа) на консоль bash.
docker run --rm -it
-v ./local-path:/container-path
-p local-port:container-port
--entrypoint bash
registry/image:tag
Запустится консоль для выполнения команд, вы проверите всё, что хотели, выйдете, и контейнер удалится.
Варианты использования 1С и OneScript в Docker
Теперь давайте обсудим, какие варианты использования 1С и OneScript в Docker у нас есть.
-
Самое очевидное – сборка, разборка конфигураций, внешних отчетов, обработок. Уже 100 лет как работает. У меня в CI-контуре все артефакты собираются в Docker без проблем.
-
Конвертация в формат EDT или из формата EDT. Если вы “счастливый” разработчик на EDT, вам для сборки cf необходимо предварительно конвертировать ваши исходники из формата EDT в формат конфигуратора. Docker в этом прекрасно помогает.
-
Запуск автономного сервера – для тестовых баз, API или OData – отлично работает в Docker.
-
Запуск тестов, валидация EDT, статический анализ SonarQube – тоже там работает.
-
И как вариант – запуск и развертывание приложений на OneScript. У меня, например, есть простой сайт-визитка, написанный на OneScript с использованием фреймворка Winow. Он упакован в Docker и крутится где-то на хостинге – я только оплачиваю его регулярно и всё. Мне это никаких проблем не доставляет.
Если вам кажется, что этого мало – на самом деле вариантов использования Docker гораздо больше.
-
Можно, например, поднять веб-сервер: nginx, Apache или такую штуку как reverse proxy, чтобы «прикрыть» ваше приложение и выдать ему HTTPS с SSL-сертификатом.
-
Можно развернуть базы данных для разработки: PostgreSQL, MongoDB, ClickHouse – все это отлично работает в контейнерах.
-
Отдельная история – брокеры сообщений и шины: RabbitMQ, Kafka и подобные. Они буквально созданы для работы в Docker и отлично там себя чувствуют.
-
Для хранения данных можно поднять S3-совместимое хранилище, например, MinIO. Тем более, что платформа 1С уже умеет работать с S3 – давно пора начать этим пользоваться.
-
Или развернуть FTP-сервер: подняли, поиспользовали и погасили.
-
Вы можете развернуть в Docker SonarQube и использовать его для статического анализа кода – это тоже прекрасно работает. Более того, на GitHub даже есть готовый Dockerfile сборки SonarQube со всеми плагинами, которые нужны для 1С – например, у Дмитрия Абрамова.
-
Также можно использовать Docker для MCP-серверов и различных инструментов вокруг LLM – такие решения тоже отлично ложатся в контейнерную модель.
-
Мониторинг? Тоже без проблем: Grafana, Prometheus – все это стандартно запускается в Docker.
-
Ну и, в конце концов, любой иной образ с Docker Hub: там миллионы готовых образов под самые разные задачи. С большой вероятностью вы уже найдёте готовое решение под свои нужды.
Есть и более продвинутые сценарии.
-
Например, GitHub Codespaces – облачная среда разработки VS Code, которая запускается где-то на серверах GitHub и в которой вы можете писать код прямо в вашем браузере. Там в терминале есть возможность запускать Docker. Я экспериментировал: скачал туда свои образы платформы, собрал там конфигурацию Tasks, создал для нее базу и запустил ее на автономном сервере. А потом подключился к ней со своего компьютера по HTTP и поработал. Не уверен, что это стоит делать для продуктива, но для экспериментов – отличный вариант. Вы можете на свой ноутбук вообще ничего не ставить. Запустили браузер и работаете. Это же великолепно.
-
В конце концов, если всё это не подошло, вы можете собрать образ самостоятельно. Синтаксис Dockerfile довольно простой, нейросети его отлично понимают, поэтому, если что, всегда можно написать своё.
Живой пример из актуального
И напоследок – реальный пример.
Мне нужно было получить выгрузки конфигурации в форматах конфигуратора и EDT. Можно было сделать это вручную – потратить значительное время на создание базы, загрузку, выгрузку и конвертацию.
Но я ленивый. И решил приспособить для этого Docker. Всё решение задачи уложилось в три команды.

Первая команда: запускаем контейнер с образом Vanessa Runner, монтируем в него локальную папку и говорим: «Создай файловую базу из DT-файла /tmp/1cv8.dt по пути /tmp/base , и сделай это с помощью автономного сервера, чтобы не мучиться с пробросом лицензии»:
docker run --rm -v /data:/tmp
my-registry/vrunner:8.3.27.1688
init-dev
--dt /tmp/1cv8.dt
--ibconnection "/F/tmp/base"
--ibcmd

Дальше мы запускаем следующий контейнер с Vanessa Runner и просим его декомпилировать эту базу на исходники:
docker run --rm -v /data:/tmp
my-registry/vrunner:8.3.27.1688
decompile -c
-o /tmp/cfg
--ibconnection "/F/tmp/base"
--ibcmd

А последним шагом запускаем образ edtcli (это обертка над EDT) и говорим: «Импортируй конфигурацию из папки /tmp/cfg в воркспейс /tmp/ws и создай для нее проект с именем demo».
docker run --rm -v /data:/tmp
my-registry/edtcli:2024.2.6
-data /tmp/ws
-command import
--configuration-files /tmp/cfg
--project-name demo
И на выходе через 5–10 минут в папке data/ws на хосте получаем готовый проект EDT.
После чего контейнер удаляется, а все артефакты остаются у нас. При этом система остается чистой. Великолепно.
В завершение минутка мотивации
В далеком 2018 году я впервые попал на конференцию Инфостарта. Я тогда был ещё совсем начинающим специалистом, буквально джуном. Ходил по залам, слушал доклады – ребята рассказывали про CI, Docker, другие крутые штуки. В моём понимании я был где-то в каменном веке с каменным топором в руках, а ребята уже запускали космические корабли на околоземную орбиту. Меня это очень сильно вдохновило: я захотел научиться делать так же.
Потом был ковид и период онлайн-митапов, когда я немного выпал из активной жизни.
И вот настал 2023 год. У меня уже собственный CI-контур, который я сам настроил. Что-то смог сделать, запустил свои космические корабли на околоземную орбиту. Я снова приехал на конференцию – а там ребята уже освоили Луну и отправили зонд на Марс. Думаю: «Круто».
Проходит еще пара лет, наступает 2025-й год – и ощущение такое, что люди уже колонию на Марсе строят. Все развивается с невероятной скоростью. Это как в «Алисе в Стране чудес»: “Нам нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!” В нашем мире ИТ это ощущается особенно остро: нужно бежать не в два раза быстрее, а в три, в четыре, чтобы только чего-то достичь и не оказаться за бортом истории.
Поэтому я вас призываю: выходите из зоны комфорта, развивайтесь. И Docker вполне может стать той самой первой ступенью, через которую вам стоит переступить.
Вопросы и ответы
Почему вы сравниваете Docker с Terraform, а не с Kubernetes? И нужно ли одинэснику изучать Kubernetes?
Kubernetes – это следующий уровень. Сначала стоит разобраться с Docker, а уже потом двигаться дальше. Мне пока хватает Docker – до Kubernetes я ещё не дошел.
Правильно ли я понимаю, что для взаимодействия с приложением в Docker нужно обращаться к нему через проброшенный порт?
Если речь идет о веб-приложении, то да – через проброшенный порт мы можем открыть его интерфейс прямо у себя в браузере.
Есть ли смысл заворачивать в Docker длительное обновление базы – например, если нужно обновить УТ 2022 года на последний релиз?
Нет, это совсем другая история. Docker больше про сборку, тестирование и воспроизводимость окружения.
Как Windows чувствует себя в Docker?
Есть Windows-контейнеры, но они обычно весят несколько гигабайт и могут не запуститься, если версия Windows внутри контейнера не соответствует версии Windows на хосте. На практике чаще используют Linux-контейнеры – с ними проще и стабильнее.
Насколько сложно работать с лицензиями 1С в Docker?
Здесь есть три варианта:
-
если вы счастливый обладатель многопользовательского аппаратного ключа – все относительно просто: копируете в контейнер ваш файл nethasp.ini с настройками подключения к серверу сетевых ключей, и всё работает.
-
Второй вариант – это проброс программной лицензии.
-
Третий – комьюнити-лицензия.
Но с программной лицензией есть проблема – как только вы запускаете на одной лицензии два контейнера, эта лицензия ломается. Весь смысл от запуска контейнера теряется. Можно запустить только один.
Поэтому наиболее стабильный вариант – это аппаратный ключ, но он встречается нечасто.
Вы рассказывали, что у вас есть GitLab, но при этом используете облачный Registry. Почему не пользуетесь встроенным в GitLab?
Потому что не хочется упираться в ограничения по объему хранилища и доступность сервера. Мой GitLab развернут локально в контуре организации и не доступен извне, а Registry мне нужен и дома, и на работе. Поэтому проще взять облачный и не заниматься его поддержкой самостоятельно.
Есть ли реальные кейсы использования Docker с 1С?
Конечно:
-
веб-серверы для 1С можно разворачивать в контейнерах, чтобы публиковать на них необходимые SOAP, HTTP-сервисы и веб-клиент;
-
тестирование (в том числе массовое, многопоточное) отлично масштабируется через контейнеры – тысячи тестов можно прогонять параллельно за разумное время, чего сложно добиться на обычных машинах.
А как запускать UI-тесты в контейнерах? Им же интерфейс нужен.
В контейнер можно добавить графическую среду. Это позволяет запускать даже сценарные тесты с интерфейсом.
Можно ли доверять тестам, которые прошли на Linux, если заказчик работает на Windows?
Практика показывает, что если работает на Linux – на Windows тоже будет работать. Обратные случаи встречаются крайне редко.
Можно ли публиковать на Docker Hub образы с платформой 1С?
Публиковать образы с платформой 1С в открытом доступе нельзя. Это нарушает лицензионное соглашение 1С. Поэтому используются приватные Registry – либо облачные, либо локальные. Сами образы обычно собираются из дистрибутивов, скачанных с официальных источников, и хранятся в закрытом доступе.
*************
Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TECH EVENT.
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Системный администратор Разработчик 1С 8.3 1С 8.5 Бесплатно (free)
В прошлой статье у ERP оставалось 89 отказов загрузки, у ЗУП — 19. Теперь обе конфигурации совпали с эталонами, а собранные файлы прошли круг через платформу. Развертка выделена в открытый репозиторий cf-unwrapper: библиотека на Rust и консольная утилита. Показываю результаты, объясняю границы «100%» и приглашаю к проверкам и развитию проекта.
02.11.2026 204 oyti 1
DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Разработчик 1С:Предприятие 8 Россия Бесплатно (free)
Практическое руководство для команд, которые хотят уйти с хранилища конфигурации на git, не переходя на новую среду разработки. Подойдёт разработчикам и тимлидам, которые настраивают командную разработку на типовых и собственных конфигурациях.
02.11.2026 415 vanya_gonchar 2
Файловый обмен (TXT, XML, DBF), FTP DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Системный администратор Разработчик 1С 8.5 Бесплатно (free)
В прошлой статье я выгрузил Бухгалтерию в XML байт в байт и спросил, на чем проверить дальше. Вы ответили: ERP, старые релизы, зарплата. Прогнал пять конфигураций, от клиента ЭДО до ERP на 120 тысяч файлов. Рассказываю, что сломалось после Бухгалтерии, почему эталону платформы нельзя верить на слово, как выгрузить одну конфигурацию в формат трех версий платформы - и почему cf-конвертер становится отдельным продуктом, Разверткой.
02.11.2026 266 oyti 2
Инструментарий разработчика DevOps и автоматизация разработки Разработчик 1С 8.3 Абонемент ($m)
Как отличить срочное исправление от обычного вечернего коммита? Проверила расчёт показателей поставок по отчёту хранилища 1С и истории двух открытых проектов. На стенде счётчики совпали со сценарием, а в выборке открытого проекта правило «те же объекты» ошиблось во всех шести случаях. Показываю границы такого замера и отличие от метрик DORA. Прилагаются инструмент и материалы опыта.
1 стартмани
29.10.2026 274 Ninel_S 0
DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С 8.5 Бесплатно (free)
Выгрузка типовой Бухгалтерии в XML через базу занимает больше четырёх минут. Я написал движок, который читает файл конфигурации напрямую и выгружает его за 35 секунд, совпадая с выгрузкой платформы байт в байт во всех 90 385 файлах. Загрузка обратно тоже работает: круг через платформу совпадает полностью. Рассказываю, как ускоряли, как проверяем и что при загрузке XML теряет сама платформа. А в конце спрашиваю, нужно ли это кому-то, кроме меня, и на какой конфигурации проверить следующей.
27.10.2026 845 oyti 20
DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Разработчик 1С 8.3 Абонемент ($m)
Хук pre-commit проверяет полный снимок индекса Git в отдельной базе 1С. На «Нано-УТ» и платформе 8.3.27 повторила 12 попыток коммита: восемь прошли, четыре остановлены. Чистый коммит занял 31,8 с. Вызов несуществующего метода общего модуля хук останавливает только с ключом -ExtendedModulesCheck. В архиве версия 2, тесты, инструкция и журналы.
1 стартмани
26.10.2026 314 Ninel_S 2
Нейросети DevOps и автоматизация разработки Разработчик 1С 8.3 Абонемент ($m)
Я дала агенту Claude Code задачу словами: добавить в учебную конфигурацию документ «Внутреннее потребление товаров», который списывает товар по средней стоимости и не даёт уйти в минус. Три запуска с нуля, каждый принят проверкой на платформе 1С: 1 мин 49 с, 2 мин 33 с и 2 мин 56 с. Показываю, что агент поменял, где ошибался и почему на типовой УТ так быстро не будет.
1 стартмани
26.10.2026 555 Ninel_S 0
Рефакторинг и качество кода Тестирование QA Разработчик 1С 8.3 Абонемент ($m)
Скрипт, который должен был проверять код 1С в Docker, на деле проверял только, что файл не пустой: из 11 модулей с ошибками он пропустил все. Я переписала проверку и сравнила её с самой 1С на тех же 11 модулях из нашей конфигурации «Нано-УТ». Новый скрипт нашёл незакрытые «Если», процедуры и скобки в 10 случаях из 11. Вызов несуществующей процедуры находит только сама 1С. В архиве скрипт, файлы для Docker, примеры с ошибками и журналы проверки.
5 стартмани
23.10.2026 405 Ninel_S 4
Все таки программные лицензии - это большинство, а потому показалось странным, что эта тема как-то вскользь затронута, не раскрыта, хотя это чуть ли не самая главная проблема из-за которой и сложно свободно и легко использовать докер в 1С - лицензии
но в моей работе ни разу не пригождались клиент-серверные базы. все задачи в CI/CD закрываются файловыми базами.
много сеансов для целей CI/CD или тестирования также не требуется, даже на файловой.
если же рассматривать контейнеризацию для продуктива, то это уже скорее k8s, но это совсем другая история и тут лучше обратиться к опыту Димы Овчаренко (cloudnative_1c)
> Сталкивались с ограничениями и проблемами из-за использования
нет, не сталкивался ни разу, файловые базы практически полностью закрывают задачи разработки в моём отделе (EDT всё равно не очень дружит клиент-серверные базы, потому и работаем на файловых)
но слышал о проблемах у других людей, но там проблемы вроде "у нас в регистре 20+ измерений, файловая не запускается даже".
Всё, что нужно "одинэснику", есть в конфигураторе, ну и облачных сервисах вендора; прочее же от лукавого. Почему - думаю, очевидно. Кому не очевидно - либо читайте статьи прежних лет про стек, инфраструктуру и кадры, либо ждите граблей из личного опыта)
Из последнего пытался на ии обкатать рефакторинг кода - мимо. Поставил сонар, про который тут куча статей - как был бесполезен 10 лет назад так и остался.
А вот реверс-инжиниринг, особенно разгребание старых завалов, с помощью БЯМ кое-где упрощается. Но это в любом случае делается без докеров-шмокеров, на простейшей загрузке файлов в Курсор и скармливании локальной qwen.
собственные сервера (и оплата поддерживающего персонала) для малого и микро-бизнесов уже давно не основной способ содержания 1С. но даже на своем сервере давно пора забыть (мы так и сделали еще лет 20 назад) о работе на голом железе, а не хотя бы в виртуальных машинах. сейчас жить в облаке или даже на своем сервере с виртуальными машинами без докера/подмана - архаика еще большая, чем держать в пыльной кладовке свой сервер с древней виндой и sql-сервером.
А нормальные конторы как раз и держат свои сервера с виндой и скулём. И тут уж, извини, далёк от реальности ты.
Колупаться на коленке в масштабах песочницы - тут любой докер и ещё куча приблуд вызовут интерес. А делать что-то более-менее серьёзное - да с тобой и разговаривать не станут. Но, опять же, как дорастёшь до этого уровня, так и поймёшь, со стороны не всё очевидно.
Приблизительно раз в год приходится менять версию 1С платформы для сервера с бухгалтерскими базами.
Место для Docker/Podman пока не нашлось.
P.S. У одного моего заказчика решал проблему сетевой связанности в Proxmox. Обнаружил на четырех нодах, поверх Proxmox, установлен k8s. Погоня за модой привела к оплате работ и специалистов по k8s.
Но сейчас о другом думать надо. Пока вы тут пишите/читаете про докеры, пользователи, которые вчера писали на вижуал бэйсике мегаприложухи в экселе, дорвались до ИИ. И от них прям вот прет креатив. У нас в конторе постоянно предлагается развернуть ту или иную фичу, напиленную пользователями, которые продают и все такое, а не которые "мы - дружная команда ИТ". Все, через год вся дружная команда ИТ пойдет рыть траншеи или чего они там умеют, т.к. пользюки точно знают, что им надо, и им проще это ИИ объяснить, чем "дружной команде ИТ". Вот это реальный косяк всего ИТ. Так погиб стек оверфлоу, так погибнет и всякая "дружная команда ИТ". Готовьтесь. Основное - пользователю плевать на стек, ему нужны решения его проблем, а не скрамы, канбаны и спринты, обернутые в докер. ИИ просто уброал порог входа. Любой, кто сможет объяснить ИИ, какие формулы для каких данных ему нужны, получит итоговый PDF для печати, Excel для Excel'а, что-то там для остального и интерфейс сверху на реакте. Пользователю же про это знать вообще ничего не надо - все само установится, и может даже в докере. У пользователя будет ссылочка, которую он нажмет и получит нужный функционал.
Да, да, да упрется это в стену когда функционал станет чуть сложнее, чем приложухи которые они писали в экселе. Когда неверно выбранный стека который казался пользователю логичным(бакэнд на экселе, фронт на реакте, статика на ноуте) приведет месяц танцев с бубнами вокруг ии и миллиарды сожженных токенов, к разработке с нуля с уже более грамотной постановке, где эксель заменят на mysql и круг повторят. Появится тысяча замечаний, которые надо будет где-то зафиксировать и придется взять жиру. Менеджмент над этой тысячей замечаний тоже будет нужен и появятся сринты скрамы и прочее. Нужно будет подождать полгодика годик и прийти к тому, с чего начали. Бизнес такое себе позволить просто не может. Ну и "дружная команда ИТ" тоже может в какой-то момент уже начать пользоваться благами цивилизации. Все эти истории с аджайлами и прочим, не на пустом месте появились. Сложность в написании кода как такового, одна из ключевых на данный момент и ИИ может ее устранить. Но это не единственная сложность.
Ну бывает иногда такая иллюзия. Да вот тут просто приход расход, чего там. Коробку положили\ коробку забрали, ничего сложного. Но через год с нуля написана ВМС на миллион строк и продолжает дописываться. Не потому, что программисты умеют писать. Потому, что здесь добавить, здесь описать, здесь изменить. Писать быстро и просто можно только частные случаи, которые не надо расширять и поддерживать, но мне такие случаи неизвестны. Ну или это ларек, но для них уже все и так написано или они с экселем могут жить так же как и с 1с. Во всех остальных случаях начинается, "строчка 59б если была счет фактура на аванс в третьем месяце на убывающей луне" и дополнительно еще описание требований на две пачки бумаги.
Без ИТ специалистов это все грозит выродится в типичный карго-культ.
Сам тут недавно в N8N делал бота для выполнения определенных команд в 1С через http запросы с использованием встроенного AI агента. Стоило один раз разобраться - как открылась целая уйма возможностей для решения множества задач, связанных или с обработкой текста или с взаимодействием с пользователем. Так что изучать эту тему точно стоит, чтобы быть актуальным на рынке, а вот паниковать - точно нет. Наше важнейшее эволюционное преимущество - приспособляемость, так что давайте им пользоваться.
ИИ в основном пишет то, что и так было на гитхабе в открытом доступе. Пошло наконец в дело. Ну замечательно.
Каждый манагер запилил что-то своё. Собрали, допустим, даже запустилось и работает. Ну и разогнали айтишников на радостях, лишь сисадминов оставили.
А через время либо придумка одного нахрен уродует данные и процессы другого, либо вообще всё встало колом, т.к. взаимно противоречит. Концептуально. Логика разная, интерпретация разная. Потому что архитектора и аналитика не было, а только инициативные манагеры.
А некоторые, оказывается, слили данные таким образом. Нечаянно. Ключевые данные в сторонний сервис, который где-то в глубинах вызывается. И шустрые роботы конкурентов это дело быстренько просекли и подгребли. Потому что безопасность никто не продумывал, а было лишь вольное творчество.
А система вдруг виснуть начинает. На ровном месте, вроде бы, и вмёртвую. И старые данные нужны, никуда не денешься хотя бы от 3 лет исковой; и статистика нужна, и придумки эти, силами БЯМ деланные, совершенно не учли такую прозу жизни, как дедлоки и узкие места. Потому что оптимизаторов не было, а накидывали всякого бодро.
А потом приходят вежливые люди. И выясняется, что слепленная БЯМ форма чуток этсамое, не по фискальным стандартам. Налог чуток неверно посчитали, округление, копейки, ну фигня же, да? Чеки в сложных случаях косячат. По БУ неверно показано, НДС недоплатили. И вляпаются главбух с финдиром хорошо если в штрафы. Потому что методиста не было, а только полёт фантазии юзверей.
Отличное будущее. Любой руководитель двумя руками подпишется)
ЗЫ: С гита уже народ без всех этих корвавых гэбней бежит, т.к. там своя кровавая гэбня.
ЗЫЗЫ: еще ни одна пользовательская экселька не завалила проект, если ее не отдали "профессионалам", чтобы те ее загрузили. А там: "ой, а почему же это случилось..."
Нету никакого "ИИ". Есть БЯМ, которая с энной вероятностью что-то угадает. Поскольку а) нормального знания и понимания бизнес-процессов (если это сложнее ларька), со спецификой, нюансами, подводными камнями, редкими случаями - сейчас нет даже у многих спецов, и б) навык объяснения БЯМ того, что смутно понимаешь сам, у 99% отсутствует (иначе бы ТЗ рождались иными) - то даже страшно представить, какого кадавра выкатит эта БЯМ при подобных входящих-то...
А именно она решающая, и именно без неё весь кошерный код от БЯМ превращается в тыкву.
А я не между юзером и системой. Я и есть система. Без меня это превратится в начало 90-х с кучей разрозненных эксельчиков, абсолютно непрозрачных, неуправляемых и собираемых вместе сомнительной мутной логикой. По которой у финдира дебиторка выйдет на порядок меньше, допустим, чем у главбуха.
Перефразирую известное: если натравить БЯМ на бардак, то будет красиво оформляемый и убедительно выглядящий бардак.
Так же будет и с БЯМ.
Раньше платили з/п айтишнику, теперь будет и айтишник, и траты на токены.
Ну и зачем платить больше?)
Проще все по мне. Привык под вынью к тому, что имею, но в лине не так, это ограничивает,
поэтому находим то, что есть, docker и возвращаемся к состоянию комфорта. Как случай и вариант.
В действительности, миллионы сток WMS - это как раз функции, некоторые из них могут жить как в WMS, так и автономно. И если бы их рисовали владельцы процессов, то, предположу, пользы было бы больше. И ИИ как раз дает им эту возможность.
Фактически, большинство контор свою отчетность в Excel собирают несмотря на миллионы строк бесполезного кода. А тут у них ИИ...
ЗЫ: вообще странно, что народ не видит полную картинку...
Не припомню такого. Если моих родителей поспрашивать или родителей моих родителей(которых давно нет). Если мы говорим о таких временных отрезках, то можно далеко в своем воображении уйти. Меня в ключе обсуждаемого вопроса интересует влияние на мою профессию только в рамках моей трудоспособности.
Так и со всем остальным. Сначала автомобиль был роскошью, и только потом стал средством передвижения. Роботы домашние сначала будут такой вот роскошью, клауд сейчас за 200 баксов в месяц - это тоже такая роскошь. Космические корабли, бороздящие просторы. Да даже персональные компьютеры-то появились в 70-х только, хотя первая ЭВМ появилась еще в 40-х.
Далеко не всегда.
Для того, чтобы программировать, неважно, писать код в машинных кодах или в виде промтов, нужно иметь определенный склад ума.
И, что крайне важно, понимать почему такой ответ и рассуждения ИИ, иначе будет беда.
Тоже относится и к любому другому виду деятельности.
Часто именно в этом и заключается "потому что не нравится", разумеется, не учитывая "это вообще не мои обязанности".
И как не стали "эти_нужное_подставить" писать на созданном для них понятном SQL, так и промпты они или не будут составлять, или будут, но такие, что для операции 2+2, надо будет покупать отдельный сервер
(ибо "вы совершенно правы" - как же меня бесит этот ответ от ИИ, после которого он обычно начинает нести ересь).
И не факт, что 2+2 у них на экране будет отображаться как 4, а не 0100 и они поймут, что это не "сто".
Называйте как вам удобно "определенный склад ума", "инженер", еще как-то. Я не считаю, что у программистов, инженеров какой-то "определенный" склад ума. Всю жизнь из-за работы общаюсь с программистами и не только 1с. Склад ума у всех разный, абсолютно. Вы Зачем то написали тоже, что и я, только другими словами.
И как только до молодого манагера N дойдёт, что та же БЯМ либо манагер М могут легко доказать, что именно из-за запиленной месяц назад фичи N у главбуха пятый раз падает ОСВ и не строится половина отчётов по НДС - вот тут молодой манагер резко вспомнит, что "это не его дело", и что "нужен программист". Крайний нужен.
Как юзеры любят говорить про любую неизвестную им мелочь, даже штатный инструмент платформы: "я не программист, я этих ваших штучек не знаю и знать не обязан". Я одно время скрины таких реплик даже коллекционировал, когда совсем маразм был (вроде как сохранить из 1С в ёксель, или пользоваться Избранным).
Не потому, что тупые. А потому, что ответственность спихивают.
И это наблюдения свеженькие. И манагеры именно так говорят, и бухи, и руководящее звено.
Да, странно, что не все видят _полную_ картину.
Вот пример. Каждый месяц нам рассылали эксельку, которую нужно было заполнить. Теперь нам рассылают ссылку на развернутый у кого-то веб-сервер с этим функционалом. И да, стоило бы это прям из жиры тащить, но там чего-то не хватает, ну или не всё туда логируется (что не менее странно, но окэй). И вот таких штук даже в ИТ я вижу эври дай. Т.е. продакты, аналитики и прочие непрограммисты пилят себе инструмент, который позволяет им пить кофе на 50% больше времени. Нам остается напилить им функционал Ctrl+C/V, если что-то из этого нужно будет засунуть в 1С (что прям вот совсем сомнительно).
Наша задача - отобрать у них нахрен все эти эксельки, бейсики и прочую ересь, отрубить интернет, загнать в прозрачную, единую, контролируемую 1С. Ключевые слова - учёт и контроль. Удобство пешек никого не волнует и волновать не должно, волнуют лишь вопросы руководящего уровня. А это консистентная инфа в базе, быстрая единообразная отчётность, управляемость, безопасность. Наличие ответственных за перечисленное.
Всё.
Ну а кто "дармоедам" не платил, того с нами уже нету. Видал я, как налоговая за ошибочку, выявленную при встречной проверочке, нефиговую фирму до трусов раздела. Потому что в нефиговой фирме шеф сам был "с айти-образованием" и полез СчФ полученный руками допиливать)
Я спрашивал, особенно, пока молодой и глупый был - а может, иначе как-то?
А мне говорили - единая целостная база. Часть корабля - часть команды. Большой брат бдит. Все как один итд.
Странно, получается, целеполагание руководства изменилось?
1С вообще не для удобства рядовых пользователей. Об этом на некоторых конференциях чуть ли не впрямую говорилось. 1С - для учёта и контроля.
Если некий аспект согласны выпустить в "серую зону" - флаг в руки. Если это критично - то только жёсткая 1С, жёстко разработчики-ответственные, жестко наказания за ошибки.
БЯМ нельзя наказать за ошибку. Следовательно, с ней нельзя связываться.
А лицензирование - ну, что имеем, принять как факт и перестать дрыгаться уже.
2. Работал в конторе, сервера которой мигрировали в ЦОД (в стойку). 12 лет назад. Работало хорошо, даже отлично. Сервера были дорогие.
3. Мелкий бизнес разместил свою ЕРП и что-то там еще в облаке провайдера. На это без слез смотреть было нельзя.
Так что мой опыт говорит о том, что ЦОД - это для крупняка. Аренда облака с 1С - это выгода на горизонте года в самом лучшем случае. Но админ все-равно нужен, т.к. микротик сам по себе не настраивается пока. Хотя ИИ к этому тоже умеет прикладывать свои вездесущие токены )) А уж картриджи поменять и кабель протянуть - тут пока без "админа" никак.
P.S. Несколько лет назад заказчик пинал админа, за то что тот плохо умеет готовить базу данных 1С (postgresql). Франчи вообще настаивали на MSSQL. Сервер базы упирался в полную загрузку процессоров. Но когда наконец обрезали справочник номенклатуры, а он был 2/3 от всей базы на 180ГБ, то все само заработало. Оказалось, что неопределенный круг "креативных" внедренцев новых "фич" в 1С, накрутило циклических выборок и проверок на клиентской стороне, прямо в процедуре подборки товара у менеджара. Т.е. при добавлении каждой позиции в заказ у менеджера перечитывался весь справочник номенклатуры в цикле по одному значению. И так в несколько раз подряд.
На сколько мне известно, код на sql запросы так ни кто не удосужился переписать. Т.к. он костыльно разбросан внутри конфигурации разными внедренцами. Так что ждем продолжение истории через несколько лет.
Любому спецу (даже ИИ) нужен контекст. И ИИ этот контекст должен правильно интерпретировать, иначе он будет гадать. Ровно так же, как любой специалист, который не видит полной картины. А сразу никто полной картины не видит, в итоге происходит перебор вариантов от самых часто встречающихся и к эксклюзивным. Т.е. это такая диаграмма Исикавы (диаграмма анализа корневых причин) с Парето (80% проблем от 20% кода/инфраструктуры/архитектуры).
Как вы уже выше писали, менеджера, а особенно "эффективного", интересует решение задачи прямо сейчас! И желательно бесплатно (лучше чтоб еще и продать можно). А что будет дальше... Там уже либо он, либо эмир, либо ишак, но будут в/на другом месте.
Наверное все же надо нанять специалиста,кто перепишет код конфигурации 1С?
За бесплатно, или муку (хлеб сами себе спечете) ни кто не хочет даже заглядывать в кофигурацию, которую "доработало" неопределенное количество внедренцев.
А решение резать базу от старых данных было принято и продвинуто соответствующими управленцами с только им понятным результатом. Старая база, с ограниченным доступом, до сих пор существует. Уже несколько лет. Т.к. все еще приходится разбираться менеджерам и бухгалтерам, как условный вагон шурупов в болты превратился без документов в торговой компании.
ЗЫ: первый раз существенное ускорение работы от БЯМ было еще год назад, когда я попросил его написать алгоритм группировки для того, чтобы [+] в табличном документе расставить. Там были строки типа 1, 1.1, 1.1.1, ..., и вот чтобы 1 - 2 группировались, а внутри 1.1 - 1.Х, а еще внутри 1.1.1 - 1.1.Х... Ну и т.д. Ну ты меня понял, ибо ИИ меня тогда тоже понял и написал простой итеративный алгоритм, и, как оказалось, он был быстрее, чем Nlog2N, что куда проще заморочек со всеми этими соответствиями и прочими структурами данных для подобных оптимизаций. При том был это годназадний дипсик в браузере. А сейчас у меня агент сам в коде копаться может.
ЗЫЗЫ: ну и сам понимаешь, что объяснить ИИ, что им нужно, для некоторых сложнее, чем самому написать. Я вот SST делаю с нуля на C++ + CUDA. За вечер локальная модель обучатель написала при контекста в 100к всего. Да, сеансов было штук 20, но 150+ т/с генерации делает это несущественным фактором.
Ну и да, хороший вопрос содержит большую часть ответа. А программирование через ИИ - это не вопросы, а код "своими словами". Хотя и вопросы могут помогать.
P.S. Я не программист 1С. Моя вотчина заканчивается на инфраструктуре под нее.
Я уже писал, что "1С, и ничего, кроме 1С". И приводил примеры из ближайшего будущего, когда все эти забугорные гитхабы и прочая будут заблокированы.
Надо мной вежливо посмеялись.
Ну, вот, пожалуйста: - чисто для примера, как иллюстрация тенденции.
Так что, нечего всякими докерами-шмокерами баловаться, на других языках чё-то колхозить. Есть 1С, вот в ней и работаем. Серьёзный бизнес не будет связываться с софтом, который сегодня есть, а завтра нет.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 2688032
Создание 08.05.26 17:21
Обновление 08.05.26 17:21
Просмотры 7524
Загрузки 0
Рейтинг
37
Комментарии 81
Код открыт Да
Рубрики DevOps и автоматизация разработки
Кому Разработчик
Тип файла Нет файла
Платформа Не имеет значения
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
