Архив рубрики: 1С:Предприятие

1С:Предприятие 8.3 на Astra Linux

Установим и настроим 1С:Предприятие 8.3 на OC Astra Linux. Работать программа может на свободном терминальном сервере XRDP для удобного подключения по протоколу RDP.  Из всех вариантов этот вариант меня порадовала больше всего.

Введение

Произведём установку и настройку программы «1С:Предприятие 8.3» c конфигурацией «Бухгалтерия предприятия (базовая)» с программной и аппаратной лицензией. Установка будет производиться на сервер работающий под управлением Astra Linux Common Edition 2.12.44. Сделаем удаленный доступ с помощью XRDP который позволит одновременно сидеть на сервере нескольким пользователям по протоколу RDP.

Требования, которые предъявляет разработчик к системам на которых может работать их продукты, вы можете найти на странице Системные требования «1С:Предприятия 8».

После установки программы, в справке по пути: «1С:Предприятие» — «Работа пользователя» — «Особенности работы в Linux», можно ознакомиться с нюансами работы системы.

Многие компании, занимающиеся 1С, будут советовать вам приобрести для работы в системе именно систему Windows, обосновывая это большей надежностью и удобством. Имейте в виду, что при продаже Windows продавец, согласно политике компании, получает приличное вознаграждение, что вызывает у многих естественное желание продать побольше. В ряде случаев действительно придется использовать систему Windows, но не факт, что она подойдёт именно вам.

Платформа и конфигурация 1С:Предприятие для Linux

В документах, которые вы получили после приобретения программного продукта семейства 1С, вы найдете регистрационные данные которые необходимы для регистрации на портале поддержки 1C:Портал поддержки. После регистрации и активации своего продукта, вы получите доступ для скачивания всего необходимого.

Иногда компании, в которых вы приобретаете продукт, может зарегистрировать продукт за вас. Уточните этот момент перед тем, как зарегистрируетесь сами.

Различие Базовой и Проф конфигурации

К выбору версии надо подходить очень аккуратно и четко понимать, что и в каком виде нужно именно вам. Не стоит идти на уловки компаний — дилеров, не спешить с приобретением ПРОФ версии и подписки ИТС.

Рассмотрим кратко основные отличия:

  • Базовая версия — при этом выборе вы можете вести только одну организацию в одной базе. Таких баз можно вести сколько угодно, но для каждой организации будет своя база. Плюс заключается в том, что вы всегда сможете сами обновляться с официального сайта поддержки, не прибегая к помощи сторонних специалистов. Но есть и минус — работать сможет только один пользователь. Ни о какой совместной работе в базе нескольких человек, не может быть и речи.

Если вы не планируйте вносить изменения в конфигурацию, то и нет необходимости работать с базой одновременно нескольким пользователям. В этом случае базовая версия именно то, что вам и нужно.

  • ПРОФ версия — как только вы перешли на эту версию, обновления будут доступны только при подписке ИТС. Появится возможность вносить изменения в конфигурацию, работать нескольким пользователям и вести несколько фирм в одной базе.

Важно иметь в виду, что при переходе на ПРОФ версию, вы полностью будете зависеть от той компании, в которой оформили подписку ИТС. Таких компаний много, важно выбрать хорошую и надёжную. Лучше, если эту компанию вам порекомендуют те, которым вы доверяете.

Вот вопрос-ответ службы поддержки 1С на два моих вопроса.

Версию ПРОФ в отличии от БАЗОВОЙ можно обновлять только при активной подписке на ИТС? — Да.

В моем случае, для тестирования без приобретения подписки ИТС, я не смогу обновлять версию ПРОФ легальными способами? — Да.

В практике мне приходилось сталкиваться с тем, что иногда компания использует старую версию программы (например 8.1) и хочет перейти и обновиться до новой версии 8.3, но продавец у которого они приобретали продукт говорит, что надо купить новую версию. Каково же было их удивление, когда я обновлял им программу до последней версии и показывал, как надо обновляться в дальнейшем.

Программная и аппаратная лицензия 1С:Предприятие

Это, пожалуй, один из самых важных моментов, который нужно учесть сразу. Программная лицензия стоит дешевле, но вызывает много проблем при смене оборудования. Как правило, отдел лицензирования всегда идёт на встречу и может предоставить даже большее количество активаций при определенных условиях, но это не всегда удобно. Использование USB ключей всё упрощает и развязывает руки при обновлении оборудования.

В практике встречался случай, когда компания приобрела программную лицензию на 5 пользователей и активировала её не для сервера, а для каждого пользовательского компьютера. Поначалу все было нормально, но когда база увеличилась, начались проблемы со скоростью. Использование скоростного диска SSD и перевода сети на 1 Gbit сильно улучшило ситуацию.

Варианты разворачивания сети 1С:Предприятие

Все хотят работать в программе 1С быстро, как на предприятии, так и дома. Все это возможно оптимально настроить различными способами.

Существует два вида работы базы данных:

  1. Файловая база данных — самый простой вариант и подходит для небольших организаций идеально. Этот вариант мы и рассмотрим в данной статье.
  2. База данных SQL — более сложный вариант и ориентирован на большое количество пользователей. При небольшом количестве пользователей нет смысла использовать такой вариант. Для работы будет нужна серверная лицензия, она стоит около 80 000 рублей.

Внимание!
Сервер 1С:Предприятия 8.3 под Linux может запуститься и без лицензии, при этом он позволяет иметь в кластере только один рабочий процесс, который допускает не более 12 клиентских соединений. Однако такая работа сервера не дает права использования программного обеспечения сервера 1С:Предприятия без покупки продукта «1С:Предприятие 8.3 Лицензия на сервер». Об этом сказано в лицензионном соглашении любой основной поставки 1С:Предприятия.

Оптимальное использование файловой базы данных 1C:Предприятие

Когда вы используйте файловую базу данных, расположенную в локальной сети, и клиенты подключаются к ней, скорость работы в программе будет зависеть от скорости локальной сети и от мощности самого компьютера. Для небольших баз такой вариант приемлем, но очень быстро базы увеличиваются и работа в программе становится все медленней и медленней, за исключением компьютера на котором расположена сама база.

Существует два варианта улучшения скорости работы в файловой базе данных:

  • Использование локальной сети 1 Gbit и диска SSD для базы данных — на какой-то момент это улучшит положение, но как показывает практика -ненадолго.
  • Использование терминального сервера — при таком варианте приобретается один мощный компьютер, на котором устанавливается программа, а все пользователи удалено подключаются к компьютеру используя свой профиль. Получится, что на одном компьютере будет одновременно несколько пользователей, не видя друг друга. По сети передается только картинка, а вся работа производится на сервере. Можно настроить удаленный доступ из интернета, и тогда избранные пользователи смогут используя медленный интернет спокойно работать в программе с домашнего компьютера.

Конечно, вы можете приобрести серверную версию Windows, так как только там легально можно использовать терминальный режим. Некоторые, по многочисленным советам в сети, переводят обычные версии Windows в терминальный режим, используя нелегальные варианты. Мой выбор — терминальный сервер Linux, который удовлетворил все мои требования и пожелания.

Установка терминального сервера XRDP

Устанавливаем сервер для возможности удаленного доступа к серверу несколькими пользователями:

apt install xrdp xorgxrdp

Проверяем статус:

# systemctl status xrdp
 xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-04-19 20:59:44 MSK; 2min 27s ago
      Docs: man:xrdp(8)
            man:xrdp.ini(5)
 Main PID: 2443 (xrdp)
   CGroup: /system.slice/xrdp.service
           └─2443 /usr/sbin/xrdp --nodaemon

апр 19 20:59:44 1c systemd[1]: Starting xrdp daemon...
апр 19 20:59:44 1c systemd[1]: Started xrdp daemon.
апр 19 20:59:44 1c xrdp[2443]: [INFO ] starting xrdp with pid 2443
апр 19 20:59:44 1c xrdp[2443]: [INFO ] address [0.0.0.0] port [3389] mode 1
апр 19 20:59:44 1c xrdp[2443]: [INFO ] listening to port 3389 on 0.0.0.0
апр 19 20:59:44 1c xrdp[2443]: [INFO ] xrdp_listen_pp done

Всё работает и добавлено на автозагрузку при запуске системы.

Используя протокол RDP подключаемся к серверу и работаем.

Так быстро я еще никогда не разворачивал XRDP. Всё работает из коробки и не требует никаких дополнительных действий.

Установка 1С Предприятие 8.3 на Astra Linux

Пошагово пройдем путь установки программы на систему Astra Linux.

Предварительная подготовка

Для установки необходимо в консоли зайти под пользователем root:

sevo44@orel-astra:~$ su -
Пароль: 
root@orel-astra:~#

В случае если вы забыли пароль или его просто нет, необходимо выполнить в консоли команду которая создаст новый пароль:

passwd root

Создадим папки на сервере, в которую разместим файлы для установки платформы, программного обеспечения для работы с Hasp ключами USB и папку баз данных:

mkdir /root/srv1cv83-install
mkdir /home/base1c

Установим пакеты, которые необходимы для установки и корректной работы программы:

apt install libwebkitgtk-3.0.0 imagemagick unixodbc libgsf-bin t1utils

Установка 1С:Предприятие 8.3

Скачиваем с сайта поддержки 1С  «Технологическая платформа 1С:Предприятия (64-bit) для Linux».

Распаковываем архив в папку srv1cv83-install с помощью консоли:

cd /root/srv1cv83-install 
tar xvzf server64_8_3_20_1789.tar.gz 
ls
= вывод команды =
LibericaJDK-8-9-10-licenses.pdf Liberica-Notice.txt setup-full-8.3.20.1789-x86_64.run server64_8_3_20_1789.tar.gz

Запускаем установку:

./setup-full-8.3.20.1789-x86_64.run

Работа с 1С:Предприятие в системе Linux

Проверим какие процессы запущены:

ps aux|grep 1c
= вывод команды =
root 3391 0.0 0.0 12788 932 pts/0 S+ 01:02 0:00 grep 1c

= вывод команды ! при запущенной программе =
root 3399 15.3 4.6 635036 146160 ? Ssl 01:04 0:01 /opt/1cv8/x86_64/8.3.20.1789/1cv8s
root 3432 0.0 0.0 12788 932 pts/0 S+ 01:04 0:00 grep 1c

Активирование программной лицензии 1С:Предприятие

В активировании программной лицензии есть один нюанс. Когда вы запустите программу, она сообщит вам о необходимости её активировать, если вы начнете вводить пин-код ,то он окажется на 1 знак больше, чем требуемое количество.

Для активации однопользовательской программной лицензии, необходимо запустить программу 1С:Предприятие под пользователем root, только тогда при активации появится необходимое поле.

Установка HASP для работы с USB ключом

Программное обеспечение для работы с USB ключом будем использовать от компании Etersoft.

Смотрим какая есть последняя версия на сайте и скачиваем последнюю.

Перейдем в папку и скачаем туда пакет:

cd /root/srv1cv83-install
wget http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/AstraLinux/orel/haspd_8.23-eter2astra_amd64.deb

Установим:

dpkg -i haspd_*.deb 
= вывод команды =
Выбор ранее невыбранного пакета haspd.
(Чтение базы данных … на данный момент установлено 217439 файлов и каталогов.)
Подготовка к распаковке haspd_8.23-eter2astra_amd64.deb …
Распаковывается haspd (8.23-eter2astra) …
Настраивается пакет haspd (8.23-eter2astra) …
Обрабатываются триггеры для systemd (232-25+deb9u12astra.ce9) …

Запустим и проверим статус:

service haspd start
service haspd status
= вывод команды =
 haspd.service - LSB: Hasp keys support
   Loaded: loaded (/etc/init.d/haspd; generated; vendor preset: enabled)
   Active: active (running) since Tue 2022-04-19 01:12:33 MSK; 9s ago
      Docs: man:systemd-sysv-generator(8)
  Process: 3629 ExecStart=/etc/init.d/haspd start (code=exited, status=0/SUCCESS)
    Tasks: 10 (limit: 4915)
  CGroup: /system.slice/haspd.service
          ├─3634 aksusbd
          └─3645 hasplmd -s

апр 19 01:12:33 orel-astra systemd[1]: Starting LSB: Hasp keys support...
апр 19 01:12:33 orel-astra aksusbd[3634]: loaded, daemon version: 8.23.1.119312, key API (USB) version: 3
апр 19 01:12:33 orel-astra haspd[3629]: Running aksusbd... [ DONE ]
апр 19 01:12:33 orel-astra hasplmd[3645]: HASP LM v25.2.1.119312 loaded
апр 19 01:12:33 orel-astra haspd[3629]: Running hasplmd... [ DONE ]
апр 19 01:12:33 orel-astra systemd[1]: Started LSB: Hasp keys support.

Все хорошо. Осталось подключить USB ключ.

В системе Proxmox проброс нужного порта в виртуальную машину делается очень просто:

Для проверки работы ключа откроем браузер по ссылке http://127.0.0.1:1947 и смотрим появление нашего ключа в списке:

Создание файловой базы данных 1C:Предприятие

В Linux для создания баз из шаблона вначале необходимо установить шаблон в необходимую папку, а потом указать в настройке откуда брать шаблоны.

Для этих действий необходимо чтобы в системе была установлена Wine. К сожалению, без этого нельзя запустить файлы exe. Других способов установки базы из шаблона в системе Linux я не нашел.

В моем случае, я скопировал папку с базой в нужное место и выдал необходимые права:

chmod -R 777 /home/base1c

Права надо выдавать только после того, как скопируете все необходимые базы 1С!

Запуск 1C:Предприятие

В меню появилась ссылка на запуск программы:

При первом запуске появляется сообщение о необходимости установки шрифтов. В моем случае все шрифты уже были и отображались корректно, но при сохранении документов в PDF были проблемы с отображением шрифтов.

Переходим в необходимое место и смотрим информацию которая там указывается.

Проблемы со шрифтами

Не сразу заметил проблему со шрифтами при экспорте в pdf файл. Часть текста обрезалась, и информация была не полной. Можно ставить пакеты со шрифтами, но достаточно иметь шрифты по пути /usr/share/fonts/msttcorefonts.

Скачиваем и распаковываем архив в нужное место под пользователем root:

cd /usr/share/fonts
wget https://sevo44.ru/sevo44/download/msttcorefonts.tar.gz
tar xvzf msttcorefonts.tar.gz

Можно установить специальный пакет, который установит необходимые шрифты:

wget https://download.etersoft.ru/pub/Etersoft/WINE@Etersoft/2.1.4/fonts/x86_64/AstraLinux/orel/fonts-ttf-ms_1.0-eter4astra_all.deb
dpkg -i fonts-ttf-ms_1.0-eter4astra_all.deb

Какой вариант выбрать, решать вам. Надеюсь, разработчики рано или поздно для версии Linux перестанут использовать эти шрифты.

Вот так это выглядит, когда мы еще не установили необходимые шрифты:

С установленными шрифтами видно, что шрифт стал другой, но это малозаметно:

Обновление платформы 1С:Предприятие в Linux

Обновление производится по тому же принципу установки программы, описанному выше. Скачиваем новые пакеты и заново устанавливаем.

Обновление базовой конфигурации 1C:Предприятие в Linux

Обновление для ПРОФ — это совсем другая история.

Обновлять конфигурацию необходимо в режиме конфигуратора базы. Конфигурация — Обновить конфигурацию — Поиск доступных обновлений указываем наш логин и пароль от личного кабинета пользователя, и обновляемся.

Обязательно перед обновлением конфигурации нужно знать, какая необходима минимальная версия платформы. В противном случае, вы не зайдете в базу пока не обновите платформу.

Резервное копирование

Механизм резервного копирования в самой программе не работает.

Общий план резервного копирования следующий:

  • Останавливаем все запущенные процессы 1С;
  • Делаем резервную копию методом архивирования папки с базой.

Обычно я держу на сервере только 3 последние резервных копии, так как другой сервер забирает резервные копии и хранит их за гораздо больший период.

Смотрим, какие процессы запущены

ps aux|grep 1cv8
= вывод команды =
sevo44 1626 105 45.3 3634576 1825392 ? Sl 10:10 14:38 /opt/1cv8/x86_64/8.3.20.1789/1cv8c ENTERPRISE /IBName"Информационная база" /AppAutoCheckMode
root 1801 0.0 0.0 12788 968 pts/0 S+ 10:23 0:00 grep 1cv8

Создадим необходимые папки:

mkdir /root/{bin,backup1c}

Создаем скрипт, который будет выполнять все необходимые действия:

vim /root/bin/backup1c.sh
= необходимый код =
#!/bin/sh
# Дата в формате 2015-09-29_04-10
date_time=`date +"%Y-%m-%d_%H-%M"`
# Путь сохранения копии
bk_dir='/root/backup1c'

# Вначале смотрим в Диспетчер задач название приложения
# затем смотрим вывод -> ps aux | grep 1cv8c
# Выполняем команду, которая завершит все процессы
# Если не писать никакого сигнала, то команда выполнит
# SIGTERM - немедленно завершает процесс, но обрабатывается программой,
# поэтому позволяет ей завершить дочерние процессы и освободить все ресурсы.
# killall - завершит все имеющиеся процессы с таким именем

# Закрываем 1с
killall 1cv8c

# Создаем файл с датой создания базы
echo `date +"%Y-%m-%d_%H-%M"` > /root/backup1c/timestamp

# Создаем базу через 10 секунд
sleep 10
/bin/tar -cvzf $bk_dir/dolotov1cbase_$date_time.tar.gz /home/base1c/dolotov1cbase/*
# Удаляем копии старше 3-x дней
/usr/bin/find $bk_dir -type f -mtime +1 -exec rm {} \;

После создания скрипта делаем его исполнительным:

chmod +x /root/bin/backup1c.sh

Для проверки обязательно запустим и проверим, как он отработает:

sh /root/bin/backup1c.sh
= вывод команды =
/bin/tar: Удаляется начальный `/' из имен объектов
/home/base1c/dolotov1cbase/1CHelpIndex/
/home/base1c/dolotov1cbase/1CHelpIndex/userVocabulary_ru.bin
/home/base1c/dolotov1cbase/1CHelpIndex/userDocs_ru.bin
/home/base1c/dolotov1cbase/1CHelpIndex/userPostings_ru.bin
/home/base1c/dolotov1cbase/1Cv8.1CD
/home/base1c/dolotov1cbase/1Cv8.1CD.cfl
/home/base1c/dolotov1cbase/1Cv8.1CL
/home/base1c/dolotov1cbase/1Cv8.1CL.cfl
/home/base1c/dolotov1cbase/1Cv8.cgr.cfl
/home/base1c/dolotov1cbase/1Cv8FTxt/
/home/base1c/dolotov1cbase/1Cv8FTxt/checkoutReasonProtect.dat
/home/base1c/dolotov1cbase/1Cv8FTxt/checkout.dat
/home/base1c/dolotov1cbase/1Cv8FTxt/checkoutReasonFile.dat
/home/base1c/dolotov1cbase/1Cv8IntegSrvc/
/home/base1c/dolotov1cbase/1Cv8IntegSrvc/exec.lck.cfl
/home/base1c/dolotov1cbase/1Cv8JobScheduler/
/home/base1c/dolotov1cbase/1Cv8JobScheduler/exec.lck.cfl
/home/base1c/dolotov1cbase/1Cv8JobScheduler/jobs.dat
/home/base1c/dolotov1cbase/1Cv8JobScheduler/jobs.dat.cfl
/home/base1c/dolotov1cbase/1Cv8JobScheduler/exec.lck
/home/base1c/dolotov1cbase/1Cv8Log/
/home/base1c/dolotov1cbase/1Cv8Log/1Cv8.lgd
/home/base1c/dolotov1cbase/1Cv8Temp/
/home/base1c/dolotov1cbase/1Cv8tmp.1CD
/home/base1c/dolotov1cbase/1Cv8tmp.1CD.cfl
/home/base1c/dolotov1cbase/1Cv8tmp.1CL
/home/base1c/dolotov1cbase/1Cv8tmp.1CL.cfl
/home/base1c/dolotov1cbase/default.vrd
/home/base1c/dolotov1cbase/logcfg.xml

После успешной проверки добавляем скрипт на автоматическое выполнение по расписанию.

Открываем необходимый файл и добавляем нужный код:

vim /etc/crontab
= необходимый код =
### Backup1С
# ежедневно в 3 часа
00 3 * * * root /root/bin/backup1c.sh >/dev/null 2>&1

Согласно команде каждый день в 3:00 будет выполняться скрипт для создания ежедневного бэкапа.

Заключение

Установку и настройку 1С:Предприятие я выполнял на разных системах, но установка на Astra Linux была самая простая. Настройка терминального сервера XRDP для подключения пользователей по протоколу RDP оказалась беспроблемной, так как всё заработало без дополнительного вмешательства в настройку.

Может быть в системе Astra Linux из коробки и не так много программ в репозиториях, но то, что они все работают и стабильные — это факт. Графическая оболочку Fly, которая используется только в этом дистрибутиве, очень хорошо сделана, и все продумано максимально, но самое главное в этом то, что куда бы я не заходил, всё работает и нет ошибок.

Считаю, что использование Astra Linux под 1C:Предприятие — самый лучший вариант.

1С:Предприятие 8.3 на Linux

Установим и настроим 1С:Предприятие 8.3 на OC Debian. Работать программа будет на свободном терминальном сервере XRDP для удобного подключения с любой системы. Прощай популярный нелегальный перевод систем Windows в терминальный сервер.

Введение

Произведем установку и настройку программы «1С:Предприятие 8.3» c конфигурацией «Бухгалтерия предприятия (базовая)» с программной и аппаратной лицензией. Установка будет производится на подготовленный сервер терминалов работающий под управлением XRDP в операционной системе Debian 8.

В системе Debian 9 все настраивается аналогичным образом. Единственное что необходимо это выбрать правильный пакет для HASP.

Многие конторы занимающиеся 1С будут советовать вам приобретать для работы в системе именно систему Windows обосновывая это большей надежностью и удобством. Имейте в виду что при продаже Windows продавец, согласно политике компании, получает приличное вознаграждение что вызывает у многих буйное желание продать побольше товаров МайкраСофака. Вам ведь никто не скажет что в системе Linux люди не используют антивирусы 🙂 там вирусы не живут.

Все действия производятся с учетом настройки сервера терминалов рассмотренной в статье «XRDP терминальный сервер Linux«.

Платформа и конфигурация 1С:Предприятие для Linux

В документах, которые вы получили после приобретения программного продукта семейства 1С, вы найдете регистрационные данные которые необходимы для регистрации на портале поддержки 1C:Портал поддержки. После регистрации и активирования своего продукта вы получите доступ для скачивания всего необходимого.

Иногда компании, в которых вы приобретаете продукт, может зарегистрировать продукт за вас. Уточните этот момент перед тем как регистрироваться самим.

Различие Базовой и Проф конфигурации

К выборе версии надо подходить очень аккуратно и не идти на развод торгующих компаний на подписку ИТС.

Компании обслуживающие 1С заинтересованы склонить вас на подписку и получать ежемесячный доход ничего не делая.

Рассмотрим кратко основные отличия:

  • Базовая версия — при этом выборе вы можете вести только одну организацию в одной базе. Можно таких баз вести сколько угодно но для каждой организации будет своя база. Плюс в том что вы всегда сможете сами обновляться с официального сайта поддержки не прибегая к помощи сторонних специалистов.

Если вы не планируйте вносить изменения в конфигурацию и пользоваться проверенной и стабильно работающей версией то это именно то что вам надо.

  • ПРОФ версия — как только вы перешли на эту версию про обновления можете забыть так как они будут доступны только при подписке ИТС. Появится возможность вносить изменения в конфигурацию и вести несколько фирм в одной базе но надо ли вам это решайте сами.

Самое главное имейте в виду что при переходе на ПРОФ вы полностью зависите от той компании в которой оформили подписку ИТС и от тех специалистов которые будут работать с вашей программой. Компаний много и тут важно выбрать хорошую. Лучше если это будет по рекомендации людей которым вы доверяете.

Вот вопрос-ответ службы поддержки 1С на два моих вопроса.

Версию ПРОФ в отличии от БАЗОВОЙ можно обновлять только при активной подписке на ИТС? — Да.

В моем случае для тестирования без приобретения подписки ИТС я не смогу обновлять верию ПРОФ легальными способами? — Да.

В практике сталкивался с тем что иногда компания сидит в старой версии программы (например 8.1) и хотят перейти и обновится до новой версии 8.3 но продавец у которого они приобретали продукт говорит что надо покупать новую версию. Какое было у них удивление когда я обновлял и ставил им последнюю версию и показывал как надо обновляться. Конечно я не затрагиваю момент обновление конфигурации с обновлением всех данных хотя и это при грамотном подходе возможно сделать с сохранением всех основных данных.

Программная и аппаратная лицензия 1С:Предприятие

Это пожалуй один из важных моментов которые нужно учесть сразу. Программная лицензия стоит дешевле но вызывает кучу проблем при смене оборудования. Не скрою что отдел лицензирование всегда идёт на встречу и может предоставить даже большее количество активаций при определенных условиях, но это не всегда удобно. Использование USB ключей всё упрощает и развязывает руки при обновлении оборудования  или оптимизации работы с 1С.

В практике был случай когда компания приобрела программную лицензию на 5 пользователей и активировало её не для сервера а для каждого пользовательского компьютера. По началу все было нормально но когда база увеличилась начались проблемы со скоростью работы и даже использование скоростного диска SSD и перевода сети на 1 Gbit не сильно улучшило ситуацию.

Варианты разворачивания сети 1С:Предприятие

Все хотят работать в программе 1С быстро как на предприятии так и дома. Все это можно оптимально настроить разными способами с учетом требований эксплуатирующей организации.

Существует два вида работы базы данных:

  1. Файловая база данных — самый простой вариант и подходит идеально для небольших организаций. Этот вариант мы и рассмотрим в этой статье.
  2. База данных SQL — более сложный вариант и ориентирован на большое количество пользователей. При небольшом количестве пользователей нет смысла использовать такой вариант. Для работы будет нужна серверная лицензия которая стоит в районе 80 000 рублей.

Внимание!
Сервер 1С:Предприятия 8. под Linux может запуститься и без лицензии, при этом он позволяет иметь в кластере только один рабочий процесс, который допускает не более 12 клиентских соединений. Однако, такая работа сервера не дает права использования программного обеспечения сервера 1С:Предприятия без покупки продукта «1С:Предприятие 8. Лицензия на сервер». Об этом сказано в лицензионном соглашении любой основной поставки 1С:Предприятия.

Оптимальное использование файловой базы данных 1C:Предприятие

Когда вы используйте файловую базу данных расположенную в локальной сети и клиенты подключаются скорость работы в программе зависит от скорости локальной сети и от мощности самого компьютера. Для небольших баз этот вариант приемлем но очень быстро базы увеличиваются и работа в программе становится все медленней и медленней за исключением компьютера на котором расположена сама база.

Существует два варианта улучшения скорости работы в файловой базе данных:

  • Использование локальной сети 1 Gbit и диска SSD для базы данных — на какой то момент это улучшит положение но как показала практика не на долго. Очень быстро пользователи привыкают к улучшению скорости и начинаются опять жалобы на зависания в работе.
  • Использование терминального сервера — при этом варианте в организацию приобретается один мощный компьютер на котором устанавливается программа и все пользователи удалено подключаются к компьютеру использую свой профиль. Получится что на одном компьютере будет одновременно сидеть несколько пользователей не видя друг друга. По сети передается только картинка а вся работа производится на сервере. Возможно настроить удаленный доступ из интернета и тогда избранные пользователи смогут используя медленный интернет спокойно работать в программе с домашнего компьютера.

Конечно вы можете приобрести серверную версию Windows так как только там легально можно использовать терминальный режим. Некоторые по многочисленным советам в сети переводят обычные версии Windows в терминальный режим используя нелегальные варианты. Мой выбор пал но терминальный сервер Linux который удовлетворил все мои пожелания и требования.

Установка 1С Предприятие 8.3 на Linux

Пошагово пройдем путь установки программы на систему Debian 8.

Предварительная подготовка

Создадим папки на сервере куда разместим все необходимые файлы для установки платформы,программного обеспечения для работы с Hasp ключами USB и для баз данных программы:

mkdir /root/1с
mkdir /root/1c/deb
mkdir /root/1c/hasp
mkdir /base1c

Установим пакеты которые необходимы для установки и корректной работы программы:

apt-get install imagemagick libwebkitgtk-1.0-0 libc6-i386 libgsf-bin libgsf-1-common

Изменим файл /etc/hosts для правильной работы с базами PostgreSQL если нам потребуется:

mcedit /etc/hosts
= вывод команды с необходимыми изменениями =
127.0.0.1 localhost
127.0.1.1 xrdp1c.sevo44.loc xrdp1c
# без этой строки базы в PostgreSQL из шаблона создаваться не будут
192.168.0.105 xrdp1c.sevo44.loc xrdp1c

# The following lines are desirable for IPv6 capable hosts
#::1 localhost ip6-localhost ip6-loopback
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters

Установка 1С:Предприятие 8.3

Скачиваем с сайта поддержки 1С два необходимых архива:

  • Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем
  • Клиент 1С:Предприятия (64-bit) для DEB-based Linux-систем

 Распаковываем архивы и кладём всё что там есть в папку /root/1c/deb:

cd /root/1c/deb 
ls -l
= вывод команды =
итого 734240
-rw-rw-r-- 1 root root 234390780 апр 27 04:18 1c-enterprise83-client_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 21241724 апр 27 04:18 1c-enterprise83-client-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 38098736 апр 27 04:18 1c-enterprise83-common_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 6994234 апр 27 04:18 1c-enterprise83-common-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 205387286 апр 27 04:18 1c-enterprise83-server_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 69034756 апр 27 04:18 1c-enterprise83-server-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 160004354 апр 27 04:18 1c-enterprise83-thin-client_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 16330304 апр 27 04:18 1c-enterprise83-thin-client-nls_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 347850 апр 27 04:18 1c-enterprise83-ws_8.3.10-2252_amd64.deb
-rw-rw-r-- 1 root root 15056 апр 27 04:18 1c-enterprise83-ws-nls_8.3.10-2252_amd64.deb

Пакеты с thin — это тонкий клиент. Нам он не нужен и можно удалить эти пакеты.
Пакеты nls нужно использовать в случае использования языков кроме русского.

Удалив всё лишнее, запустим установку:

dpkg -i *.deb
= вывод команды =
Выбор ранее не выбранного пакета 1c-enterprise83-client.
(Чтение базы данных … на данный момент установлено 89244 файла и каталога.)
Подготовка к распаковке 1c-enterprise83-client_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-client (8.3.10-2252) …
Выбор ранее не выбранного пакета 1c-enterprise83-common.
Подготовка к распаковке 1c-enterprise83-common_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-common (8.3.10-2252) …
Выбор ранее не выбранного пакета 1c-enterprise83-server.
Подготовка к распаковке 1c-enterprise83-server_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-server (8.3.10-2252) …
Выбор ранее не выбранного пакета 1c-enterprise83-ws.
Подготовка к распаковке 1c-enterprise83-ws_8.3.10-2252_amd64.deb …
Распаковывается 1c-enterprise83-ws (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-common (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-server (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-ws (8.3.10-2252) …
Настраивается пакет 1c-enterprise83-client (8.3.10-2252) …
Обрабатываются триггеры для desktop-file-utils (0.22-1) …
Обрабатываются триггеры для mime-support (3.58) …
Обрабатываются триггеры для hicolor-icon-theme (0.13-1) …
Обрабатываются триггеры для systemd (215-17+deb8u7) …

Работа с сервером 1С:Предприятие в системе Linux

Программа установлена осталось проверить некоторые моменты.

Установим необходимый пакет:

apt-get install net-tools

Проверим:

netstat -atn|grep 0.0.0.0:15
= вывод команды =
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 
tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 
tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN

Должны быть открыты 3 порта! Если открыт будет только один создать базу PostgreSQL не удастся из за ошибки в соединении с сервером базы данных!

Проверим всели процессы сервиса запущены:

ps aux|grep 1c
= вывод команды =
ps aux|grep 1c
avahi 597 0.0 0.0 32220 2824 ? Ss 17:53 0:00 avahi-daemon: running [xrdp1c.local]
usr1cv8 1502 0.0 0.0 35632 3836 ? Ss 18:04 0:00 /lib/systemd/systemd --user
usr1cv8 1503 0.0 0.0 52184 2124 ? S 18:04 0:00 (sd-pam) 
usr1cv8 1509 0.4 0.9 639868 37568 ? Ssl 18:04 0:00 /opt/1C/v8.3/x86_64/ragent -daemon
usr1cv8 1517 1.7 2.6 1469848 105816 ? Sl 18:04 0:03 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host xrdp1c -range 1560:1591 -clstid 647987d4-4ac9-11e7-d489-12508af76120
usr1cv8 1591 2.0 5.7 1186824 227684 ? Sl 18:04 0:03 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost xrdp1c -regport 1541 -pid 67059b5a-4ac9-11e7-d489-12508af76120
root 1623 0.0 0.0 12756 2208 pts/0 S+ 18:07 0:00 grep 1c

Все стартовало и работает как надо. Команды управления сервером 1С:Предприятие:

service srv1cv83 start
service srv1cv83 stop
service srv1cv83 restart
service srv1cv83 status

Создание файловой базы данных 1C:Предприятие

При первом запуске вылезет сообщение о необходимости установки шрифтов. В моем случае все шрифты были и отображаются  корректно.

В Linux для создания баз из шаблона вначале необходимо установить шаблон в необходимую папку а потом указать в настройке откуда брать шаблоны.

Для этих действий необходимо чтобы в системе была установлена Wine. К сожалению без этого нельзя запустить файлы exe. Других способов установки базы из шаблона в системе Linux я не нашел.

В моем случае я скопировал папку с базой в нужное место и дал необходимые права:

chmod -R 777 /base1c

Права надо давать только после того как копируйте все необходимые базы 1С!

Активирование программной лицензии 1С:Предприятие

В активировании программной лицензии есть один нюанс. Если вы запустите программу она напишет что необходимо активировать и вы начнете вводить пин код то он окажется на 1 знак больше чем требуемое количество.

Для активации обнопользовательской программной лицензии необходимо запустить программу 1С:Предприятие под пользователем root и только тогда при активации появится необходимое поле.

Установка HASP для работы с USB ключом

Программное обеспечение для работы с USB ключом будем использовать от компании Etersoft. Посмотрим какие последние версии для Debiam 8 есть на сайте перейдя по ссылке ftp://ftp.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/8/ В моем случае последняя версия haspd_7.40-eter10debian_amd64.deb.

Для Debian 9 выберите пакет для этой системы.

Перейдем в папку, скачаем туда пакет:

cd /root/1c/hasp
wget ftp://ftp.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/8/haspd_7.40-eter10debian_amd64.deb
= часть вывода команды =
2017-06-01 17:04:10 (2,25 MB/s) - «haspd_7.40-eter10debian_amd64.deb» сохранён [3261640]

Установим:

dpkg -i haspd_7.40-eter10debian_amd64.deb 
= вывод команды =
Выбор ранее не выбранного пакета haspd.
(Чтение базы данных … на данный момент установлено 41583 файла и каталога.)
Подготовка к распаковке haspd_7.40-eter8debian_amd64.deb …
Распаковывается haspd (7.40-eter8debian) …
Настраивается пакет haspd (7.40-eter8debian) …
insserv: warning: script 'haspd.outformat' missing LSB tags and overrides
Обрабатываются триггеры для systemd (215-17+deb8u3) …
Обрабатываются триггеры для man-db (2.7.0.2-5) …

Запустим и проверим статус:

service haspd start
service haspd status
= вывод команды =
● haspd.service - LSB: Hasp keys support
Loaded: loaded (/etc/init.d/haspd)
Active: active (running) since Вт 2016-03-29 16:22:46 MSK; 1s ago
Process: 6521 ExecStart=/etc/init.d/haspd start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/haspd.service
├─6557 aksusbd
├─6568 winehasp
├─6577 hasplm -c /etc/haspd/hasplm.conf
└─6586 hasplmd -s

мар 29 16:22:46 vm008srv1c8 haspd[6521]: Enable workaround for /proc/bus/usb (bind from /dev/bus/usb)[ DONE ]
мар 29 16:22:46 vm008srv1c8 haspd[6521]: [ DONE ]
мар 29 16:22:46 vm008srv1c8 aksusbd[6557]: loaded, daemon version: 7.40.1.50292, key API (USB) version: 3.88 (parallel driver not available)
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running aksusbd... [ DONE ]
мар 29 16:22:46 vm008srv1c8 winehasp[6568]: winehasp 2.00 loaded
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running winehasp... [ DONE ]
мар 29 16:22:46 vm008srv1c8 hasplm[6577]: HASP LM v8.30 loaded
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running hasplm... [ DONE ]
мар 29 16:22:46 vm008srv1c8 hasplmd[6586]: HASP LM v18.0.1.55506 loaded
мар 29 16:22:46 vm008srv1c8 haspd[6521]: Running hasplmd... [ DONE ]

Все хорошо. Осталось подключить USB ключ или как в нашем случае пробросить его в системе Proxmox до нужной виртуальной машины.

Проброс USB устройства в системе виртуализации Proxmox

Рассказано для 4 версии Proxmox в 5 всё делается в веб интерфейсе!

Более подробно о вариантах проброса USB устройств в системе Proxmox вы можете узнать из статьи «USB проброс в Proxmox«.

Выполним проброс USB устройства с ключом от 1С:Предприятие 8, согласно статьи указанной выше.

Все действия на сервере Proxmox!

lsusb
= вывод команды с пояснениями =
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
# Вот наш ключ
Bus 002 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 002 Device 004: ID 0665:5161 Cypress Semiconductor USB to Serial
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
lsusb -t
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
 |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbfs, 1.5M
 |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=usbfs, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M

Видим что шина 2 и порт 2. Пропишем в параметры виртуальной машины:

mcedit /etc/pve/qemu-server/ID виртуальной машины.conf
= необходимое дополнение =
# Добавляем в конце строку. При изменении параметров vm эта строка останется!
usb0: 2-2

После перезагрузки сервера виртуализации Proxmox устройство будет работать в нужной виртуальной системе.

Проблемы со шрифтами

Сразу не заметил проблему со шрифтами при экспорте в pdf файл. Часть текста обрезалась и информация была не полной. Можно ставить пакеты со шрифтами но я вычислил, что достаточно иметь шрифты по пути /usr/share/fonts/msttcorefonts.

Создадим нужную папку:

mkdir /usr/share/fonts/msttcorefonts

И скопируйте туда шрифты которые можете скачать msttcorefonts.tar

Уменьшение нагрузки на сервер 1C:Предприятие

Очень рекомендую сразу отключить проверку на обновление системы в настройках программы. Отключить можно в разделе Администрирование — Интернет-поддержка пользователей. Обновлять спокойней и удобней через конфигуратор.

Обновление платформы 1С:Предприятие в Linux

Обновление производится по принципу установки программы пройденной в статье выше. Скачиваем новые пакеты и заново устанавливаем.

Обновление базовой конфигурации 1C:Предприятие в Linux

Обновление для ПРОФ это совсем другая песня.

Обновлять конфигурацию можно двумя способами:

  1. Автоматическое обновление — в режиме конфигуратора базы. Конфигурация — Обновить конфигурацию.. — Поиск доступных обновлений указываем наш логин и пароль от личного кабинета пользователя и обновляемся.
  2. Ручное обновление — вначале скачиваем все необходимые обновления в зависимости от версий обновления в личном кабинете и дальше в конфигураторе базы. Конфигурация — Обновить конфигурацию.. — Выбор файла обновление

Результат

После всех выполненных действий у нас будет работать терминальный сервер в котором удобно и конформно работать с программным комплексом 1С:Предприятие 8 для пользователей и администраторов. Лично для меня это развязало руки от привязки к компьютеру куда я установил программу и активировал программный ключ. В следующих статьях на тему 1С расскажу как я настроил резервное копирование файловых баз даныx и произведу установку базы на PostgreSQL c публикацией на Web сервере.