Skip to content

v0.3.9.160

Latest

Choose a tag to compare

@sivatorov sivatorov released this 29 Sep 21:01

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

Серия из пяти изменений (0.3.9.156–0.3.9.160) по пяти открытым issues автора:
горизонтальная прокрутка списка баз (#309), вызов rac единым токеном host:port в
мониторе серверов 1С (#324), доработки окна «Проверка обновлений» (#323), связь базы с
типовой конфигурацией (#322) и окно «Типовые конфигурации» (#321). Каждое изменение
реализовано на обеих платформах (Windows/WPF и Linux/Avalonia).

Изменения

  1. Горизонтальная прокрутка: полоса доезжает до конца строк, а не суммы колонок
    (0.3.9.156, #309)
    — фактическая ширина строк дерева была больше расчётного
    минимума контента (ExtentWidth < реальной ширины строк), поэтому последняя колонка
    («№ релиза») оставалась недостижимой, а «двигать полосу было некуда». Минимум контента
    теперь считается как максимум расчётной суммы колонок и фактической желаемой ширины
    первых строк (замер сетки строки с бесконечной шириной): Windows/WPF — новый кэш
    _treeMinWidthContent с пересчётом в точках применения настроек колонок и при смене
    верхней видимой строки во время вертикальной прокрутки; Linux/Avalonia — фактическая
    ширина первой строки замеряется после материализации строк и учитывается в
    SyncListWidthToViewport дополнительно к Extent.Width. Анти-регрессы #255 (ложной
    полосы нет, когда всё помещается) и #214 (синхронная прокрутка заголовков) сохранены;
    добавлены тесты ListMinWidthCalculatorTests.

  2. Монитор серверов 1С: rac принимает точку подключения единым токеном host:port
    (0.3.9.157, #324)
    — команды монитора завершались ошибкой
    «Ошибка разбора параметра: --host=localhost»: RacClient.BuildArguments собирал точку
    подключения двумя раздельными аргументами --host=addr и --port=N, а rac новой
    платформы принимает единый токен первым аргументом. Теперь команда имеет вид
    rac.exe localhost:27545 cluster list (при порте ≤ 0 — только host, при пустом
    адресе — без токена; адрес с пробелами остаётся одним токеном через ArgumentList).
    Логин/пароль по-прежнему передаются как --user=/--password=, маскирование пароля в
    журнале сохранено. Дополнительно исправлено вертикальное выравнивание текстов
    монитора по центру (WPF — явный стиль заголовков, Avalonia —
    VerticalContentAlignment=Center и MinHeight=36 у строк).

  3. «Проверка обновлений» (F9): модальное окно, читаемые кнопки и понятные ошибки
    (0.3.9.158, #323)
    — окно было не модальным (уходило под главное и не блокировало
    его), кнопка «Начать проверку» обрезалась при крупных шрифтах/масштабировании, поля
    «Последняя версия» и «Ссылка на каталог релизов» после проверки не обновлялись, а
    ошибки показывались ключами локализации без перевода. Исправлено: ShowDialog() с
    владельцем (Avalonia уже был модальным — подтверждено), ширины кнопок — только
    минимальные (180/160/130), окно увеличено (760×580 / 720×580), поля обновляются
    после каждой проверки на обеих платформах, ключи локализации переводятся, отказ в
    доступе (401/403) и перенаправление на login.1c.ru распознаются отдельно с
    подсказкой проверить логин/пароль. Успешный результат проверки сохраняется в кэш —
    колонка «Обновление» в «Центре обслуживания» показывает последний результат.

  4. «Связать с конфигурацией»: редакции при автоопределении, редактируемый сегмент
    адреса и автосвязь по имени базы (0.3.9.159, #322)
    — четыре проблемы окна: список
    редакций оставался пустым при уже определённой связи, окно не было модальным,
    сегмент адреса (.../project/<ник>) нигде не показывался и не правился, а «Определить
    версию» не связывала базу с типовой конфигурацией. Исправлено: редакции заполняются и
    при открытии окна, и при смене конфигурации (ApplyConfigSelection); модальность с
    владельцем (Avalonia — дополнительно исправлена потеря начальных значений при
    построении UI); добавлено редактируемое поле «Сегмент адреса (ник)» (сохраняется
    за базой, при F9 подставляется в адрес вместо ника конфигурации); «Определить версию»
    автоматически сопоставляет имя конфигурации базы со списком типовых и подставляет
    конфигурацию, редакцию (по префиксу версии) и адрес.

  5. «Типовые конфигурации»: отдельное окно правки, JSON-хранилище и защита встроенных
    данных (0.3.9.160, #321)
    — правка предопределённой конфигурации изменяла общие
    внутренние экземпляры, из-за чего изменённые номера «расползались» по «Актуальным
    релизам», проверке F9 и окну «Связать с конфигурацией»; кнопка «Правка» разворачивала
    редактор «два в одном» внутри окна списка, а пользовательские конфигурации хранились
    в общем settings.json и терялись. Исправлено: кнопки «Изменить»/«Добавить» открывают
    отдельное модальное окно ConfigTypeEditWindow (правка на копии, применение только по
    «Сохранить»), предопределённые конфигурации отображаются только для чтения (★) без
    «Изменить»/«Удалить»; пользовательские конфигурации хранятся в отдельном читаемом
    файле custom_config_types.json (UTF-8, без \uXXXX, с автопереносом старых
    настроек); все потребители читают список через единый загрузчик
    ICustomConfigTypesStore.LoadAll(); добавлены подписи и пояснения окна.

Файлы

Платформа Файл Размер
Windows x64 (self-contained, один файл) ConfigurationManagement.exe ~82 МБ (82 576 491 б)
Linux x64 (self-contained, один файл) ConfigurationManagement-linux-x64 ~51 МБ (51 485 615 б)

Linux: chmod +x ConfigurationManagement-linux-x64 && ./ConfigurationManagement-linux-x64.

Версия сборки: 0.3.9.160. Полная история — в CHANGELOG.md.

Тесты: 720/720.