Автономный сервер. Часть 2 - утилита управления
База данных - Администрирование СУБД
В первой части статьи был рассмотрен собственно Автономный сервер – приложение ibsrv, его преимущества, ограничения, показания к использованию.
Перейдем ко второй части, представляющей для кого-то, возможно, даже больший интерес. В первую очередь, думаю, это должно заинтересовать адептов CI-CD.
Утилита администрирования – ibcmd
Утилита администрирования на текущий момент предоставляет два режима работы
- Server – в этом режиме создаются или изменяются конфигурационные файлы для Автономного сервера.
- Infobase – предназначен для выполнения различных действий с информационными базами: создание, загрузка/выгрузка, импорт/экспорт и т.д.
Режим "server"
Режим работы server тесно связан с самим «Автономным сервером»
Главным его назначением является формирование корректного файла настроек для Автономного сервера, в формате YML.
Например, приведенная ниже команда, на основании переданных параметров и значений по умолчанию, сформирует файл sb_demo.yml, который далее можно указывать как самому серверу ibsrv, так и утилите управления ibcmd вместо длинной цепочки параметров.
Содержимое созданного файла sb_demo.yml:
server:
address: localhost
port: 8314
database:
dbms: MSSQLServer
server: localhost
name: sb_demo
user: test_db_user
password: test_pwd_123
infobase:
id: 9f28e93a-85a7-4c5c-9860-78e461a83815
name: 9f28e93a-85a7-4c5c-9860-78e461a83815
distribute-licenses: yes
schedule-jobs: allow
http:
base: /
На этом, пожалуй, описание режима server можно считать исчерпанным.
Режим "infobase"
Второй режим работы, infobase, совершенно не зависим от Автономного сервера и может применяться самостоятельно, с любыми базами – файловыми или расположенными в СУБД. Для СУБД-баз при этом совершенно не важно, зарегистрирована ли база на сервере 1С или нет. Взаимодействие идет напрямую с СУБД.
Возможности утилиты я продемонстрирую на примерах. В замечаниях будут указаны особенности, определенные экспериментально или в переписке с разработчиками на партнерском форуме.
Все примеры буду приводить с заполнением параметров командной строкой. Но в каждом из них можно вместо общих ключей указать путь к файлу конфигурации подобным образом:
Создание базы
Начнем, как обычно, с самого простого примера. Создадим файловую базу.
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено
В результате выполнения команды, создан каталог "d:\test\demo_db" и в нём размещена пустая база 1С – файл 1Cv8.1CD (и пара служебных файлов .cfl)

Одновременно с созданием, одной командой можно выполнить дополнительные действия:
- Загрузить базу из dt-файла
- Загрузить конфигурацию из cf-файла
- Загрузить конфигурацию из XML-файлов
Создать и загрузить выгрузку из dt-файла.
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено
[ INFO] Загрузка информационной базы...
[ INFO] Загрузка информационной базы успешно завершена
Создать и загрузить Конфигурацию из cf-файла.
Для разнообразия создадим новую базу с размещением в СУБД. Добавляем ключ загрузки из cf-файла и путь к нему. Повторяющиеся ключи и параметры в дальнейших примерах будут затенены серым шрифтом.
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено
[ INFO] Загрузка конфигурации...
[ INFO] Загрузка конфигурации успешно завершена
Замечание. При создании базы в СУБД, смысл команды create правильнее было бы назвать «инициализацией», т.к. выполняется создание структуры таблиц и индексов в существующей базе данных. Если же базы данных не существует, будет выдана ошибка. Чтобы при отсутствии базы данных она была создана, требуется указать ключ --create-database, аналогично установке флажка «Создать базу данных в случае её отсутствия» в консоли кластера.
Создать и загрузить Конфигурацию из XML-файлов.
Меняем ключ загрузки на --import и указываем каталог с исходниками.
[ INFO] Создание информационной базы...
[ INFO] Создание информационной базы успешно завершено
[ INFO] Импорт конфигурации из XML...
[ INFO] Импорт конфигурации из XML успешно завершен
Замечание. Загрузка конфигурации из cf-файла или XML-файлов выполняется в «основную» Конфигурацию информационной базы. Конфигурация базы данных после такой операции остается прежней. Чтобы сразу после загрузки произвести обновление конфигурации базы данных, можно добавить ключ --apply.
Загрузка и выгрузка сf, cfe, dt, xml
Разумеется, загрузку dt, cf, cfe, xml-файлов можно выполнить и отдельными командами, без создания информационной базы. Выгрузка во всех поддерживаемых форматах также присутствует.
Загрузка dt-файла:
Выгрузка dt-файла:
Загрузка конфигурации из cf-файла:
Выгрузка конфигурации в cf-файл:
Замечание. Для команды выгрузки конфигурации save по умолчанию выгружается конфигурация базы данных, а не основная. Для того, чтобы сохранить основную конфигурацию, необходимо указать ключ --staging
Загрузка конфигурации из XML-файлов:
Выгрузка конфигурации в XML-файлы:
Замечание. Для команд загрузки и выгрузки конфигурации доступно указание ключа --extension и имени расширения, которое нужно загрузить или выгрузить.
Обновление конфигурации базы данных
После загрузки Конфигурации или расширения, конечно же, требуется обновить конфигурацию базы данных.
[ INFO] Обновление конфигурации базы данных...
[ INFO] Проверка корректности метаданных...
[ INFO] Обработка структуры базы данных...
[ INFO] Обработка данных: Реструктуризация Перечисление.РезультатыОбработкиЗапросовНаИспользованиеВнешнихРесурсовВМоделиСервиса
..............................................
[ INFO] Новый объект: РегламентноеЗадание.ЧтениеНовостейСлужбыПоддержки
[ INFO] Новый объект: РегламентноеЗадание.ЭкспортОценкиПроизводительности
[ INFO] Изменена структура таблиц базы данных
[ INFO] Принятие изменений...
[ INFO] Обновление конфигурации базы данных успешно завершено
Прочие команды
Без примеров оставлю последние три команды, что есть в текущей версии утилиты.
- config check - проверка конфигурации
- config reset - восстановление конфигурации базы данных.
- clear - очистка информационной базы
Для чего всё это нужно?
Предполагаю, что у Вас уже возник вопрос: «И чем это отличается от пакетного режима Конфигуратора, который делает всё то же самое, и даже больше, давным-давно?». Признаюсь, я ждал этого вопроса.
Отличия от пакетного режима Конфигуратора:
Во-первых, для выполнения описанных действий посредством Конфигуратора, нужно, как минимум, чтобы Клиентская часть Платформы была установлена. С этим не возникает проблем, когда Вы работаете на своем компьютере с локальной базой. Но когда база расположена на сервере, который является только сервером приложений 1С, для загрузок-выгрузок есть следующие варианты:
а) выполнять операции Конфигуратором по сети. Это может занимать очень продолжительное время ввиду особенностей сетевого обмена между компонентами Платформы.
б) устанавливать клиентскую часть Платформы на сервер. Исключительно с целью ускорения выгрузок-загрузок.
А если Ваш сервер – на Linux и без графического интерфейса? Конечно, можно установить пакет Xvfb, эмулирующий вывод на дисплей, но ведь это «костыли», как Вы считаете?
Выполнение действий утилитой ibcmd возможно непосредственно на сервере, без установленного Клиентского приложения. Специально ничего устанавливать не требуется. Утилита присутствует в дистрибутиве сервера приложений 1С.
Во-вторых, клиентское приложение, в частности и Конфигуратор, работающий в пакетном режиме, требует лицензию. И возможность получить лицензию Конфигуратором есть не всегда.
Пример: лицензии выдаются Сервером 1С, локальных лицензий нет. При этом требуется загрузка/выгрузка для файловой базы.
Для выполнения действий утилитой ibcmd лицензия не требуется. Ни клиентская, ни серверная.
В-третьих, все операции с базой, выполняемые Конфигуратором, требуют авторизации в этой базе.
Пример: требуется извлечь конфигурацию из dt-файла, который Вам достался, скажем, из архива и неизвестен пароль пользователя ИБ, обладающего административными правами в ней.
Традиционный способ – создать временную информационную базу в клиент-серверном варианте, чтобы иметь возможность очистки таблицы пользователей. Загрузить в неё dt-файл. Очистить таблицу пользователей базы в СУБД. Перезапустить Конфигуратор. Выгрузить конфигурацию в файл. Удалить временную базу из СУБД.
Для операций, выполняемых ibcmd не требуется авторизация информационной базы. Upd 15.12.21: Ниже, в комментариях, коллеги указывают, что в Платформе версий 8.3.18.1689, 8.3.20.1549 авторизация ИБ уже требуется.
Выполнение той же задачи посредством ibcmd, будет выглядеть следующим образом:
>ibcmd infobase config save --db-path="%tmp%\db" "%tmp%\some_infobase.cf"
Да, я в знаю что существуют разработки на Инфостарте, позволяющие извлечь конфигурацию в виде cf-файла непосредственно из dt-файла. Здесь я описываю штатные механизмы.
В-четвертых, для выгрузки конфигурации посредством ibcmd, не имеет значения, запущен ли в данный момент Конфигуратор этой базы у кого-то еще или нет. Просто потому что мы не запускаем Конфигуратор.
Более того, я пока не знаю, расценивать ли это как баг или как фичу, но для выгрузки dt-файла не требуется монопольный режим! Конечно же, пользоваться этим стоит с осторожностью. Не думаю что попытка сделать dt-шник в момент активной работы с базой пройдет без негативных эффектов.
В-пятых. Формат командной строки гораздо проще чем для Конфигуратора. Кроме того, есть возможность использования конфигурационного файла, чтобы не указывать повторяющиеся параметры подключения.
Возможно, Вы сможете добавить еще пару-тройку отличий, если заинтересуетесь инструментом и станете им пользоваться.
Чего не хватает для полного счастья
Перечислю функционал, который хотелось бы увидеть в релизе (первоочередные хотелки):
- Инкрементальная выгрузка в XML только тех файлов, версии которых изменены.
Сейчас доступна только полная выгрузка в XML.
- Работа с Хранилищем конфигураций: выгрузка версий, получение отчета по версиям.
- Экспорт непосредственно в формат EDT.
Об этом отдельно ниже.
- Логирование в Технологическом Журнале в полном объеме.
Сейчас привычных событий SDBL, DBMSSQL, DBPOSTGRS, DBV8DBENG в ТЖ нет. Пишется только служебное SYSTEM.
Мне представляется, что утилита ibcmd получилась очень функциональным и универсальным инструментом. Возможно, даже более универсальным, чем изначально предполагалось. И сейчас, пока инструмент в статусе беты, у нас есть возможность повлиять на его дальнейшее развитие. Одним из применений и векторов развития мне видится использование в контурах CI-CD. Как для "традиционной" разработки с использованием Хранилищ, так и для работы в новом формате EDT.
Чтобы заменить пакетный режим Конфигуратора в процессе синхронизации "традиционной" разработки с репозиторием Git, не хватает только возможности работы с Хранилищем.
В своей переписке на партнерском форуме с разработчиками я обозначил такой вектор возможного развития инструмента и получил обещание проанализировать и подумать. Ниже привожу цитату своего описания возможного сценария использования. Здесь я защищал предложения включить возможность работы с Хранилищем и выгрузки в формате EDT.
Полагаю, утилита ibcmd могла бы стать отличной заменой громоздкой связке из 1С:ГитКонвертера + EDT (не требующей к тому же java и клиентских лицензий) для целей:
- перевода существующих разработок в формат EDT
- совместной работы над общим Проектом, команд, ведущих разработку "традиционным методом" в Хранилище и "новаторских" с EDT. Пример такой работы приведен в статье "Постепенный переход на разработку в EDT".
- синхронизации Хранилища с репозиторием Git для целей CI-CD.
К недостаткам выполнения этих операций посредством 1С:ГитКонвертера я бы отнёс:
- необходимость установки Клиента и использование клиентских лицензий
- необходимость установки java
- необходимость установки самой EDT для конвертации XML-EDT
Использование ibcmd позволило бы избавиться от всех этих недостатков, а также гибко управлять процессом скриптами или из сервера сборок.
Также, одним из преимуществ перехода на использование репозитория Git вместо Хранилища, декларируется возможность работы с исходными кодами без использования какой-либо IDE, посредством "любимого текстового редактора". Однако сейчас получается, что для того, чтобы сначала получить из Конфигурации исходные коды, а после доработок собрать из них Конфигурацию, требуется установленная EDT, очень ресурсоемкая, надо сказать. Лишь для того, чтобы один формат XML-файлов привести к другому. Осмелюсь предположить, что выполнение этой задачи посредством ibcmd было бы гораздо более эффективным.
Заключение
Спасибо всем, кто дочитал до конца. Статья получилась значительно больше, чем я предполагал, создавая заготовку. Надеюсь, что я не зря потратил силы и время, и Вы открыли для себя что-то новое.
Database Compression Tool
Инструмент для свертки и сжатия баз данных 1С
Доступна демо-версия с прогнозом результата
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
HighLoad оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бухгалтерский учет Бесплатно (free)
После миграции с MS SQL на PostgreSQL закрытие месяца в 1С:ERP стало идти 8 часов вместо 12 минут. Рассказываем, как мы нашли причину в оценке Hash Join, которую планировщик завышал в миллионы раз, и как исправили её так, что проблемный запрос теперь выполняется за 18 секунд вместо часа.
19.10.2026 957 Tantor 0
Администрирование СУБД Сервера Системный администратор Разработчик 1С:Предприятие 8 Россия Бесплатно (free)
Примеры скриптов для работы с автономным сервером (ibsrv).
09.10.2026 1071 hexhoc 6
Администрирование СУБД HighLoad оптимизация Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)
Большинство материалов о компрессии в PostgreSQL отвечают на вопрос «во сколько раз удалось уменьшить базу». Мы предлагаем посмотреть на проблему с другой стороны — какой ценой достигается эта экономия? В статье разбираем архитектурные компромиссы различных подходов к компрессии страниц, объясняем, почему при разработке CSM в Tantor Postgres отказались от погони за максимальным коэффициентом сжатия, и показываем результаты нагрузочных испытаний на реальных базах 1С.
01.10.2026 1452 Tantor 6
DevOps и автоматизация разработки Администрирование СУБД Групповая разработка (Git, хранилище) Разработчик 1С 8.3 Абонемент ($m)
В корпоративных инсталляциях «1С:Предприятие 8.3» под управлением PostgreSQL всё чаще проявляются архитектурные пределы масштабирования: рост числа пользователей, обязательная маркировка, плотный поток API-интеграций и высокая стоимость простоя. Вводная часть цикла разбирает ключевые факторы современной эксплуатационной нагрузки и формирует инженерную методологию эволюционной модернизации без остановки продуктивного контура. Материал основан на практическом кейсе «Торговый контур» и показывает, как определить целевые метрики (p95, MTTR, APDEX), выстроить наблюдаемость, стабилизировать работу кластера и подготовить инфраструктуру к дальнейшему масштабированию. Публикация задаёт фундамент для последующих частей, посвящённых телеметрии, оптимизации PostgreSQL, CI/CD и архитектурному росту.
1 стартмани
10.09.2026 1522 Ninel_S 0
HighLoad оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)
В рамках 18 релиза СУБД Tantor Postgres мы рассказывали об оптимизациях, которые помогают планировщику сделать более точный выбор между Nested Loop и Hash Join. В следующем релизе у нас планируются оптимизации, которые позволят ускорить выполнение как Nested Loop, так и Hash Join. Сегодня мы расскажем об одном из таких методов - фильтре Блума.
31.08.2026 6120 Tantor 3
Администрирование СУБД Системный администратор Разработчик 1С 8.3 Бесплатно (free)
Мы подготовили для сообщества Infostart.ru практическое занятие, в котором каждый желающий сможет: научиться собирать реальные данные о процессах кластера 1С; выявлять «перестарков» — процессы старше периода и без соединений; выполнять безопасный перезапуск (с dry-run и подтверждением); настраивать автоматическую проверку через systemd на Linux; отправлять уведомления (Telegram, почта) при обнаружении проблем; работать с логами, ротацией, профилями кластеров и конфигурацией; развернуть полноценный учебный проект AdminClusterMonitor у себя в тестовой среде.
30.08.2026 1732 Ninel_S 2
Администрирование СУБД Системный администратор 1С:Предприятие 8 Бесплатно (free)
На infostart.ru вышел разбор Ивана Недомолкова «Сервер 1С падает: настройка сбора дампов (logcfg.xml), лимиты памяти и передача дампа в поддержку» - это хорошая инструкция, как ловить и разбирать падение rphost постфактум: logcfg.xml, procdump, анализ дампа. Но там нет ответа на вопрос «а почему кластер вообще прибил процесс сам, ещё до всякого краша». Мы дополняем разбор тремя сводными таблицами лимитов памяти и автомасштабирования кластера - и заодно фиксируем, чем в этой части лицензия ПРОФ урезана относительно КОРП.
12.08.2026 2381 Ninel_S 5
Администрирование СУБД Системный администратор Разработчик Бесплатно (free)
5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.
11.08.2026 3407 jul.dolganova 9
Это получается, что разработчики огромную дыру в безопасности сотворили, позволяя выгружать базу данных без авторизации.
Интересно, какие библиотеки требуются для работы инструмента, возможно ли создать portable-версию?
Нет, немного не так. Нет авторизации в информационной базе. Но есть авторизация СУБД. Т.е. выгрузить базу без соответствующих прав не выйдет.
Используются те же dll, что и "обычным" кластером. Если собрать в папку все используемые библиотеки, должно работать. Я пробовал, но не довёл эксперимент до конца. Некоторые функции у меня работали. А некоторые - нет. Причем уже без явной ругани что не хватает такой-то библиотеки.
Было актуально до версии 8.3.18.1741. Использую ibcmd с целью автоматизированной выгрузки dt для программистов. Обнаружил, что после обновления с 8.3.18.1563 до 8.3.18.1741 инструмент перестал работать. В ходе анализа обнаружил параметры:
## --user=<name> | -u <name>
## Имя пользователя информационной базы
## --password=<password> | -P <password>
## Пароль пользователя информационной базы
Итоговый рабочий вариант выгрузки:
>ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 --user=<name> --password=<password> "%tmp%\sb_demo.dt"
По описанию АПИ (ком.строка, файл настройки) очень похож на наш, уже давно существующий, vanessa-runner, использующий штатные средства Конфигуратора/Предприятия.
Хорошо бы, чтобы утилита ibcmd научилась работать не только с Автономным сервером )
Тогда будет счастье.
ЗЫ Апдейт - я неверно понял, оказывается, эта утилита уже работает не только с автономным сервером. Это радует!
Артур, так я об этом и пишу. Она как раз и работает не только с автономным сервером, но и независимо.
Как раз для ваших инструментов и отличная замена пакетному режиму.
По крайней мере, я думаю что работа с Храном будет. И Gitsync, deployk-у можно будет педелать на использование ibcmd.
Остается конечно проблема с запуском обработчиков обновления. Это без клиента никак сейчас не сделать.
Хотя, вот есть ведь у Платформы сейчас служебное фоновое задание UpdateConfigurationLicense, запускаемое после обновления БД.
Думаю, что нет технических препятствий (для разработчиков Платформы) к реализации выполнения обработчиков обновления полностью фоново, без запуска клиента. Но это, как говорится, уже отдельный разговор.
я вероятно не понял Вашего вопроса. А для чего фоном и службой?
А насчет запуска как службы произвольного консольного приложения или даже скрипта PowerShell, со временем будет заметка. Лежит у меня в черновиках, про отслеживание изменений каталога Хранилища с целью запуска синхронизации по событию, а не по расписанию.
Максим, Вы в ветке про ibsrv этот комментарий продублируйте, пожалуйста, чтобы он был в контексте. Думаю, кому-то Ваш опыт поможет.
Подключаемое оборудование работает на клиенте и, я думаю, вариант взаимодействия клиента с сервером на нем никаким образом не может сказываться. На практике еще не проверял, нет под рукой сейчас ничего из подключаемого.
А если работать через конфигуратор, то не ГитКонвертер, ни Gitsync без локального ключа не заработает на сервере?
Некоторое время назад, когда для одного из проектов делал синхронизацию Хранилища с Git-ом, еще на "старой" версии 2.4.3 GitSync, как раз столкнулся с проблемой что невозможно было запустить пакетный режим для автоматически создаваемой временной файловой базы, т.к. лицензии раздавались сервером. В тот раз мне пришлось немного "допилить" GitSync, чтобы он мог использовать в качестве временной существующую серверную базу.
Сейчас, "новый" GitSync версии 3.0 позволяет использовать серверную базу в качестве временной. Я писал о новом GitSync .
И добавляли памаяти, и камней ему подкивали - результат один. До чтения логов, конечно, дело не дошло :) наткнулся на эту утилиту. И сразу появился вопрос: почему нельзя было сделать такое сразу, ибо как описано в статье - конфигуратор выглядит как кастыли.
И да. Хорошая статья. Нового узнал немного, но убедился в том, что движусь в правильном направлении :)
- время заданий отображается -3 часа (utc), при этом время создаваемых документов корректно.
- не работает запуск по расписанию. какие-то задания стартуют только при запуске сервера.
- заведомо рабочее расписание (каждый день, каждые 60 секунд) просто не работает. запуск вручную работает.
все это и в файловом и в mssql вариантах подключения одинаково не работает.
schedule-jobs: allow
Более того, в тексте есть фраза:
Тем не менее, в последнее время автор очень активно использует этот способ для выгрузки CF-файлов Конфигурации, когда Конфигуратор занят кем-то, а также выгрузки DT-шников для тестовых и разработочных баз.
Нарушения логической целостности чего? Если рабочей БД, тогда прошу пояснений. Если выгруженного дт-шника, тогда это вполне нормально.
ibcmd.exe infobase dump --db-path="C:\Test\1c\WHS2" path="C:\Test\1c\WHS2.dt"
Утилита сообщила, что успешно выгрузила.
Однако файл "C:\Test\1c\WHS2.dt" отсутствует.
Я предположил, что требуется авторизация, но аналогичная ситуация с базой t1, в которой отсутствуют пользователи.
Сделано по инструкции и не работает.
Потом я ввел такую команду:
ibcmd.exe infobase dump --db-path="C:\Test\1c\t1" "C:\Test\1c\t1.dt"
И заработало.
И аналогично сработало для базы с пользователями:
ibcmd.exe infobase dump --db-path="C:\Test\1c\WHS2" "C:\Test\1c\WHS2.dt"
Вопрос к пользователям ibcmd, никто не сталкивался с такой ситуацией:
Платформа 8.3.18.1289
Окружение такое: полностью типовая демо-база УНФ (пробовал аналогично и на БП)
никаких расширений в ней нет
СУБД Postgres,
СУБД и сервер приложений 1С под управлением серверной Ubuntu 20.04.2
Пытаюсь при помощи ibcmd загрузить в базу небольшое расширение TestExt.cfe
Команда:
ibcmd infobase config load --config=./test.yml -e TestExt --force ./TestExt.cfeПолучаю ошибку:
[ INFO] Загрузка конфигурации...
[FATAL] Попытка получения неинициализированного значения параметра сеансаРасширение не загружается.
Создаю пустую базу и то же расширение аналогичной командой в нее успешно загружается.
В демо-базу БП аналогично загрузить расширение не удается, такая же ошибка.
С чем может быть связано, куда копать?
По фразе "Попытка получения неинициализированного значения параметра сеанса" выглядит так, как будто какой-то чуть ли ни рантайм самой конфигурации отрабатывает, но это же не должно ведь происходить.
В другом окружении пока не имею возможности проверить.
Пробуем применять у себя для автоматизации некоторых операций. Столкнулись со странным недочетом при работе с расширениями.
Логично предположить, что речь о командах save, load, export и import.
У нас успешно работают export и import, но не работает save.
/opt/1cv8/x86_64/8.3.18.1483/ibcmd infobase create --create-database --db-path=/opt/123/demo_db
/opt/1cv8/x86_64/8.3.18.1483/ibcmd infobase config import --db-path=/opt/123/demo_db --extension=extension 123/edi1c83/src
/opt/1cv8/x86_64/8.3.18.1483/ibcmd infobase config save --db-path=/opt/123/demo_db --extension=extension 123/extension.cfe
[ INFO] Exporting configuration to file...
[FATAL] Incompatible configuration storage modes
Сообщение о фатальной ошибке возникает при добавлении ключа --extension.
Кто-то сталкивался с подобным? Есть идеи, почему так и что можно сделать?
D:\DT>ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=Storage2020 --db-user=sa --db-pwd=sa --data=d:\dt d:\dt\1.dt
Неправильный путь к файлу 'd:\dt\1.dt'. Схема не зарегистрирована
Сработал следующий вариант(появились параметры user и password)
ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=TEMP --db-user=sa --db-pwd=sa --user=*** --password=*** --data=d:\dt d:\dt\1.dt
В 8.3.20.1549 уже требуется. Причём аппаратный серверный ХАСП она не видит в упор (сервер работает нормально), в результате чего оказывается неработоспособной.
Печальная новость.
Предположу, что можно продолжить всё делать утилитой старой версии.
Допустим, у вас установлены платформы версий 8.3.20.XXXX, 8.3.16.XXXX. Для работы конфигурации требуется 8.3.20. Но это не мешает утилитой ibcmd из версии 8.3.16 делать выгрузки-загрузки и другие действия. Без лицензий и авторизаций, введенных в 8.3.20.
Мешает. Проверено. Если попытаться сделать выгрузку утилитой из комплекта платформы, версия которой ниже, чем требуется для работы конфигурации, то операция прервётся с ошибкой.
Здесь, кстати, может быть другая причина. В RDP-сессии запускаете? Хаспы в RDP не видны. Видны только в "нулевой" сессии.
Учитывая, что 99,9% серверов стоят без монитора/клавы/мыши, могли бы предусмотреть сей косяк.
Тут "косяк" не столько 1С-ный, сколько драйверов HASP.
Пытаюсь выгрузить файлы XML командой:
Но все равно требует указать логин и пароль ИБ, у Вас нормально отрабатывает? запрашивается логин и пароль тоже, даже если указан?
для команд config extension есть баг - авторизация всегда запрашивается, коллеги из 1С подтвердили.
для команды import вроде бы не было проблем, но мы на всякий случай всегда передаем логин и пароль
Исправьте пож-та статью:
Платформа 8.3.18.1520 авторизацию в базе при выгрузки не требовала, перешел на 8.3.18.1689
утилита стала требовать авторизацию в базе...
А как ?
Платформа 8.3.19.1726, ИБ типовая Бухгалтерия 3.0
Очистил ИБ с помощью clear.
Затем при restore запрашивается имя/пароль пользователя:
"Для выполнения операции требуется аутентификация в информационной базе"
В соответствующих параметрах были указаны имя/пароль, которые есть в ИБ в dt.
Имя - администратор, пароль - простой из 1 цифры.
Потому что ИБ после очистки "девственная".
Но "Идентификация пользователя не выполнена"
В чем прикол ?
>ibcmd infobase config export --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo_export"
Не получается ответ вот такой:
D:\trash\DELETE_ME>"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export --db-path=D:/trash/DELETE_ME objects --data=D:/trash/DELETE_ME/TMP D:/trash/DELETE_ME/D_ME_OUT
Не указано значение параметра: Путь к каталогу или архиву для экспорта выбранных объектовПочитав мануалы получилось выгружать отдельно выбранные объекты:
D:\trash\DELETE_ME>"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export --db-path=D:/trash/DELETE_ME objects --out=D:/trash/DELETE_ME/D_ME_OUT --data=D:/trash/DELETE_ME/TMP Справочник.Валюты
[INFO] Экспорт объектов конфигурации в XML...
[INFO] Экспорт объектов конфигурации в XML успешно завершен
Однако вот как выгрузить всё - ума не приложу пробовал подставлять в качестве параметра Objects разные варианты: All,Все,Configuration,Конфигурация, root но оказался не понятым утилитой:
D:\trash\DELETE_ME>"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export --db-path=D:/trash/DELETE_ME objects --out=D:/trash/DELETE_ME/D_ME_OUT --data=D:/trash/DELETE_ME/TMP root
[INFO] Экспорт объектов конфигурации в XML...
[ERROR] Операция невозможна, при выполнени экспорта объектов конфигурации в XML обнаружены ошибки:
root не является именем объекта метаданных или свойства.
Если не указывать последний параметр совсем - просто висит 24 мб с нулевой активностью процессора. видимо ожидает чего то от меня ...
Кому то удалось победить подобную задачу?
Пока получается только через файл конфигурации так:
"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" server config init --db-path=W:/t/DELETE_ME --base=/webAccess > W:/t/DELETE_ME/config.yml
"c:\program files\1cv8\8.3.20.1838\bin\ibcmd.exe" infobase config export -c W:/t/DELETE_ME/config.yml W:/trash/DELETE_ME/D_ME_OUT --data=W:/t/DELETE_ME/TMPВ один проход ну никак.
Свойства основной конфигурации без выгрузки остальных объектов метаданных можно выгрузить таким образом (база файловая, пользователей нет):
C:\"Program Files"\1cv8\8.3.20.1996\bin\ibcmd infobase config export objects Configuration --db-path="E:\1C\ФайловыеБазы\ERP_2_5_12_107" --out="E:\1C\XML_ERP_2512107"
Каталог выгрузки при этом создается автоматически. В него выгружается Configuration.xml и создается каталог Ext с конфигурацией поставщика и т.п.
А вот таким неочевидным образом можно выгрузить конфигурацию поставщика с .cf и ParentConfigurations.bin файлом:
C:\"Program Files"\1cv8\8.3.20.1996\bin\ibcmd infobase config export objects Configuration.ParentConfigurations --db-path="E:\1C\ФайловыеБазы\ERP_2_5_8_410_2_5_12_107" --out="E:\1C\XML_ERP_2512107""C:\"Program Files"\1cv8\8.3.20.1996\bin\ibcmd infobase config export objects Configuration.ParentConfigurations Роль.ПолныеПрава --db-path="E:\1C\ФайловыеБазы\ERP_2_5_12_107" --out="E:\1C\XML_ПолныеПрава"
Стоит сделать одну ВАЖНУЮ ремарку - выгружается конфигурация Базы Данных, а не сохраненная конфигурация!
При дампе БД в версии 8.3.20 выдает ошибку об отсутствующем параметре --data:
/opt/1cv8/x86_64/8.3.20.1914/ibcmd infobase dump --dbms=PostgreSQL --db-server=1c-sql --db-user=postgres --db-pwd=PASSWORD --db-name=DN_NAME test.dt --user=USER --password="PASSWORD"
Missing parameter value: data
На сайте ИТС не нашел ответ.
С 8.3.19 не было. Хэлп )
ibcmd infobase config load - это аналог пункту конфигуратора "Конфигурация -> Загрузить конфигурацию из файла..". Там ведь не проверяется, можно ли изменять конфигурацию и т.д. Она просто целиком заменяется. По сути, там полностью заменяется содержимое таблицы Config в СУБД.
Попутные соображения:
В конфигураторе пункт "Загрузить конфигурацию из файла" может быть недоступным, если конфигурация подключена к хранилищу. А вот ibcmd, предполагаю, здесь сможет загрузить. Надо будет проверить.
На новом сервере восстановил базу
/opt/1cv8/x86_64/current/ibcmd infobase create --dbms=PostgreSQL --db-server=/tmp --db-user=postgres --db-name=base --create-database --restore=/backup.base.dt --data=/tmpКак теперь сказать серверу что у него есть база? Учитывая что у меня под рукой только сервер линукс без графической оболочки.
Догадываюсь что можно руками в папке /home/usr1cv8/ какой-то файл поправить, но какой и как?
А командой можно? Или я ключ при восстановлении пропустил?
Платформа 8.3.21.1393, сервер OEL 8.6 с uek ядром.
Сам-же отвечаю сообщил серверу через ras
Узнали id кластера
/opt/1cv8/x86_64/current/rac cluster listСоздали базу.
/opt/1cv8/x86_64/current/rac infobase --cluster=id_claster_длинный_номер create --create-database --name=base --dbms=PostgreSQL --db-server=/tmp --db-name=base --locale=ru --db-user=postgres --license-distribution=allowЕсли кто знает еще способы, то пишите.
Аргументы --user=ПОЛЬЗОВАТЕЛЬ и --password=ПАРОЛЬ к команде.
Где нашёл, да вот тут% ibcmd infobase help
Спасибо! А можно подробности, если вам не сложно? Насколько быстрее? Какие проблемы с параллельной работой?
Вот ниже, например, коллега написал, что есть заморочки, когда хочется загрузить dt сразу в несколько баз одновременно.
для параллельной работы надо задавать свой каталог (IBCMD_DATA_PATH) для каждого задания, пример
ibcmd infobase config save --data="${IBCMD_DATA_PATH}" --db-path=${1C_PATH_TEMP_BD} ${1C_SRC_CF}
создание cf - 8 минут через vrunner и 1 минута через ibcmd
загрузка конфигурации 8 - 2
обновление 5 - 1,5
С версии 8.3.22.1709 при попытке выгрузить ИБ 8.2 появилась ошибка:
"Недопустимое имя объекта V8USERPWDPLCS"
Соответственно база не выгружается. Что это значит и как можно поправить?
На партнерском форуме упоминание V8USERPWDPLCS есть в посте об ошибке, и текст ошибки говорит о том, что это имя таблицы:
Среди таблиц СУБД Платформы до 8.3.22 такой нет. Я предполагаю что в Платформе версии 8.3.22 внесены изменения в структуру таблиц хранения.
База у вас скорее всего не реорганизована на новую структуру. Тут либо базу реорганизовать можно попробовать. Либо выгрузку делать утилитой из прежней версии Платформы.
В нём указывается не сервер/порт агента сервера 1С (процесса ragent, который стандартно работает на порту 1540).
Сюда нужно указывать сервер, где у вас крутится СУБД. И, если вдруг СУБД не на стандартном порту, то, как обычно, порт указывается через двоеточие от имени сервера. Например --db-server=mysubdserver:5543
чисто из любопытства, откуда взята информация об этом ключе... на ИТС в документациях про автономный сервер не нашел его описания... смотрел описание 8.3.14 и 8.3.23 платформы
>ibcmd infobase dump --db-server=localhost --dbms=MSSQLServer --db-name=sb_demo --db-user=test_db_user --db-pwd=test_pwd_123 "%tmp%\sb_demo.dt"
кто-то пробовал выгружать dt-файл? потому что у меня не выгружается на 21 и 23 - платформах. В указанной папке создаются папки и файлы, но самого архивного dt-файла нет... Может чего не так делаю?!
Поддерживаемые режимы:
help Отображение справочной информации для указанного режима.
server Режим настройки автономного сервера
infobase Режим управления информационной базой
session Режим администрирования сеансов информационных баз
lock Режим администрирования блокировокСтало быть до 8.3.23 все операции по экспорту происходят с конфигурацией БАЗЫ ДАННЫХ, а не сохраненной. Никакого ключа staging при этом нет, т.ч. непонятно как работать с сохраненной.
1 Подскажите работает выгрузка XML?
PS C:\Program Files\1cv8\8.3.23.1782\bin> .\ibcmd config export --db-server=localhost --dbms=MSSQLServer --db-name=1С_UT_Compile2 "C:\_DISTRIB\1C\РелизыУТ\test\UT"
[INFO] Экспорт конфигурации в XML...
[ERROR] Операция невозможна, при выполнени экспорта конфигурации в XML обнаружены ошибки: Ошибка совместного доступа к файлу 'C:\_DISTRIB\1C\РелизыУТ\test\UT\Ext\ParentConfigurations\УправлениеТорговлей.cf'. 32(0x00000020): The process cannot access the file because it is being used by another process.
2 CF Выгружается полноценно с конфигурациями поставщика?
.\ibcmd infobase config save --db-server=localhost --dbms=MSSQLServer --db-name=1С_UT_Compile2 C:\_DISTRIB\1C\РелизыУТ\test\sb_demo.cf"
У меня только выгружается конфигурация без поставки. Может проблема как в xml Но ошибок нет
.\ibcmd infobase config import --db-server=localhost --dbms=MSSQLServer --db-name=1С_UT_Compile2 "C:\_AzureDevopsAgent1C\_work\1\s\UT"
Полноценно работает только вариант с загрузкой в файловую базу и потом выгрузкой собранного CF
.\ibcmd infobase create --db-path="E:\ТестовыйТом1СДляФайлов\nnn" --import="C:\_AzureDevopsAgent1C\_work\1\s\UT"
При попытке загрузить dt в существующую базу,
получаю ошибку :
скрытый текст |
|---|
| Ошибка загрузки информационной базы. В информационную базу загружены не все данные
Ошибка при попытке вставки записи с неуникальным значением ссылки. Microsoft SQL Server Native Client 11.0: Нарушено "PK___Referen__AC8ED0C4F3AF865C" ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект "dbo._Reference200". Повторяющееся значение ключа: (0x83c21323ec52dbbb44ddc068d7ecc1e9). HRESULT=80004005, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2627, line=1 кто нибудь сталкивался ? |
"[WARN] Ошибка загрузки компоненты dbeng8:"
Например, строка
./ibcmd infobase create --dbms=PostgreSQL --db-server=srv-sql-10 --db-name=Test --db-user=usr1cv8 --db-pwd=p****** --create-database
Выполняю действия в консоли ОС РедОС - сервер приложений 1С 8.3.23.2040.
Может у кого встречалась ошибка? Весь инет облазил :(
На партнерском форуме по этой ошибке (правда вне отношения к ibcmd) вот здесь писали:
./setup-full-8.3.23.2040-x86_64.run --mode unattended --disable-components client_full --enable-components ru,server,server_admin,liberica_jre
Оказывается, в этом случае компоненты dbeng8 нет в каталоге с системой (/opt/1cv8/x86_64/8.3.23.2040)
В результате взял ПК с установленной клиентской частью 1С на РедОС и просто скопировал с него три файла
dbeng8.so
dbeng8_root.res
dbeng8_ru.res
Сразу заработало.
Вывод: либо устанавливать сразу с клиентской частью (для серверов не рекомендуется), либо копировать три файлика с того ПК, где есть клиент 1С.
Сам рисунок остается, но без объекта.
И соответственно, ШК не печатаются, если накатить выгруженные файлы обратно на базу.
Может кто сталкивался, и знает как решить проблему?
Операция невозможна: конфигурация находится на поддержке без возможности редактирования
Рейтинг: 1063
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 1168516
Создание 21.12.19 11:00
Обновление 15.12.21 13:28
Просмотры 69383
Загрузки 0
Рейтинг
217
Комментарии 113
Код открыт Да
Рубрики Администрирование СУБД
Кому
Системный администратор
,
Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)