Запуск ЦУП на платформе 1С 8.3 (8.3.5.1098)

Как запустить ЦУП  (Центр управления производительностью, редакция 2.0 (2.0.5.43)) на платформе 1С 8.3

Я, как и многие, столкнулись с тем, что ЦУП достаточно капризная программа, особенно в плане COM коннектора, и на платформе 8.3 категорически не желает его признавать установленным.

 

Что было: сервер (физ. машина) ОС WIN2008 server, SQL Server 2005, 1С Сервер х64, 1С платформа 8.3.5.1098 и Центр управления производительностью, редакция 2.0 (2.0.5.43).

 

Первая попытка была путем типовых инструкций типа: regsvr32 comcntr.dll, уговорить его работать, все напрасно, но думаю, что сам шаг необходим.

 

После долгих мучений пришлось взяться за отладчик и исследовать ЦУП.

В итоге выяснилось, что встроеная библиотека никак не опознает того, что в системе есть COM-соединитель, и решение объяснить, откуда он берется, вручную, оказалось правильным.


Вот собственно код для процедуры общего модуля «МастерНастройки»:

 

 

Процедура ПроверитьCOMСоединитель() Экспорт

Инструменты = КипВнешнийКомпонент.ПолучитьИнструменты();
Путь = КипВнешнийКомпонент.ПутьCOMСоединителя(Инструменты);
//РМС
//Если ПустаяСтрока(Путь) Тогда
// ВызватьИсключение "COM-соединитель (comcntr.dll) не зарегистрирован.";
//КонецЕсли;

Путь = "C:Program Files1cv88.3.5.1098incomcntr.dll";

//Поскольку в описании говорится именно о папке с клиентским модулем в теории  возможно что подойдет и "C:Program Files (x86)1cv88.3.5.1098incomcntr.dll"


Версия = КипВнешнийКомпонент.ВерсияФайла(Инструменты, Путь);
СисИнфо = Новый СистемнаяИнформация;

Если СисИнфо.ВерсияПриложения <> Версия Тогда

ВызватьИсключение "Зарегистрированная версия " + Версия + " COM-соединителя ("
+ Путь + ") отличается от необходимой версии " + СисИнфо.ВерсияПриложения + ".";
КонецЕсли;

Общий.ПолучитьComСоединитель();
КонецПроцедуры 

 

 

После этого ЦУП на сервере прижился и даже выполняет свои функции.

23 Comments

  1. necropunk

    Это не единственная проблема, с которой я столкнулся на 8.3 с ЦУПом, не знаю, может в новой версии поправили, но буквально несколько месяцев назад настраивал — извелся весь. Мониторить мог, счетчики работали, но при попытке собрать какую-нибудь инфу типа плана запросов — просто удалял данные. Ну, много, много там напильником было перепилено, пока не заработало. Тут вот в комментариях обсуждали: http://forum.infostart.ru/forum24/topic93661/

    Reply ↓
  2. M-Mark-76

    (1) necropunk, Да читал я данный раздел, правда по запуску на 8.3 там ничего толком не нашлось.

    Но ошибок конечно в ЦУПе масса, с этим полностью согласен, без напильника с ним не поработаешь.

    Reply ↓
  3. _LEV_

    Решение не совсем верное, поскольку «comcntr.dll» регистрируется от последней установленной платформы… т.е. если после 8.3.5.1098 установить 8.2.16 то он обновится, и чтобы правильно работал нужно регистрировать необходимый «comcntr.dll» под правами администратора.

    как-то так.. regsvr32 «C:Program Files1cv88.3.5.1098incomcntr.dll»;

    Reply ↓
  4. BigB

    regsvr32 /n /i:user comcntr.dll

    Reply ↓
  5. vlad.frost

    Выглядит странным сегодня, в конце 2014 года пытаться запускать версию 11 года. Актуальная на сегодня версия — 2.0.13.10, вышла совсем недавно.

    Reply ↓
  6. DoctorRoza

    (5) vlad.frost, на 8.3 нормально запускается? В комментариях курса по Оптимизации Андрея Бурмистрова, говорится, что, по крайней мере, Тест-Центр работает нестабильно!

    Reply ↓
  7. b-dm

    Да уж, намучаемся с 8.3. Зато возможностей новых интересных вагон!)

    Reply ↓
  8. h00k

    (6)DoctorRoza

    Последний ЦУП 2.0.13.10 вполне себе хорошо работает как на 8.2.19 + MS SQL 2008/2012, так и на 8.3.5.1248 + MS SQL 2012/2014.

    Проверен в двух основных вариантах развертывания:

    — на одном общем сервере,

    — на двух независимых серверах в домене: Сервер 1С+СУБД + Сервер 1С(ЦУП)+СУБД.

    В настройках ЦУП, Меню – ЦУП – Настройки, наконец то изменили дефолтную настройку длительности хранения файлов логов ТЖ до 4 часов. В старых версиях стояло 10 000 часов и при настройке необходимо было не забыть уставить разумную длительность, а теперь их можно даже не открывать, ну если только для отключения режима отладки.

    Из возможных нюансов могу отметить что в моей версии ЦУП:

    — Изменен запрос в функции ВыгрузитьДанные общего модуля Анализ, вложенный запрос заменен обращением к временной таблице.

    — Изменен запрос в процедуре ПодготовитьДанныеДляПросмотра общего модуля ЖурналПоказателей, данные журнала выбираются только за анализируемый период времени.

    — Для варианта на одном общем сервере изменены названия счетчиков в функциях ИмяСчетчикаКоличествоОжиданийMSSQL и ИмяСчетчикаКоличествоВзаимоблокировокMSSQL общего модуля КипWindows. Тут решение для каждого индивидуальное, необходимо смотреть как этот счетчик называется в системном мониторе и такое же название вписать в функцию. Все остальные проблемы связаны с настройкой прав.

    Мониторить мог, счетчики работали, но при попытке собрать какую-нибудь инфу типа плана запросов — просто удалял данные.

    Два варианта: либо старая версия ЦУП не понимавшая формат ТЖ 8.3, либо у пользователя, под которым был запущен сервер 1С с ЦУПом, тупо небыло прав на папку c: emp

    Reply ↓
  9. sky.xn

    На прошлой неделе тестировал центр управления производительностью на 8.3, все работает великолепно, никаких ошибок замечено не было. Так что статья ИМХО вообще ни о чем

    Reply ↓
  10. necropunk

    (9) sky.xn, ну, видимо, тут раз на раз. У меня вот не сразу взлетел, многие функции глючили страшно, хотя настраивал последний релиз.

    Reply ↓
  11. h00k

    (10)

    многие функции глючили страшно

    Какие например?

    Reply ↓
  12. necropunk

    (11) h00k, При попытке анализа запросов, да и вообще, любого аналитического показателя, замеры не сохранялись, показатели анализировались, но просмотр анализов был недоступен. Пришлось довольно поковыряться, в общем. Дело было совсем не в правах, данные в ЦУП попадали. Не знаю, может не разобрался, конечно, да и время поджимало, других задач много было…

    Reply ↓
  13. sas95

    Спасибо автору

    Reply ↓
  14. friend0

    В очередной раз поражаюсь корявости ЦУП. Версия 2.0.14.12.

    Стоит клиент-серверно на 8.2. При поптыке подключиться к 8.3.5 ругается что не совпадает версия с 8.2.

    Ставлю локально (установлена тестовая 8.3.6, зарегана для консоли 8.3.5) пытаюсь подключиться к 8.3.5 — не совпадает версия с 8.3.6.

    Ставлю в настройках запуска ЦУП версию 8.3.5, запускает как 8.3.5, но при попытке подключения вообще выдает кривую ошибку про точку входа в DLL.

    Вот неужели трудно было дать пользователю выбрать версию в настройках?

    Reply ↓
  15. necropunk

    (14) friend0, что-то вы с версиями просто мудрите, мне кажется… Если версия платформы на которой крутится ЦУП и версия платформы исследуемой базы совпадают — выдается ошибка? Можно скрин или просто текст ошибки, может кто подскажет чего, тут многие от ЦУПа натерпелись…

    Reply ↓
  16. friend0

    (15) necropunk, да если совпадают, то поди будет работать. Мне сейчас просто не особо надо — хотел быстренько глянуть что там как в новой версии, не появилось ли вдруг каких-нибудь длинных запросов. Но быстренько не получилось. Но ИМХО разворачивать отдельный ЦУП для каждой используемой версии (у нас и 8.1 и 8.2 и 8.3 используются) не совсем правильно, если вся разница в используемой длл для СОМ-соединения.

    Reply ↓
  17. spyx7

    день добрый. Проблемка возникла сначала такая как в теме, но она решилась добавлением кода, а вот как решить не выбирается кластер а выдаёт «Справочник.ИнформационнаяБаза.Форма.Настройка.Форма(160)}: Поле объекта не обнаружено (Name)

    СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.Name + Описание);»

    Вследствие чего не могу запустить монитор.

    Reply ↓
  18. spyx7

    (17) spyx7, сам решил, если у кого также вылезет то вот в этой процедуре вместо ТекущийКластер.Name нужно написать ТекущийКластер.HostName

    // Заполнить список доступных кластеров на указанном центральном сервере

    //

    Процедура КластерНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)

    СписокКластеров = ЭлементыФормы.Кластер.СписокВыбора;

    СписокКластеров.Очистить();

    Кластеры = мАгентСервера.GetClusters();

    Для Каждого ТекущийКластер Из Кластеры Цикл

    Порт = Формат(ТекущийКластер.MainPort, «ЧГ=0»);

    Описание = » (» + ТекущийКластер.HostName + «:» + Порт + «)»;

    СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.HostName + Описание);

    //СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.Name + Описание);

    КонецЦикла;

    КонецПроцедуры // КластерНачалоВыбораИзСписка()

    Reply ↓
  19. Kamikadze

    У меня проблемма на 8.3.9. Не регистрируеться компонента

    Reply ↓
  20. h00k

    (19)

    У меня проблемма на 8.3.9. Не регистрируеться компонента

    Запускайте ЦУП под клиентом х32.

    Reply ↓
  21. Kamikadze

    (20) Переустановил компоненту на сервере — и поехало.

    Но вот установил ЦУП 2.1 — а он даже мониторинг не запускает, ошибка в коде.

    Reply ↓
  22. user700035_6550355

    Спасибо за статью, помогло ))

    Reply ↓
  23. user700035_6550355

    (18)

    // Заполнить список доступных кластеров на указанном центральном сервере

    //

    Процедура КластерНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)

    СписокКластеров = ЭлементыФормы.Кластер.СписокВыбора;

    СписокКластеров.Очистить();

    Кластеры = мАгентСервера.GetClusters();

    Для Каждого ТекущийКластер Из Кластеры Цикл

    Порт = Формат(ТекущийКластер.MainPort, «ЧГ=0»);

    Описание = » (» + ТекущийКластер.HostName + «:» + Порт + «)»;

    СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.HostName + Описание);

    //СписокКластеров.Добавить(ТекущийКластер.MainPort, ТекущийКластер.Name + Описание);

    КонецЦикла;

    КонецПроцедуры // КластерНачалоВыбораИзСписка()

    Показать

    Спасибо, помогло))

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *