12 8(499)703-18-31

13 email@intelav.ru

Официальный сайт компании ООО Интеллектуальная Автоматизация

Установка параллельно работающих 1С: Предприятие 8.1 и 1С: Предприятие 8.2 с PostgeSQL на платформе Windows

В интернете на форумах постоянно справшивают:
-Как установить 1С:Предприятие 8.1 (8.2) на PostgreSQL в операционной системе Windows
-Возможно ли установить одновременно два процесса "Агент сервера 1С:Предприятия 8.1" и "Агент сервера сервера 1С:Предприятия 8.2". Если да - то как это сделать?
-После установки 1С и PostgreSQL выдаются ошибки:
а) Ошибка при создании информационной базы:
Ошибка при выполнении операции с информационной базой.
Ошибка СУБД: ERROR: language "plpgsql" does not exist.
HINT: use CREATE LANGUAGE to load the language into the database.
б) Ошибка при создании информационной базы:
Ошибка при выполнении операции с информационной базой.
Ошибка СУБД: ERROR: type "mvarchar" does not exist at character 31
в) Ошибка при создании информационной базы:
Ошибка при выполнении операции с информационной базой.
Ошибка СУБД: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (WIN1251).
HINT: Use the same encoding as in the template database, or use template0 as template.
Если вы столкнулись с такими проблемами и ищите ответ, то эта статья именно для вас.

 

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


Начало установки 1С:Предприятие 8.2.
Картинка 1

 

Выбор компонентов для установки, дополнительно нам понадобятся:
-Сервер 1С:Предприятия
-Администрирование сервера 1С:Предприятия

Картинка 1


Выбираем русский язык
Картинка 3

Далее нужно создать пользователя, от имени которого будет запускаться служба Агент Сервера. Значит ставим галку установить сервер 1С: Предприятия как сервис Windows (Рекомендуется). И создаем пользователя. Даже если вы укажете существующего и случайно зададите не тот пароль, то служба просто не запустится после установки. А сама установка завершиться корректно, нужно в окне запуске службы нажать - продолжить.
Картинка 4

Запускаем установку
Картинка 5

Установка драйвера защиты: Драйвер защиты нужно устанавливать на том компьютере, в который вставлен физический ключ. Чаще всего ключ устанавливают в сервер, мы поступим так же и оставим галку для установки драйверов по умолчанию - устанавливать.
Картинка 6

Заканчиваем установку.
Картинка 7

 

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

Находим "Агент сервера 1С: Предприятия", заходим в свойства:
Картинка 8

И на вкладке "вход в систему" переключаем вид входа на "с системной учетной записью".
Картинка 9
Картинка 10

2. Установка PostgreSQL для работы 1C:Предприятия.

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

Запускаем установку, выбираем русский язык, и жмем далее.

Картинка 11

Еще раз далее
Картинка 12

И еще раз далее
Картинка 13

Выбор компонентов для установки - оставляем по умолчанию.
Картинка 14

Далее нужно указать от имени какого пользователя будет запускаться сервер PostgreSQL.
Картинка 15

 

Инициализация кластера.

Если необходимо чтобы агент сервера был разделен с SQL сервером ставим галку - поддерживать присоединения с любых IP, а не только localhost.
ВНИМАНИЕ! Кодировку устанавливаем: UTF-8 и для сервера и для клиента.
Картинка 16

Тут оставляем все по умолчанию и опять жмем далее.
Картинка 17

 

Дополнительные модули можно оставить по умолчанию, если нужно можете отметить необходимые.
Картинка 18

Запускаем установку PostgreSQL
Картинка 19

Завершаем установку.
Картинка 20

Для службы PostgreSQL я так же обычно переключаю вид запуска - с системной учетной записью.
Картинка 21


Картинка 22

 

3. Создание информационной базы на pgsql сервере и частые ошибки которые встречаются на данном этапе.

Заходим в 1С, добавляем новую базу, говорим что база будет на сервере и указываем параметры сервера:
Картинка 23

!Внимение. Базу нужно создавать именно из 1С, иначе если вы будете создавать ее из PgMyAdmin, то при попытке зайти в базу будут выдаваться ошибки:
Картинка 24

 

Ошибка 1:

Ошибка при создании информационной базы:
Ошибка при выполнении операции с информационной базой.
Ошибка СУБД: ERROR: language "plpgsql" does not exist.
HINT: use CREATE LANGUAGE to load the language into the database.
Картинка 25

Если вы даже зайдете в pgMyAdmin и добавите язык 'plpgsql' для базы данных, то будет появляться следующая ошибка.

Ошибка при создании информационной базы:
Ошибка при выполнении операции с информационной базой.
Ошибка СУБД: ERROR: type "mvarchar" does not exist at character 31
Картинка 26

РЕШЕНИЕ: Вам нужно создавать базу именно из 1С.

Если при создании базы из 1С: Предприятия у вас появилось такое сообщение:

Ошибка при выполнении операции с информационной базой.
Ошибка СУБД: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (WIN1251).
HINT: Use the same encoding as in the template database, or use template0 as template.

Картинка 27

РЕШЕНИЕ: Вы при установке PostgreSQL оставили язык Windows-1251 для сервера или клиента, который установлен по умолчанию, а нужно было изменить на UTF-8

Переустановите PostgreSQL и укажите язык UTF-8 при установке.

 

4. Запуск агента сервера 1С:Предприятие 8.1 и

агента сервера 1С:Предприятие 8.2 одновременно на одном компьютере.

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

Я предлогаю один из способов установки двух агентов сервера, через "разбивку" портов.

Для начала устанавливаем Платформу 8.1, как это сделать было рассказано выше. Далее устанвливаем Платформу 8.2. Теперь в списке служб у нас должены появиться 2 службы агента сервера. Но при запуске второй службы будет выдаваться сообщение:

Служба "Агент сервера 1С: Предприятие 8" на "локальный компьютер" была запущена и затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами.

Это происходит в следствии того, что система пытается запустить одновременно 2 рабочих процесса, которые работают по одному порту.
Картинка 28

Для выхода из данной ситуации поменяем порт, к примеру у Агента сервера 8.1.
Для этого нужно остановить службу Агент Сервера 1С:Предприятие 8.2.
Запустить Агент Сервера 1С:Предприятие 8.1.

Далее заходим в "Агент сервера 1С: Предприятие 8.1". Находим рабочий процесс, и удаляем его.
Картинка 29

Далее удаляем Рабочие серверы:
Картинка 30

Далее удаляем сам кластер серверов:
Картинка 31

 

Далее запускаем реестр, и меняем параметры запуска службы 8.1.
К примеру все порты вида 15хх меняем на 16хх.

Ветка рееста: HKLM\SYSTEM\ControlSet001\services\1C:Enterprise 8.1 Server Agent
Пармерт: ImagePath
Значение: "C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Program Files\1cv81\server"

 

После этого изменения у нас должны запускаться одновременно 2 Агента сервера 1С: Предприятие 8. Соответственно запускаем их.

 

Теперь нам нужно добавить новые кластер серверов. Делаем все в обрабоном порядке:

Если у нас нету центрального сервера 8.1, добавляем его, но уже с портом 1640:
Картинка 32

Добавляем кластер серверов, порт меняем на 1641:
Картинка 33

Теперь кластер 8.1 у нас будет работать через порт 1640, а для 8.2 через 1540 (порт по умолчанию):
Картинка 34

Добавляем рабочий процесс 8.1. порты соответственн так же меняем на 16хх
Картинка 35

Запускаем процесс, не забываем поставить галку - процесс включен.
Картинка 36

Теперь у нас все должно работать.

Последнее что нужно сказать: при создании базы на 8.1 нужно указывать порт, т.к. иначе будет использоваться порт по умолчанию (1541) и программа будет писать о несовметсимости версий платформы.
Картинка 37