Платформа
Всё, на чём стоит раннер, платформа описала сама. Здесь собраны её утверждения, по одному на строку, и рядом — что из каждого следует для нас. Каждая строка ведёт в раздел документации на ИТС.
Читать подряд не обязательно. Страницы Трудности, Исходники и CLI ссылаются сюда по номеру тезиса.
- Что такое информационная база
- Выгрузка и загрузка в файлы
- Расширения
- Поставка, поддержка, хранилище
- Варианты работы и компоненты
- Конфигуратор и клиент: командная строка 1cv8
- Режим агента Конфигуратора
- ibcmd
- EDT и 1cedtcli
Что такое информационная база
Три конфигурации внутри одной базы и одно число, по которому видно, менялась ли она.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 1 | В информационной базе хранятся минимум две конфигурации: основная, которую правят, и конфигурация базы данных, с которой работают пользователи. Рядом лежат сама база данных и служебные сведения. | У раннера две точки назначения внутри одной базы: отправить в основную конфигурацию и привести к ней базу данных. | РР 1.4.1 |
| 2 | Объекты конфигурации базы данных доступны только для чтения. Все правки идут в основную конфигурацию. | Отправка исходников всегда адресована основной конфигурации. | РР 2.14.1 |
| 3 | Приведение базы данных к основной конфигурации — отдельная операция «обновление конфигурации базы данных». Ей нужен монопольный доступ к базе. | Отправка и применение разведены. Применение можно отложить до окна обслуживания. | РР 2.14.2 |
| 4 | Если монопольный доступ занят, у Конфигуратора три исхода: ошибка блокировки, завершение сеансов с повтором, динамическое обновление. В пакетном режиме поведение при занятых сеансах задаёт ключ -SessionTerminate, по умолчанию сеансы не трогают. | Исход применения — часть ответа. Сбоем он не считается. Разрешение завершать чужие сеансы даёт вызывающий. | РР 2.14.2.2 РА 7.4.4 /UpdateDBCfg |
| 5 | В файловом варианте сеансы, подключённые не через веб-сервер, Конфигуратор завершить не может и выдаёт ошибку блокировки. Сеансы через веб-сервер он предлагает завершить, кроме веб-сервера с аутентификацией. | У файловой базы нет сервера, который ведёт сеансы. Завершить там можно только веб-сеансы и только в момент применения. | РР 2.14.2 РР 2.14.2.2.2 |
| 6 | После динамического обновления работающие сеансы остаются на прежней конфигурации до перезапуска. | «Обновлено динамически» — отдельное состояние базы, которое надо показывать. | РР 2.14.2.2.3 |
| 7 | Изменения основной конфигурации можно отбросить, вернувшись к конфигурации базы данных. | У базы есть своё непринятое. Его можно потерять, и его можно откатить. | РР 2.14.6 РА 7.4.4 /RollbackCfg РА ibcmd config reset |
| 8 | Сравнение конфигураций различает источники: основная конфигурация, конфигурация базы данных, конфигурация поставщика, конфигурация расширения, конфигурация расширения из базы данных и файл .cf или .cfe. | У каждого расширения своя пара «основная ↔ база данных», такая же, как у конфигурации. | РА 7.4.4 /CompareCfg РР 2.14.5 |
| 9 | Если конфигурация стоит на поддержке, в базе всегда хранится и конфигурация поставщика. | Третья конфигурация в базе существует только для чтения и сравнения. | РР 2.5 |
| 10 | В сравнении конфигурация поставщика указывается по имени: параметр -FirstName для типа VendorConfiguration. | Конфигураций поставщика у базы бывает несколько, и ссылка на поставщика всегда именована. | РА 7.4.4 /CompareCfg |
| 11 | Загрузка конфигурации из файла .cf полностью заменяет текущую конфигурацию. Конфигуратор предупреждает: изменённая конфигурация будет потеряна. | Загрузка пакета уничтожает непринятое в основной конфигурации. | РР 2.6 РР 36.15 |
| 12 | Основную конфигурацию и конфигурацию базы данных можно сохранить в файл .cf или .cfe, расширение — по имени. | Пакет можно получить прямо из базы, без исходников. | РР 2.5 РР 2.14.4 РА 7.4.4 /DumpCfg, /DumpDBCfg РА ibcmd config save |
| 13 | Идентификатор поколения меняется при любом изменении конфигурации. Сравнивать его можно только на «равно / не равно». У пустой базы он состоит из сорока нулей. Конфигуратору для ответа нужен ключ /Out. | Вопрос «менялась ли база» стоит секунду и не требует выгрузки. Сорок нулей означают пустую базу и памятью о базе не становятся. | РА 7.4.4 /GetConfigGenerationID РА ibcmd generation-id |
| 14 | «Сохранение в файл идентификатора конфигурации» — служебная команда механизма лицензирования. | Это не поколение. Имена похожи, предметы разные. | РР 2.24 |
Выгрузка и загрузка в файлы
Как конфигурация становится каталогом XML и что при этом помнит платформа.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 15 | Все объекты конфигурации выгружаются в XML-файлы, главный из них — Configuration.xml. Форматов два: иерархический и линейный. Из Конфигуратора доступен только иерархический, линейный устарел. | Исходники раннера — иерархическая выгрузка. | РР 2.17.1 РР 2.17.4 |
| 16 | Вместе с выгрузкой платформа пишет файл версий ConfigDumpInfo.xml: полное имя объекта, его внутренний идентификатор и «версию». Значения id и configVersion документация называет магическими числами, не предназначенными для внешнего использования. | Файл версий читает только платформа. Раннер его не разбирает и не вычисляет. | РА Прил. 3, 3.18 |
| 17 | Повторная выгрузка в тот же каталог выгружает только объекты, у которых изменилась версия. Если файла версий в каталоге нет, выполняется полная выгрузка. | Работа по изменившемуся держится на файле версий, лежащем в каталоге исходников. | РР 2.17.4 |
| 18 | Полная выгрузка выполняется принудительно при переименовании конфигурации, переименовании или удалении объекта, изменении предопределённых данных или диаграммы бизнес-процесса. | Быстрая выгрузка может стать полной без предупреждения, и это штатное поведение. | РР 2.17.4 |
| 19 | В пакетном режиме ключ -update требует файл версий и совпадение версии формата, иначе ошибка. Ключ -force переводит в полную выгрузку только при несовпадении версии формата. | Отсутствие файла версий — отказ, который ключом не лечится. | РА 7.4.4 /DumpConfigToFiles |
| 20 | Ключ -getChanges перечисляет изменения конфигурации относительно файла версий. Ключ -configDumpInfoForChanges берёт файл версий со стороны, но требует пустого каталога выгрузки. | Платформа умеет назвать, что изменилось, но не в рабочий каталог. | РА 7.4.4 /DumpConfigToFiles |
| 21 | Ключ -configDumpInfoOnly формирует только файл версий. | Файл версий можно получить отдельно, но он опишет базу такой, какая она сейчас. | РА 7.4.4 /DumpConfigToFiles |
| 22 | Версия формата привязана к версии платформы: 8.3.27 пишет 2.20. Выгрузка всегда идёт в формате своей платформы. Загрузка возможна только из формата не новее платформы. | Версия формата — дешёвый признак совместимости, который виден до запуска платформы. | РР 2.17.2 |
| 23 | Полная загрузка полностью заменяет основную конфигурацию. Для конфигурации под хранилищем полная загрузка недоступна, на поддержке — только при включённой возможности изменений. | Полная отправка в базу под хранилищем или на полной поддержке невозможна по устройству платформы. | РР 2.17.5.2 |
| 24 | Частичная загрузка возможна только через /LoadConfigFromFiles. Объекты сопоставляются по полному имени и идентификатору. При ошибке платформа возвращается к последней сохранённой основной конфигурации, несохранённое теряется. С несколькими расширениями частичная загрузка не поддерживается. | Частичная отправка — только пакетный режим, и при ошибке она стирает непринятое. | РР 2.17.5.3 |
| 25 | При загрузке из XML платформа не проверяет корректность настроек поддержки. | Загрузка не защищает от порчи поддержки. Ответственность на вызывающем. | РР 2.17.5.1 |
| 26 | Ключ -updateConfigDumpInfo после загрузки создаёт или обновляет файл версий в каталоге. | Загрузка тоже пишет в каталог исходников. | РА 7.4.4 /LoadConfigFromFiles |
| 27 | Выгрузку и загрузку можно вести через zip-архив с той же структурой. Выгрузку можно выполнять на сервере несколькими фоновыми заданиями. | Обмен с удалённой базой может идти одним файлом. | РР 2.17.4 РА 7.4.4 |
| 28 | Отдельный механизм выгружает и загружает файлы свойств: модули, макеты, справку, права. | Это не исходники конфигурации. Форматом раннера они не являются. | РР 2.16 |
| 29 | Утилита ibcmd работает только с иерархическим форматом. Команда export --sync обновляет выгрузку, если совпали идентификатор корневого объекта и версия формата. Команда export status показывает расхождение базы и каталога. Команда export info формирует файл версий. Ключ --base задаёт файл версий со стороны. | У ibcmd есть то, чего нет у Конфигуратора: статус без выгрузки и файл версий со стороны. | РА 4.10.4.7.8 РА 7.4.13 |
| 30 | Команда ibcmd import с ключом --out записывает импортируемую конфигурацию, внешнюю обработку или отчёт в файл; для внешних обработок и отчётов ключ обязателен. Команда export с ключом --file читает .cf, .cfe, .epf и .erf. | Исходники собираются в пакет и разбираются из пакета без информационной базы. | РА 4.10.4.7.9 РА 4.10.4.7.8 |
| 31 | Режим ibcmd config полностью эквивалентен режиму ibcmd infobase config по списку команд и параметрам. | Команды режима config — тот же набор, что и у базы. | РА 4.10.5 |
Расширения
Расширение — отдельный предмет со своими исходниками, своим именем в базе и своей парой конфигураций.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 32 | Расширение — набор объектов метаданных, подключаемых к основной (расширяемой) конфигурации. Объекты бывают заимствованные и собственные. | Расширение — отдельный набор исходников. | РР 30.1.1 |
| 33 | Объекты сопоставляются по имени. Переименование объекта в основной конфигурации делает подключение расширения невозможным. | Имя объекта — контракт между конфигурацией и расширением. | РР 30.1.2 |
| 34 | У расширения есть назначение: исправление, адаптация или дополнение. Подключаются расширения в этом порядке. | Назначение задаётся при создании и в исходниках расширения не лежит. | РР 30.1.2 РР 30.7.1 |
| 35 | При создании задаются имя, синоним и префикс имён; префикс добавляется к новым объектам. В ibcmd это --name, --name-prefix и --purpose. | Чтобы завести расширение до загрузки, платформе нужны имя, префикс и назначение. | РР 30.2.1.2 РА ibcmd extension create |
| 36 | Корневой файл выгрузки Configuration.xml содержит свойства самой конфигурации. Имя, префикс имён и назначение — свойства расширения, и в выгрузке они лежат там же. | Имя расширения в базе, его префикс и назначение раннер читает из Configuration.xml. Объявлять их отдельно не нужно. | РР 2.17.1 РР 30.4.1 |
| 37 | Имена расширений и всех их объектов уникальны в результирующей конфигурации. Одно расширение подключается в базе в одном экземпляре. | Имя расширения в базе — идентификатор ссылки. | РР 30.1.3 |
| 38 | Расширение сохраняется в файл .cfe и этим файлом подключается к базе. | Пакет расширения — .cfe. | РР 30.2.1.3 |
| 39 | Команды /LoadCfg и /LoadConfigFromFiles с ключом -Extension создают отсутствующее расширение с указанным именем. | Первая отправка заводит расширение сама. | РА 7.4.4 |
| 40 | Загрузка расширения в основную конфигурацию и основной конфигурации в расширение не поддерживается. Сравнение и объединение их между собой — тоже. | Ссылки не смешиваются. | РА 7.4.4 РР 36.1 |
| 41 | У расширения своя конфигурация базы данных: /UpdateDBCfg, /RollbackCfg и /DumpDBCfg принимают -Extension. | Применение делается для каждой ссылки отдельно. | РА 7.4.4 |
| 42 | Расширение, расширяющее данные, удаляется в два шага: отключить, затем удалить. Таблицы его данных удаляются вместе с ним. | Удаление ссылки уносит данные. | РР 30.2.3 РР 30.7.1 |
| 43 | Обновление расширения не меняет его в уже открытых сеансах. | Состояние «до перезапуска сеансов» есть и у расширений. | РР 30.7.1 |
| 44 | Свойства установленного расширения меняются отдельно: активность, безопасный режим, защита от опасных действий, область действия, профиль безопасности. | Это свойства экземпляра в базе. В исходниках их нет. | РА ibcmd extension update |
| 45 | С ключом -Extension пакетный режим возвращает 0 при успехе и 1 иначе. Одновременно -Extension и -AllExtensions указывать нельзя. | У команд с расширением код возврата беднее обычного. | РА 7.4.1 |
| 46 | Команда /DumpDBCfgList выводит имя основной конфигурации, имя указанного расширения или имена всех расширений. | Имена расширений Конфигуратор перечислит и в пакетном режиме. Их свойства читают и меняют только ibcmd и агент. | РА 7.4.4 /DumpDBCfgList |
Поставка, поддержка, хранилище
Что ограничивает загрузку в базу помимо самих исходников.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 47 | Поставка — файл .cf особого вида, обновление — файл .cfu. Поддержка — способность конфигурации обновляться такими файлами средствами Конфигуратора. | Пакет поставщика применяется своим путём, отдельно от отправки исходников. | РР 38.1 |
| 48 | На полной поддержке объекты нельзя редактировать, обновление автоматическое. Включение возможности изменения лишает автоматического обновления. | Режим поддержки решает, что вообще можно загрузить в базу. | РР 38.3.3.1 РР 38.3.3.2 |
| 49 | Команда /MergeCfg объединяет конфигурацию с файлом по файлу настроек, с ключами -EnableSupport и -DisableSupport. Команда /UpdateCfg обновляет конфигурацию поставщика. | «Объединение» у платформы — операция по правилам из файла. Слияния версий в ней нет. | РА 7.4.4 /MergeCfg РА 7.4.6 |
| 50 | Хранилище конфигурации — групповая разработка с захватом объектов. Выгрузку в файлы хранилище не ограничивает. Полная загрузка для конфигурации под хранилищем недоступна, частичная возможна для захваченных объектов; у расширения под хранилищем то же. | С базой под хранилищем раннер работает: выгрузка без ограничений, отправка только частичная по захваченным объектам. Так устроены gitsync и GitConverter. | РР 37.1 РР 2.17.5.2 РР 2.17.5.3 РА 7.4.4 /LoadConfigFromFiles |
Варианты работы и компоненты
Из чего состоит система и как к ней обращаются.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 51 | Компоненты системы: информационная база, клиентское приложение, сервер (кластер серверов), СУБД, веб-сервер. | Ровно с этими компонентами и разговаривает раннер. | РР 1.4.1 |
| 52 | В файловом варианте конфигурация, данные и служебная информация лежат в одном файле 1Cv8.1CD. В клиент-серверном клиент обращается к кластеру, кластер — к СУБД, и клиент не знает, где лежат данные. | Базу адресуют двумя способами: путём к каталогу или адресом кластера с именем базы. | РР 1.4.2.2 РР 1.4.2.3 |
| 53 | Кластер состоит из рабочих серверов. На каждом работают агент ragent, менеджер rmngr и рабочие процессы rphost. Реестр кластера ведёт главный менеджер. | У кластера свои процессы, которыми раннер не управляет. | КС 2.2.1 |
| 54 | Кластер администрируется сервером ras и утилитой rac по порту 1545. Версии кластера и ras должны совпадать. | Администрирование кластера — отдельный канал, вне обмена конфигурацией. | КС 5.3.3 РА 4.13 |
| 55 | Сервер администрирования ras входит в серверные компоненты платформы, работает в любой поддерживаемой ОС как приложение или как служба и запускается командой ras cluster --port=<порт> <хост[:порт]> с адресом агента кластера. К одному кластеру подключаются несколько ras, каждый — к одному агенту; к кластеру ras подключается только на время операции. Версии кластера и ras должны совпадать. | Раннер может поднять ras сам, на своей машине, против агента кластера, и погасить вместе с командой. Для этого нужны серверные компоненты платформы той же версии, что кластер. | КС 5.3.3.1 КС 5.3.3.2 |
| 56 | Консоль кластера показывает сеансы базы и удаляет сеанс: сначала прерывается текущий серверный вызов, затем сеанс завершается. | Сеансы базы в кластере видны и завершаются снаружи, без Конфигуратора. | КС 5.2.11 |
| 57 | У базы в кластере есть блокировка начала сеансов: существующие сеансы продолжают работу, новые не начинаются; код разрешения в параметре /UC или UC строки соединения пропускает вопреки блокировке. Отдельно включается блокировка регламентных заданий. | Окно обслуживания собирается из штатных свойств базы: запретить новые сеансы, завершить старые, применить, разрешить. | КС 5.2.7 |
| 58 | Утилита rac решает те же задачи, что консоль кластера. Состав её команд книга не описывает и отсылает к rac help. | Команды rac — из её справки; сайт цитирует возможности консоли. | КС 5.2.1 КС 5.3.3.1 |
| 59 | У центрального сервера и у каждого кластера свой список администраторов. По умолчанию оба списка пусты, и аутентификации не требуется; если список заполнен, действия с сервером или с кластером выполняют только аутентифицированные администраторы. Свойства базы, включая блокировку сеансов, правят в её свойствах в кластере; rac для этого принимает и учётную запись пользователя базы, что описано только в справке rac. | Учётных данных три уровня: центральный сервер, кластер, база. Раннер просит каждый только для операции, которой он нужен, и отказ называет недостающий. | КС 5.2.4 КС 5.2.8 КС 5.2.7.2 |
| 60 | Автономный сервер ibsrv обслуживает одну базу, содержит встроенный веб-сервер и администрируется утилитой ibcmd. Автономный сервер и утилиту ibcmd нельзя применять к базе, которая в данный момент работает под управлением кластера: это может разрушить базу данных. Сервер ras им не управляет, фоновой реструктуризации нет, линейный формат он не загружает. | Третий вид цели со своим набором ограничений. | РА 7.1 РА 7.2 |
| 61 | У автономного сервера есть SSH-шлюз, работающий как Конфигуратор в режиме агента, с урезанным набором команд. Из группы config: dump-cfg, dump-config-to-files, load-cfg, load-config-from-files, update-db-cfg, generation-id, extensions, manage-cfg-support, sign-cfg и команды мобильных приложений. Из infobase-tools: dump-ib, restore-ib, erase-data, debug-info. Сравнения, проверок, отката и сохранения конфигурации базы данных в наборе нет. Утилите ibcmd по SSH недоступны создание базы и восстановление её целостности. | SSH-шлюз даёт раннеру агентский набор без платформы на его машине. Полный набор Конфигуратора у автономного сервера — по прямому шлюзу. | РА 7.3.5.1.4 |
| 62 | Шлюзы автономного сервера включаются и выключаются: прямой (TCP), HTTP и SSH. По умолчанию все включены. | «Шлюз не отвечает» — состояние настройки сервера. Сеть здесь ни при чём. | РА 7.3.5.2 |
| 63 | Кластер по умолчанию слушает порт 1541 с диапазоном рабочих процессов 1560–1591. Агент кластера отвечает на 1540, сервер администрирования — на 1545. | Адрес кластера в строке соединения — это порт менеджера, по умолчанию 1541. | КС 4.2.1 РА 4.13 |
| 64 | У автономного сервера основной порт 8314, порт SSH 1543, ключ хоста по умолчанию ~/.ssh/id_rsa. | Веб-адрес и SSH-шлюз автономного сервера — два разных порта одного процесса. | РА 4.9 |
| 65 | К автономному серверу клиент подключается так же, как к кластеру: по HTTP или по TCP/IP через прямой шлюз. По TCP/IP работают только тонкий клиент и Конфигуратор — строкой вида /S сервер\имя, где имя совпадает с --name сервера; толстый клиент по TCP/IP не поддерживается. По HTTP подключается любое клиентское приложение: тонкий клиент по /WS http://сервер:8314, веб-клиент — тем же адресом в браузере. Прямой, HTTP и SSH шлюзы включаются и выключаются по отдельности. | У автономного сервера есть и строка подключения Srvr=…;Ref=… — для Конфигуратора и тонкого клиента через прямой шлюз, и веб-адрес, известный сразу. | РА 7.3.4 РА 7.2 РА 7.3.5.2 |
| 66 | Клиентские приложения: тонкий клиент, веб-клиент, мобильный клиент, толстый клиент. | Запуск и тесты идут через тонкого или толстого клиента. Веб-клиент открывается браузером. | РР 1.4.4 |
| 67 | Через веб-сервер к базе обращаются тонкий клиент, веб-клиент и мобильный клиент; толстого клиента в этом списке нет, а обычному приложению доступ через веб-сервер закрыт. Веб-клиент работает только в браузере и запускается адресом опубликованной базы. Параметры ws-соединения — wsn, wsp, настройки прокси — описаны как режим тонкого клиента. | У тонкого клиента два пути к базе: строка подключения и веб-адрес. У веб-клиента один — веб-адрес. У толстого клиента и Конфигуратора один — строка подключения. | РР 1.4.7 РР 1.4.4 РА 7.3.1 РА 7.8 |
| 68 | Строка соединения: File= для файловой базы, Srvr= и Ref= для кластера, ws= для опубликованной базы. | Строка подключения и веб-адрес — разные строки. | РА 7.7 РА 7.3.1 |
| 69 | Публикация регистрирует модуль расширения веб-сервера, заводит виртуальное приложение и файл default.vrd. Версия и разрядность webinst должны совпадать с платформой. Нужны права администратора. | Публикация — действие с правами и версией. В отправку оно не входит. | РА 8.3.1 РА 4.14 |
| 70 | Несколько версий платформы на одной машине — штатная расстановка: программа запуска, каталоги дистрибутивов по версиям, общий конфигурационный файл. | Платформу ищут по версии. Одного пути к ней нет. | РА 2.7 РА Прил. 3, 3.6 |
| 71 | Выгрузка базы в .dt — образ для переноса; документация не рекомендует её как резервную копию. Она требует монопольного доступа. Загрузка из .dt полностью заменяет базу. | Снимок и восстановление — разрушающие операции с монопольным доступом. Резервной копией снимок не считается. | РА 6.7 РА 6.8 |
| 72 | Базу создаёт CREATEINFOBASE со строкой соединения, шаблоном .cf или .dt и результатом в /DumpResult, или команда ibcmd infobase create. | Создать базу умеют и Конфигуратор, и ibcmd; какой из них подходит, решает вид базы. | РА 7.2.3 РА 4.10.4.2 |
| 73 | Клиент-серверная строка CREATEINFOBASE: Srvr и Ref регистрируют базу в кластере; DBMS, DBSrvr, DB, DBUID и DBPwd описывают СУБД; CrSQLDB=Y создаёт базу данных при её отсутствии; SUsr и SPwd — администратор кластера, обязательны, если в кластере заведены администраторы; SchJobDn=Y сразу включает блокировку регламентных заданий. | Базу в кластере создаёт Конфигуратор: одной командой регистрация в кластере и база данных в СУБД. | РА 7.7.4 |
| 74 | Команда ibcmd infobase create создаёт базу для автономного сервера или файловую: --create-database создаёт базу данных, --import собирает конфигурацию из XML-файлов, --load берёт её из .cf, --restore загружает .dt, --apply применяет. О кластере команда не знает. | Для файловой базы ibcmd создаёт базу сразу с конфигурацией из исходников. Регистрировать базу в кластере он не умеет. | РА 4.10.4.2 |
| 75 | Базу автономного сервера создают в автономном режиме ibcmd, до запуска сервера и на его машине: ibcmd server config init готовит конфигурационный файл сервера, ibcmd infobase create создаёт базу, при необходимости сразу с --load из .cf, --import из XML или --restore из .dt. Через работающий сервер создание базы недоступно, а сервер и утилита не могут работать с одним каталогом данных одновременно. | Создание базы автономного сервера — часть его развёртывания, а не команда над работающим сервером. Раннер подключается к уже поднятому шлюзу. | РА 7.3.5.1.2 РА 7.3.5.1.3 РА 7.4.4 РА 7.4.6 |
Конфигуратор и клиент: командная строка 1cv8
Как запускают Конфигуратор и клиента без человека и как читать их ответ.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 76 | Пакетный режим Конфигуратора: режим DESIGNER, общие параметры и одна команда. Команды не сочетаются, если не сказано иначе. Команда /UpdateDBCfg разрешена после /LoadCfg и /LoadConfigFromFiles. | Один процесс — одна операция, с одним исключением: «загрузить и применить». | РА 7.4.1 РА 7.4.4 |
| 77 | Код возврата: 0 — успех, 1 — ошибка, 101 — ошибки в данных. | Код выхода различает сбой и замечания к данным. | РА 7.4.4 /LoadConfigFiles |
| 78 | Ключ /Out пишет служебные сообщения в файл UTF-8 сразу, без буферизации. Ключ /DisableStartupDialogs отключает диалоги и превращает нехватку параметров в ошибку. Ключ /DisableUnrecoverableErrorMessage завершает процесс ненулевым кодом вместо окна. | Журнал платформы читается по ходу. Без человека нужны все три ключа. | РА 7.3.11 |
| 79 | Команда /CheckConfig — централизованная проверка конфигурации: логическая целостность, некорректные ссылки, синтаксический контроль модулей по режимам работы, поставка модулей без исходных текстов, неиспользуемые процедуры, назначенные и пустые обработчики, модальность и синхронные вызовы, ограничения мобильной платформы. Все флаги режимов команды /CheckModules входят в /CheckConfig, у него они те же. | Проверка шире синтаксиса, и делает её одна команда: /CheckConfig. Отдельный /CheckModules раннеру не нужен. | РА 7.4.5 |
| 80 | Команда /CheckCanApplyConfigurationExtensions проверяет применимость расширения к информационной базе с учётом ранее загруженных расширений, для одной области данных или для всех. | Проба совместимости расширения перед установкой — штатная команда Конфигуратора. | РА 7.4.5 /CheckCanApplyConfigurationExtensions |
| 81 | Команда /IBCheckAndRepair — тестирование и исправление информационной базы: реиндексация, логическая и ссылочная целостность, пересчёт итогов, сжатие, реструктуризация таблиц, целостность расширений и хранилища двоичных данных; -TestOnly только проверяет; проверка целостности расширений без других параметров не требует монопольного доступа. | Тестирование и исправление базы — команда Конфигуратора, и обычно ей нужен монопольный доступ. | РА 7.4.5 /IBCheckAndRepair |
| 82 | Утилита административной консоли 1cv8a тестирует и исправляет без Конфигуратора только таблицы узлов планов обмена, хеш-поля таблиц и историю данных. | Быстрый ремонт узкого круга проблем; полноценное тестирование остаётся за Конфигуратором. | РА 4.6 |
| 83 | Автоматизированное тестирование: менеджер тестирования и клиент тестирования, ключи /TestManager и /TestClient, порт 1538. | Тесты Vanessa идут по этому механизму. | РР 31.7.1 РА 7.3.8 |
| 84 | Пакетный режим клиента: без диалогов до конца обработчика ПередНачаломРаботыСистемы; обработка из /Execute выполняется после него; ошибки пишутся в /Out. | YAxUnit запускается клиентом в пакетном режиме. | РА 7.5 |
Режим агента Конфигуратора
Долгоживущая сессия с машинным ответом. На ней стоят исполнитель agent и шлюз автономного сервера.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 85 | В режиме агента Конфигуратор становится SSH- и SFTP-сервером. Один процесс — одна база, один SSH-клиент и несколько SFTP. Ответы приходят текстом или JSON, в конце сообщение success, error, cancel или question. | Долгоживущая сессия с машинным ответом. | РА 4.7 РА 7.4.16 |
| 86 | Агент слушает 127.0.0.1:1543 по умолчанию. Рабочий каталог задаёт /AgentBaseDir, ключ хоста — /AgentSSHHostKey или /AgentSSHHostKeyAuto. | Точку входа агента раннер поднимает сам или подключается к уже поднятой. | РА 7.4.16 |
| 87 | Режим агента — вариант пакетного режима, в котором Конфигуратор выполняет функции SSH- и SFTP-сервера. Один процесс работает с одной базой; для нескольких баз запускают несколько агентов. | Сессия агента живёт на одну базу. Вторая база — второй процесс. | РА 4.7.1 |
| 88 | Схема работы: запуск агента, подключение с удалённого компьютера, обмен файлами по SFTP, команды по SSH. Все команды исполняются синхронно, узнать состояние выполнения нельзя, сообщения такие же, как в пакетном режиме. | Команда в сессии блокирует до конца. Ход выполнения виден только через сообщения прогресса. | РА 4.7.1 |
| 89 | К агенту подключается один клиент по SSH и несколько по SFTP. | Одна командная сессия на процесс. Параллельных команд в одном агенте не бывает. | РА 4.7.1 |
| 90 | Запуск: 1cv8 DESIGNER <база> /AgentMode [параметры агента] [/Visible]. Базу указывают /IBName, /F или /S. Имя пользователя и пароль в командной строке игнорируются, их вводят при подключении. Остальные параметры при /AgentMode тоже игнорируются. | Учётные данные базы передаются в SSH. Флаги пакетного режима агенту не нужны. | РА 4.7.1 |
| 91 | Группы команд: help, common (connect-ib, disconnect-ib, shutdown), options, config, infobase-tools. Команды группы common параметров не имеют. | Сессия устроена как подключиться, работать, отключиться, завершить. | РА 4.7.2 РА 4.7.4 |
| 92 | Настройки сессии: --output-format text или json, --show-prompt yes или no, --notify-progress (по умолчанию no), --notify-progress-interval (по умолчанию 1 секунда, точность 0,1). | Первая команда сессии переводит её в JSON и убирает приглашение. | РА 4.7.5 |
| 93 | Группа config повторяет часть пакетных команд: dump-cfg, dump-config-to-files, load-cfg, load-config-from-files, generation-id, update-db-cfg, manage-cfg-support, sign-cfg, выгрузка и загрузка внешних обработок, команды мобильных приложений, группа extensions. Проверки конфигурации, пробы применимости расширений и тестирования с исправлением в наборе агента нет. | Обмен и применение идут в одной сессии. Проверки и тестирование остаются за пакетным Конфигуратором. | РА 4.7.6 РА 4.7.7 |
| 94 | У dump-config-to-files параметр --dir обязателен; есть --update, --force, --get-changes, --config-dump-info-for-changes, --list-file, --archive, --ignore-unresolved-refs. Параметр --server игнорируется у автономного сервера и у агента с файловой базой. | Выгрузка по изменившемуся доступна и в сессии. Серверная многопоточность есть только у кластера. | РА 4.7.6.3 |
| 95 | У load-config-from-files пути в --files и --list-file задаются только относительно каталога загрузки, абсолютные не поддерживаются. Есть --update-config-dump-info, --no-check, --partial, --archive. | Списки файлов для частичной загрузки раннер пишет относительными путями. | РА 4.7.6.7 |
| 96 | У update-db-cfg есть --dynamic-enable и --dynamic-disable, --session-terminate disable, prompt или force (по умолчанию disable), --session-terminate-message, --prompt-confirmation, фоновые фазы и --server. Если монопольная блокировка невозможна, а динамическое обновление разрешено, агент предлагает выбор: отмена, динамическое обновление, повтор. Список изменённых объектов выводится в консоль. | Применение в сессии отвечает вопросом, когда мешают сеансы. Раннер отвечает на него по разрешению вызывающего, сам не выбирает. | РА 4.7.6.14 |
| 97 | Группа config extensions: create создаёт пустое расширение (--extension и --name-prefix обязательны, --purpose по умолчанию customization, ещё add-on и patch, --synonym); загрузка отдельной командой; delete удаляет одно или все; properties get и set читают и меняют --active, --safe-mode, --security-profile-name, --unsafe-action-protection, --used-in-distributed-infobase, --scope. | Заведение расширения в сессии — два шага: создать, затем загрузить. Свойства у агента есть. | РА 4.7.6.15 |
| 98 | Группа infobase-tools: data-separation-common-attributes-list, debug-info, dump-ib, erase-data, restore-ib. После restore-ib сеанс завершается, SSH-соединение разрывается, агент не перезапускается и ждёт повторного подключения. | Восстановление из .dt рвёт сессию. Раннер подключается заново. | РА 4.7.7 РА restore-ib |
| 99 | В формате JSON сервер всегда возвращает массив сообщений. Поле type: log, success, error, canceled, question, dbstru, loading-issue, progress, extension-info. Поле error-type — закрытый перечень: UnknownError, DesignerNotConnectedToInfoBase, DesignerAlreadyConnectedToInfoBase, CommandFormatError, DBRestructInfo, InfoBaseNotFound, AdministrationAccessRightRequired, ConfigFilesError, DesignerAlreadyStarted, InfoBaseExclusiveLockRequired, LanguageNotFound, ExtensionWithDataIsActive, ExtensionNotFound. Поле message — локализованный текст, body зависит от операции. | Раннер решает по type и error-type. Текст из message переносится как улика. | РА 4.7.8 |
| 100 | Прогресс сообщается только при включённом режиме, в процентах, не чаще заданного интервала и только если изменился. Его поддерживают dump-config-to-files, load-config-from-files, выгрузка и загрузка внешних обработок, dump-cfg, load-cfg, update-db-cfg. | Долгие операции в сессии дают ход выполнения, и раннер может показывать его. | РА 4.7.9 |
| 101 | Рекомендации по SSH-клиенту: не выделять псевдотерминал, кодировка UTF-8, локальное эхо и перевод строки на стороне клиента. | Сессия без псевдотерминала — рекомендация платформы, а не находка стенда. | РА 4.7.10 |
| 102 | Рабочий каталог агента задаёт /AgentBaseDir; он используется для SFTP и для команд выгрузки и загрузки. Файл agentbasedir.json хранит соответствие имени пользователя и его каталога. | Файлы обмена с агентом живут в каталоге пользователя агента, и путь к нему известен. | РА 7.4.16 РА Прил. 3, 3.11 |
ibcmd
Утилита администрирования автономного сервера, которая работает и с файловой базой. Её команды выгрузки и загрузки описаны в разделе про файлы, создание базы — в разделе про компоненты, свойства расширений — в разделе про расширения.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 103 | Утилита ibcmd: режимы infobase, config, extension, session, lock, eventlog. Команда session terminate завершает сеанс. | У ibcmd есть управление сеансами, которого нет у Конфигуратора в пакетном режиме. | РА 4.10 РА 4.10.9 |
| 104 | Команда ibcmd config apply обновляет конфигурацию базы данных с ключами --dynamic и --session-terminate. Команда config check проверяет конфигурацию. Команда config repair завершает или откатывает незавершённую операцию. | «Применить» — собственное имя платформы для обновления базы данных. | РА 4.10.4.7 |
| 105 | В режиме infobase у ibcmd есть create, dump, restore, clear, replicate и группа config: load, save, check, apply, reset, repair, export, import, support, extension, generation-id, sign. Команда config check принимает только --extension и --force, состав проверки не описан. Команда config repair восстанавливает конфигурацию после незавершённой операции. Тестирования и исправления базы и проверки применимости расширений в перечне нет. | Проверка конфигурации, тестирование базы и проба расширения — работа Конфигуратора. ibcmd в цепочку check не входит. | РА 4.10.4 РА config check РА config repair |
EDT и 1cedtcli
Второй формат исходников и его командная строка.
| № | Платформа утверждает | Что из этого следует | Где написано |
|---|---|---|---|
| 106 | Утилита ring модульная. Интерфейс ring для EDT не поддерживается с версии 2024.1. | EDT вызывается только через 1cedtcli. | РА 4.4.1 EDT: Интерфейс командной строки |
| 107 | Утилита 1cedtcli: рабочая область -data, одна команда -command или файл команд -file. Первый запуск занимает около 25 секунд. Предел времени по умолчанию — 60 минут. Команды: export, import, infobase-import, validate, build. | Сессия EDT дорога на старте и дешева потом. | EDT: 1C:EDT CLI |
| 108 | Команда export кладёт проект EDT в XML-выгрузку. Команда import создаёт проект из XML; для расширений и внешних обработок указывают --base-project-name. | Перевод между форматами — операция EDT без базы. | EDT: 1C:EDT CLI |
| 109 | Проект EDT содержит одну конфигурацию. Изменения базы, сделанные извне, EDT импортирует через сравнение и объединение; конфликты разрешаются вручную в редакторе. | Слияние в EDT — интерактивная операция. | EDT: Проект конфигурации |
| 110 | Проект расширения и проект внешних отчётов и обработок — отдельные виды проектов. Внешние импортируются из .epf, .erf или XML. | Три типа наборов исходников есть и в EDT. | EDT: Проект расширения EDT: Проект внешних отчётов и обработок |
| 111 | Операции, которых нет в EDT, выполняются в Конфигураторе: правила поставки, комплекты поставки. | EDT не заменяет Конфигуратор. | EDT: Загрузить и выгрузить содержимое базы |
Чего документация не говорит
Часть поведения платформы известна только из замеров на 8.3.27 и 8.5.1. Такие факты на сайте помечены словом «замер» и живут на странице Трудности. Документация их не подтверждает и не опровергает.