Skip to content

Repository files navigation

IBStart

Значок IBStart

Менеджер запуска 1С — лёгкое нативное приложение для Windows.

Сборка Последний релиз Лицензия

IBStart (ИБ Старт) — стабильное независимое нативное приложение Windows для просмотра списка баз, хранящегося в ibases.v8i, и запуска установленных клиентов 1С:Предприятие 8.3/8.5.

Номер продукта в формате SemVer хранится в единственном файле cmake/IBStartVersion.cmake. Он автоматически попадает в окно Справка → О программе, свойства IBStart.exe, Windows manifest, имя portable-архива, тег и GitHub Release.

IBStart написан на C++20 и Win32 API, не требует .NET, браузерного движка или прав администратора. Для основной работы подключение к сети не нужно. Приложение состоит из одного IBStart.exe со статическим MSVC Runtime; GitHub Release содержит отдельный EXE и portable-архив с тем же EXE. Телеметрии, аналитики и автоматического обновления в программе нет; только по явной команде пользователя приложение обращается к GitHub, чтобы проверить наличие новой версии.

Главное окно IBStart

Поддержка

  • Windows 10 и Windows 11, x64;
  • установленная 1С:Предприятие 8.3 или 8.5, 32- или 64-разрядный клиент;
  • UTF-8 ibases.v8i с BOM и без BOM, русские имена и пути с пробелами.

Первый запуск ищет стандартный файл пользователя (%APPDATA%\1C\1CEStart\ibases.v8i и распространённые альтернативы). Если он не найден, окно остаётся пустым: выберите существующий список через Файл → Открыть список баз либо добавьте файловую базу.

Возможности

  • Чтение, сохранение иерархии групп/баз из активного ibases.v8i; неизвестные поля не удаляются и не меняют порядок. До девяти избранных баз доступны быстрыми клавишами Alt+1Alt+9; раздел «Недавние» хранит до 20 уникальных баз, показывает их в порядке последних запусков и выводит время последнего запуска рядом с именем.
  • Перед записью — резервная копия ibases.v8i.bak_YYYYMMDD_HHMMSS, хранится до пяти последних; запись идёт через временный файл и атомарную замену. Экземпляры IBStart сериализуются именованной блокировкой и проверяют fingerprint до commit. Программы, которые не участвуют в этом протоколе, Windows не может остановить или сравнить с fingerprint атомарно: их изменение в коротком окне перед заменой остаётся ограничением, поэтому перед сохранением после работы другого редактора файл нужно перечитать.
  • Компактное изменяемое окно: поиск, дерево, карточка базы, запуск Предприятия (F3) и Конфигуратора (F4), разовый Запуск с параметрами… из контекстного меню с выбором режима, конкретной установленной платформы, разрядности, пользователя 1С и дополнительных параметров, выбор подходящей именованной учётной записи, единое добавление файловой, серверной или веб-базы, добавление групп, редактирование, удаление только записи, безопасная очистка известных каталогов кэша и фоновый расчёт их размеров для одной базы, папки или всего списка.
  • Автопоиск платформ через Program Files, реестр и настраиваемые пути, включая отдельные установки тонкого клиента; в режиме «Авто» при одинаковой версии предпочитается x64, затем x86. Командная строка строится отдельно от вызова CreateProcessW и корректно экранирует Unicode-аргументы.
  • В обычном режиме данные приложения находятся в %LOCALAPPDATA%\IBStart\; в portable mode — в data\ рядом с EXE. В обоих режимах общие параметры, история открытых списков и настройки отображения хранятся в settings.json, а избранное, история запусков, теги и сохранённые размеры кэша — в catalog-state.json. Запись файлов профиля защищена системной блокировкой, привязанной к пути хранения, и fingerprint-проверкой перед атомарной заменой; история запусков не сохраняет параметры запуска.
  • Теги назначаются в отдельной форме с флажками и быстрым добавлением нового. Их стиль настраивается через палитру цветов с живым предпросмотром; совпадения поиска внутри цветных меток выделяются жирным.
  • Режим «Простой режим» перестраивает интерфейс в компактный режим для запуска и навигации; это не механизм разграничения доступа.
  • Ярлык рабочего стола запускает IBStart с идентификатором базы, без пароля в командной строке.
  • Команда Справка → Проверить обновления… в фоне сопоставляет встроенную версию с последним стабильным GitHub Release и при наличии новой версии предлагает открыть её страницу. При ошибке в диалоге доступна кнопка открытия текущего файла журнала. Программа ничего не скачивает и не заменяет сама.
  • Команда Справка → О программе показывает фактическую версию собранного приложения.
  • Строка состояния показывает путь к активному списку, число баз в активном каталоге и число обнаруженных платформ 1С.
  • Поиск по дереву не зависит от регистра и учитывает имя, реквизиты баз и теги; путь группы и технические поля порядка не участвуют, а родительские группы показываются только как контекст найденных баз. Совпавшие части имён подсвечиваются зелёным.
  • При загрузке список проверяется на неоднозначные записи: пустые имена, дубли секций, ключей и идентификаторов, отсутствующие родители и циклы. Ошибочные записи остаются доступными для просмотра, но изменение, перемещение, удаление и сохранение блокируются до исправления ibases.v8i.
  • Контекстное меню дерева дублирует запуск и операции со списком, позволяет добавлять элементы внутрь выбранной группы, перемещать базу в выбранную папку, быстро добавлять теги и менять порядок соседних элементов; его команды показывают отдельной правой колонкой работающие сочетания клавиш.
  • Окно и исполняемый файл имеют собственный значок IBStart; дерево и основные кнопки используют компактные пиктограммы, а свойства выбранной базы показаны в цветной карточке.
  • В дереве файловая база отмечена зелёной базой с документом, серверная — фиолетовой стойкой с сетевыми узлами; подписи кнопок автоматически получают полную ширину с учётом значков и масштаба Windows.
  • Добавление и изменение базы открывают единый редактор рядом с главным окном: имя в списке, файловый каталог, веб-адрес либо кластер и имя серверной базы, а также совместимые параметры запуска из ibases.v8i.

Быстрый старт

  1. Скачайте IBStart.exe из артефакта/релиза и запустите его как обычный пользователь.
  2. Проверьте путь в строке состояния. При необходимости выберите другой ibases.v8i в меню Файл.
  3. Выберите базу и нажмите F3 или F4.

Для обычной базы, если подходящая платформа не обнаружена, IBStart не подменяет её случайной версией: укажите установку через настройки данных либо установите штатный клиент 1С. Для веб-базы при отсутствии совместимого тонкого клиента приложение открывает URL в браузере.

Документация

Сборка из исходников

Требуются Visual Studio Build Tools 2022 или новее с компонентом Desktop development with C++, CMake 3.24+, Ninja и Windows SDK. Откройте x64 Native Tools Command Prompt в корне репозитория:

cmake --preset msvc-x64-release
cmake --build --preset msvc-x64-release
ctest --preset msvc-x64-release

Готовый файл: out\build\msvc-x64-release\IBStart.exe. После каждой Release-сборки CMake останавливает сборку, если размер EXE превышает 8 МиБ. Целевой размер — до 5 МиБ; упаковщики исполняемых файлов не применяются. Дополнительный preset vs2022-x64-release сохранён для Visual Studio 2022.

Portable mode

Обычная версия

Если рядом с IBStart.exe нет IBStart.portable, приложение хранит settings.json, catalog-state.json и журналы в %LOCALAPPDATA%\IBStart\. Это рекомендуемый режим для отдельного EXE: несколько копий программы одного пользователя используют общий набор настроек.

Portable-версия

Архив IBStart-<версия>-portable-x64.zip из GitHub Release уже содержит пустой файл IBStart.portable: распакуйте его в доступную для записи папку и запустите IBStart.exe. В этом режиме те же settings.json, catalog-state.json и журналы сохраняются в data\ рядом с приложением. Для отдельно скачанного IBStart.exe создайте рядом с ним такой же пустой файл IBStart.portable.

Сам ibases.v8i туда не копируется и остаётся исходным активным файлом списка. Portable mode не переносит кэш и прочие данные самой платформы 1С: они по-прежнему управляются 1С в каталогах пользователя Windows. Если папка portable-версии недоступна для записи, программа покажет ошибку и завершится без повторных попыток.

ibases.v8i и безопасность

IBStart не удаляет каталоги файловых баз: действие «Удалить» удаляет только секцию из списка. При сохранении сохраняются поддерживаемые поля Connect, ID, Folder, OrderInList, OrderInTree, Version, DefaultVersion, App, DefaultApp, WA, External, Locale, ClientConnectionSpeed, AppArch, AdditionalParameters и незнакомые поля сторонних инструментов.

Дополнительные параметры передаются пользователем как текст. Именованные учётные записи с областью применения «Все базы» или выбранными базами и группами сохраняются открытым текстом в settings.json и выбираются при запуске с параметрами. Секреты также можно хранить в AdditionalParameters и других полях ibases.v8i, видеть в интерфейсе и копировать явным действием пользователя. Это минимальная внутренняя политика IBStart, а не запрет из документации 1С; значение остаётся видимым в файле и интерфейсе. Запуск с секретом не требует дополнительного подтверждения. В логах и автоматически создаваемых диагностических сообщениях секретные значения, включая весь userinfo URL, маскируются, полный операнд /IBConnection не записывается открытым текстом. Ярлык IBStart сохраняет только идентификатор базы, поэтому пароль в его командной строке не нужен.

Учётные записи настраиваются через Настройки → Учётные записи…. Выбор группы распространяется на все вложенные базы, в том числе добавленные позднее. Привязки учитывают путь списка баз; для элементов без ID используется имя. Подробности — в руководстве пользователя.

Текущие ограничения

  • Очистка ограничена явными кэш-подкаталогами и намеренно не пытается угадывать или удалять пользовательские данные 1С. При работающем клиенте 1С операция остаётся best effort: занятые файлы могут остаться, но ошибка одного каталога не прерывает очистку остальных; закройте 1С и повторите операцию для полной очистки.
  • Поиск файловых баз возвращает результаты для просмотра и ручного добавления; приложение не создаёт базы и не изменяет найденные каталоги.
  • Обновление устанавливается пользователем со страницы GitHub Release: приложение только проверяет наличие новой версии и открывает её страницу.

Участие в проекте

Перед созданием issue используйте подходящую форму для ошибки, предложения функции или вопроса. Правила подготовки изменений описаны в CONTRIBUTING.md, правила общения — в CODE_OF_CONDUCT.md, а порядок сообщения об уязвимостях — в SECURITY.md. См. также архитектуру, руководство пользователя и процесс релиза.

Лицензия и товарные знаки

Проект распространяется по лицензии MIT.

«1С» и «1С:Предприятие» являются товарными знаками соответствующих правообладателей. IBStart не является официальным продуктом фирмы «1С» и не использует её официальный логотип.

About

Лёгкий нативный менеджер запуска информационных баз 1С:Предприятие 8.3/8.5 для Windows.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages