База знаний : 1С
Пошаговая инструкция как настроить web-доступ к базам 1С.
Писал для себя как инструкцию чтобы не забыть в будущем. Может еще кому пригодится как инструкция.

Настройка клиент-серверного доступа к 1С через WEB-интерфейс

В этой статье изложена инструкция как организовать работу с конфигурацией 1С через Internet обозреватель.
Для статьи была использована настройка 1С для работы с базой MS SQL Server и в качестве web-сервера использовался Internet Information Services входящий в поставку операционной системы.
Перед началом установки должны быть установлена 1С с сервером приложений, SQL Server 2005 и выше, запущен Internet Information Services.
В качестве примера для описания статьи использовались следующие версии программного обеспечения:
 Параметр системы Название   Версия
 Операционная система  Windows 8.1 Proffesional   64 разрядная
 Платформа 1С  1С 8.3  8.3.5.1088
 Сервер БД  SQL Server 2012  SP1 x64
 Internet Information Services  Входят в поставку ОС Windows 8.1  8.1

Все описанные шаги могут работать как на старших релизах программ, так и на младших. Минимальные требования указаны на сайте 1С - http://v8.1c.ru/requirements/
Перед началом настроек, на компьютер должны быть установлены выше указанные в таблице продукты. При этом сервер 1С, сервер SQL могут находиться на разных физически или виртуальных компьютерах. Желательно чтобы Сервер 1С и Internet Information Services находились на одном физическом и логическом сервере (так будет меньше проблем с настройками).

Весь процесс настройки разбит на 5 шагов:
1 - Регистрация конфигурации и базы на серверах 1С и SQL
2 - Настройка IIS на сервере для публикации конфигурации
3 - Публикация WEB-приложения из 1С
4 - Настройка библиотек для работы в 64-х разрядной ОС
5 - Настройка прав доступа на папки и Брандмауэра Windows

Кроме того в статье содержится информация как зайти на опубликованный сайт
6. Доступ к опубликованной информационной базе

А также информация о используемых ресурсах
7. Используемые ресурсы

1. Регистрация базы на серверах 1С и SQL

1.1. Запустить Сервер 1С

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


1.2. Зарегистрировать кластер 1С

Запустить утилиту администрирования серверов 1С:


В открывшемся окне зарегистрировать новый центральный сервер 1С предприятия:



В появившемся окне ввести сетевое имя компьютера, на котором запущен 1С Сервер (или его IP-адрес):

1.3. Зарегистрировать базу 1С на сервере SQL

Для начала регистрации базы необходимо запустить приложение 1С. В появившемся окне "Запуск 1С:Предприятия" регистрируем новую базу нажатием на кнопку "добавить":


Выбираем "Создание новой информационной базы":

В появившемся окне есть возможность создать базу из шаблона, или создать новую пустую базу (в последствии можно будет загрузить базу, загрузить конфигурацию или создать свою конфигурацию):


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


жмем далее и заполняем поля:
При этом необходимо заметить, что поле "Имя базы данных" - это названия базы на SQL сервере. А поле "Имя информационной базы" - название базы на сервере 1С.
После чего выбираем вариант аутентефикации в 1С (Выбирать автоматически) и жмем кнопку "Готово":

1.4. Загрузить или создать конфигурацию 1С

Запустить конфигуратор с базой:


Загрузить ранее выгруженную информационную базу:

2. Настройка IIS на сервере

Для этого пункта информация была взята из статьи: //infostart.ru/public/71480/

2.1. Проверка установленных компонент IIS

Для работы веб-клиента 1С:Предприятия необходимы службы IIS, которые небыли установлены по умолчанию при установке Windows 8.1 x64.
Для их установки следует перейти "Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов Windows". В появившемся дереве, в ветке "Службы IIS – Службы интернета - Компоненты разработки приложений" отметить все компоненты, как показано на рисунке. Затем нажать кнопку "Ок":

2.2. Разрешение 32-разрядных приложений в пуле приложений

Веб-клиент 1С:Предприятия 8.3 является 32-разрядным приложением. Поэтому для 64-разрядной ОС необходимо разрешить работу оных в пуле приложений сервера IIS. Для этого необходимо перейти "Пуск - Панель управления – Администрирование – Диспетчер служб IIS". В диспетчере служб выбрать "Пулы приложений – DefaultAppPool – Дополнительные параметры". В списке дополнительных параметров переменной "Разрешены 32-разрядные приложения" установить значение "True":


Установить значение в True для параметра "Разрешены 32-разрядные приложения":

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

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



На пункте "Анонимная проверка подлинности" вызвав контекстное меню "изменить":

В открывшемся диалоге отметить "Удостоверение пула приложений". Закрыть диалог, нажав кнопку "ОК".

3. Публикация WEB-приложения из 1С

Для публикации приложения необходимо иметь полный доступ на папку проектов IIS. Есть 2 способа публикации приложения из 1С. 1 - сначала создать необходимую папку в каталоге "C:\inetpub\wwwroot\" в нашем случае это папка с названием "Base1C" и дать права текущему пользователю на полный доступ на эту папку. 2 способ зайти в 1С из под администратора а потом дать необходимые права на папку уже опубликованного приложения. В э статье описан второй путь.

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

Вызываем контекстное меню на ярлыке 1С и выбераем "Запуск от имени администратора"



Выбираем базу и запускаем 1С в режиме конфигуратора:


3.2. Запустить публикацию на web-сервере

Для начала публикации переходим в меню "Администрирование - Публикация на веб-сервере":



В появившемся окне указать имя публикации, указать веб-сервер и указать путь на веб-сервере.
1С позволяет публиковать на любой доступный веб-сервер в сети с помощью утиллиты webinst. В статье использовался пример публикации на локальный компьютер:


Более подробную информацию по пунктам в окне публикации можно получить из 1С конфигуратора нажав на кнопку F1.

4. Настройка библиотек для работы в 64-х разрядной ОС

После публикации на веб-сервере из конфигуратора, в случае использования 64-х разрядной операционной системы на компьютере который используется в качестве сервера IIS, необходимо настроить работу с библиотеками 1С. Это делается каждый раз после публикации на веб-сервере.

Для настройки библиотек необходимо выполнить следующие действия.
Открываем через Панель Управления - Администрирование Диспетчер служб IIS.
В открывшемся окне раскрываем группу "Сайты" и наш сайт (в примере Base1C).
Нажимаем на "Сопоставление обработчиков" в группе IIS:

В открывшемся окне ищем строку с именем "ISAPI-dll" и нажимаем пункт меню в действиях "Добавить сопоставление сценария..."

В открытом окне "Добавление сопоставления сценария" в поле "Путь запроса" ввести символ * (звездочка, т.е. все). В поле "Исполняемый файл" выбрать библиотеку wsisapi.dll с каталога установленной 32-х разрядной версии 1С. В поле "Имя" можно задать любое имя (в примере Имя = 1С):


Некоторые специалисты в других статьях указывают что надо отключить ограничение сопоставления запроса. Автор не нашел зависимости работы этой отметки для программы 1С. Данная информация приводиться информативно, может быть кому то понадобиться.
Настроить ограничения запроса можно нажав на кнопку "Ограничение запроса" в окне Добавление сопоставления сценария. В открывшемся окне  убрать отметку с "Вызывать обработчик только при сопоставлении запроса с:":


Нажать кнопку Ok.
На появившейся вопрос ответить "Да":

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



После чего можем проверить, работает ли подключенная библиотека. Для этого переходим в "Ограничения ISAPI и CGI":


И посмотреть, есть ли ссылки для необходимых обработчиков (dll):


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

5. Настройка прав доступа на папки и Брандмауэра Windows

5.1. Настройка доступов к папкам

Для правильной работы всех пользователей, а не только администраторов с опубликованным веб-приложениям необходимо настроить некоторые права на папки.
Для настройки прав на пакпи необходимо в проводнике Windows вызвать контекстное меню для необходимой папки и выбрать в контекстном меню пункт "Свойства" и перейти на закладку "Безопасность"

В данном случае речь идет о правах на 3 папки:
1. "C:\Program Files (x86)\1cv8\8.3.5.1088\bin\" (в этой папке находится библиотека wsisapi.dll) (номер релиза "8.3.5.1088" может быть другой)
2. C:\inetpub\wwwroot\Base1C (это созданная нами папка которая будет использоваться для доступа из интернет)
3. КаталогБазы (это база 1С, если используется файловый тип базы), в нашем примере база храниться на SQL сервере, поэтому каталога базы нет и доступа на него давать не надо.
Для всех папок (Пункты: 1,2,3) необходимо для пользователя IIS_IUSRS установить доступ "Полный доступ":

Для папки с нашей базой (Пункт 3) данных для пользователя Users, установить доступ "Изменение".

5.2. Настройка доступов к портам в Брандмауэре Windows

Если планируется использовать web-доступ не только локально, то необходимо настроить Брандмауэр Windows для доступа с внешних ресурсов, указав порт доступа 80. Автор не использовал настроек брандмауэра, а просто отключил его:

6. Доступ к опубликованной информационной базе


Для доступа к информационной базе надо зайти в обозреватель интернет (поддерживающий HTML5, например "многими любимый" Internet Explorer) и ввести в адресную строку:
http://localhost/Base1C
или по IP http://127.0.0.127/base1c

При установке популярной программы бухгалтерского учёта «1С» (версии 8.3) или обновления программы с версии 8.2 на 8.3, а также запуска какой-либо соответствующей процедуры, юзер может получить сообщение «Ошибка 2147221164 0x80040154 класс не зарегистрирован», вызванное отсутствием регистрации класса. Данная ошибка может быть вызвана несоответствием версий 1С на сервере и клиентском ПК, а также отсутствием регистрации необходимого класса COMConnector (dll-библиотека comcntr.dll) в ОС Виндовс. В данном материале я расскажу о сути указанной дисфункции, а также поясню, как от неё избавиться.

Так выглядит месадж об ошибке 2147221164
Стандартное сообщение о возникшей дисфункции

Особенности возникшей дисфункции

Разбираемая мной ошибка 2147221164 0x80040154 в 1C обычно связана с соединением баз данных по COM-объекту, и может иметь несколько причин:

  • Несовпадение конфигурации 1С на сервере и локальном ПК (к примеру, на сервере используется версия 8.3, а на локальном ПК – версия 8.1);
  • Невозможность прямого обращения 64-битной 1С к 32-битному файлу comcntr.dll;
  • В ОС Виндовс не зарегистрирован вышеупомянутый файл comcntr.dll.

    Разбираем устранение проблемы в 1C
    Разбираем устранение проблемы в 1C

Разберёмся со способами решения возникшей проблемы. Их два.

Способ №1. Регистрируем необходимые библиотеки

Если на ПК 32-битная ОС, то будет необходимо запустить командную строку с админ. правами, и там набрать:

C:\Windows\System32\regsvr32 «C:\Program Files (x86)\1cv8\XXXXX\bin\comcntr.dll»

Вместо XXXXX будет нужно ввести номер вашей версии 1С, к примеру, это может быть 8.3.10.2252 или иная (пройдите по указанному пути, и просмотрите номер установленной у вас версии). После этого регистрация упомянутого dll будет завершена, и «Ошибка 2147221164 0x80040154 класс не зарегистрирован» должна исчезнуть.

Месадж об успешной регистрации dll
Уведомление об успешной регистрации dll

Если на ПК 64-битная ОС, то данная строка должна выглядеть так:

C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\ХХХХХ\bin\comcntr.dll»

Где ХХХХХ – номер вашей версии 1С

Способ №2. Создаём компоненты для исправления ошибки 2147221164 0x80040154

Выполните следующее:

  1. Запустите консоль «Службы компонентов» (перейдите в «Панель управления», затем в «Администрирование», и здесь кликните на «Службы компонентов»);
  2. Здесь выберите «Мой компьютер» («Службы компонентов», затем «Компьютеры», и «Мой компьютер»). Наведите курсор на «Приложения COM+», нажмите на правую клавишу мыши, выберите «Создать» — «Приложение»;
    Осуществите перечисленные действия
  3. В открывшемся окне «Установка или создание нужного приложения» кликните на «Создать новое приложение».
  4. Введите имя для него (например, «ComConnector8»), а способом активации установите «Серверное приложение»;
  5. Учётной записью для активации приложения поставьте «Указанный пользователь». Нажмите на «Обзор», найдите учётную запись, из-под которой запускается наш сервер 1С (версия 8.3). К примеру, это может быть «USER1CV8». Пропустите следующие два пункта (дважды жмём на «Далее», а потом на «Готово)
  6. В ветке созданного приложения кликните на узел «Роли», а в нём  на «CreatorOwner». Наведите курсор на пункт «Пользователи», кликните на правую кнопку мышки, выберите «Создать», и «Пользователь». Затем выберите учётку, из-под которой стартует сервер 1С (к примеру, тот же «USER1CV8»);
  7. В ветке созданного нами приложения (в нашем случае это «ComConnector8») перейдите на узел «Компоненты». Наведите на него курсор, нажмите правую клавишу мыши, выберите «Создать», и «Компонент»;
  8. Затем выберите опцию «Установка новых компонентов», и в открывшемся окне найдите и кликните на нужный нам dll-файл (в нашем варианте это находящийся по пути C:\Program Files (x86)\1cv81\XXXXX\bin\comcntr.dll). Заверите создание указанного компонента;
  9. Откройте свойства созданного компонента, выберите вкладку «Безопасность», найдите там список «Явно установленные для выделения объектов роли», и поставьте флажок напротив «CreatorOwner».

Заключение

Исправление проблем с незарегистрированными классами в 1С обычно решается с помощью двух способов, обозначенных мной выше. Наибольшую эффективность показал второй из перечисленных способов, потому рекомендую воспользоваться алгоритмом его реализации для исправления ошибки 2147221164 0x80040154 на вашем PC.

Условные обозначения:

Компьютер1 – рабочее место, на котором установлены ПО «1С» и ПП «Астрал-Отчетность» («1С-Отчетность»).

Компьютер2 – рабочее место, на которое необходимо перенести ПО «1С» и ПП «Астрал-Отчетность» («1С-Отчетность»).

Для переноса ПО «1С» и ПП «Астрал-Отчетность» («1С-Отчетность») на другое рабочее место необходимо произвести следующие действия:

1. Выгрузите информационную базу. Для этого запустите её в режиме «Конфигуратор» на Компьютере1. В пункте меню «Администрирование» выберите «Выгрузить информационную базу».

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

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

3. Перейдите в директорию хранения контейнера, выберите необходимый контейнер и перенесите его в любую директорию на Компьютере2.

4. Далее, на Компьютере2, установить криптопровайдер, который использовался ранее, на Компьютере1

5. Затем, на Компьютере2, необходимо добавить контейнер в используемый криптопровайдер - ViPNet CSP или КриптоПро CSP, и установить сертификат.

6. На Компьютере2 откройте пустую базу ПО «1С» в режиме «Конфигуратор», и при помощи кнопки «Администрирование» → «Загрузить информационную базу» укажите путь к ранее сохраненной информационной базе.

7. Появится окно с предупреждением о завершении работы конфигуратора, нажмите кнопку «Да».

8. После завершения загрузки информационной базы появится соответствующее сообщение.

9. Перезапустите 1С и нажмите на кнопку Настроить автоматически сейчас в настройках учетной записи документооборота.

Информационная база готова к работе.

Для подключения базы 1С сделать следующее

1. Запускаем 1С

2. В окне списка баз нажимаем Добавить

3. Выбираем Добавить в списке существующих баз

4. Выбираем на Сервере 1С Предприятии

5. Кластер Сервера

Имя базы

6. Далее и готово

При попытке управлять службами рабочих столов без домена выскакивает предупреждение «Что бы управлять серверами с коллекциями, вам необходимо выполнить вход в качестве пользователя домена»

А конкретно:
«Вы выполнили вход в учетную запись локального администратора. Что бы управлять серверами с коллекциями, вам необходимо выполнить вход в качестве пользователя домена»
Вы наверное как и я увидели данное сообщение после того как установили Windows Server 2019, а потом добавили роль Службы удаленных рабочих столов.

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

Пуск — Выполнить — mstsc
Заполняем имя компьютера (IP или имя сервера) и нажимаем Сохранить Как…

ПКМ по созданному ранее файлу Открыть с помощью … выбрать Блокнот
где изменяем параметр
remoteapplicationmode:i:1
Добавляем так же в конце файла строки
remoteapplicationprogram:s:»C:\Program Files\1cv8\common\1cestart.exe»
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe

Так же на сервере добавляем в реестр

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\1cestart]
«CommandLineSetting»=dword:00000000
«RequiredCommandLine»=»»
«Path»=»C:\\Program Files\\1cv8\\common\\1cestart.exe»
«ShortPath»=»C:\\PROGRA~2\\1cv8\\common\\1cestart.exe»
«ShowInTSWA»=dword:00000000
«Name»=»1C Предприятие»
«SecurityDescriptor»=»»

PostgreSQL — достаточно современная и популярная СУБД в мире. Её не обошла и фирма 1С, выбрав в качестве одной из поддерживаемых для работы СУБД. Рассмотрим инструкцию по установке PostgreSQL и её первоначальной настройки для 1С 8.3 под ОС Windows.

PostgreSQL и 1с

PostgreSQL — бесплатная программа, это является одним из решающих факторов по выбору данной СУБД.

Для установки сервера нам понадобится два архива — сервера 1С предприятия (х86-64) и дистрибутив  PostgreSQL.  В нашем примере платформа версии 8.3.4, а СУБД 9.1.2. Их лучше взять из официальных источников 1С — диска или сайта ИТС.

программа в архиве

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

Первым делом установим сервер 1C предприятия 8.3 (или 8.2). Для этого запустим файл setup.exe из архива. Установка мало чем отличается от обычной установки клиентского приложения, за исключением некоторых особенностей:

1. Не забудьте выбрать в компонентах нужные пункты:

настройки установки

2. Указать, от чьего имени будет запускаться приложение. Рекомендуется создавать нового пользователя «USR1Cv8». У этого пользователя должны быть установлены нужные права:

Получите 267 видеоуроков по 1С бесплатно:

пользователь сервиса агента сервера 1С

После установки части 1С можно приступить к работе с СУБД.

Установка PostgreSQL

Запустите файл postgresql-9.1.2-1.1C(x64).msi, в папке windows выбрать подпапку 64 или 86, в зависимости от разрядности ОС. Можно оставить практически всё по умолчанию. Необходимо обратить внимание на следующие моменты:

1. Так же, как с 1С 8.3, СУБД устанавливается как сервис. Необходимо проверить права у используемого пользователя. Система по умолчанию создаст нового пользователя, от чего имени будет запускать службу:

настройки службы 1С

2. Настройка кластера 1C. Здесь необходимо указать пароль для пользователя:

настройка кластера серверов в PostgreSQL

Для выполнения данного пункта должна быть запущена служба «Вторичный вход в систему» (secondary logon). Если он не запущен, его следует запустить в списке всех сервисов:

вторичный вход в системуДалее — все настройки по умолчанию.

Создание базы 1С на Постгри

Создание базы — очень простой процесс. В списке баз необходимо нажать «Добавить», выбрать пункт «Создание новой информационной базы», указать название базы и выбрать вариант расположения — «На сервере 1С: Предприятия», где заполнить настройки подобно указанным на скриншоте:

создание базы на новой СУБД

Где пароль и имя пользователя те, которые Вы указывали на этапе настройки кластера.

Вот и всё — можно работать с системой.