1c + linux + postgresql + apache

Копирование числовых ячеек из 1С в Excel Промо

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

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера

Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе

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

Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.

Статистика базы данных с отбором по подсистемам (кол-во и открытие списков: документов, справочников, регистров) и анализ наличия основных реквизитов: универсальная обработка (два файла — обычный и управляемый режим)

Универсальная обработка для статистики базы данных (документы, справочники, регистры, отчеты) с отбором по подсистемам и с анализом наличия основных реквизитов (организации, контрагенты, договора, номенклатура, сотрудники, физлица, валюта).
Возможность просмотра списка документов или справочников или регистров при активизации в колонке «Документы, справочники, регистры, отчеты» в текущей строке.
Полезная обработка для консультации пользователей, где искать метаданные в каком интерфейсе, т.к. подсистема указывает в каком интерфейсе находятся метаданные (документы, справочники, регистры, отчеты).

1 стартмани

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера

Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе

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

Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.

Шаг 4. установка Listen_adresses для соединения с pgAdmin.

 После установки PostgreSql мне понадобилось проверить как он работает, и я  стал соединяться с ним с помощью PgAdmin 1.22.1. Однако, соединиться не вышло, оказалось, нужно указать в конфигурации listen_addresses=’*’. И тут меня встретил консольный(!) текстовый редактор vi. Это вам не нежно любимый Notepad++ с дополнениями. Впрочем, после небольшого чтения мануалов, оказалось что с редактором просто работать: по умолчанию файл открывается на чтение; для редактирования нужно перейти в insert mode нажав i; после редактирования нажать Esc и набрать две команды :w — для сохранения и команду :q для выхода из редактора. Итак, выполним команду открытия postgresql.conf

Найдем в этом файле listen_addresses=» и поменяем на listen_addresses=’*’. После чего перезапустим postgresql с помощью команды 

Проверить какие сервисы сейчас слушают порты можно с помощью команды 

И у вас должна быть примерно такая картина: (здесь у меня уже включен сервер 1с и отладка)

Настройка ежедневных ночных бэкапов баз на NAS

В папке 1c на NAS предварительно созданы папки:

base — там будут ночные бэкапы баз;

chpt — сюда сохраняются WAL-файлы в течение дня, которые ночью архивируются и кидаются в папку chp

chp — папка с архивированными WAL-файлами

Монтируем сетевую шару для бэкапов:

nano /etc/fstab
//10.10.10.22/backup/10.10.10.17/1c /mnt/backup cifs username=backup,password=password,iocharset=utf-8,file_mode=0777,dir_mode=0777,noperm 0 0
mkdir /mnt/backup
chmod 777 /mnt/backup
mount -a

(не монтировалась шара при загрузке если dhcp, статический ip -ок)

Включаем archive_mode в конфиге постгреса.

nano /var/lib/pgpro/1c-12/data/postgresql.conf

archive_mode = on
archive_command = 'test ! -f /mnt/backup/chpt/%f.gz && gzip -c %p > /mnt/backup/chpt/%f.gz'

(Архивирование WAL-файлов на NAS в предварительно созданную папку chpt)

Перезапуск 1с и postgres:

/etc/init.d/monit stop
/etc/init.d/srv1cv83 stop
service postgrespro-1c-12 restart
/etc/init.d/srv1cv83 start
/etc/init.d/monit start

Создаем скрипт ночного бэкапа:

mkdir /home/scripts
touch /home/scripts/back_1s.sh
chmod +x /home/scripts/back_1s.sh
nano /home/scripts/back_1s.sh
#!/bin/bash
BS="/mnt/backup"
DT="$(date +%Y-%m-%d)"
CPDir="$BS/chp/$DT"
BackFile="$BS/base/$DT.backup"
SLink="$BS/chpt"
host_ip="127.0.0.1"
# Создаем новый каталог для заархивированных WAL-файлов
mkdir $CPDir
chown postgres $CPDir
#PGPASSWORD= пароль пользователя postgres, заданный выше
PGPASSWORD=password /opt/pgpro/1c-12/bin/psql -h 127.0.0.1 -U postgres -c "select pg_start_backup('$DT');"
# архивируем WAL-файлы в каталог chp/дата/
tar -cvf $CPDir/chp.tar.gz $SLink
rm $SLink/*
# Функция бэкапа баз в папку base
backups () {
BackFile="$BS/base/$DT$baza.backup"
PGPASSWORD=password /opt/pgpro/1c-12/bin/pg_dump -U postgres -h $host_ip -C -c -b -F c -f $BackFile $baza
}
baza=name_bd1
backups
baza=name_bd2
backups
PGPASSWORD=password /opt/pgpro/1c-12/bin/psql -h $host_ip -U postgres -c "select pg_stop_backup();"
exit

И добавляем скрипт бэкапа в планировщик (будет запускаться в 22:00 каждый день):

crontab -u root -e
0 22 * * * /home/scripts/back_1s.sh

Установка сервера 1С

Начать, как обычно, нужно с установки дополнительных библиотек:

sudo apt-get install imagemagick

sudo apt-get install unixodbc

sudo apt-get install ttf-mscorefonts-installer

sudo apt-get install libgsf-1-114

Для версии 8.3.13 и выше используется библиотека ImageMagick входящая в состав дистрибутива, так что устанавливать пакет imagemagick не обязательно (хотя вреда от этого не будет).

Пакет ttf-mscorefonts-installer в процессе установки попросит принять лицензионное соглашение:

ttf-mscorefonts-installer предлагает лицензионное соглашение

На момент написания статьи в репозиториях Ubuntu 18.04 не было актуальных версий требуемых пакетов. Если в настоящее время их все еще нет, то можно попробовать добавить репозитории с неактуальными версиями пакетов. Создаем файл /etc/apt/sources.list.d/raring.list и записываем в него следующие строки:

deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse

После этого выполнить команду:

sudo apt-get update

После установки дополнительных библиотек скачиваем с сайта 1С все необходимые файлы (Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем) и устанавливаем их в таком порядке:

sudo dpkg -i 1c-enterprise83-common_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-common-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws-nls_8.3.13-1472_amd64.deb

Пакеты с приставкой «-nls» нужны для поддержки дополнительных языков и не являются обязательными к установке. Пакеты с приставкой «-ws» нужны для работы веб-клиента и также не являются необходимыми.

Теперь изменим владельца каталога /opt/1C:

sudo chown -R usr1cv8:grp1cv8 /opt/1C

И запустим сервер 1С:

sudo service srv1cv83 start

Сервер работает

Если у Вас правильно настроена сеть и компьютеры видят друг друга, то ничего больше делать не нужно. Если же нет, то необходимо сделать так, что бы сервер 1С видел сервер PostgreSQL, а клиентские машины видели сервер 1С. Для этого в файлы /etc/hosts или C:WindowsSystem32driversetchosts нужно добавить строки:

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

Теперь рассмотрим сборку PostgreSQL от 1С

Разница в установке сборки от 1С заключается в том, что потребуется изначально загрузить все установочные файлы с сайта ИТС на какой-нибудь другой компьютер. Скопировать эти файлы на наш. И только потом начинать установку «вручную» PSQL.

Начнем.

Для начала заходим на страницу https://releases.1c.ru/total и выбираем PostgreSQL:

Последняя сборка от 1С на момент публикации — 10.5-10.1C

Загружаем Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB) и копируем его, например в папку /media/share, предварительно создав её.

Для простоты навигации в нашей ОС, я устанавливаю файловый менеджер Midnight Commander. Он помогает мне быстро передвигаться по файлам и папкам ОС и работать с ними. Установить менеджер можно командой от имени пользователя root:

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

Распаковать его можно командой:

Переходим в папку postgres/postgresql-10.5-10.1C_amd64_deb:

Для установки требуются дополнительные пакеты. Чтобы проверить названия этих пакетов, вводим команду:

Результат:

Далее продолжаем установку:

Весь процесс установки необходимо производить от имени пользователя root. Иначе можно получить ошибки при установке.

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

Хочу отметить, что версии этих пакетов для разных версий ОС Debian, как и для разных версий PostgreSQl — свои.

В нашем примере используются нужные библиотеки конкретно для версий Debian 9 и PostgreSQL 10 от 1С.

После этого можно начать установку сборки PostgreSQL от 1С:

Хочу обратить внимание на то, что на момент написания этой статьи была доступна версия PSQL 10.5-10.1C. 

На момент публикации статьи (01.02.2019) эта версия для загрузки уже недоступна, но появилась новая версия 10.5-11.1C.

Попробуем установить эту версию.

Загружаем пакет Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB), копируем его на ВМ в папку /media/share и попробуем установить:

При установке получаем ошибку, так как в системе отсутствуют дополнительные пакеты:

libssl1.0.0 версии 1.0.0 или старше

postgresql-client-common версии 182 или старше

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

Результат:

Ищем в интернете нужные пакеты, загружаем и копируем их на ВМ в ту же папку и пробуем повторно установить PSQL

При повторной установки появляются еще несколько пакетов, которые необходимы. Например, при ошибке появился пакет libicu55 версии 55 и выше, который нужно установить.

В очередной раз ищем эти пакеты и загружаем их в одну папку. Выполняем повторно команды

Как только загрузим все необходимые пакеты, установка пройдет успешно и на экране будет отображатся

Можно теперь запускать сервер PSQL и ставить службу в автозагрузку:

Сделать это можно введя команду:

И сразу проверим все ли хорошо, проверив статус службы:

как видно на скриншоте — установлена и запущена последняя актуальная версия PSQL на 01.02.19

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

Задаем пароль внутреннему пользователю PostgreSQL:

ВАЖНО. 

Если вы используете сервер 1С на другой машине и будете подключаться к серверу БД по сети, то есть 2 момента:

1. По-умолчанию, сборка PostgreSQL от 1С настроена на подключение с любого адреса по порту 5432. Поэтому необходимо в файле конфигурации postgresql.conf указать адрес, на котором будет приниматься соединения (в моём случае это локальный IP адрес машины, на которой установлен PostgreSQL):

В нашем случае файл конфигурации находится /etc/postgresql/10/main

2

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

В нем необходимо разрешить следующее:

Я добавил в блок «IPv4 local connections» строку, которая предоставляет доступ ко всем БД, всем пользователям с адреса 192.168.154.137 (Это IP адрес сервера 1С: Предприятие». По-умолчанию доступ разрешен всем.

Вот вроде и всё. Теперь на сервере 1С создаем базу и проверяем:

На этом этапе установка и запуск двух разных сборок PostgreSQL для 1С закончена. 

Настройка PostgreSQL

После установки можно сделать некоторые настройки PostgreSQL.

От имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres peer

local all postgres trust

Это позволит войти под пользователем postgres без пароля.

Кроме этого можно открыть файл /etc/postgresql/10/main/postgresql.conf (тоже от имени супер пользователя) и поменять в нем строку:

Это ограничит подключения к PostgreSQL локальной машиной. Таким образом, если сервер 1С и PostgreSQL находятся на разных компьютерах, то это либо вообще не нужно делать, либо вместо «*» нужно указать IP-адрес сервера 1С.

После всех этих манипуляций перезапускаем сервер PostgreSQL:

sudo service postgresql restart

Теперь у нас есть возможность поменять пароль суперпользователя postgres:

psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘password’»

Отключаем безпарольный доступ: вновь от имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres trust

local all postgres md5

В заключении еще раз перезапускаем сервер:

sudo service postgresql restart

Настройка PostgreSQL для работы с 1С

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

# sudo -u postgres /usr/bin/psql -U postgres -c "alter user postgres with password 'postgrespwd';"
ALTER ROLE

Далее перенесём хранение временной статистики с жёсткого диска в память. Это немного увеличит быстродействие и сократит износ ресурса SSD диска. Эта статистика постоянно перезаписывается. Подробнее об этом я писал в своей заметке в telegram. В документации postgresql указано, что статистику без проблем можно перенести в RAM.

По умолчанию под статистику расходуется порядка 25 мегабайт дискового пространства. Я решил перенести ее на ram диск размером 512M. Занимать в памяти место будет только реально используемый объем, так что не стоит опасаться пустого расхода оперативной памяти.

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

# mkdir /var/lib/pgsql_stats_tmp
# chown postgres:postgres /var/lib/pgsql_stats_tmp

Теперь добавляем в /etc/fstab в самый конец еще одну строку (не забудьте в конце переход на новую строку поставить):

tmpfs /var/lib/pgsql_stats_tmp tmpfs size=512M,uid=postgres,gid=postgres 0 0

Монтируем диск в систему:

# mount /var/lib/pgsql_stats_tmp

Теперь идём в конфиг бд по пути /var/lib/pgpro/1c-13/data/postgresql.conf и меняем параметр:

stats_temp_directory = '/var/lib/pgsql_stats_tmp'

Перезапускаем postgresql:

# systemctl restart postgrespro-1c-13

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

1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо

Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме «Управляемое приложение».
Публикация будет дополняться по мере подготовки нового материала. Публикация не является «универсальной инструкцией».

Update 3. Права доступа. 14.08.2013
Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.

1 стартмани

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию

Если «веб морда» расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С — это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

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

1) Установка сервера 1С:Предприятие из пакетов.
Как оговаривалось в начале статьи, предполагается что у нас уже есть дистрибутив сервера 1С для RPM-based Linux-систем. Он из себя представляет архив с именем rpm64.tar.gz. После разархивирования мы получим список файлов:

1C_Enterprise83-common-8.3.9-1818.x86_64.rpm
1C_Enterprise83-server-8.3.9-1818.x86_64.rpm
1C_Enterprise83-ws-8.3.9-1818.x86_64.rpm
1C_Enterprise83-common-nls-8.3.9-1818.x86_64.rpm
1C_Enterprise83-server-nls-8.3.9-1818.x86_64.rpm
1C_Enterprise83-ws-nls-8.3.9-1818.x86_64.rpm

Находясь в каталоге с этими файлами, мы их устанавливаем командой:

yum localinstall *.rpm

2) Запуск сервера 1С.

systemctl enable srv1cv83
systemctl start srv1cv83
systemctl status srv1cv83

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

Failed at step EXEC spawning /etc/rc.d/init.d/srv1cv83: Exec format error

Чтобы устранить эту ошибку, необходимо в скрипте инициализации сервера указать интерпретатор (например shell или bash), для этого необходимо добавить в начало файла /etc/init.d/srv1cv83 строку:

#!/bin/bash 

Затем надо перезагрузить systemd для поиска новых или измененных юнитов:

systemctl daemon-reload

И снова попытаться запустить сервер 1С:Предприятие

systemctl restart srv1cv83.service

3) Установка необходимых пакетов для корректной работы сервера 1С.
В документации сервера 1С:Предприятия описана утилита config_system, которая необходима для анализа готовности системы к запуску сервера 1С, в частности она помогает обнаружить отсутствующие необходимые пакеты для корректной работы сервера 1С. К сожалению, анализ rmp пакетов (rmp -ql) показал отсутствие данной утилиты в составе дистрибутива сервера 1С версии 8.3.9.1818.

Необходимость данных пакетов выяснилась опытным путем:

yum install fontconfig-devel
yum install ImageMagick

4) Рестарт сервера 1С.

systemctl stop srv1cv83
systemctl start srv1cv83
systemctl status srv1cv83

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

Теперь нам предстоит установка сервера 1С:Предприятие. Как и в случае с PostgreSQL нам предстоит ряд подготовительных работ необходимых для штатного функционирования сервера 1С:Предприятие.

1. Переходим в из каталога postgres в каталог 1c:

1

2. Устанавливаем дополнительные пакеты, которые необходимы для работы сервера:

1

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

1

Докачиваем libt1-5 от которого зависит ttf2pt1:

1

Устанавливаем пакеты:

1

Кстати, жду предложений по возможной альтернативе пакету ttf2pt1.

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14

Всего 8 пакетов, из которых нам для функционирования сервера 1С:Предприятия необходимы 3 пакета: 1c-enterprise83-common, 1c-enterprise83-server, 1c-enterprise83-ws.

Небольшая таблица с пояснениями по назначению пакетов:
Название пакета Описание пакета
1c_enterprise83-client… Компоненты клиента 1С Предприятие 8.3 для Linux
1c_enterprise83-thin-client… Компоненты тонкого клиента 1С Предприятие 8.3 для Linux
1c_enterprise83-common… Общие компоненты 1С Предприятие 8.3 для Linux
1c_enterprise83-server… Сервер 1С Предприятие 8.2 для Linux
1c_enterprise83-ws… Компоненты интернет-сервисов 1С Предприятие 8.3 для Linux
1c_enterprise83-…-nls… Компоненты необходимые для ОС не поддерживающих кириллическую кодировку

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

1

6. Даем пользователю usr1cv8 и группе grp1cv8 права на установочную директорию 1С:Предприятия:

1

7. В выхлопе установщика вы можете заметить предупреждение:

1
2
3

Начиная с версий 8.3.7, данная проблема исправлена. Потому, если вышеуказанного сообщения вы не получали, можете пропустить пункты 8 и 9.

8. Сообщение описанное в пункте 7 мы получаем из-за отсутствия в скрипте запуска LSB-тегов. Ошибка не критична и никак не повлияет на работу сервера 1С:Предприятие. Но её легко можно решить, для этого добавим LSB-теги в сценарий сервиса 1С:Предприятие:

1

Находим строки:

Приводим к следующему виду:

После изменения сценария, запускаем:

1

9. Перезапускаем службу сервера 1С:Предприятие:

1

10. Проверяем запускаются ли при старте системы сервер 1С:Предприятие:

1

Вы должны получить примерно такое сообщение:

1
2
3

11. Так же для профилактики можно проверить, все ли процессы сервера запущены:

1

От имени пользователя usr1cv8 должно быть запущено три процесса: ragent, rmngr и rphost. После имен процессов идут номера портов, через которые они работают:

1
2
3
4

Часто встречающиеся ошибки 1С и общие способы их решения Промо

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

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

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

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

ЖЕЛЕЗО

Мы подумали и я решил купить добротный современный компьютер на базе Ryzen 5 2600X (была мысль 2700Х купить, но трезво оценив, что 10-ти пользователям достаточно 4-х ядер, я пошел на компромис — 6-ядерный высокочастотный процессор будет не хуже топового, но при этом на 10к дешевле). В итоге взял достаточно простой (если  можно так считать) корпус со стеклянными стенками (фронтальная и боковушка), блок питания с сертификатом 80 PLUS не ниже GOLD и не меньше 500 Вт, мать на базе AMD B450, хороший SSD для системы и базы, и 2 потоковых диска в RAID1 для бэкапов (отлично подошли диски для медиасерверов). Также система была укомплектована 2-мя планками памяти по 8 Гиб (общей емкостью в 16 Гиб) из списка совместимых.

Общий бюджет — 65 килорублей + 620 рублей доставка до соседнего подъезда, в котором находится отделение транспортной компании.

Заказал я все это 1-го апреля, 2-го получил счет, через пару дней его оплатили, а еще через день он уже стоял в соседнем подьезде криво собранный специалистами поставщика (им, видимо, никто не сказал, что память нужно в B1/B2 ставить, а не в A1/B1 — но это мелочи).

Часто встречающиеся ошибки 1С и общие способы их решения Промо

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

Драйвер HASP-ключей

Понадобятся 32-битные библиотеки:

# apt -y install libc6-i386

И собственно драйвера

# cd /root/srv1c/hasp
# dpkg -i *.deb

Подключаю ключи:

красный: сетевой. HASP HL Net, имеет персональный номер, во внутреннюю память записано количество лицензий.
зелёный: ключ для 64х битного сервер 1С:Предприятие. HASP HL Max EN8SA. Если бы я устанавливал 32х битную версию, можно использовать этот же ключ. Ключ имеет уникальный идентификатор.

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

Если не доступен, необходимо указать соответствие имени и IP-адреса, например в случае с Windows в файл C:\Windows\System32\drivers\etc\hosts необходимо добавить строки:

10.1.2.1 deb1c8srv

Осталось загрузить необходимую конфигурацию, либо восстановить старую базу.

Дополнительные настройки

Все приведенные ниже действия не являются обязательными.

Установка Apache

Начиная с версии 8.3.8 платформа 1С поддерживает Apache 2.4, поэтому можно просто установить текущую версию:

sudo apt-get install apache2

Если по каким-то причинам Вам требуется Apache 2.2 то для начала нужно добавить репозитории с неактуальными версиями пакетов, как описано выше (если, конечно, Вы уже этого не сделали). Затем выполнить команду:

sudo apt-cache showpkg apache2

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

sudo apt-get install apache2=

sudo apt-get install apache2=2.2.22-6ubuntu5.1

Проверить версию Apache можно так:

Включение отладки на сервере

sudo service srv1cv83 stop

В файле /etc/init.d/srv1cv83 находим строку:

Приводим ее к виду:

sudo service srv1cv83 start

В конфигураторе на клиентской машине идем в «Параметры» -> «Запуск 1С:Предприятия» -> «Дополнительные» и включаем два пункта:

  • «Устанавливать режим разрешения отладки»
  • «Начинать отладку при запуске»

Включение режима отладки

Настройка UFW

UFW — это простая утилита для конфигурирования файрвола Netfilter.

sudo ufw allow 22

sudo ufw allow 80

sudo ufw allow 443

Порты для работы 1С (если используются стандартные порты):

sudo ufw allow 1540

sudo ufw allow 1541

sudo ufw allow 1543

sudo ufw allow 1560:1591/tcp

sudo ufw enable

Нужна ли лицензия на сервер?

На момент написания статьи (версия технологической платформы 8.3.13.1472) лицензия на сервер не требуется, все прекрасно работает без нее.

На этом все, надеюсь, что данная статья была Вам полезна.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Установка PostgreSQL Pro для 1С

Для работы с 1С в PostgreSQL необходимо внести некоторые изменения в виде патчей. Существует несколько редакций этих патчей, но наиболее известные две:

  1. От самой 1С.
  2. От компании PostgreSQL Pro.

Я не берусь судить сам, какая сборка PostgreSQL для 1С будет лучше. Я всегда использую от Postgresql Pro. Эта компания активно участвует в разработке самого движка БД, так что компетенций у нее достаточно. Есть мнение, что эти сборки лучше, чем от 1С. К тому же в последних версиях, я заметил, что эти сборки автоматически настраивают конфиг postgresql под параметры памяти и процессоров вашего сервера. Не нужно это делать потом вручную.

Инструкция достаточно простая. Подключаем репозитории postgresql:

# curl -o apt-repo-add.sh https://repo.postgrespro.ru/pg1c-13/keys/apt-repo-add.sh
# sh apt-repo-add.sh

Устанавливаем базу данных:

# apt-get install postgrespro-1c-13

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

# systemctl enable postgrespro-1c-13

Проверьте статус сервиса postgrespro-1c-13. Он должен быть запущен.

# systemctl status postgrespro-1c-13

Далее переходим к настройке postgresql.

УСТАНОВКА ОС UBUNTU 18.04.

Систему я ставил на 970 про — это один из лучших и сравнительно недорогих (12к за 512 МиБ) дисков на рынке (на мой взгляд). Они и быстрый, и холодный, если не нагружать его (в полном тесте Гилева температура контроллера достигала 86оС, но при этом события critical в S.M.A.R.T не отразилось — это видно на картинке, из чего я сделал вывод, что система вполне жизнеспособна).

Не думаю, что стоит останавливаться подробно на том, как ставиться Убунту — куда проще на мой взгляд, чем винда. При установке мой WiFi-свисток был отлично определен и обновления и языковые модули скачались сами собой.

В принципе вся установка сводится к вставке флешки (я ставил с внешнего HDD, который мой отец как-то нашел в зимнем лесу, гуляя там с собачкой), выбору языка, созданию раздела (можно просто «Далее» нажать, отметив «Установить Убунту на этот диск», но я выбрал «nvme0n1p1», указал фаловую систему EXT4 и точку мотирования «/»), ожиданию копирования файлов (если в ходе установки подоткнуться к вайфаю, то вас просят про точку доступа и пароль и помимо копирования файлов еще будут загружены файлы обновления и языковые пакеты), в конце установки нужно указать пользователя, имя компьютера и пароль. Вот и весь квест.

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.

1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо

Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме «Управляемое приложение».
Публикация будет дополняться по мере подготовки нового материала. Публикация не является «универсальной инструкцией».

Update 3. Права доступа. 14.08.2013
Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.

1 стартмани

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.

Копирование числовых ячеек из 1С в Excel Промо

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

HASP Licence manager

Если в сервер вставлен аппаратный ключ, необходимо установить HASP Licence manager, чтобы лицензии могли получать компьютеры по сети.

Проверяем, что наш сервер видит ключ:

lsusb | grep -i hasp

Мы должны увидеть что-то на подобие:

Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle

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

apt-get install make libc6-i386

* где:

  • make — утилите, которая в нашем случае используется для компиляция исходного кода.
  • libc6-i386 — набор стандартных библиотек для С и математических вычислений.

Создадим каталог для загрузки пакетов и перейдем в него:

mkdir /tmp/hasp ; cd /tmp/hasp

Переходим на страницу загрузки HASP для Ubuntu. Выбираем необходимую версию и копируем ссылки на 2 файла — haspd-modules_… и haspd_…

На момент обновления инструкции на сайте не было пакетов для Ubuntu 20, однако, для данной версии подходят пакеты под Ubuntu 18.

С помощью скопированных ссылок загружаем на сервер два файла:

wget https://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/18.04/haspd-modules_7.90-eter2ubuntu_amd64.deb

wget https://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/18.04/haspd_7.90-eter2ubuntu_amd64.deb

* в моем примере загрузка выполнялась для Ubuntu 18.04.

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

dpkg -i haspd*.deb

Разрешим автозапуск сервиса haspd:

systemctl enable haspd

Запускаем его:

systemctl start haspd

Проверяем, что он корректно стартовал и работает:

systemctl status haspd

Готово — наши компьютеры в локальной сети смогут получить лицензию.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: