Skip to content

Repository files navigation

Управление конфигурациями 1С

Версия .NET Windows/WPF Linux/Avalonia Лицензия

Кроссплатформенное десктопное приложение на .NET для управления информационными базами 1С:Предприятие 8.3, заменяющее стандартный список баз 1С современным интерфейсом. Одна кодовая база собирается под обе ОС: WPF на Windows и Avalonia 11 на Linux.


✨ Возможности

  • Запуск баз в режимах «1С:Предприятие» и «Конфигуратор»; выбор версии и линии платформы, разрядности (32/64), тонкого/толстого клиента, веб-клиента; автопоиск установленной платформы.
  • Управление списком: вкладки Все базы / Избранное / Недавние, иерархические группы с вложенностью, избранное Alt+1…9, закрепление, поиск и мультифильтр по тегам, сортировка.
  • Горячие клавиши для избранных (закладки баз 1–9) — избранные базы получают слот с номером (1…9), до 9 закладок; в списке баз у закладки отображается бейдж с номером. Установка: Ctrl+щелчок по строке, Ctrl+Shift+P, Ctrl+Shift+[1..9], меню Ctrl+B. Перемещение: Ctrl+[1..9] (с раскрытием свёрнутой группы), меню Ctrl+B. Очистка: Ctrl+щелчок (снять), Ctrl+Alt+X (все), удаление конкретной. Запуск: Alt+<номер> — «1С:Предприятие», Ctrl+Alt+<номер> — «Конфигуратор», Alt+E — все базы с закладками.
  • Настраиваемые горячие клавиши для запуска и действий интерфейса.
  • Создание ИБ — пустая или из шаблона (.cf/.dt), файловые и клиент-серверные; редактирование, удаление, выгрузка .dt/.cf, тестирование, физическое удаление каталога.
  • Очистка кэша 1С с отображением размеров по базам и остатков от удалённых баз.
  • Синхронизация с ibases.v8i (импорт/экспорт, автоматическая по режиму), импорт из StartManager, резервные копии профиля.
  • Поиск потерянных и забытых баз 1С на дисках с инкрементальной отдачей результатов, поиском по каталогу и добавлением найденных баз в программу и/или ibases.v8i.
  • Профили пользователей с паролями (PBKDF2-SHA256), миграция данных.
  • Локализация (русский/английский, подключение языков без пересборки).
  • Темы оформления: светлая/тёмная, собственные цветовые схемы с двумя палитрами и живым предпросмотром; автогенерация пары светлой и тёмной палитр из одного базового цвета («Создать схему из цвета…»).
  • Проверка доступности всех баз (кнопка «Доступность») — пакетная проверка баз с индикатором хода: пока база проверяется, её значок становится серым с часиками, результат каждой базы публикуется сразу по мере готовности, а по завершении выводится итог «Проверено N баз: доступно M, недоступно K» (ограниченный параллелизм — до 4 баз одновременно; повторный запуск во время проверки игнорируется).
  • Автообновление из GitHub Releases с единым диалогом обновления и многопоточной загрузкой (HTTP Range, до 8 сегментов с докачкой каждого) — провайдеры, режущие скорость на одно соединение, больше не тормозят скачивание; при любом сбое параллельного режима загрузка автоматически переходит в однопоточный путь.
  • Проверка обновлений конфигураций 1С (F9) — проверка для выбранной ИБ по ресурсу обновлений 1С, подсветка нового релиза и загрузка дистрибутива; авторизация выполняется через портал 1С (логин/пароль на login.1c.ru), последняя версия определяется со страницы проекта на releases.1c.ru, дистрибутив скачивается с этого же ресурса.
  • Окно «Актуальные релизы» (ALT+F9) — пакетная проверка отслеживаемых типовых конфигураций.
  • Список типовых конфигураций — предопределённый набор + пользовательские, формирование ссылок обновлений по правилу 1С, настройка связи ИБ ↔ конфигурация и определение версии.
  • Сценарии резервирования (DT/CF/ZIP/RAR, до 3 каталогов) — модель сценария с шаблоном имени и учётными данными, выполнение для выбранной ИБ.
  • Выполнение сценария (SHIFT+CTRL+F5) — пакетная выгрузка .dt/.cf через конфигуратор, упаковка в ZIP/RAR и копирование во все каталоги назначения.
  • Задания по расписанию (меню «Утилиты») — резервная копия, обновление конфигурации ИБ из .cf (/LoadCfg + /UpdateDBCfg), связка «Копия → обновление» и обновление самого приложения по времени и дням недели; выполняются фоновым планировщиком, пока приложение запущено.
  • Список выгрузок и восстановление (SHIFT+CTRL+F7, /RestoreIB) — обзор созданных файлов и загрузка данных обратно в ИБ (в т.ч. без интерактивного конфигуратора).
  • Блокировка сеансов файловой ИБ (CTRL+ALT+L) — установка/снятие блокировки без открытия «1С:Предприятия»: время начала (+5 мин), длительность (30 мин), сообщение с параметрами {ДатаНач}/{ДатаКон}, шаблоны «Технические работы» и «Обновление ИБ».
  • Временная блокировка приложения паролем — защита интерфейса на время отсутствия пользователя (пароль в виде PBKDF2-хэша).
  • Интеграция с проводником Windows — ассоциация .1CD и команды контекстного меню «Зарегистрировать в списке баз» / «Запустить 1С:Предприятие» / «Запустить Конфигуратор» (регистр HKCU, без прав администратора; Настройки → Базы → Обслуживание → Интеграция). На Linux функция недоступна.
  • Проверка целостности файловой ИБ (chdbfl, CTRL+ALT+Q) — быстрый запуск утилиты проверки целостности файловой ИБ без открытия «1С:Предприятия» (контекстное меню файловой базы).
  • Консоль администрирования серверов 1С (CTRL+ALT+S) — запуск консоли администрирования серверов для клиент-серверных баз (оснастка 1CV8Servers.msc / rac).
  • Внешняя обработка при запуске ИБ — поле «Внешняя обработка» в свойствах базы; выбранная .epf/.erf автоматически запускается при открытии базы в режиме «1С:Предприятие» (ключи /Execute и /C в строке запуска).
  • Действие по двойному щелчку на базе — единая настройка запуска «Запустить 1С:Предприятие», «Запустить Конфигуратор» или «Ничего»; глобально (Настройки → Базы) и индивидуально для каждой ИБ (в свойствах: «Автоматически» — наследование глобального, либо явное действие; переопределяет глобальное).
  • Автозапуск при старте ОС — запуск вместе с операционной системой: ключ реестра HKCU\...\Run на Windows (без прав администратора) / автозапуск десктоп-окружения ~/.config/autostart на Linux (Настройки → Базы → Обслуживание).
  • Сохранение копии экрана по хоткею (Ctrl+F12) — снимок рабочего стола (Windows, все мониторы) или главного окна (Linux) сохраняется в PNG в настраиваемый каталог (Настройки → Клавиши → «Копия экрана», каталог — в Настройки → Базы → Обслуживание).
  • Режимы функциональности: Пользователь / Специалист / Разработчик — выбор режима в окне «Настройки» (Настройки → Настройки → «Режим функциональности») с пояснением каждого режима прямо в окне. В режиме «Пользователь» в контекстном меню базы остаются только запуск, избранное и закрепление; на текущем этапе «Специалист» и «Разработчик» дают одинаковый полный набор операций со списком баз (состав меню не различается), а реальные разработческие инструменты конфигуратора запланированы на последующие этапы дорожной карты.
  • Параметры запуска по умолчанию из 1CLaunch.cfg — ключи configpath (asp/usp/sp), configdir, appmode, selectmodeoff; приоритет аргументов командной строки над файлом; подстановка как значений по умолчанию при запуске 1С.
  • Раздельные учётные данные для запуска и хранилища (функция №7 StartManager) — отдельные логин/пароль для режимов «1С:Предприятие», «Конфигуратор» (с признаком «Авторизация как для 1С:Предприятия») и Хранилища конфигурации; каждый набор передаётся ключами командной строки (/N /P, /ConfigurationRepositoryN /ConfigurationRepositoryP) при запуске соответствующего режима, единый резолвер InfobaseAuthResolver.
  • Портативный режим / установка на сменный носитель — при наличии portable.dat рядом с exe (или env-флага CONFIG_MANAGEMENT_PORTABLE=1) настройки хранятся рядом с приложением (ConfigurationManagement-Data) и переносятся вместе с носителем.
  • Колонка «Дата изменений» файла ИБ (функция №3 StartManager) — настраиваемая колонка списка баз с датой и временем последнего изменения файла информационной базы (LastWriteTime); видимость, ширина и порядок задаются в Настройки → Отображение → Колонки.
  • Автосохранение состояния списка (раскрытые группы) — раскрытие/сворачивание групп списка баз сохраняется между сеансами и периодически автосохраняется (по умолчанию раз в 10 секунд) только при наличии изменений (AutoSaveListState, ListStateAutoSaveIntervalSeconds).
  • Системный трей, компактный режим интерфейса, виртуализация списков.

Infostart

📌 Публикация на Infostart: Управление конфигурациями 1С


🔍 Проверка доступности баз

Кнопка «Проверить доступность всех баз» (панель команд) помечает базы списка по фактическому состоянию. Проверка идёт в фоне, а результат виден интерактивно:

  • пока база проверяется, её значок становится серым с часиками, в подсказке — «Проверка доступности…»;
  • результат каждой базы публикуется сразу по мере готовности: значок меняется на тип базы (янтарная — файловая, синяя — веб, фиолетовая — клиент-серверная) либо на красный крестик «недоступна»;
  • в строке состояния обновляется прогресс «Проверка доступности: i из N…», по завершении — итог «Проверено N баз: доступно M, недоступно K»;
  • проверки выполняются с ограниченным параллелизмом (до 4 баз одновременно), повторный запуск во время проверки игнорируется.

Как именно проверяется доступность

Тип базы Что проверяется
Файловая Наличие каталога или файла базы по пути из строки подключения (Directory.Exists / File.Exists)
Клиент-серверная (Windows) Реальное внешнее подключение к базе через COM-коннектор 1С (процесс-агент ComReadHost, ReadConfigurationInfo) с таймаутом до 8 секунд на базу
Клиент-серверная (Linux) COM-коннектор на Linux недоступен, поэтому такие базы считаются недоступными (см. примечание)
Веб Заполненность адреса веб-публикации

⚠️ Важно: красная иконка означает «не прошла данную проверку» и НЕ равна «нельзя войти в конфигуратор». Конфигуратор запускается локальным процессом 1cv8 и не проверяет соединение так, как это делает внешний COM-коннектор. Частые причины «красных» клиент-серверных баз при работающем конфигураторе: COM-коннектор не зарегистрирован (comcntr.dll), сетевые задержки/брандмауэр, отсутствие права на внешнее соединение или большое число баз (очередь из таймаутов по 8 секунд). Список баз можно проверить повторно — результаты перезаписываются, а до запуска проверки иконки показывают расчётное состояние по параметрам подключения.


🖥️ Технологии

Технология Назначение
.NET 10 Платформа разработки (net10.0-windows / net10.0)
WPF Графический интерфейс (Windows)
Avalonia 11 Графический интерфейс (Linux)
MVVM + Microsoft.Extensions.DependencyInjection Архитектура и внедрение зависимостей
MaterialDesignThemes Иконки и современный интерфейс (Windows)
System.Text.Json Хранение данных в JSON-файлах

📦 Требования

Windows

  • Windows 10 / 11
  • .NET 10 SDK (для сборки из исходного кода)
  • Установленная платформа 1С:Предприятие 8.3

Linux

  • .NET 10 SDK (для сборки; self-contained публикация не требует runtime)
  • Установленная платформа 1С:Предприятие 8.3 для Linux (клиент 1cv8)
  • Зависимости пакета: GTK3, glib2, xdg-utils; для трея на GNOME Shell может потребоваться расширение AppIndicator

🔧 Сборка и запуск

git clone https://github.com/sivatorov/ConfigurationManagement.git
cd Configuration Management

# Сборка
dotnet build "Configuration Management/Configuration Management.csproj"

# Запуск
dotnet run --project "Configuration Management/Configuration Management.csproj"

Целевой TFM и набор файлов выбираются автоматически по ОС: на Windows — WPF (net10.0-windows), на Linux — Avalonia (net10.0). Также доступны скрипты [build.sh](Configuration Management/build.sh), [build.ps1](Configuration Management/build.ps1) и упаковка в single-file, AppImage и .deb.


🐧 Linux

Linux-порт выполнен и включает Avalonia UI, сервисы платформы 1С (1cv8, readelf, /proc), системный трей, сборку в AppImage и .deb. Целевые дистрибутивы — Ubuntu LTS, Debian, ALT Linux, Astra Linux (x64). Реализована диагностика окружения при старте (в т. ч. детектор виртуализации и программного рендера) и корректная работа безрамочных модальных окон, что повышает стабильность в виртуализированных средах и на оконных менеджерах X11. Подробнее — в [Configuration Management/LINUX_PORT.md](Configuration Management/LINUX_PORT.md).

# Сборка single-file linux-x64
./build.sh Release publish

# Упаковка в AppImage
./package/linux/appimage.sh

# Упаковка в .deb
./package/linux/deb/build-deb.sh

💾 Хранение данных

Данные сохраняются в %APPDATA%\ConfigurationManagement (на Linux — ~/.config/ConfigurationManagement): infobases.json (базы), groups.json (группы), settings.json (настройки интерфейса), ColorSchemes/ (цветовые схемы), logs/ (журнал приложения).


🧩 Архитектура

Приложение построено по паттерну MVVM (Models / ViewModels / Views / Services) с единой кодовой базой для Windows и Linux. Подробности — в ARCHITECTURE.md. Полная история изменений — в CHANGELOG.md.


📜 Лицензия

Проект распространяется с открытым исходным кодом и доступен бесплатно. Исходный код размещён в этом репозитории GitHub и в разделе Файлы публикации на Infostart. Подробнее — в LICENSE.


🤝 Вклад и контакты

Буду рад любым улучшениям — сделайте форк, создайте ветку и отправьте pull request. По вопросам и предложениям создавайте issue в репозитории.

About

No description or website provided.

Topics

Resources

Stars

29 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages