1C/Client

Материал из ALT Linux Wiki
< 1C

Предыдущая (устаревшая) версия статьи

Быстрое развёртывание клиента 1С:Предприятие 8.3 актуальной версии на десктопных системах семейства Альт.

Проверялось для:

  • Технологическая платформа 8.3, версия 8.3.23.1688, Клиент 1С:Предприятия (64-bit) для RPM-based Linux-систем
  • Альт Рабочая станция 10.1 (Autolycus)
Примечание: Должно быть актуально для всех систем на основе платформы p10


Все действия осуществляются в терминале под правами пользователя root.

Установка ключа защиты

Общая рекомендация - по возможности использовать программную лицензию. Аппаратные ключи защиты USB поддерживаются, но как унаследованное решение.

Самый простой способ установить поддержку ключа защиты — установить пакет haspd от Etersoft. Он собран для большинства дистрибутивов. В Альт Рабочая станция устанавливается командой

apt-get install haspd

Вставим ключ в порт USB и включим/запустим службу

chkconfig haspd on
service haspd start

Подготовка среды

Установим все зависимости для пакетов 1С:Предприятия, а также исправление зависимостей на libWand.so:

apt-get install 1c-preinstall

Установка пакетов

С сайта 1С по ссылке "Клиент 1С:Предприятия (64-bit) для RPM-based Linux-систем" скачивается архив вида (пример, для клиента версии 8.3.23.1688) client_8_3_23_1688.rpm64.tar.gz, а по ссылке "Сервер 1С:Предприятия (64-bit) для RPM-based Linux-систем" арив вида rpm64_8_3_23_1688.tar.gz

Перейти в каталог, содержащий архивы и распаковать их:

tar xvf client_8_3_23_1688.rpm64.tar.gz
tar xvf rpm64_8_3_23_1688.tar.gz

установить от имени суперпользователя root:

apt-get install 1c-enterprise-8.3.23.1688-client-8.3.23-1688.x86_64.rpm\
1c-enterprise-8.3.23.1688-common-8.3.23-1688.x86_64.rpm\
1c-enterprise-8.3.23.1688-server-8.3.23-1688.x86_64.rpm

Каталог установки, в данном случае /opt/1cv8/x86_64/8.3.23.1688, занимает около 1,7 ГБ.

Добавление шрифтов Microsoft®

Для правильного отображения шрифтов при запуске нужно установить шрифты от Microsoft®:

apt-get install 1c-preinstall-full

Вручную

apt-get install fonts-ttf-ms
Примечание: По лицензии этот пакет не может распространяться в составе дистрибутива, но его можно установить из онлайнового репозитория


Однако эти шрифты будут невидимы 1С. Создайте символическую ссылку на уровне системы:

ln -rs /usr/share/fonts/ttf/ms /usr/share/fonts/msttcorefonts

или для отдельного пользователя:

ln -s /usr/share/fonts/ttf/ms ~/.fonts

Всё это реализовано в 1c-preinstall-full  с версии 8.3-alt6 .

Известные ошибки и методы их устранения

Не найдена библиотека libWand

Если при запуске тонкого клиента возникает сообщение об ошибке «Не найдена библиотека libWand.so», сделайте ссылку на правильную библиотеку.

Самый простой способ

Установить пакет 1c-preinstall, как описано выше.

Вручную

При недоступности библиотеки libWand.so удостоверьтесь, что установлена библиотека libImageMagick и выполните (под правами root):

в 32-битной системе:

ln -s /usr/lib/libMagickWand*.so.1 /usr/lib/libWand.so.1
ldconfig

в 64-битной системе:

ln -s /usr/lib64/libMagickWand*.so.1 /usr/lib64/libWand.so.1
ldconfig

Ошибка при подключении к БД, размещенной на сервере

При попытке запуска сетевой БД можно увидеть ошибку:

Error1С linux.png

В Windows ошибка более информативна:

server_addr=vm-pg9 descr=Ошибка сетевого доступа к серверу 
(Windows Sockets - 11001(0x00002AF9). Этот хост неизвестен. ) line=991 file=Src\DataExchangeCommon.cpp

Решается явным указанием IP-адреса сервера в /etc/hosts (ну или в настройках подключения базы сразу указать IP)

Не запускается клиент на дистрибутивах платформы p10

После установки клиент не запускается (не появляется окно запуска). Если открыть терминал и запустить командой /opt/1C/v8.3/x86_64/1cv8 (на платформе x86_64), то выдаётся предупреждение вида:

/opt/1C/v8.3/x86_64/1cv8: /opt/1C/v8.3/x86_64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/lib64/libwebkitgtk-3.0.so.0)

Решается удалением файла libstdc++.so.6 из каталога /opt/1C/v8.3/x86_64[1]

Удаление

apt-get remove 1c-enterprise-8.3.23.1688-common

В команде достаточно указать один пакет common. Зависимые от него пакеты будут удалены автоматически.