Проблемы и решения

Перезапуск рабочих процессов 1С

Перезапуск рабочих процессов не приводит к вылету пользователей, 1С притормаживает на непродолжительное время. 
Помогает при проблемах после динамического обновления (тормозит), при необходимости снизить потребление памяти.

Выключить

Наиболее удобный способ перезапустить рабочий процесс - это ПКМ -> выключить:

image.png

Начиная с 8.3.27

Начиная с 8.3.27 используется формат расписания cron для перезапуска процессов.
Например, "0 6 * * *" - это каждый день, в 6 утра. Для быстрого перезапуска, нужно указать текущую минуту. 
Например, сейчас 12:04, значит следует указать "4 12 * * *", подождать несколько секунд, вернуть предыдущее значение.

До 8.3.27

Локальный кластер -> Свойства
image.png
Копируем интервал перезапуска, вставляем 5, нажимаем Применить:
image.png
Через 5 секунд, вставляем обратно, нажимаем Применить:
image.png
Запустится ещё один рабочий процесс 1С и начнёт забирать на себя подключения.
В данном случае, старый процесс завершится через 60 секунд:
image.png
По истечению этого времени, торможение должно пройти.

Шпаргалка 1С

Ссылки

https://bugboard.v8.1c.ru Публикация ошибок релизов. Зарегистрированные ошибки релизов, выяснить исправлена ли ошибка и в каком релизе. Например

https://its.1c.ru/db/updinfo Информация об обновлениях. Детальное описание изменений в выпущенных релизах.

https://wonderland.v8.1c.ru Технологический блог 1С. Новости от разработчиков платформы.

http://v8.1c.ru/predpriyatie/questions_licence.htm#mvv Вопросы по лицензированию

Потерян LicData

Следует прислать нам файл запроса лицензии формата tx_.txt, сформированный в программе через «Повторное получение лицензии» (Восстановление лицензии) с резервным пин-кодом и предполагаемыми данными об организации. Как формировать файл с данными лицензии описано в руководстве по получению программной лицензии на стр. 14-18.

Если у Вас платформа 8.2.17 и выше, то в диалоге получения лицензии нажмите «Получить лицензию», укажите регистрационный номер и активный пинкод. Далее следует нажать кнопку «Дополнительно», и убрать галочку с «Автоматически». Далее нажмите «ВОССТАНОВЛЕНИЕ», уберите галочку с «Я уверен(-а), что ключевые параметры компьютера не изменялись». И в появившемся ниже окне введите резервный пин-код. Далее введите ПРЕДПОЛАГАЕМЫЕ данные об Организации. После ввода данных об организации появится выбор получения лицензии. Вам следует выбрать «через файл». Сохранить файл tx_.txt, и выслать его нам. Мы укажем, какие данные нужно исправить.

В одном письме следует присылать один файл запроса.

Синхронизация. Недопустимая строка с указанием класса.

Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Проблема наблюдалась при синхронизации между ЗуП и бухией.

regsvr32 "C:\Program Files (x86)\1cv8\8.3.12.1685\bin\comcntr.dll"

64-х разрядная библиотека регистрируется так же:

regsvr32 "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"

Иногда нужно снять регистрацию, потом зарегистрировать заново:

regsvr32 "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"
regsvr32 /u "C:\Program Files\1cv8\8.3.12.1685\bin\comcntr.dll"

Выполнять под админом, то есть:

image.png

Разблокировка при автоматическом обновлении

/UC ПакетноеОбновлениеКонфигурацииИБ /C РазрешитьРаботуПользователей

Удалить пароль пользователя файловой базы

Хороший метод https://1s-programmist-expert.ru/blog/vtoroy-sposob-sbrosa-parolya-v-1s-tool_1cd

"C:\Program Files\1cv8\8.3.25.1546\bin\cnvdbfl.exe" -c -f 8.2.14 "C:\1C_Base\MyBase\1Cv8.1CD"
Изменить через выгрузку в текстовый файл значения поля DATA у пользоватля в таблицу V8USERS через TOOL_1CD.
Вместо того, что там есть в строке с хэшами (два значения), после 0,0, на 2jmj7l5rSw0yVb/vlWAYkK/YBwk= 
"C:\Program Files\1cv8\8.3.25.1546\bin\cnvdbfl.exe" -c -f 8.3.8 "C:\1C_Base\MyBase\1Cv8.1CD"

Дополнительная служба 1С

sc create "1C:Enterprise 8.3 Server Agent (x86-64) 2" binpath= """"%PROGRAMFILES%\1cv8\8.3.26.1521\bin\ragent.exe""" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d """%PROGRAMFILES%\1cv8\srvinfo2""" -debug" DisplayName= "Агент сервера 1С:Предприятия 8.3 (x86-64) TEST" start=auto

 

IIS 1C Отображение страницы невозможно из-за большого размера объекта запроса

Request Entity Too Large

При получении файла в 22МБ пользователь вылетает из базы с ошибкой:

Ошибка HTTP 413.1 — Request Entity Too Large
  Отображение страницы невозможно из-за большого размера объекта запроса.
Добрый день,

 Наиболее вроятные причины:
  Веб-сервер не может обработать запрос, поскольку объект запроса слишком велик.      Веб-сервер не может обработать запрос, поскольку пытается согласовать сертификат клиента, но объект запроса слишком велик.                 Слишком длинный URL-адрес запроса или физическое сопоставление для URL-адреса  (т.е. путь в физической файловой системе к содержимому URL-адреса). 
 Возможные решения:
Проверьте, что запрос допустим.      При использовании сертификатов клиента попробуйте:           Увеличить параметр system.webServer/serverRuntime@uploadReadAheadSize                                              Настроить конечную точку SSL на согласование сертификатов клиентов в качестве части начального подтверждения SSL. (netsh http add sslcert ... clientcertnegotiation=enable)
При прямом доступе, без IIS - не вылетает.

Помогло увеличить uploadReadAheadSize до 40 МБ (возможно это не надо делать):
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/serverRuntime" -name "uploadReadAheadSize" -value 41943040

Так проверить:

Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/serverRuntime" -name "uploadReadAheadSize"
установить maxAllowedContentLength в 100 MB в web.config (После этого заработало): 
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files\1cv8\8.3.25.1546\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="None" />
        </handlers>
	<security>
      		<requestFiltering>
	        	<requestLimits maxAllowedContentLength="104857600" />
      		</requestFiltering>
    	</security>
    </system.webServer>
</configuration>

Перезапуск ISS не потребовался.

Пароль приложения

Инструкция для mail.ru

https://help.mail.ru/mail/mailer/password/

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

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

Вот инструкция от google регламентирующая этот порядок:
https://support.google.com/accounts/answer/185833?hl=ru

По ней надо зайти в аккаунт, настроить двухфакторную аутентификацию (телефон), и создать "пароль приложения". Полученный пароль вставить в  почтовую программу (TheBat! Thunderbird 1С).

То есть сначала включаем двухфакторную аутентификацию:

Выполняем инструкции, возвращаемся в настройки аккаунта:

В безопасности появился пункт "пароли приложений"

Создаём пароль:

Вставляем его в почтовый клиент (TheBat! Thunderbird 1C)

Как зайти под USR1CV8 на удалённый рабочий стол

Это может понадобиться для того, чтобы проверить/дать доступ к сетевым папкам службе 1С. Если сетевой путь требует аутентификации, то можно его ввести, обращаясь к ресурсу через проводник. При сохранении пароля в проводнике, 1С серверу будет доступен сетевой ресурс на в том числе после перезагрузки (если нет запрета на сохранение пароля).

Для того, чтобы зайти на удалённый рабочий стол USR1CV8, нужно убрать его из политик ограничения, настраиваемых по умолчанию (gpedit.msc): image.pngДобавить в группу доступа удалённых рабочих столов:
image.png
После того, как нужные ресурсы пользователю стали доступны, необходимо вернуть обратно политики, убрать из группы доступа.

Очистить расширения в базе 1C

MSSQL

При чтении списка расширений в одном случае и при удалении любого из расширений в другом, возникает ошибка  "ошибка формата потока" в конфигураторе. Базу удалось запустить очистив таблицу _ExtensionsInfo. 

В MSSQL это можно сделать так:

USE [DB_NAME]
GO
DELETE FROM [dbo].[_ExtensionsInfo]
GO

Взято с инфостарта

Время показало, что профит от стирания таблицы _ExtensionsInfo носит временный характер (ошибка проявляется потом).
Очистка таблиц ConfigCAS и ConfigCASSave полностью удаляет расширения

USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCAS]
GO
USE [DB_NAME]
GO
DELETE FROM [dbo].[ConfigCASSave]
GO

Ещё ссылки по теме
https://www.online-ufa.ru/content/articles/oshibka-formata-potoka-1c/
https://www.online-ufa.ru/content/articles/1c-error-ef/

В клиентском приложении

Ошибка возникала при обновлении базы, в клиентском приложении (8-9%).
Помог следующий код;

Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	ИдентификаторыОбъектовРасширений.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.ИдентификаторыОбъектовРасширений КАК ИдентификаторыОбъектовРасширений";

РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();	
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	О = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
	О.ОбменДанными.Загрузка = Истина;
	О.Удалить();
КонецЦикла;

Набор = РегистрыСведений.ИдентификаторыОбъектовВерсийРасширений.СоздатьНаборЗаписей();
Набор.Записать();

 

Изменение адреса внешней формы СБИС

При отправке, подготовке документа выходит ошибка:

Неизвестная ошибка клиента (Поле объекта не обнаружено (ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С))

image.png

В модулях, где идёт обращение к "РаботаСДокументами1С" нужно заменить

Кэш.ТекущийСеанс.Формы.Получены.ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С

на

Кэш.ТекущийСеанс.Формы.Получены.Получить("ВФК_ВнешняяОбработка_ВнешниеФункции_Клиент_Форма_РаботаСДокументами1С")

Изменение номера "Документа об отгрузке" СБИС

image.png

	//--------------------------------- Замена номера документа об отгрузке ------------------------------------
	Если Док.Файл.Документ.Свойство("Основание") И ТипЗнч(Док.Файл.Документ.Основание)=Тип("Массив")  Тогда	
		Для каждого О ИЗ Док.Файл.Документ.Основание Цикл
			Если О.Название = "ДокПодтвОтгр" Тогда
				О.НаимДокОтгр = СтрЗаменить(О.НаимДокОтгр,О.Номер,ПараметрыДляЭДО.НомерДокумента);
				О.Номер = ПараметрыДляЭДО.НомерДокумента;
				Прервать;
			КонецЕсли;	
		КонецЦикла;
	КонецЕсли;
	//--------------------------------- Замена номера документа об отгрузке ------------------------------------

Выключение простых форм документов БЭ

Убедитесь, что выключены простые формы списков документов:
image.pngimage.png
Откройте форму заново, если она была у вас открыта.

Сохранение файлов БЭ с версии 8.3.13.4

Изменился способ сохранения файлов в БЭ:
image.png

в версии 8.3.13.3 нужно было выбирать файл:
image.png

а 8.3.13.4 требует папку:
image.png

В общем, теперь нужно выбирать папку, а не файл. Это непривычно, но такова воля разработчика.

Многодоговорность во входящих документах СБИС СписокXDTO

ПараметрыДоговораXDTO = ?(ТипЗнч(XMLДоговор) = Тип("СписокXDTO"),ПараметрыДоговораИзСпискаXDTO(XMLДоговор),XMLДоговор);
ДатаДоговора = ВычленитьДату(ПараметрыДоговораXDTO.ДатаОсн); 

Прототип.Договор = ITSP_ВернутьЭлементСправочника("CW_ДоговорыПоГрузоперевозкам", 
Новый Структура("НомерДоговора,ДатаДоговора,Наименование,Владелец,Организация,ВалютаДоговора,ВидДоговора",
ПараметрыДоговораXDTO.НомОсн,
ДатаДоговора,
ПараметрыДоговораXDTO.НомОсн+" "+Формат(ДатаДоговора,"ДФ=dd.MM.yy"),
Прототип.Контрагент,
Прототип.Организация,
Прототип.Валюта,
Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком),
СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок("НомерДоговора,Владелец,Организация,ВалютаДоговора,ВидДоговора"),Истина); // Поиск по всему, кроме наименования и даты. Мало ли может ошиблись. Это не критично

Если НЕ ЗначениеЗаполнено(Прототип.Договор) И (Поставщик = "Трипконт, ООО" ИЛИ Поставщик = "АТТ, ООО" ИЛИ Поставщик = "ПЛ, ООО" ИЛИ Поставщик = "Эвергрин, ООО" ИЛИ Поставщик = "Терминал Авто-ВМРП, ООО" ИЛИ Поставщик = "ТФЛ, ООО") Тогда   
	Прототип.Договор = ВернутьПоследнийДоговорБЭ(Прототип.Контрагент,Прототип.Организация,Прототип.Валюта,Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);	
КонецЕсли;

Если НЕ ЗначениеЗаполнено(Прототип.Договор) Тогда
	МассивСообщений.Добавить("Не удалось найти договор "+ПараметрыДоговораXDTO.НомОсн+" от "+Формат(ДатаДоговора,"ДФ=dd.MM.yy")+" с "+Прототип.Контрагент);
	Возврат Неопределено;
КонецЕсли;
&НаСервереБезКонтекста
Функция ПараметрыДоговораИзСпискаXDTO(ОснованияСписокXDTO)
	
	Наименьшее = Неопределено;
	НаименьшееДатаОсн = Неопределено;
	Для каждого С ИЗ ОснованияСписокXDTO Цикл
		Если НаименьшееДатаОсн = Неопределено ИЛИ НаименьшееДатаОсн > С.ДатаОсн Тогда	
			НаименьшееДатаОсн = С.ДатаОсн;
			Наименьшее = С;
		КонецЕсли;
	КонецЦикла;  
	Возврат Наименьшее;    
	
КонецФункции

&НаСервереБезКонтекста
Функция ВернутьНаименьшееЗначениеПоляСписокXDTO(СписокXDTO,Поле) 
	Наименьшее = Неопределено;
	Для каждого С ИЗ СписокXDTO Цикл
		Если Наименьшее <> Неопределено И Наименьшее > С[Поле] Тогда	
			Наименьшее = С[Поле];	
		КонецЕсли;
	КонецЦикла;  
	Возврат Наименьшее;
КонецФункции

В платформе 8.3.22 перестала работать почта

В conf.cfg добавить опцию IgnoreInternetMailServerCertificateVerificationList:

IgnoreInternetMailServerCertificateVerificationList=imap.gmail.com;smtp.gmail.com

В баг репорте ошибка описана для почты gmail,  но у нас свой почтовый сервер и ошибка та же самая, и попутно было обнаружено, что и с mail.ru такая же есть ошибка, а вот Yandex.ru  ошибку не дает. 

Файл  conf.cfg  находится в папке C:\Program Files\1cv8\conf  (для 64 платформы).
https://infostart.ru/1c/articles/1892304/

В 8.3.13 БЭ спрятали кнопки в списках документов в "ещё" как вернуть?

Добавление кнопок

Вернём на панель кнопку "установить период":
image.png

image.png

Теперь кнопка есть на панели:

image.png

Копирование настроек

Выполненную настройку формы списка можно скопировать остальным пользователям:

image.png

image.png


СБИС

Проверка xml файла

https://online.sbis.ru/page/check-xml/

Изменение доп номеров

Док.Файл.Документ.Номер = ПараметрыДляЭДО.НомерДокумента;
	//---------------------------------------------------------------------
	Для каждого Вл ИЗ Контекст.СоставПакета.Вложение Цикл
		Попытка 
			Если Вл.Тип = Док.Файл.Формат Тогда
				Вл.Название = СтрЗаменить(Вл.Название,"№ "+Вл.Номер,"№ "+ПараметрыДляЭДО.НомерДокумента);
				Вл.Номер = ПараметрыДляЭДО.НомерДокумента;
				Прервать;
			КонецЕсли;
		Исключение
		КонецПопытки;
	КонецЦикла;
	//--------------------------------------------------------------------- 
	
	Если Док.Файл.Документ.Название = "Счет-фактура" Тогда
		Для каждого О ИЗ Док.Файл.Документ.Основание Цикл
			Если О.Название = "ДокПодтвОтгр" Тогда
				О.Номер = ПараметрыДляЭДО.НомерДокумента;				
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;

Обнаружено нарушение целостности системы 1С

Инструкция из мультикей

Происходит это когда 1С обнаруживает драйвер VUSBBus.

1) наличие/отсутствие ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASP ни на что не влияет;
2) чтобы произошел вылет - должна существовать служба vusbbus и обязательно двоичный файл этой службы (обычно \SystemRoot\system32\DRIVERS\vusbbus.sys);
3) если хотя бы одно из условий п.2 не выполняется - вылета нет.

- Как устранить проблему:

1. В диспетчере устройств ищем, и если есть, удаляем в Системных устройствах - Virtual Usb Bus Enumerator (желательно поставить галку Удалять программы драйвера)
2. Открываем консоль от админа
3. Проверяем наличие службы - sc query vusbbus
4. Если ошибка 1060 - все хорошо, службы нет, работать будет
5. Узнаем имя файла службы - sc qc vusbbus
6. Удаляем указанный файл (SystemRoot обычно равно C:\WINDOWS)
7. Удаляем службу - sc delete vusbbus

Остальное

Удалите эмулятор HASP. Эмуляторов существует много поэтому трудно написать универсальную инструкцию по их удалению. Можете попробовать воспользоваться следующими шагами:

Найдите и удалите файлы VUsb.sys и vusbbus.sys

Выполните команды в командной строке от имени Администратора:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt
del %systemroot%\system32\drivers\haspflt.sys
Рекомендуется удалить также ветки реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspflt­\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emulato­r
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Emu

Проверка установки сертификата ЭЦП организации в 1С:Бухгалтерия

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

и нажимаем "Проверить". При проверке пароль (как правило, либо пусто, либо от 1 до 8).
Если все "шарики" зелёные — хорошо.
Если нет, то нажимаем кнопку "Сохранить в файл..." (см. картинку - рядом с кнопкой "Проверить").
Затем запускаем КриптоПро (или Випнэт) и переустанавливаем сертификат из сохраненного на предыдущем шаге файла с подтяжкой к нужному контейнеру (можно поставить флаг автоматического поиска нужного контейнера).
И после этого возвращаемся в 1С и повторяем Проверку. Все шарики должны быть зелеными*.

 

* Если 1С на сервере, то шарики могут быть расположены в два ряда (в зависимости от условий подключения к базе): один ряд - пользовательский комп, второй - сервер.

1C Bad Image / Невозможно запустить приложение / не предназначена для выполнения

Невозможно запустить приложение на вашем компьютере

image.png

Bad Image

Не предназначена для выполнения в Windows

image.png

Помог Способ №1
https://forum.infostart.ru/forum86/topic181343/

Организовать API с 1С

Apache

Качаем Apache, копируем на диск C

httpd.conf

# === Основные настройки ===
Define SRVROOT "C:/Apache24"
ServerRoot ${SRVROOT}
Listen 4453
ServerAdmin admin@example.org
ServerName terminal.example.org

# === Размер тела запроса (100MB) ===
LimitRequestBody 104857600

# === Поддержка Keep-Alive для долгих запросов 1С ===
KeepAlive On
MaxKeepAliveRequests 1000
KeepAliveTimeout 300
Timeout 600

# === Настройки ядра ===
AcceptFilter https none 
AcceptFilter http none 
EnableSendfile Off 
EnableMMAP Off 

# === Загрузка необходимых модулей ===
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.27.1859/bin/wsap24.dll"
LoadModule headers_module modules/mod_headers.so
LoadModule alias_module modules/mod_alias.so

# === Корневая директория ===
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
    Options -Indexes +FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

# === Запрет доступа к системным файлам ===
<Files ".ht*">
    Require all denied
</Files>
<DirectoryMatch "^.*/\..+">
    Require all denied
</DirectoryMatch>

# === Логи ===
ErrorLog "logs/error.log"
LogLevel warn
CustomLog "logs/access.log" common

# === SSL ===
<IfModule ssl_module>
    SSLEngine On
    SSLCertificateFile conf/ssl/cert.pem
    SSLCertificateKeyFile conf/ssl/key.pem
    SSLCACertificateFile conf/ssl/ca.crt

    SSLProtocol -all +TLSv1.2
    SSLCipherSuite HIGH:!aNULL:!MD5
    SSLHonorCipherOrder On
    #SSLOpenSSLConfCmd CertificateVerification require

    SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(2048000)"
    SSLSessionCacheTimeout 300

    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl .crl

    CustomLog "${SRVROOT}/logs/ssl_request.log" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=HTTPS
</IfModule>

# === Публикация базы 1С ===
Alias "/post4egor" "bases/post4egor"
<Directory "bases/post4egor">
    AllowOverride None
    Options None
    Require all granted

    SetHandler 1c-application
    ManagedApplicationDescriptor "bases/post4egor/default.vrd"

    #Header set Cache-Control "no-store, no-cache, must-revalidate"
    #Header set Pragma "no-cache"

    SSLVerifyClient require
    SSLRequire %{SSL_CLIENT_S_DN_CN} eq "Apache1CPub"
    
</Directory>


# === Индексный файл ===
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

default.vrd

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		base="/post4egor"
		ib="Srvr=&quot;onec&quot;;Ref=&quot;post4egor&quot;;usr=&quot;1CAPIUser&quot;;pwd=&quot;keef9yooy3Ze1itiexie&quot;;">
		<httpServices publishByDefault="false">
		<service name="Api"
			rootUrl="api"
			enable="true"
			reuseSessions="autouse"
			sessionMaxAge="60"
			poolSize="20"
			poolTimeout="10">
		</service>
	</httpServices>
</point>

Сертификат для веб-сервера

openssl req -x509 -nodes -days 3650 -newkey rsa:3072 \
  -keyout key.pem \
  -out cert.pem \
  -subj "/C=RU/ST=Moscow/L=Moscow/O=Company/OU=IT/CN=localhost"

CA

openssl req -new -newkey rsa:3072 -nodes -keyout ca.key -x509 -days 3650 \
          -subj /C=RU/ST=Msk/L=Msk/O=MyOrg/OU=MyUnit/CN=IT/emailAddress=usr@localhost \
          -out ca.crt

О том, как выпустить клиентские сертификаты в Apache написано тут:
https://www.opennet.ru/base/sec/ssl_cert.txt.html

Проверка

POST

curl -X POST \
  --cert-type P12 \
  --cert ./Apache1CPub.p12 \
  --pass "" \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}' \
  -k \
  "https://apachehost:4453/post4egor/hs/api/v1/TakeJSON"

GET

curl -X GET \
  --cert-type P12 \
  --cert ./Apache1CPub.p12 \
  --pass "" \
  -k \
  "https://apachehost:4453/post4egor/hs/api/test/"

Отсутствует исполняющее ядро для расширения имени файла js

image.png

Выполнить reg файл

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.JS]
@="JSFile"

Взято отсюда: https://nidler.pro/kak-ispravit-oshibku-otsutstvuet-ispolnyayushhee-yadro-dlya-rasshireniya-imeni-fajla-js/
Ещё вариант (не пробовали): 
https://kuharbogdan.com/forums/topic/kak-ispravit-oshibku-otsutstvuet-ispolnjajushhee-jadro-dlja-rasshirenija-js/ 

Перезапуск заданий отложенного обновления

image.png