mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-17 23:35:22 +03:00
feat(db-repo): сетевое хранилище проверено, различаем недоступный сервер
Установлен crserver 8.3.23, поднят на порту 1542 — сетевое хранилище перестало быть непроверенным местом. Адрес tcp://<хост>[:<порт>]/<имя>, порт по умолчанию 1542; хранилище создаётся сервером по требованию. Весь цикл, файл списка объектов и администрирование работают так же, как на файловом, и одинаково в обоих портах. Отдельного поведения у сетевого хранилища не обнаружено. Нашлась двусмысленность: недоступный сервер даёт «Соединение с хранилищем конфигурации не установлено» — ровно то же сообщение, что и отсутствие реквизитов. Прежняя подсказка «добавьте repository в реестр» в сетевом случае уводила не туда. Теперь db-repo различает по схеме адреса и советует проверить сервер и порт, а подсказка db-load-xml и db-load-git называет обе причины. Документация больше не оговаривается «не проверено»: форма адреса подтверждена на стенде. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3cdba1f70c
commit
1c74843c05
@@ -1,4 +1,4 @@
|
||||
# db-repo v1.8 — 1C configuration repository operations
|
||||
# db-repo v1.9 — 1C configuration repository operations
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# NB: движок только 1cv8 — ibcmd работу с хранилищем не поддерживает (нет такого режима).
|
||||
<#
|
||||
@@ -1222,6 +1222,17 @@ try {
|
||||
}
|
||||
# Реестр — не формальность: без repository реквизиты придётся передавать в каждом вызове,
|
||||
# а update откажется работать вовсе. Модель об этом не вспомнит, поэтому даём готовый блок.
|
||||
# «Соединение не установлено» у сетевого хранилища означает не отсутствие реквизитов,
|
||||
# а недоступный сервер — трактовка «добавьте repository» увела бы не туда.
|
||||
if ($verdict -ne 0 -and $logText -match 'Соединение с хранилищем конфигурации не установлено') {
|
||||
if ($repo.Path -match '^(tcp|http)s?://') {
|
||||
Write-Host "[hint] сервер хранилища недоступен по адресу $($repo.Path)." -ForegroundColor Yellow
|
||||
Write-Host " Проверьте, запущен ли crserver и верен ли порт (по умолчанию 1542)." -ForegroundColor Yellow
|
||||
} else {
|
||||
Write-Host "[hint] хранилище недоступно по пути $($repo.Path) — проверьте путь и реквизиты." -ForegroundColor Yellow
|
||||
}
|
||||
}
|
||||
|
||||
# Признак — что путь задали аргументом: значит в реестре его нет (или он другой).
|
||||
if ($verdict -eq 0 -and @('create', 'connect') -contains $cmd -and $RepositoryPath) {
|
||||
# В строке замены -replace обратный слэш не спецсимвол: два символа дают два слэша.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# db-repo v1.8 — 1C configuration repository operations
|
||||
# db-repo v1.9 — 1C configuration repository operations
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# NB: движок только 1cv8 — ibcmd работу с хранилищем не поддерживает (нет такого режима).
|
||||
"""Работа с хранилищем конфигурации 1С.
|
||||
@@ -1175,6 +1175,16 @@ def main():
|
||||
print("--- End ---")
|
||||
# Реестр — не формальность: без repository реквизиты придётся передавать в каждом вызове,
|
||||
# а update откажется работать вовсе. Модель об этом не вспомнит, поэтому даём готовый блок.
|
||||
# «Соединение не установлено» у сетевого хранилища означает не отсутствие реквизитов,
|
||||
# а недоступный сервер — трактовка «добавьте repository» увела бы не туда.
|
||||
if verdict != 0 and "Соединение с хранилищем конфигурации не установлено" in log_text:
|
||||
if re.match(r"^(tcp|http)s?://", repo["path"] or ""):
|
||||
print("[hint] сервер хранилища недоступен по адресу %s." % repo["path"])
|
||||
print(" Проверьте, запущен ли crserver и верен ли порт (по умолчанию 1542).")
|
||||
else:
|
||||
print("[hint] хранилище недоступно по пути %s — проверьте путь и реквизиты."
|
||||
% repo["path"])
|
||||
|
||||
# Признак — что путь задали аргументом: значит в реестре его нет (или он другой).
|
||||
if verdict == 0 and cmd in ("create", "connect") and args.RepositoryPath:
|
||||
json_path = repo["path"].replace("\\", "\\\\")
|
||||
|
||||
Reference in New Issue
Block a user