Налаштування dcom компоненти - cation - на 64-бітному сервері додатків 1с

Щодо встановлення на 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 =
    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 додаю наступний дісклаймер:

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

37. don (donyab) 8 16.03.17 19:59 Зараз в темі

Сервер 1 запущений від імені доменного користувача,
Йому дано права локального адміна, в dcom права йому прописані, папки робочих столів створені, excel 64 бітний поставлений і т.д. і т.п.

в браузері формується друкована форма excel (заповнюється на стороні сервера)

Все працює якщо відкрита термінальна сесія на сервері 1с від користувача сервера 1с (вибачте за тафтологію)
Навіть якщо її залочити, але залишити відкритим термінальне вікно, продалжал все працювати.

Але досить закрити вікно термінальної сесії, не разлогіневаясь, тобто сесія зберігається ВСЕ, ексель працювати перестає

Код зависає на 2 сходинці:
а в процесах самотньо висить excel.exe

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

Хто небудь з таким зустрічався?

38. Ольга (Ольга_tmp) 44 07.06.17 3:49 Зараз в темі

39. A B (duke55) 03.07.17 21:12 Зараз в темі

3 дня марно намагався вирішити подібну проблему.

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

І хоч мляха плач. Саме фонове завдання від 1С стартує і працює номально, а Ексель через COM-об'єкт ніфіга не підчіплює. А замовник умову поставив: "Ось шаблон Ексель, в нього треба запихати дані. І ночами відсилати на пошту."


Сам би неосіліл, просто "застрелив" б комп'ютер.

40. Анатолій Король (Anatolii Korol) 17.08.17 10:01 Зараз в темі

41. DEN DEN (FKLDOZ) 7 18.09.17 15:04 Зараз в темі

43. Микола Салогуби (ppalarm) 18.09.17 15:25 Зараз в темі

(41) Спробуй в DCOM виставити The interactive user для екселя.

45. DEN DEN (FKLDOZ) 7 19.09.17 9:37 Зараз в темі

Спробуй в DCOM виставити The interactive user для екселя.

Це не зрозуміла, поясніть, будь ласка!

42. Микола Салогуби (ppalarm) 18.09.17 15:23 Зараз в темі

Закладка "Identity"
Повинно бути вибрано "The launching user"

Поки на "The interactive user" не змінив не запрацювало. Можливо комусь теж стане в нагоді.

44. DEN DEN (FKLDOZ) 7 19.09.17 9:37 Зараз в темі

Микола, здрастуйте!
Закладка "Identity"
Повинно бути вибрано "The launching user" - стоїть обраний.
Правда фіз.сервер ще не перевантажували. Може тому не працює?

Созданіе27.01.15 10:32

Обновленіе27.01.15 10:32

Код откритНе вказано

Налаштування dcom компоненти - cation - на 64-бітному сервері додатків 1с

Налаштування dcom компоненти - cation - на 64-бітному сервері додатків 1с

Налаштування dcom компоненти - cation - на 64-бітному сервері додатків 1с

Налаштування dcom компоненти - cation - на 64-бітному сервері додатків 1с