Запуск ЦУП на платформе 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 не будет опубликован. Обязательные поля помечены *