Сегодняшняя подборка включает разноплановые вопросы из трех курсов по разработке 1С. Здесь и вопрос по HTTP-сервисам, и по настройке кластера серверов 1С, и по подготовке к аттестации 1С:Специалист по платформе 8.3. Вы, как разработчик, сами выберете, что вам интересно. Приятного прочтения!
Вопрос №1: Почему происходит исключительная блокировка ИБ при разработке HTTP-сервиса?
После получения данных по HTTP://localhost:8080/Demo/hs/Demo/List программирую шаг, на котором можно получить информацию по конкретному контрагенту, но при попытке обновить конфигурацию БД получаю сообщение об исключительной блокировке базы данных (база файловая, платформа 8.3.17). Начинаю разбираться: остановил IIS (на win10), закрыл базу, зашел заново, все равно ошибка исключительной блокировки.
В итоге разобрался, что висел процесс w3wp.exe, который создал и занимал файлы блокировки в каталоге базы и не давал ничего сделать. После того, как закрыл процесс, базу обновить получилось. В интернете прочитал, что этот процесс обрабатывает запросы.
Вопрос: что нужно настроить и как, чтобы этот процесс не блокировал базу данных в случае с файловой и клиент-серверной БД?
Ответ
IIS он такой. То какой-нибудь процесс не останавливается при остановке из консоли IIS, то при остановке зависает в состоянии “Остановка” и спасает только перезагрузка компьютера/сервера или поиск “волшебных” команд на сайте Microsoft. Веб-сервер держит соединение с базой, чтобы отрабатывать быстрее следующие запросы. Просто запишите куда-нибудь имя процесса и останавливайте ручками. Веб-сервер держит соединение с базой, чтобы отрабатывать быстрее следующие запросы. Закрывайте браузер или чем Вы “цеплялись” к сервису перед обновлением базы.
Если это Вас сильно беспокоит, а использование IIS не является обязательным, то поставьте APACHE. С ним все проще, он не “расползается” по всей системе.
Администрирование 1C: развертывание, автоматизация, управление пользователями и поддержка систем на 1С:Предприятие 8.
Вопрос №2: Как на форме списка справочника реализовать прямой вызов справочной информации?
Ответ
В конфигураторе в контекстном меню для нужного объекта выбираем команду Справочная информация. Вводим текст справки. Чтобы преобразовать выделенный текст в гиперссылку, в меню выбираем команду Элементы – Ссылка:
Выбираем из предложенного перечня нужный раздел справки:
В итоге получается вот такой HTML-документ для справки:
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"> <base href="v8config://a92cebe9-4e30-4901-842c-b1cc1d0adc9a/mdobject/id74726f55-3bc2-47d6-b995-78d2e339d9b5/038b5c85-fb1c-4082-9c4c-e69f8928bf3a"> </head> <body><a href="v8help://1cv8/EnterprWorkingWithCatalogs">Справочники</a></body></html>
По отзывам участников курса, сдававших экзамен, такая задача на аттестации не встречается.
Подготовка к аттестации 1С:Специалист по платформе 1С:Предприятие 8.3.
Вопрос №3: Какие порты рабочих процессов необходимо указывать при добавлении в кластер серверов дополнительного рабочего сервера?
Ответ
Диапазон рабочих процессов на обоих серверах вполне может быть, например, 1560 – 1591, хотя никто не обязывает задавать в точности одинаковые диапазоны на обоих серверах (но это очень специфичные случаи). Главное обеспечить, чтобы сервер (физический) + порт РП давали уникальную комбинацию в кластере.
И еще, если на одном сервере будете разворачивать две службы 1С:Предприятие (или одну из них будете запускать не как службу, а как приложение), то порты также не должны пересекаться в рамках этого физического сервера (например, те же диапазоны 1560:1591 и 2560:2591).
Запуск и настройка кластера серверов 1С.