Ошибка:
Происходит хуйчаво, после чего не работает нихуя, а в журнале ошибок Шиndoшs вот эта сраная пидаралестичкая ошибка блядская.
-- - 10010 0 2 0 0 0x80000000000000 58180 System a37704a1 {82154420-0FBF-11D4-8313-005004526AB4}
Как починять:
- Запустить regedit, найти там к какому конкретному приложению относится {GUID}. В моем случае это был "Libreoffice Service Manager (Ver 1.0)"
- Запустить dcomcnfg
- В выпадающем списке слева, т.к. справа, благодаря стараниям LGBT-отдела Windows, нихуя не будет, и это попервой вводит в ступор, открыть "Службы компоненов->Компьютеры->Мой компьютер->Настройка DCOM->{Libreoffice Service Manager (Ver 1.0)}->ПКМ->Свойства"
- Помастурбировать настройками этого COM-приложения, поменять права доступа, пользователя, подобавлять групп, и прочее и прочее
Позволю себе процитировать себя же:
В общем, я снова поставил (вы сбрасывали?) пользователя, от имени которого запускается LibreOffice равным "Администратор", перезагрузил сервер, открыл LibreOffice, вылезло окно восстановления LibreofficeWriter документа, сделал восстановление - внутри ничего не было, закрыл LibreOffice, запустил 1С - все сохраняется и отрабатывает без ошибок, в том числе и с клиентских компьютеров.
Пока оно не сломалось где-нибудь еще, моя гипотеза такова: обработка печати договора неким образом крашит LibreOffice, тот при следующем открытии ждет подтверждения восстановления документа, из-за этого COM объект не регистрируется должным образом, и все стопорится (еще и не открывается, а висит в процессах отжирая процессорное время до полной перезагрузки компьютера). В нашем случае ситуацию еще ухудшило то, что LibreOffice, если мне не изменяет память, открывался от другого пользователя, под которым никто никогда не заходил, и восстановление это, наверное, при запуске там будет висеть и до сих пор.
В инструкции к линуксовой версии libreoffice указан флаг --norestore, позволяющий пропускать этап восстановления поврежденных документов. Аналогичный флаг должен существовать и для Windows-версии. Вопросы следующие:
1. возможно ли создавать COM объекты с флагами? Если да, то будет разумно использовать --norestore для автоматических операций.
2. каким образом обработка создает ситуацию, при которой ломается LibreOffice? Быть может там происходит kill процесса вместо нормального его закрытия? Желательно этот момент обнаружить и убрать.