Это старая версия документа!
к 1С можно обращаться через COM объект, для этого нужно зарегистрировать библиотеку:
set SrvVersion=8.3.18.1334 regsvr32 /s -n -i:user "C:\Program Files\1cv8\%SrvVersion%\bin\comcntr.dll"
если этого не сделать 1Серы будут ругаться такими ошибками:
При попытке подключения к информационной базе произошла ошибка: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
или
Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Если вдруг понадобиться удалить предыдущие:
set SrvVersion=8.3.14.1565 "C:\Program Files\1cv8\%SrvVersion%\bin\crserver.exe" -rmsrvc sc delete "1C:Enterprise 8.3 Remote Administration Server"
Добавляем службы RAS и CRS
set SrvUserName="USR1C82@mi.local" set SrvUserPwd="***" set SrvVersion=8.3.14.1565 "C:\Program Files\1cv8\%SrvVersion%\bin\crserver.exe" -instsrvc -port 1542 -d F:\RootRepository\ -usr %SrvUserName% -pwd %SrvUserPwd% sc create "1C:Enterprise 8.3 Remote Administration Server" binPath= "\"C:\Program Files\1cv8\%SrvVersion%\bin\ras.exe\" cluster -- service --port 1545 localhost:1540" start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= "1C:Enterprise 8.3 Remote Administration Server" sc description "1C:Enterprise 8.3 Remote Administration Server" "1C:Enterprise 8.3 Remote Administration Server"
частая проблема какие порты открывать на сервере 1С
если на сервере расположена база SQL, а 1С сервера расположены на других машинах, то нужно открыть порт SQL сервера tcp 1433, но ограничить удаленные ip - адресами 1С серверов.
если SQL сервер и 1С сервер на одном хосте, то tcp 1433 открывать не нужно, это серьезная брешь в безопасности
Порт tcp 1540 должен быть открыт для других 1С серверов и Компьютеров с которых будет запускаться оснастка управления кластерами 1С
для того чтобы к 1С серверу могли подключаться толстые и тонкие клиенты нужно пробросить порты tcp 1541, 1560-1591 - это порты по умолчанию их всегда нужно проверять в настройках 1С сервера:
для этого нужно запустить оснастку Администрирование серверов 1С Предприятия x86-64
Console Root -> Central 1C:Enterprise 8.3 servers -> имя нашего сервера -> ПКМ -> Свойства -> IP Порт (по-умолчанию: 1540) Console Root -> Central 1C:Enterprise 8.3 servers -> имя нашего сервера -> Кластеры -> Локальный Кластер -> ПКМ -> Свойства -> IP Порт (по-умолчанию: 1541) Console Root -> Central 1C:Enterprise 8.3 servers -> имя нашего сервера -> Кластеры -> Локальный Кластер -> Рабочие серверы -> имя нашего сервера -> ПКМ -> Свойства -> Диапазоны IP Портов (по-умолчанию: 1560:1591)
для того чтобы к 1С серверу могли подключаться web клиенты - нужно открыть порт web сервера (по-умолчанию 443 в локальной сети возможно 80), какой именно нужно смотреть в настройках веб сервера.
Если развернут 1C Configuration Repository Server то по-умолчанию он работает на порту tcp 1542 Это можно проверить в свойствах службы 1C:Enterprise 8.3 Configuration Repository Server, в поле исполняемый файл параметр -port
Если запущен 1C:Enterprise 8.3 Remote Administration Server то по-умолчанию порт 1545, проверка в свойствах службы
1С сервер откажется создавать файл публикации если не обнаружит веб сервера на localhost 1С сервер можно обмануть таким способом:
mkdir C:\apache\conf sc create Apache2.4 DisplayName= Apache2.4 binPath= "\"C:\apache\bin\httpd.exe\" -k runservice" start= disabled echo "1C" > C:\apache\conf\httpd.conf
пример для базы данных trade_dev
USE [trade_dev]
GO
UPDATE Files SET BinaryData = CAST ('' as varbinary(max)), datasize = 0 WHERE FileName = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl'
GO