Настройка DCOM компоненты "Excel.Application" на 64-битном сервере приложений 1С

27.01.15

Администрирование - Информационная безопасность

Описание настройки на 64-битном сервере приложений 1С, позволяющие создавать и использовать COMОбъект "Excel.Application" на сервере 1С.
Это поможет обработать большие файлы excel на сервере, в том числе через фоновые задания.
Все описанные действия родились по мотивам прочтения тысячи форумов и было опробовано сначала на разработческом сервере,  затем на боевом.
Поэтому решил выложить это сюда, наверняка спасет вам хотя бы 1 день жизни.
  1. Заходим на сервер приложений 1С под локальным админом
  2. Запускаем DCOMCNFG  (Консоль настроек "Component  Services")
    1. Открываем ветку Console Root -> Component Services ->  Computers ->  My computer ->  DCOM Config
    2. Ищем "Microsoft Excel Application"
    3. Если нашли, то переходим к пункту 4 (Настраиваем свойства DCOM компонента "Microsoft Excel Application")
    4. Закрываем "Component  Services"
  3. Настройка реестра
    1. Запускаем REGEDIT
    2. Открываем ветку Computer\HKEY_CLASSES_ROOT\AppID\EXCEL.EXE, если ее нет, то создаем
    3. Создаем в ней строковый параметр AppID  = {00020812-0000-0000-C000-000000000046}
    4. Выполняем команду "mmc comexp.msc /32", которая делает то же что и DCOMCONFIG, но позволяет видеть  32 битные компоненты.
    5. После этого в Component Services должен появиться "Microsoft Excel Application"
  4. Настраиваем свойства DCOM компонента "Microsoft Excel Application"
    1. Закладка "Security"
      1. "Launch and Activation Permissions" - Customize - Edit
        1. Добавляем пользователя, под которым запускается  агент сервера 1С
        2. Назначем ему только следующие права  (allow):
          1. Local Launch
          2. Local Activation
      2. "Access  Permissions" - Customize - Edit
        1. Добавляем пользователя, под которым запускается  агент сервера 1С
        2. Назначаем ему только следующие права  (allow):
          1. Local Access
    2. Закладка "Identity"
      1. Должно быть выбрано "The launching user"
  5. Системные папки
    1. Папка "C:\Windows\SysWOW64\config\systemprofile\Desktop\"
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в свойства этой папки.
      3. Закладка Security
      4. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      5. Добавляем право "Read" и "Write"
    2. Папка "C:\Windows\System32\config\systemprofile\Desktop\"
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в свойства этой папки.
      3. Закладка Security
      4. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      5. Добавляем право "Read" и "Write"

PS: по просьбе yukon добавляю следующий дисклаймер:

Вопросы серверной автоматизации Office https://support.microsoft.com/kb/257757

Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
 

 

сервер 1c excel application

См. также

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7728    55    22    

66

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    8826    42    5    

73

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8500 руб.

10.11.2023    10398    36    20    

61

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    187956    1138    0    

912

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    32650    106    152    

73

Инструменты администратора БД Системный администратор Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    62810    94    59    

79

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    72783    625    45    

84

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    9830    7    4    

15
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. yukon 153 27.01.15 11:29 Сейчас в теме
Обстоятельно разобрано. Но к такому тексту обязательно нужен дисклаймер:

Вопросы серверной автоматизации Office
https://support.microsoft.com/kb/257757

Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
strelvan; o4karek; AlX0id; +3 Ответить
3. maxis33 45 27.01.15 18:37 Сейчас в теме
(1) yukon, хорошая статья, тоже приходилось эту информацию по крупицам собирать..
11. vet7777 594 29.01.15 13:46 Сейчас в теме
(1) yukon, согласен с дисклаймером, видел его конечно же, добавлю
58. SvetaBr 03.12.19 15:20 Сейчас в теме
Вот на что натолкнулась

&НаСервере
Процедура ВыгрузитьВExcel (КаталогКудаЧитаемФото,лВременныйФайлЗагрузки)	
	
	Excel = Новый COMОбъект("Excel.Application");
	Книга = Excel.WorkBooks.Open(лВременныйФайлЗагрузки);
	ЛистГлавный = Книга.WorkSheets(1);    
	СуществуетКаталог = НайтиФайлы(КаталогКудаЧитаемФото);
	НайденныеФайлы = НайтиФайлы(КаталогЗагрузкиФайлов, "*.*");
	Если НайденныеФайлы.Количество() > 0 Тогда
		стр=1;
		Для каждого ТФайл Из НайденныеФайлы Цикл        
			лФайл = Новый Файл(ТФайл.ПолноеИмя);
			Если лФайл.Существует() Тогда
				Верх = 1; // ЛистГлавный.Cells(стр, 1).Top;
				Лево = 1; // ЛистГлавный.Cells(стр, 1).Left;
				
				Верх = ЛистГлавный.Cells(стр, 1).Top;
				Лево = ЛистГлавный.Cells(стр, 1).Left;
				ЛистГлавный.Rows(стр).RowHeight = 109;
				ЛистГлавный.Columns("A").ColumnWidth = 24;				
				
				
				ЛистГлавный.Shapes.AddPicture(лФайл.ПолноеИмя, Ложь, Истина, Лево+1, Верх+1, 100, 100);
				ЛистГлавный.Cells(стр, 3).Value = стр;


			КонецЕсли;
			стр=стр+1;   
		КонецЦикла;
	КонецЕсли;	
	Excel.ActiveWorkBook.Save();
	Excel.Quit();
КонецПроцедуры

Показать


Если закоментировать строчку
// ЛистГлавный.Shapes.AddPicture(лФайл.ПолноеИмя, Ложь, Истина, Лево+1, Верх+1, 100, 100);

то все прекрасно работает, если снять комментарий , то зависает на этой строке.

Все что в статье описано - на сервере давно реализовано, просто ранее не требовалось помещать фото в EXCEL

как быть , что можно сделать?
59. filterhouse 35 03.12.19 17:44 Сейчас в теме
(58) Такая же проблема =(
Может кто подскажет как можно обойти?
2. theshadowco 253 27.01.15 15:41 Сейчас в теме
(0)
Это поможет обработать большие файлы excel на сервере, в том числе через фоновые задания.

А почему не использовать ADO?
4. Yashazz 4790 27.01.15 20:14 Сейчас в теме
(2) theshadowco, а не все такое знают. Проще, вишь, через com таскать, чем накатать нормальный запрос ADO, на большие-то объёмы...
5. Gureev 28.01.15 09:30 Сейчас в теме
(2) theshadowco, (4) Yashazz,

может вы тогда сделаете статейку, как сформировать через ADO красиво оформленный Excel файл?
OLDMVN; Dziden; Sirruf; +3 Ответить
6. Sirruf 195 28.01.15 09:41 Сейчас в теме
(2) Что через ADO таскать? А если требуется например регламентное задание по формированию и рассылке отчетов в формате Excel ?
7. DoctorRoza 28.01.15 12:59 Сейчас в теме
(6) Sirruf, а что тут такого? создайте отчет и в коде его вызовите на заполнение! результат сохраните в ДвоичныеДанные. ВСЕ! И никакого COM'a не нужно, СКД отрабатывает!
9. bzmax 28.01.15 23:44 Сейчас в теме
(6) Sirruf,

Глупости! Рассылку отправлять в Ехеле, Ворде и других офисных форматах. Всегда найдется кто то, кто скажет что у него не открылось, или приложения нет.

Я все авто рассылки из 1С делаю в HTML (начиная с 7.7, с 2000 года).
И не дай бог! Какая нить зараза напишет что полученную рассылку открыть не смогли!
:)
jobkostya1c_ERP; +1 Ответить
13. vet7777 594 29.01.15 13:50 Сейчас в теме
(9) bzmax, требования диктует заказчик, а ему нужно именно в формате xlsx и чтобы открывалось на всех мобильных устройствах.
15. bubnov-pi 29.01.15 14:03 Сейчас в теме
(13) Вижу явное противоречие в паре "именно в формате xlsx" и "чтобы открывалось на всех мобильных устройствах". У меня на двух из трёх мобильных устройств никакой xls/xlsx не откроется. На "третьем" устройстве откроется любой xls[x] с вероятностью близкой к 100% исключительно благодаря вручную установленному пакету, отсутствующему в штатной конфигурации. Да и на некоторых стационарных компах до сих пор можно встретить офис 2003, и да - без конвертера (из личного опыта - крупные производственные предприятия, работающие не первый десяток лет, часто таким парком "грешат").
Что-то заказчик, НЯМС, хочет как минимум странного, если не невозможного. Реально, html, с точки зрения совместимости - куда логичнее.
17. vet7777 594 29.01.15 14:13 Сейчас в теме
(15) bubnov-pi, просто клиенты финансовой компании, которым рассылается отчетность, имеют установленный офис на своих девайсах. думаю теперь тперь понятно зачем такой формат нужен.
Diego_Iv; +1 Ответить
16. bzmax 29.01.15 14:08 Сейчас в теме
(13)
И что??? В вашу задачу входит еще и на всех мобильных устройствах ставить читалку Екселя?
Я бы убедил заказчика в универсальном формате.
18. vet7777 594 29.01.15 14:16 Сейчас в теме
(16) bzmax, конечно же не входит )
12. vet7777 594 29.01.15 13:48 Сейчас в теме
(2) theshadowco, потому что в моей задаче нужно было перезаписывать файлы для того, чтобы они потом открывались на мобильных устройствах, если стояла задача только читать, то не спорю - ADO было бы правильнее использовать.
theshadowco; +1 Ответить
8. jobkostya1c_ERP 100 28.01.15 13:48 Сейчас в теме
Автору за то что поделились админскими "премудростями" большой плюс.
Теперь сразу вопрос нарисовался. Как раз была настройка сервера 1С. Решили все-таки поставить офис. Началось все с ответа фирмы майкрософт по поводу "Excel.Application":
Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.

В чем преимущество в данном случае у технологии ADO кроме как не надо ставить офисный пакет на сервер?
Чтоб не повторяться более подробно изложение начал здесь в комментариях статьи про SBS: Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ЧтениеXML
Прикрепляю саму обработку с методикой чтения ADO из БП 3.0. В принципе из любой конфы должна в ексель начинать читать. В целом про методику и чтоб понять ошибки при разных настройках серверов и локальных ПК. Хотелось поначалу сделать универсальной.
Прикрепленные файлы:
ЗагрузкаВБухгалтерию3.epf
10. dock 44 29.01.15 09:53 Сейчас в теме
Системные папки

Папка "C:\Windows\SysWOW64\config\systemprofile\Desktop\"
1. Проверяем наличие папки , если нет -то создаем.
2. Заходим в свойства этой папки.
3. Закладка Security
4. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С

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




14. vet7777 594 29.01.15 13:52 Сейчас в теме
(10) dock, в моем случае как раз агент и запущен "под другим пользователем, отличным от USR1CV8"
19. dock 44 29.01.15 20:00 Сейчас в теме
(14) об этом в статье явно не указано. Или я не нашел данного указания.
20. jobkostya1c_ERP 100 30.01.15 08:39 Сейчас в теме
Никто все-таки не сравнит функциональность ADO и Excel.Application по производительности и надежности чтения?
21. vet7777 594 30.01.15 15:00 Сейчас в теме
(20) kostyaomsk, без тестов по опыту могу сказать, что по скорости чтения победит ADO,
по функциональности - excel.application.
а что такое "надежность чтения"?
Кстати, если отчетность в виде не одной плоской таблицы, а нескольких - то через ADO начинаются заморочки, потому что он видит один лист как единую таблицу. В моем случае, как раз такие отчеты.
PS: Я вообще не очень понимаю зачем мы обсуждаем другие решения, я не спорю, что они есть
jobkostya1c_ERP; +1 Ответить
23. jobkostya1c_ERP 100 01.02.15 21:04 Сейчас в теме
(21) вот-вот. Про функциональность "Excel.Application" в чем она больше чем ADO? Только встроенными методами? При ADO можно же запрос делать и сразу отобрать из каких колонок что?
26. Sirruf 195 27.08.15 14:08 Сейчас в теме
(23) kostyaomsk, Ок, есть такой код:

excel = Новый COMОбъект("Excel.Application");
	
	excel.DisplayAlerts = 0;
	excel.EnableEvents = 0;
	Книга = excel.WorkBooks.Open(ПутьКотчету);
	
	List = Книга.Sheets(1);
	List.columns(6).Delete(-4159);
	List.Cells(14,6).Select();
	excel.ActiveWindow.FreezePanes = 1;
	ВсегоКолонок = List.Cells(1,1).SpecialCells(11).Column;
	Для i=6 по ВсегоКолонок цикл
		List.columns(i).ColumnWidth = 100;
		List.columns(i).AutoFit();
	КонецЦикла;
	
	ВсегоСтрок = List.Cells(1,1).SpecialCells(11).Row;
	Для i=1 по ВсегоСтрок цикл
		
		
		List.rows(i).AutoFit();
	КонецЦикла;
	
	старт = List.columns(13);
	финиш = List.columns(ВсегоКолонок);
	List.Range(старт, финиш).Group();
	
	Книга.SaveAs(ПутьКотчету);
	excel.Application.Quit();
Показать


Как его реализовать через ADO?
22. jobkostya1c_ERP 100 30.01.15 20:00 Сейчас в теме
В данном случае вопрос все-таки такой - что надежнее для постоянной работы на сервере и как это дело использовать.
24. Diego_Iv 34 09.04.15 11:07 Сейчас в теме
Спасибо, статья очень помогла.
Тоже рассылаем отчеты 1С руководству
25. Sirruf 195 27.08.15 14:05 Сейчас в теме
Возникла проблема при работе с excel.application на сервере. После сохранения файла слетают картинки (если изначально они там были). Может кто сталкивался с такой проблемой?
Excel 2010
27. ollega 116 15.01.16 11:47 Сейчас в теме
Твоя статья - моё спасение! СПАААААААААААААААСИБО!
zfr475; vova231274; +2 Ответить
28. Darkwoolf 16.02.16 11:41 Сейчас в теме
Здравствуйте. Такая проблема Система 64 битная сервер 1С 64 битный M.Excel 64 а вот сама 1С 32 битная пытался сделать внешнюю обработку для работы с Excel файлом выдавало ошибку. Пришел к тому что 1С 32 битный а Excel 64 битный. Нашел вашу тему. Проделал процедуру описаную выше. фаил начал открывать но повисает и висит часов 10 больше терпения у меня не хватало. подскажите что можно сделать.
29. Darkwoolf 19.02.16 19:23 Сейчас в теме
Все больше не актуально основная стать помогла!!! У меня еще была ошибка в обработке.
30. Valentine1448 3 09.03.16 13:33 Сейчас в теме
Спасибо. Статья помогла, четко и понятно, все взлетело с первого раза.
31. Bajo 80 05.09.16 12:41 Сейчас в теме
Что делать если не помогло?
32. dusha0020 1116 06.09.16 14:05 Сейчас в теме
Все в одном флаконе. 3 дня мучил админов этой проблемой, а потом плюнул, нашел данную статью и все сам за час настроил. Спасибо автору!
33. ch1mera 05.10.16 15:42 Сейчас в теме
Спасибо! все заработало
34. kos 46 24.02.17 12:21 Сейчас в теме
просьба добавить еще одну ссылочку по теме в дисклаймер (важно для excel 2003-2010 при переинсталяциях)
https://blogs.technet.microsoft.com/the_microsoft_excel_support_team_blog/2012/11/12/microso­ft-excel-or-microsoft-word-does-not-appear-in-dcom-configuration-snap-in/

сенкс
35. kos 46 24.02.17 12:22 Сейчас в теме
просьба добавить еще одну ссылочку в дисклаймер
(по теме "переустановка офиса 2003-2010)

Траблы и решения описаны здесь:
https://blogs.technet.microsoft.com/the_microsoft_excel_support_team_blog/2012/11/12/microso­ft-excel-or-microsoft-word-does-not-appear-in-dcom-configuration-snap-in/
36. RazorSky 02.03.17 22:24 Сейчас в теме
37. donyab 9 16.03.17 19:59 Сейчас в теме
Сервер 1 запущен от имени доменного пользователя,
Ему даны права локального админа, в dcom права ему прописаны, папки рабочих столов созданы, excel 64 битный поставлен и т.д. и т.п.

в браузере формируется печатная форма excel (заполняется на стороне сервера)

Все работает если открыта терминальная сессия на сервере 1с от пользователя сервера 1с (простите за тафтологию)
Даже если ее залочить, но оставить открытым терминальное окно, продалжает все работать....

Но достаточно закрыть окно терминальной сессии, не разлогиневаясь, т.е. сессия сохраняется ВСЕ, ексель работать перестает

Код зависает на 2 строчке:
а в процессах одиноко висит excel.exe

Эксель = Новый COMОбъект("Excel.Application"); 
Книга = Эксель.WorkBooks.Open(ПутьКФайлу);


Сейчас, что бы формировать печатные формы - временное решение - висит на одной из виртуальных машин окно терминальной сессии сервера 1с запущенное от имени пользователя сервера 1с

Кто нибудь с таким встречался?
69. grig_nv 7 26.06.24 21:32 Сейчас в теме
(37) Такая же фигня возникла на новом сервере. Как решили, если решили в свое время?
38. Ольга_tmp 72 07.06.17 03:49 Сейчас в теме
39. duke55 03.07.17 21:12 Сейчас в теме
3 дня тщетно пытался решить подобную проблему....

....
{ОбщийМодуль.МодульРегламентныхЗаданий.Модуль(886)}: Ошибка при вызове конструктора (COMОбъект)
по причине:

по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
....

И хоть мляха плачь. Само фоновое задание от 1С стартует и работает номально, а Эксель через COM-объект нифига не подцепляется. А заказчик условие поставил: "Вот шаблон Эксель, в него надо запихивать данные... И по ночам отсылать на почту..."


Сам бы неосилил, просто "застрелил" бы компьютер...

Автору спасибо... Помогло!!!
40. Anatolii Korol 17.08.17 10:01 Сейчас в теме
Большое спасибо автору!
41. FKLDOZ 8 18.09.17 15:04 Сейчас в теме
Коллеги, подскажите, пожалуйста!
Бьюсь уже несколько дней!
Пользователь USR1CV8, под которым стартует Агент не в списке доменных имен.Его создает 1С сервер при установке.
Не могу настроить как пишет автор.
Никак Excel не запустить через Com c сервера! Ругается на Excel = Новый COMОбъект("Excel.Application");

Что делать?
43. ppalarm 18.09.17 15:25 Сейчас в теме
(41) Попробуй в DCOM выставить The interactive user для экселя.
45. FKLDOZ 8 19.09.17 09:37 Сейчас в теме
(43)
Попробуй в DCOM выставить The interactive user для экселя.


Это не поняла, поясните, пожалуйста!
42. ppalarm 18.09.17 15:23 Сейчас в теме
Закладка "Identity"
Должно быть выбрано "The launching user"


Пока на "The interactive user" не поменял не заработало. Возможно кому-то тоже пригодится.
Dobryak19; user855208; +2 Ответить
44. FKLDOZ 8 19.09.17 09:37 Сейчас в теме
Николай, здравствуйте!
Закладка "Identity"
Должно быть выбрано "The launching user" - стоит выбран.
Правда физ.сервер еще не перегружали. Может поэтому не работает?
54. user855208 19.04.19 11:21 Сейчас в теме
(42) Спасибо. Та же история
46. solary 186 25.01.18 15:58 Сейчас в теме
Спасибо! Отличная статья! Все заработало с первого раза!
47. VKislitsin 1013 06.02.18 16:45 Сейчас в теме
Внесу небольшое дополнение.
Если пользователь, под которым работает процесс сервера, не входит в группу Администраторов, необходимо его включить в группу "Distributed COM Users". После добавления в группу потребуется перезапуск службы сервера 1С.
sterehov77; evic; +2 Ответить
48. user742183 01.03.18 13:28 Сейчас в теме
После манипуляций описанных в статье Microsoft Excel Application в DCOM Config не появился. В чем может быть причина?
49. MaiorovYury 10 23.04.18 23:00 Сейчас в теме
Спасибо!
Как раз то, что нужно было)
50. johnnyshut23 75 30.04.18 21:32 Сейчас в теме
Спасибо, хорошая статья)
51. Dimon2005 6 04.06.18 15:59 Сейчас в теме
52. VLRomanTim 06.08.18 10:51 Сейчас в теме
Хотел бы добавить, что аналогично можно сделать для Word, только в реестре добавляется ветка winword.exe AppID = {00020906-0000-0000-C000-000000000046}
В DCOM Config Компонента называется DCOM "Документ Microsoft Word 97–2003" все остальное аналогично excel
53. nkp14108 94 15.12.18 15:52 Сейчас в теме
Переустанавливал сервер приложений 1с на новый физический сервер. Все проги установил как на старом, а доработка (которая на сервере открывает com Word и с ним работает зависает на WordApp.Documents.Add(ИмяВременногоФайлаOffice).
Создал папки C:\Windows\SysWOW64\config\systemprofile\Desktop\ и C:\Windows\System32\config\systemprofile\Desktop\ - НЕ РАБОТЕТ!
Сверил содержание 2 серверов и добавил ещё папку C:\Windows\System32\config\systemprofile\AppData\Local\Microso­ft\Windows\INetCache и о чудо заработало!!!
От каких-то пустых папок зависит работа системы, куда катится мир(Microsoft)!
55. kuza_87 28 15.07.19 16:23 Сейчас в теме
Спасибо за статью. А как добавить объект Word подобным способом. Я так понимаю нужно тоже текстовый параметр ввести, а какой именно?
56. zfr475 19.11.19 12:23 Сейчас в теме
У меня в коде: (Регл. задание запускало модуль объекта обработки)
Книга = Эксель.WorkBooks.Add();

выскакивала ошибка:
{Обработка.ВыгрузкаПрайсаВЕксель.МодульОбъекта(565)}: Ошибка при вызове метода контекста (Add)
по причине:
Произошла исключительная ситуация (Microsoft Office Excel): Microsoft Office Excel не может открыть или сохранить документы из-за нехватки памяти или места на диске.

• Чтобы освободить память, закройте ненужные программы или книги.
• Чтобы освободить место на диске, удалите с этого диска ненужные файлы.

Вылечил:
В пункте 4.2 установил "Текущий пользователь"
57. ISH-1988 19.11.19 23:10 Сейчас в теме
Дополню. Может поможет кому-нибудь.
При переезде на новый сервер выскакивала ошибка "Неизвестная ошибка" при попытке открытия файла Excel через COM. При этом если перед открытием установить свойство Visible=1 и сразу снять (Visible=0), то все отрабатывало нормально.
В powershell при выполнении аналогичного кода возникала следующая ошибка: "Ошибка на сервере. (Исключение из HRESULT: 0x80010105 (RPC_E_SERVERFAULT))"

Проблема решилась отключение надстройки FoxitReader PDF Creator COM Add-in
60. kozanostra-pajero 04.12.20 10:12 Сейчас в теме
Не работает.
ошибка получения объекта com 2146959355 80080005
win ser 2012r2 x64
1c x64
office 2010 x64
Есть еще варианты?
62. etmarket 910 22.09.21 03:38 Сейчас в теме
(60) Я эту ошибку преодолел назначив админские права для учетной записи, которая включает службу "Агент сервера 1С", и службу SQL Server.
61. etmarket 910 22.09.21 03:37 Сейчас в теме
Работает. Автор молодец!
63. sashocq 193 23.12.21 19:13 Сейчас в теме
Статья замечательная, всё получилось!

Теперь остался открытым вопрос: "как убить повисшие процессы Excel?"

Делаю
WorkBook.Close(Ложь);
Excel.Quit();


Но процессы висят :-(
Прикрепленные файлы:
64. pstrig 18.11.22 06:44 Сейчас в теме
65. alf2006x 25 22.03.23 01:02 Сейчас в теме
Однозначно плюс.
Автору - респект.
66. dmpas 418 15.10.23 22:58 Сейчас в теме
2023 год к концу подходит, а проблемы те же... Спасибо!
67. Nel 18.10.23 14:05 Сейчас в теме
Автору респект! Огромное спасибо за статью! До сих пор актуально....
68. gsvserg 07.11.23 08:38 Сейчас в теме
Спасибо большое!
Была ошибка при использовании Новый COMОбъект("Excel.Application") когда служба сервера 1С находится на другом сервере. При запуске COMОбъект на сервере со службой 1С, такой ошибки не возникало. После проделанных изменений проблема ушла.
Оставьте свое сообщение