Сервер SQL + Терминальный Сервер. На терминальнике установлена версия платформы 8.3.22.2239, хотим обновить до 8.3.25.1336.
Устанавливаем на терминальник новую версию платформы и при запуске с ярлыка "C:\Program Files\1cv8\common\1cestart.exe" получаем ошибку "HTTP: Сonflict" (во вложении). То есть, 1cestart принципиально пытается запустить новую версию платформы.
В конфигурационных файлах баз (на общем диске) указан параметр Version=8.3.22.2239, но он судя по всему игнорируется.
Даже если просто вручную добавить базу и в настройках к ней прописать версию 8.3.22.2239, то ошибка та же самая.
Единственный вариант это запустить старую платформу прямо из папки C:\Program Files\1cv8\8.3.22.2239\bin, тогда да, она запускается. Но это не выглядит корректным.
Подскажите, почему 1cestart не выбирает старую версию платформы при запуске и как это исправить?
(2) Поясните пожалуйста, как тогда запускается база с теми же самыми параметрами, но если выбрать конкретный .exe файл из C:\Program Files\1cv8\8.3.22.2239\bin?
+1 в настройках запуска базы указаны сочетания условий, которым не отвечает ни одна из установленых версий платформы - в этом случае будет предпринята попытка запуска с помощью самой старшей из версий.
Параметры запуска баз берутся из файлов на сетевой шаре, я указал там конкретную версию с которой запускать платформу. Конечный файл выглядит так:
[1С Бухгалтерия]
Connect=Srvr="sql01.doamin.local";Ref="SQLBuh";
ID=15ab790f-97c4-4fb7-9e5a-4be3c54030
OrderInList=16384
Folder=/
OrderInTree=16384
External=1
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3.22.2239
DefaultVersion=8.3.22.2239
[1С Зарплата]
Connect=Srvr="sql01.domain.local";Ref="SQLZup";
ID=a3661fe5-12ab-421d-bff2-d4b58593c2
OrderInList=32768
Folder=/
OrderInTree=32768
External=1
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3.22.2239
DefaultVersion=8.3.22.2239
Платформы обе стоят x64
Если список баз формируется автоматически, то кнопка Изменить в списке выбора баз недоступна и судя по всему разрядность выбирается автоматически.
Полагаю что все базовые условия для запуска нужно версии (старой) платформы с нужной разрядностью соблюдены. Кроме того, если новую платформу просто удалить, то не изменяя больше ничего старая платформа запускается без проблем.
Так что нет, скорее всего проблема именно в файле 1cestart.exe и в том, что он некорректно выбирает версию платформы, но я не знаю как это изменить.
Вообще у ТС сильно странная история.
При запуске SQL баз должно быть без разницы, какая версия платформы указана в параметрах запуска, 8.3.22.2239 или какая-то другая - в любом случае сначала должен осуществляться поиск именно той версии клиента, что на сервере - 8.3.22.2239.
А вот настройки разрядности действительно могли бы вызвать подобное поведение, например, если в параметрах запуска была бы жестко задана разрядность 32 (x86), а версии 8.3.22.2239 такой разрядности не установлено, то 1С для запуска выбрала бы старшую из 32-разрядных версий и выдало бы ошибку "Различаются версии клиента и сервера"...
но я не вижу такого в параметрах запуска файла *.v8i из (6)
+ со слов ТС получается, что и 8.3.22.2239 и 8.3.25.1336 установлены только одной разрядности 64 и исполняемые файлы обоих версий лежат рядом в C:\Program Files\1cv8\
т.ч. у меня пока нет идей, почему 1С выбирает 8.3.25.1336 и не видит 8.3.22.2239 в соседней папке.
Может у ТС есть еще какая-нибудь информация, про которую забыл упомянуть?
P.S.
Это содержимое из файла ibases.v8i, который в 1CEStart, или из внешнего файла *.v8i со списком общих информационных баз?
1. На Терминальном Сервере установлена 8.3.22.2239 у всех все работает.
2. Если установить рядом с ней 8.3.25.1336 и перезагрузить сервер, то при запуске баз (которые остаются пока на старой версии) корректная платформа автоматически выбирается ТОЛЬКО У АДМИНИСТРАТОРА (вернее, у одного конкретного пользователя с правами администратора на этом сервере), у остальных пользователей ошибка HTTP:Conflict.
Если под пользователем запустить "C:\Program Files\1cv8\common\1cestart.exe" "От имени администратора", то запускается старая платформа 8.3.22.2239 корректно.
Но у пользователей С ПРАВАМИ ПОЛЬЗОВАТЕЛЕЙ ЗАПУСКАЕТСЯ ТОЛЬКО НОВАЯ ПЛАТФОРМА и порождает вышеуказанную ошибку.
3. Если под пользователем добавить нужную базу вручную, то запускается только новая версия платформы и порождает вышеуказанную ошибку. ДАЖЕ ЕСЛИ В ПУНКТЕ "Версия 1С Предприятия" ПРИНУДИТЕЛЬНО УКАЗАТЬ 8.3.22.2239.
4. Если с двумя установленными платформами под пользователем запустить "C:\Program Files\1cv8\8.3.22.2239\bin\1cv8.exe", то 1С открывается и работает как и должна.
5. Если новую версию 8.3.25.1336 с Терминального Сервера удалить и перезагрузить его, то без дополнительных манипуляций у пользователей 1С работает как и было до всего этого с оставшейся версией платформы без проблем.
6. Добавление параметра AdditionalParameters=/AppArch x86_64_prt в C:\ProgramData\1C\1CEStart\1cestart.cfg ошибку не решает.
Добавление параметра AdditionalParameters=/AppArch x86_64_prt в C:\ProgramData\1C\1CEStart\1cestart.cfg ошибку не решает.
Зачем вам файл 1cestart.cfg? И почему вы добавили в него параметр именно так? "AdditionalParameters=/AppArch x86_64_prt"
Неужели так сложно открыть статью по ссылке выше?
У вас есть список общих баз - файл .v8i добавьте в него параметр для базы.
2.2. Параметр AppArch файла *.v8i
Эквивалентом настройки разрядности клиентского приложения 1С:Предприятие 8.3 с помощью параметров запуска информационной базы является параметр AppArch=<разрядность> файла описаний зарегистрированных информационных баз (по умолчанию файл имеет имя ibases.v8i).
Пример:
AppArch=x86_64_prt
Если хочется в файле сfg задать - в статье это описано в Способе 4.
Способ 4. Параметр DefaultVersion конфигурационного файла 1cestart.cfg или 1cescmn.cfg
Задать разрядность используемого клиентского приложение 1С:Предприятие также можно с помощью параметра DefaultVersion конфигурационного файла 1cestart.cfg или 1cescmn.cfg (только для ОС Windows).
Данный параметр определяет версию, используемую по умолчанию. Допускается наличие нескольких строк с таким параметром.
Разрядность запускаемого клиентского приложения может быть указана в данном параметре. Для разделения версии и разрядности клиентского приложения используется символ ";". Значение разрядности совпадает с параметрами команды /AppArch командной строки запуска клиентского приложения (см.выше Способ 1).
4.1. Конфигурационный файл 1cestart.cfg
Файл 1cestart.cfg содержит настройки, которые используют программы запуска (1cestart и 1cv8s), клиентские приложения (1cv8 и 1cv8c) и внешнее соединение.
Мне тоже кажется что затык с правами, но я не понимаю где он может в принципе скрываться (особенно если учесть, что при удалении новой платформы запуск старой происходит без дополнительных телодвижений)
(19) У меня мысли только про файлы со списками баз - при запуске от админа и от обычного юзера используются разые файлы ibases.v8i с основным списком всех баз, которые лежат в разных папках ОС (C:\Users\<имя пользователя>\AppData\Roaming\1C\1CEStart)
+ у админа и у обычных пользователей могут быть разные права на доступ к файлу *.v8i со списком общих информационных баз.
Других идей пока нет.