1C/MultiClient: различия между версиями

Материал из ALT Linux Wiki
< 1C
мНет описания правки
 
(не показано 10 промежуточных версий 4 участников)
Строка 1: Строка 1:
{{note|С версии 8.3.18.1208 данная инструкция не требуется - 1С наконец реализовал установку различных версий платформ в различные папки!}}
{{note|С версии 8.3.18.1208 данная инструкция не требуется - 1С наконец реализовал установку различных версий платформ в различные папки!}}
= Установка и настройка нескольких версий клиентов 1С 8.3 =
= Установка и настройка нескольких версий клиентов 1С 8.3 =
Необходимость в использовании нескольких версий платформ 1С на клиентских машинах актуальна, когда в организации несколько серверов 1С, и на каждом из них, установлена своя версия 1С-платформы.  
Необходимость в использовании нескольких версий платформ 1С на клиентских машинах актуальна, когда в организации несколько серверов 1С, на которых установлена своя версия 1С-платформы.  


Для примера имеются: сервер vm-db2 (192.168.0.10) - c версией платформы 1C 8.3.5-1460 и vm-pg9 (192.168.0.11) - c версией платформы 1C 8.3.9-2033.
Допустим, имеются серверы:
В данном случае для подключения к базам на одном ПК необходимо установить обе версии. В Windows проблем нет - каждая платформа ставится как отдельная программа. Например, после установки данных платформа - структура папок такова:
*vm-db2 (192.168.0.10) на платформе 1C 8.3.5-1460 и
  C:\Program Files (x86)\1cv8\8.3.5.1460
*vm-pg9 (192.168.0.11) на платформе 1C 8.3.9-2033.
  C:\Program Files (x86)\1cv8\8.3.9.2033
Для подключения к базам на одном ПК следует установить обе версии. В Windows с этим проблем нет каждая платформа ставится как отдельная программа и после установки данных структура папок платформ такова:
  C:\Program Files (x86)\1cv8\common
  {{path|C:\Program Files (x86)\1cv8\8.3.5.1460}}
В последней папке лежит файл 1cestart.exe, который выбирает при запуске базы из списка (он единый, хранится в Users\AppData) платформу, соответствующую установленной на сервере хранения этой базы.
  {{path|C:\Program Files (x86)\1cv8\8.3.9.2033}}
  {{path|C:\Program Files (x86)\1cv8\common}}
В последней папке лежит файл 1cestart.exe, который выбирает при запуске базы из единого списка (хранится в {{path|%Users%\AppData}}) платформу, соответствующую установленной на сервере хранения этой базы.


Однако под Linux разработчики 1С не потрудились организовать такую же установку, при установке второй версии - просто обновляется...
Однако под Linux разработчики 1С не потрудились организовать подобное, и при установке второй версии 1С попросту обновляется.
 
Идеальной была бы реализация, как у пакетов ядра kernel-image-*... Но пока справляемся своими силами.


Идеальной была бы реализация как у пакетов ядра kernel-image-*, но пока справляемся своими силами.
== Первичная установка одной из версий ==
== Первичная установка одной из версий ==
Одну из необходимых версий нужно установить обычным способом, см. [[1C/Quick]].  
Одну из нужных версий следует установить обычным способом, см. [[1C/Quick]].  


В нашем случае выбрана 8.3.9-2033 (так как на данном сервере 1С - vm-pg9 - платформа обновляется намного чаще, чем на vm-db2).  
В нашем случае выбрана 8.3.9-2033, так как на данном сервере 1С (vm-pg9) платформа обновляется намного чаще, чем на vm-db2.


ОС - BaseAlt Рабочая Станция 8.1, x86_64 (установлен {{pkg|1c-preinstall-full}} и четыре необходимых RPM-пакета)
ОС - BaseAlt Рабочая Станция 8.1, x86_64 (установлен {{pkg|1c-preinstall-full}} и четыре необходимых RPM-пакета)
 
== Архивирование клиента 1С ==
== Создание архива клиента 1С ==
Другую версию 1С нужно распаковать в папку /opt/1C/v8.3.x-xxxx. Для удобства был написан [[1C/MultiClient#1ctarball.sh|скрипт (см.ниже)]], который намного упростит это действие.
Другую версию 1С нужно распаковать в папку /opt/1C/v8.3.x-xxxx. Для удобства был написан [[1C/MultiClient#1ctarball.sh|скрипт (см.ниже)]], который намного упростит это действие.
* Скрипт (можно скачать [https://yadi.sk/d/Sx3TXYQY3DoGaZ здесь]) положите в папку вместе с распакованными [[1C/Quick#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2|RPM-пакетами]]
* Скрипт (можно скачать [https://yadi.sk/d/Sx3TXYQY3DoGaZ здесь]) положите в папку вместе с распакованными [[1C/Quick#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2|RPM-пакетами]]
Строка 34: Строка 34:
  chown -R root:root /opt/1C/v8.3.5-1460
  chown -R root:root /opt/1C/v8.3.5-1460
Теперь рядом с директорией {{path|/opt/1C/v8.3}} (в которой установлена версия 8.3.9-2033) есть с другой версией: {{path|/opt/1C/v8.3.5-1460}}. Все, на вашем Линуксе установлено две версии клиента 1С (можно сделать и больше)
Теперь рядом с директорией {{path|/opt/1C/v8.3}} (в которой установлена версия 8.3.9-2033) есть с другой версией: {{path|/opt/1C/v8.3.5-1460}}. Все, на вашем Линуксе установлено две версии клиента 1С (можно сделать и больше)
==Настройка доступа к базам==
Затем нужно настроить подключение к базам 1С. Из одного меню запуска, как в Windows, подключение к базам с разными версиями сделать не получится (так как исполняемый файл 1cestart для каждой из платформ свой), хотя общий список баз хранится в {{path|~/.1C/1cestart}}.


== Настройка доступа к базам 1С ==
Для подключения к серверу БД с версией 1С, которая установлена обычным способом (apt-get install), используется команда: {{cmd|/opt/1C/v8.3/x86_64/1cestart}}.
Затем необходимо настроить подключение к базам . Из одного меню запуска, как в Windows, подключение к базам с разными версиями сделать не получится (так как исполняемый файл 1cestart для каждой из платформ свой), хотя список баз и будет общий - хранится в {{path|~/.1C/1cestart}}.


Для подключения к серверу БД с версией 1С, которая установлена обычным способом (apt-get install), используется команда: {{cmd|/opt/1C/v8.3/x86_64/1cestart}}.
Для подключения с помощью других имеющихся версий: {{cmd|/opt/1C/v8.3.x-xxxx/x86_64/1cestart}}
Для подключения с помощью других имеющихся версий: {{cmd|/opt/1C/v8.3.x-xxxx/x86_64/1cestart}}


Остается только настроить ярлыки для каждой из версий (самое простое - скопировать из меню существующий и изменить в нем команду)
Остается настроить ярлыки для каждой из версий (самое простое скопировать из меню существующий и изменить в нем команду).
 
{|class="wikitable mw-collapsible mw-collapsed"
= 1сtarball.sh =
!Скрипт 1c-tarball.sh &nbsp;
<source lang="bash">
|-
|<source lang=shell>
#!/bin/bash
#!/bin/bash
arch=x86_64
arch=x86_64
Строка 75: Строка 76:
fi
fi
</source>
</source>
 
|}
{{Category navigation|title=1C|category=1C|sortkey={{SUBPAGENAME}}}}
[[Категория:1C]]

Текущая версия от 02:44, 3 октября 2025

Примечание: С версии 8.3.18.1208 данная инструкция не требуется - 1С наконец реализовал установку различных версий платформ в различные папки!

Установка и настройка нескольких версий клиентов 1С 8.3

Необходимость в использовании нескольких версий платформ 1С на клиентских машинах актуальна, когда в организации несколько серверов 1С, на которых установлена своя версия 1С-платформы.

Допустим, имеются серверы:

  • vm-db2 (192.168.0.10) на платформе 1C 8.3.5-1460 и
  • vm-pg9 (192.168.0.11) на платформе 1C 8.3.9-2033.

Для подключения к базам на одном ПК следует установить обе версии. В Windows с этим проблем нет — каждая платформа ставится как отдельная программа и после установки данных структура папок платформ такова:

C:\Program Files (x86)\1cv8\8.3.5.1460
C:\Program Files (x86)\1cv8\8.3.9.2033
C:\Program Files (x86)\1cv8\common

В последней папке лежит файл 1cestart.exe, который выбирает при запуске базы из единого списка (хранится в %Users%\AppData) платформу, соответствующую установленной на сервере хранения этой базы.

Однако под Linux разработчики 1С не потрудились организовать подобное, и при установке второй версии 1С попросту обновляется.

Идеальной была бы реализация как у пакетов ядра kernel-image-*, но пока справляемся своими силами.

Первичная установка одной из версий

Одну из нужных версий следует установить обычным способом, см. 1C/Quick.

В нашем случае выбрана 8.3.9-2033, так как на данном сервере 1С (vm-pg9) платформа обновляется намного чаще, чем на vm-db2.

ОС - BaseAlt Рабочая Станция 8.1, x86_64 (установлен 1c-preinstall-full и четыре необходимых RPM-пакета)

Архивирование клиента 1С

Другую версию 1С нужно распаковать в папку /opt/1C/v8.3.x-xxxx. Для удобства был написан скрипт (см.ниже), который намного упростит это действие.

  • Скрипт (можно скачать здесь) положите в папку вместе с распакованными RPM-пакетами
  • Если у архитектура требуемого клиента x86_64 - скрипт менять не нужно. Если же нет - откройте его и измените значение переменной arch на i386.
  • Сделайте его исполняемым (chmod +x 1ctarball.sh)
  • Запустите его в таком формате: ./1ctarball.sh <номер версии 1с в формате 8.3.x-xxxx> (в нашем случае ./1ctarball.sh 8.3.5-1460)
  • Результатом будет архив c именем 1С_8.3.5-1460.tgz
Примечание: Данное действие можно производить на любом компьютере (понадобятся пакеты rpm и tar), не обязательно на котором необходимо установить клиент 1С

Установка дополнительной версии клиента 1С

На клиентской машине (с уже установленной другой версией платформы!) выполняем от рута следующие команды:

tar -xzvf 1С_8.3.5-1460.tgz -C /
chown -R root:root /opt/1C/v8.3.5-1460

Теперь рядом с директорией /opt/1C/v8.3 (в которой установлена версия 8.3.9-2033) есть с другой версией: /opt/1C/v8.3.5-1460. Все, на вашем Линуксе установлено две версии клиента 1С (можно сделать и больше)

Настройка доступа к базам

Затем нужно настроить подключение к базам 1С. Из одного меню запуска, как в Windows, подключение к базам с разными версиями сделать не получится (так как исполняемый файл 1cestart для каждой из платформ свой), хотя общий список баз хранится в ~/.1C/1cestart.

Для подключения к серверу БД с версией 1С, которая установлена обычным способом (apt-get install), используется команда: /opt/1C/v8.3/x86_64/1cestart.

Для подключения с помощью других имеющихся версий: /opt/1C/v8.3.x-xxxx/x86_64/1cestart

Остается настроить ярлыки для каждой из версий (самое простое — скопировать из меню существующий и изменить в нем команду).

Скрипт 1c-tarball.sh  
#!/bin/bash
arch=x86_64
if [ -z $1 ]; then
    echo "Введите номер версии 1С в формате 8.3.x-xxxx"
    exit 1
else
    name="1C_Enterprise83"
    if ! [ -f $name-client-$1.$arch.rpm ]; then
        echo "В текущей директории не найдены необходимые пакеты для указанной версии 1С. 
Убедитесь в наличие всех следующих пакетов:
* $name-client-$1.$arch.rpm
* $name-client-nls-$1.$arch.rpm
* $name-server-$1.$arch.rpm
* $name-common-$1.$arch.rpm"
        exit 1 
    else
    echo -n "Подождите, операция выполняется..."
    rpm2cpio $name-client-$1.$arch.rpm | cpio -idmv 2> /dev/null
    rpm2cpio $name-client-nls-$1.$arch.rpm | cpio -idmv 2> /dev/null
    rpm2cpio $name-server-$1.$arch.rpm | cpio -idmv 2> /dev/null
    rpm2cpio $name-common-$1.$arch.rpm | cpio -idmv 2> /dev/null
    mv opt/1C/v8.3 opt/1C/v$1
    tar -cpzf 1С_$1.tgz opt
    rm -rf opt/ etc/ usr/
    echo; echo "Выполнено, установите сгенерированный архив в систему командой (c правами root):
# tar -xzvf 1С_$1.tgz -C /"
    exit 0
    fi
fi