Ошибка при запуске теста
Модератор: Дмитрий Юхтимовский
Ошибка при запуске теста
Добрый день, Вячеслав!
Наши сисадмины установили сервер 1С и SQL на Windows server 2012. Он немного работает медленно, поэтому мы решили запустить Ваш тест и проверить.
Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Что это может быть и как побороть? Модули у Вас вырезаны, так что попасть поглядеть в чем ошибка не могу.
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
stig » 30 май 2014, 07:46
Запустил тест на сервере 8.2.17.143
Конфигурация: Простой тест интенсивной записи для платформы 1С:Предприятие + Многопоточный тест записи на диск (2.0.3.3)
Гилёв Вячеслав Валерьевич
(gilev.ru/1c/tpc)
И получил ошибку:
{Обработка.TPC_1C_GILV.Форма.Форма(499)}: Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация: Версия компоненты ‘comcntr’ (8.2.19.68) отличается от версии корневого модуля ‘core82’ (8.2.17.143)
Но после этого рабочий стол открылся и тестирование я провел. Не знаю влияла ли эта ошибка на тест или нет.
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
Гилёв Вячеслав » 30 май 2014, 18:47
наверно ставили 8.2 после 8.3, посмотрим что можно сделать
попробуйте перерегистрировать COM-соединение
- Гилёв Вячеслав
- Сообщений: 2719
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
stig » 30 май 2014, 19:46
Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?
Последний раз редактировалось stig 02 июн 2014, 07:17, всего редактировалось 1 раз.
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
stig » 30 май 2014, 19:57
И получил ошибку:
{Обработка.TPC_1C_GILV.Форма.Форма(499)}: Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация: Версия компоненты ‘comcntr’ (8.2.19.68) отличается от версии корневого модуля ‘core82’ (8.2.17.143)
А эту ошибку я уже устранил, спасибо!
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
stig » 02 июн 2014, 07:18
stig писал(а):Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?
Вячеслав, можете подсказать как запустить тест на 8.3?
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
ssavel » 02 июн 2014, 12:54
stig писал(а):
stig писал(а):Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?Вячеслав, можете подсказать как запустить тест на 8.3?
Добрый день.
Я занимаюсь поддержкой данного теста.
Для более подробного анализа ошибки прошу связаться со мной по скайпу «s.savel».
- ssavel
- Сообщений: 7
- Зарегистрирован: 21 мар 2014, 15:30
Re: Ошибка при запуске теста
Гилёв Вячеслав » 03 июн 2014, 19:11
stig писал(а):
stig писал(а):Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?Вячеслав, можете подсказать как запустить тест на 8.3?
У вас есть созданные аккаунта администратора сервера 1с или администратора кластера 1С? Если да, то создайте в администраторах учетку с виндовой авторизацией пользователем, из под которого вы запускаете тест.
- Гилёв Вячеслав
- Сообщений: 2719
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
stig » 04 июн 2014, 17:32
Понял, спасибо!
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
mechnotech » 07 дек 2019, 11:19
Добрый день!
Версия 8.3.16.1030. Сервер на линуксе 32 битный, postgresql 64 bit 10.10-1, оба на виртуальной машине vmware.
Конфигурации работают нормально.
Но провести данный тест не могу, выпадает следующая ошибка:
При загрузке, снизу выводит:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(504)}: Метод объекта не обнаружен (ConnectAgent)
При запуске теста:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ERROR: duplicate key value violates unique constraint "_reference22_pkey"
DETAIL: Key (_idrref)=(xd199000c29d1e3bf11ea18c04bac4774) already exists.
Покажите пожалуйста, в какую сторону смотреть?
- mechnotech
- Сообщений: 2
- Зарегистрирован: 07 дек 2019, 10:18
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 07 дек 2019, 14:37
На этом сочетании версий платформы 1С и PostgreSQL работа теста не тестировалась.
Повторится ли ошибка, если загрузить конфигурацию из dt заново?
- Дмитрий Юхтимовский
- Сообщений: 735
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
mechnotech » 07 дек 2019, 18:36
Пробовал не один раз, ошибка регулярная, одна и та-же.
Попробую завтра запустить на 64битной версии 1С.
- mechnotech
- Сообщений: 2
- Зарегистрирован: 07 дек 2019, 10:18
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 07 дек 2019, 21:25
Непосредственно к тесту это не имеет никакого отношения, похоже на проблему связки конкретной версии платформы 1С и версии PostgreSQL. Хоть согласно системных требований 1С, формально PostgreSQL может использоваться, начиная с версии платформы 8.3.14.1565, здесь «что-то пошло не так».
- Дмитрий Юхтимовский
- Сообщений: 735
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
Гилёв Вячеслав » 09 дек 2019, 16:17
наличие этой ошибки говорит что платформа в целом и на обычных типовых конфигурациях может выдать ошибки в поведении функционала
так что сначала нужно разобраться с ошибкой неуникальности записи
и только потом возвращаться к тесту
ошибка к самому тесту отношения не имеет
рекомендую Вам воспользоваться ресурсом
http://1c.postgrespro.ru
- Гилёв Вячеслав
- Сообщений: 2719
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
akatala » 20 дек 2019, 00:43
Добрый день!
аналогичная ошибка как у mechnotech
Версия 8.3.16.1063. Сервер на CentOs 7.7 64 битный, postgrepro 64 bit 11.6-1 (на 10.6-1 аналогично), оба на виртуальной машине vmware.
Провести данный тест не могу, выпадает следующая ошибка:
При загрузке, снизу выводит:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(482)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса
При запуске теста:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ERROR: duplicate key value violates unique constraint "_reference22_pkey"
DETAIL: Key (_idrref)=(xc5890050560162d611ea22a8a24a49d6) already exists.
Сборка postgrepro бралась с сайте 1c.postgres.ru
- Код: выделить все
rpm --import http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO
echo [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repo
echo name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repo
echo baseurl=http://repo.postgrespro.ru//pg1c-archive/pg1c-11.6/centos/7/os/x86_64/rpms/ >> /etc/yum.repos.d/postgrespro-1c.repo
echo gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repo
echo enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repo
yum makecache
yum install -y postgrespro-1c-11-server-11.6-1.el7.x86_64 postgrespro-1c-11-contrib-11.6-1.el7.x86_64
/opt/pgpro/1c-11/bin/pg-setup initdb
/opt/pgpro/1c-11/bin/pg-setup service enable
service postgrespro-1c-11 start
Покажите пожалуйста, в какую сторону смотреть?
- akatala
- Сообщений: 1
- Зарегистрирован: 20 дек 2019, 00:33
Re: Ошибка при запуске теста
Гилёв Вячеслав » 20 дек 2019, 02:50
в сторону неуникальности в индексе на субд
- Гилёв Вячеслав
- Сообщений: 2719
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
bambr » 26 дек 2019, 12:03
Добрый день.
Я думаю, что проблема в том, что при создании баз в 8.3.16 последней нельзя указать смещение дат. На более старых платформах, где можно указать смещение с любой версией постгрес включая 12 все хорошо.
- bambr
- Сообщений: 1
- Зарегистрирован: 26 дек 2019, 11:59
Re: Ошибка при запуске теста
Павликовский Андрей » 04 янв 2020, 00:53
Та же ошибка на 8.3.16.1063
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "_reference22_pkey"
DETAIL: Ключ "(_idrref)=(x4a95be0d5a10e54711ea2e729ff14b78)" уже существует.
Postgres Pro Standart 12.1
Update: после отката на 8.3.15.1747 проблема пропала.
- Павликовский Андрей
- Сообщений: 1
- Зарегистрирован: 04 янв 2020, 00:51
Re: Ошибка при запуске теста
sysadmin » 08 янв 2020, 17:43
Та же ошибка на 8.3.16.1063
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "_reference22_pkey"
postgresql_10.10_4.1C_amd64
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 08 янв 2020, 19:30
Как можно заметить — у всех подобная ошибка вылезла после перехода на 1С 8.3.16.
И с большой вероятностью такое же поведение может наблюдаться не только на базе теста, а и на любых других базах 1С+PostgreSQL.
Если есть желание принести пользу сообществу — можно отправлять подробно документированное воспроизведение этой ошибки в техподдержку 1С, чтобы они таки исправили ошибку.
- Дмитрий Юхтимовский
- Сообщений: 735
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
sysadmin » 09 янв 2020, 09:56
На типовых конфигурациях ошибка не воспроизводится.
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 09 янв 2020, 10:05
Тем не менее, никакого уникального для платформы 1С кода наш тест не содержит.
То, что у вас на типовых эта ошибка не воспроизводится, может говорить только о том, что мы «удачно» попали в условия воспроизведения ошибки, а на вашей выборке этого пока не случилось.
- Дмитрий Юхтимовский
- Сообщений: 735
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
sysadmin » 09 янв 2020, 20:51
В техподдержку 1С баги репорчу регулярно, но тут вряд ли они будут рассматривать этот тест(не типовая конфигурация)
UPD 09.01.2020: запостил багрепорт, если ответят отпишусь
UPD 09.01.2020:
Здравствуйте,
Ваше обращение зарегистрировано под номером HL-101266.
UPD 13.01.2020: ТП запросила скрины
UPD 14.01.2020: отправил скрины в ТП
UPD 15.01.2020:
Добрый день,
Возможно это ошибка 10215986, проверьте , пожалуйста, на тестовой платформе 8.3.16.1148.
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Re: Ошибка при запуске теста
sysadmin » 15 янв 2020, 21:33
UPD 19.01.2020: протестил и отписал в ТП
На платформе 8.3.16.1148 ошибки нет, тест c PostgreSQL проходит.
Результат(попугаи) показывает такой же(1:1) как и с MSSQL.
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Вернуться в Нагрузочное тестирование
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
|
|
|||
Menjoy
21.10.12 — 21:41 |
Добрый день, на сервере крутиться несколько баз. Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация (V82.COMConnector.1): descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=557 file=SrcRemoteCreatorImpl.cpp |
||
Ranger_83
1 — 21.10.12 — 21:50 |
может порт не тот? |
||
Menjoy
2 — 21.10.12 — 21:54 |
Порт точно тот, именно он указан у базы и точно такой же получается методом, который получает строку подключения к ИБ. |
||
Menjoy
3 — 21.10.12 — 21:55 |
Ошибка именно при выполнении метода ConnectAgent(), параметр в нем на 100% правильный, я уверен. |
||
Ranger_83
4 — 21.10.12 — 22:03 |
1540 или 1541 попробуй |
||
Menjoy
5 — 21.10.12 — 22:52 |
C 1542 сработало. Спасибо. |
||
Dethmont
6 — 21.10.12 — 23:07 |
Зачем ты порт вообще указываешь? Порт же по умолчанию стоит — 1С сама догадается куда лезть… (порт нужно указывать если у тебя несколько серверов 1С) |
||
Menjoy
7 — 21.10.12 — 23:27 |
В том и дело, что кроме основного сервера с 6ю рабочими базами предприятий есть еще и серверы разработчиков |
||
zladenuw 8 — 22.10.12 — 00:57 |
и че у нас зеркало висит. |
База висит на порте 1641. ComConnector: И свойства не меняются, а как указать другой порт?
ServerAgent = ComConnector.ConnectAgent(«base82:1641») — не?
«C:Program Files (x86)1cv828.2.13.205in
agent.exe» -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d «C:Program Files (x86)1cv82srvinfo»
{ВнешняяОбработка.ЗавершениеРаботыПользователей.МодульОбъекта}: Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация (V82.COMConnector.1): descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=542 file=SrcRemoteCreatorImpl.cpp
В ComCnnectAgent вроде имя сервера 1С нужно указывать, а не базы ServerAgent = ComConnector.ConnectAgent(«Server1C:1641»)
ServerAgent = ComConnector.ConnectAgent(«tcp://ip_base82:1641»)
гонишь, всё в верно вот рабочий код: СтрокаСоединения=СтрокаСоединенияИнформационнойБазы;
стоп, порт 1640 должен быть
ну и порт ясен пень не 41,40
у тебя какой порт на сервере?
спс У меня все равно эта ошибка, спрошу у админа, может это с настройками что-то не так.
А КОМ какие свойства имеет? Как у меня или другие?
Тэги:
Комментарии доступны только авторизированным пользователям
Метод объекта не обнаружен (ConnectAgent)
Ошибка возникает при попытке установить COM-соединение. Например при обновлении конфигурации в режиме
1С:Предприятие.
Возникает в результате отката платформы на младшую версию, например с 8.3.18.1208 на 8.3.15.2107.
Ошибка говорит о том, что не зарегистрирована компонента comcntr.dll, либо зарегистрированная компонента не пригодна.
Регистрируем валидную компоненту
|
|
|||
Menjoy
21.10.12 — 21:41 |
Добрый день, на сервере крутиться несколько баз. При подключении используется строка адреса сервера типа 192.168.1.29:1542 и имя базы. При выполнении ConnectAgent(«192.168.1.29:1542») выбивает такую ошибку, в чем может быть причина? Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация (V82.COMConnector.1): descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=557 file=SrcRemoteCreatorImpl.cpp |
||
Ranger_83
1 — 21.10.12 — 21:50 |
может порт не тот? |
||
Menjoy
2 — 21.10.12 — 21:54 |
Порт точно тот, именно он указан у базы и точно такой же получается методом, который получает строку подключения к ИБ. |
||
Menjoy
3 — 21.10.12 — 21:55 |
Ошибка именно при выполнении метода ConnectAgent(), параметр в нем на 100% правильный, я уверен. С таким же адресом легко запускаю 1С из cmd. |
||
Ranger_83
4 — 21.10.12 — 22:03 |
1540 или 1541 попробуй |
||
Menjoy
5 — 21.10.12 — 22:52 |
C 1542 сработало. Спасибо. Этому есть разумное объяснение? |
||
Dethmont
6 — 21.10.12 — 23:07 |
Зачем ты порт вообще указываешь? Порт же по умолчанию стоит — 1С сама догадается куда лезть… (порт нужно указывать если у тебя несколько серверов 1С) http://myconsult2.ru/?p=269 |
||
Menjoy
7 — 21.10.12 — 23:27 |
В том и дело, что кроме основного сервера с 6ю рабочими базами предприятий есть еще и серверы разработчиков |
||
zladenuw 8 — 22.10.12 — 00:57 |
и че у нас зеркало висит. |
Ошибка при запуске теста
Модератор: Дмитрий Юхтимовский
Ошибка при запуске теста
Добрый день, Вячеслав!
Наши сисадмины установили сервер 1С и SQL на Windows server 2012. Он немного работает медленно, поэтому мы решили запустить Ваш тест и проверить.
Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Что это может быть и как побороть? Модули у Вас вырезаны, так что попасть поглядеть в чем ошибка не могу.
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
stig » 30 май 2014, 07:46
Запустил тест на сервере 8.2.17.143
Конфигурация: Простой тест интенсивной записи для платформы 1С:Предприятие + Многопоточный тест записи на диск (2.0.3.3)
Гилёв Вячеслав Валерьевич
(gilev.ru/1c/tpc)
И получил ошибку:
{Обработка.TPC_1C_GILV.Форма.Форма(499)}: Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация: Версия компоненты ‘comcntr’ (8.2.19.68) отличается от версии корневого модуля ‘core82’ (8.2.17.143)
Но после этого рабочий стол открылся и тестирование я провел. Не знаю влияла ли эта ошибка на тест или нет.
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
Гилёв Вячеслав » 30 май 2014, 18:47
наверно ставили 8.2 после 8.3, посмотрим что можно сделать
попробуйте перерегистрировать COM-соединение
- Гилёв Вячеслав
- Сообщений: 2715
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
stig » 30 май 2014, 19:46
Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?
Последний раз редактировалось stig 02 июн 2014, 07:17, всего редактировалось 1 раз.
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
stig » 30 май 2014, 19:57
И получил ошибку:
{Обработка.TPC_1C_GILV.Форма.Форма(499)}: Ошибка при вызове метода контекста (ConnectAgent): Произошла исключительная ситуация: Версия компоненты ‘comcntr’ (8.2.19.68) отличается от версии корневого модуля ‘core82’ (8.2.17.143)
А эту ошибку я уже устранил, спасибо!
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
stig » 02 июн 2014, 07:18
stig писал(а):Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?
Вячеслав, можете подсказать как запустить тест на 8.3?
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
ssavel » 02 июн 2014, 12:54
stig писал(а):
stig писал(а):Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?Вячеслав, можете подсказать как запустить тест на 8.3?
Добрый день.
Я занимаюсь поддержкой данного теста.
Для более подробного анализа ошибки прошу связаться со мной по скайпу «s.savel».
- ssavel
- Сообщений: 7
- Зарегистрирован: 21 мар 2014, 15:30
Re: Ошибка при запуске теста
Гилёв Вячеслав » 03 июн 2014, 19:11
stig писал(а):
stig писал(а):Тест TPC+G1C gilev.ru 2.1.0.2
Платформа 8,3,4,482.
Но при запуске теста в режиме предприятия выходит ошибка:
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(511)}: Ошибка при вызове метода контекста (Authenticate): Типы не совпадают (2)
Этот тест я запускал на одном сервере, где стоит только 8.3
Что делать с ней?Вячеслав, можете подсказать как запустить тест на 8.3?
У вас есть созданные аккаунта администратора сервера 1с или администратора кластера 1С? Если да, то создайте в администраторах учетку с виндовой авторизацией пользователем, из под которого вы запускаете тест.
- Гилёв Вячеслав
- Сообщений: 2715
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
stig » 04 июн 2014, 17:32
Понял, спасибо!
- stig
- Сообщений: 6
- Зарегистрирован: 30 май 2014, 06:57
Re: Ошибка при запуске теста
mechnotech » 07 дек 2019, 11:19
Добрый день!
Версия 8.3.16.1030. Сервер на линуксе 32 битный, postgresql 64 bit 10.10-1, оба на виртуальной машине vmware.
Конфигурации работают нормально.
Но провести данный тест не могу, выпадает следующая ошибка:
При загрузке, снизу выводит:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(504)}: Метод объекта не обнаружен (ConnectAgent)
При запуске теста:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ERROR: duplicate key value violates unique constraint "_reference22_pkey"
DETAIL: Key (_idrref)=(xd199000c29d1e3bf11ea18c04bac4774) already exists.
Покажите пожалуйста, в какую сторону смотреть?
- mechnotech
- Сообщений: 2
- Зарегистрирован: 07 дек 2019, 10:18
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 07 дек 2019, 14:37
На этом сочетании версий платформы 1С и PostgreSQL работа теста не тестировалась.
Повторится ли ошибка, если загрузить конфигурацию из dt заново?
- Дмитрий Юхтимовский
- Сообщений: 733
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
mechnotech » 07 дек 2019, 18:36
Пробовал не один раз, ошибка регулярная, одна и та-же.
Попробую завтра запустить на 64битной версии 1С.
- mechnotech
- Сообщений: 2
- Зарегистрирован: 07 дек 2019, 10:18
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 07 дек 2019, 21:25
Непосредственно к тесту это не имеет никакого отношения, похоже на проблему связки конкретной версии платформы 1С и версии PostgreSQL. Хоть согласно системных требований 1С, формально PostgreSQL может использоваться, начиная с версии платформы 8.3.14.1565, здесь «что-то пошло не так».
- Дмитрий Юхтимовский
- Сообщений: 733
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
Гилёв Вячеслав » 09 дек 2019, 16:17
наличие этой ошибки говорит что платформа в целом и на обычных типовых конфигурациях может выдать ошибки в поведении функционала
так что сначала нужно разобраться с ошибкой неуникальности записи
и только потом возвращаться к тесту
ошибка к самому тесту отношения не имеет
рекомендую Вам воспользоваться ресурсом
http://1c.postgrespro.ru
- Гилёв Вячеслав
- Сообщений: 2715
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
akatala » 20 дек 2019, 00:43
Добрый день!
аналогичная ошибка как у mechnotech
Версия 8.3.16.1063. Сервер на CentOs 7.7 64 битный, postgrepro 64 bit 11.6-1 (на 10.6-1 аналогично), оба на виртуальной машине vmware.
Провести данный тест не могу, выпадает следующая ошибка:
При загрузке, снизу выводит:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(482)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса
При запуске теста:
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ERROR: duplicate key value violates unique constraint "_reference22_pkey"
DETAIL: Key (_idrref)=(xc5890050560162d611ea22a8a24a49d6) already exists.
Сборка postgrepro бралась с сайте 1c.postgres.ru
- Код: выделить все
rpm --import http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO
echo [postgrespro-1c] > /etc/yum.repos.d/postgrespro-1c.repo
echo name=Postgres Pro 1C repo >> /etc/yum.repos.d/postgrespro-1c.repo
echo baseurl=http://repo.postgrespro.ru//pg1c-archive/pg1c-11.6/centos/7/os/x86_64/rpms/ >> /etc/yum.repos.d/postgrespro-1c.repo
echo gpgcheck=1 >> /etc/yum.repos.d/postgrespro-1c.repo
echo enabled=1 >> /etc/yum.repos.d/postgrespro-1c.repo
yum makecache
yum install -y postgrespro-1c-11-server-11.6-1.el7.x86_64 postgrespro-1c-11-contrib-11.6-1.el7.x86_64
/opt/pgpro/1c-11/bin/pg-setup initdb
/opt/pgpro/1c-11/bin/pg-setup service enable
service postgrespro-1c-11 start
Покажите пожалуйста, в какую сторону смотреть?
- akatala
- Сообщений: 1
- Зарегистрирован: 20 дек 2019, 00:33
Re: Ошибка при запуске теста
Гилёв Вячеслав » 20 дек 2019, 02:50
в сторону неуникальности в индексе на субд
- Гилёв Вячеслав
- Сообщений: 2715
- Зарегистрирован: 11 фев 2013, 15:40
- Откуда: Россия, Москва
Re: Ошибка при запуске теста
bambr » 26 дек 2019, 12:03
Добрый день.
Я думаю, что проблема в том, что при создании баз в 8.3.16 последней нельзя указать смещение дат. На более старых платформах, где можно указать смещение с любой версией постгрес включая 12 все хорошо.
- bambr
- Сообщений: 1
- Зарегистрирован: 26 дек 2019, 11:59
Re: Ошибка при запуске теста
Павликовский Андрей » 04 янв 2020, 00:53
Та же ошибка на 8.3.16.1063
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "_reference22_pkey"
DETAIL: Ключ "(_idrref)=(x4a95be0d5a10e54711ea2e729ff14b78)" уже существует.
Postgres Pro Standart 12.1
Update: после отката на 8.3.15.1747 проблема пропала.
- Павликовский Андрей
- Сообщений: 1
- Зарегистрирован: 04 янв 2020, 00:51
Re: Ошибка при запуске теста
sysadmin » 08 янв 2020, 17:43
Та же ошибка на 8.3.16.1063
- Код: выделить все
{Обработка.TPC_1C_GILV.Форма.Форма.Форма(856)}: Ошибка при вызове метода контекста (Записать)
НовыйЭлементСправочника.Записать();
по причине:
Нарушено условие уникальности данных.Попытка вставки неуникального значения в уникальный индекс:
ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "_reference22_pkey"
postgresql_10.10_4.1C_amd64
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 08 янв 2020, 19:30
Как можно заметить — у всех подобная ошибка вылезла после перехода на 1С 8.3.16.
И с большой вероятностью такое же поведение может наблюдаться не только на базе теста, а и на любых других базах 1С+PostgreSQL.
Если есть желание принести пользу сообществу — можно отправлять подробно документированное воспроизведение этой ошибки в техподдержку 1С, чтобы они таки исправили ошибку.
- Дмитрий Юхтимовский
- Сообщений: 733
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
sysadmin » 09 янв 2020, 09:56
На типовых конфигурациях ошибка не воспроизводится.
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Re: Ошибка при запуске теста
Дмитрий Юхтимовский » 09 янв 2020, 10:05
Тем не менее, никакого уникального для платформы 1С кода наш тест не содержит.
То, что у вас на типовых эта ошибка не воспроизводится, может говорить только о том, что мы «удачно» попали в условия воспроизведения ошибки, а на вашей выборке этого пока не случилось.
- Дмитрий Юхтимовский
- Сообщений: 733
- Зарегистрирован: 11 фев 2013, 19:28
- Откуда: gilev.ru
Re: Ошибка при запуске теста
sysadmin » 09 янв 2020, 20:51
В техподдержку 1С баги репорчу регулярно, но тут вряд ли они будут рассматривать этот тест(не типовая конфигурация)
UPD 09.01.2020: запостил багрепорт, если ответят отпишусь
UPD 09.01.2020:
Здравствуйте,
Ваше обращение зарегистрировано под номером HL-101266.
UPD 13.01.2020: ТП запросила скрины
UPD 14.01.2020: отправил скрины в ТП
UPD 15.01.2020:
Добрый день,
Возможно это ошибка 10215986, проверьте , пожалуйста, на тестовой платформе 8.3.16.1148.
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Re: Ошибка при запуске теста
sysadmin » 15 янв 2020, 21:33
UPD 19.01.2020: протестил и отписал в ТП
На платформе 8.3.16.1148 ошибки нет, тест c PostgreSQL проходит.
Результат(попугаи) показывает такой же(1:1) как и с MSSQL.
- sysadmin
- Сообщений: 4
- Зарегистрирован: 08 янв 2020, 17:36
Вернуться в Нагрузочное тестирование
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Идея интересная, но у меня имеет место быть проблема. Если создавать COM-объекты разных версий с некоторой паузой между этим созданиями, то всё хорошо, вроде бы.
А, вот, если эту паузу не выдерживать — то возможно возникновение двух ошибок (я так и не смог понять причины и следствия когда какая ошибка возникает, скорее всего сначала первая, а при повторной попытке уже вторая)
Запускалось всё под клиентом одной или второй версии (пробовал и так и так) — файловый вариант.
Основной COM-объект был версии 8.3.10.2252, но даже если к нему обращаться как к «v83.COMConnector» то это ничего не меняло
Последовательность создания COM-объектов не влияет, но если получить первую ошибку, переставить их местами — возникает вторая ошибка
Версия клиента 1С: Предприятие так же не влияет.
Запуск в новом сеансе 1С проблему не решает.
Выполняю такой алгоритм:
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
Возникает первая ошибка:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent(«srv2»);
по причине:
Неизвестная ошибка
При повторном запуске она повторяется
Переставляем местами создание COM-Объектов
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
И возникает вторая ошибка:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(12)}: Ошибка при вызове конструктора (COMОбъект)
ком = новый COMОбъект(«V83.COMConnector_8.3.10.2252»);
по причине:
-2147024769(0x8007007F): Не найдена указанная процедура.
При повторном запуске она повторяется
Далее — если снова переставить обратно — ошибка будет повторяться
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(10)}: Ошибка при вызове конструктора (COMОбъект)
ком = новый COMОбъект(«V83.COMConnector_8.3.10.2252»);
по причине:
-2147024769(0x8007007F): Не найдена указанная процедура. [
Спустя минут 15-20 всё проходит — и начинается с начала (с учётом переставленных вызовов создания COM-объектов):
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent(«srv1»);
по причине:
Неизвестная ошибка
Значит COM-объект где-то кешируется (платформой 1С? — мало вероятно — т.к. перезапуск клиента ничего не решает) и при попытке создать повторно (пусть и, в общем-то, другой COM-Объект) идёт обращение к старому и происходит какой-то конфликт версий.
Увы, это почти ставит крест на данной методике. Но, если одновременная (читай последовательная но в одно и то же время в пределах 20 минут) работа не требуется — описанный в статье метод будет работать.
Но, лично мне нужна была одновременная работа
Надо попробовать выполнить те же обращения, но не из 1С — если проблемы не будет, то значит это 1С кеширует (и это можно обойти — но логику работы с COM-объектом придётся выносить за пределы 1С), а если будет…. то нужно что инове придумывать!
Попробовал так же с компонентами редакции 8.2:
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
В общем-то такая же ситуация, но ошибка всегда на ВТОРОЙ по счёту компоненте (не важно какой она версии!!!) и всегда такая:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(42)}: Ошибка при вызове метода контекста (ConnectAgent)
ком.ConnectAgent("srv4);
по причине:
Неизвестная ошибка
При этом если создавать и использовать их отдельно (посадил на разные кнопки)
То ситуация такая
1. Любую создаю — всё нормально
2. Создаю вторую — возникает ошибка
3. Создаю первую — ошибки нет
4. Создаю вторую — ошибка
5. Повторно создаю вторую — ошибки нет
6. Снова создаю вторую — ошибки нет
7. Создаю первую — ошибка
8. Создаю первую — ошибки нет
9. Создаю вторую — ошибка
10. Создаю вторую — ошибки нети
То есть первый раз создаётся нормально и если сразу создавать другой версии — будет ошибка — но при повторном создании — ошибки не будет — но она снова будет у первой, что при повторном создании так же ошибки не будет
Поэтому с v82 я написал вот так — и в общем-то оно работает
попытка
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
исключение
сообщить("v82.COMConnector_8.2.19.80: "+ОписаниеОшибки());
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
конецпопытки;
попытка
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
исключение
сообщить("v82.COMConnector_8.2.19.68: "+ОписаниеОшибки());
ком = новый COMОбъект("V82.COMConnector_8.2.19.68");
ком.ConnectAgent("srv4");
конецпопытки;
Показать
Значит компонента 8.2 не кэшируется, в отличии от 8.3
Попытка же написать так же для 8.3
попытка
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
исключение
сообщить("V83.COMConnector_8.3.10.2252: "+ОписаниеОшибки());
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
конецпопытки;
попытка
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
исключение
сообщить("v83.COMConnector_8.3.8.2054: "+ОписаниеОшибки());
ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");
конецпопытки;
Показать
первый раз отработало, но повторный запуск привёл к ошибке
V83.COMConnector_8.3.10.2252:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(38)}: Ошибка при вызове конструктора (COMОбъект): -2147024769(0x8007007F): Не найдена указанная процедура.
это самая первая строка в первой попытке — и эта ошибка дальше стабильно повторялась
Попробовал работать параллельно с компонентами V82 и v82
ком = новый COMОбъект("v82.COMConnector_8.2.19.80");
ком.ConnectAgent("srv3");
ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");
Никаких ошибок не возникает!
Так что — как 1С (или windows) это всё обрабатывают, что возникает такой винегрет из разных ситуаций — непонятно….
Надо ещё разбираться и экспериментировать
Возможно эти проблемы чисто связаны с моей конфигурацией ОС — использую windows 8
А может дело в используемых релизах 1С: Предприятие, клиента и компонент (хотя на клиенте 8.2.19.80 я тоже попробовал — всё то же самое)
Может, у меня просто компоненты как-то неправильно установлены или какие-то заморочки с настройками COM+
Я, например, не нашёл типовых компонент в разделе COM+ как на картинках автора
Хорошо бы кто-то ещё это всё проверил бы на своих конфигурациях платформ и компонент
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Способ №1.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Способ №2.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll»).
2.Для платформы х64
Regsvr32 «C:Program Files1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыbincomcntr.dll»).
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
arbuzyka2525 |
|
||
---|---|---|---|
|
Добрый день. Но вот выдает ошибку: {Форма.Форма.Форма(4)}: Ошибка при вызове метода контекста (ConnectWorkingProcess) Изменено 22.12.11 14:15:18 |
Yandex |
|
||
---|---|---|---|
|
E_Migachev |
|
||
---|---|---|---|
|
(0) arbuzyka2525, вам недоступен этот сервер, проверьте права доступа и т.д. |
arbuzyka2525 |
|
||
---|---|---|---|
|
Сервер доступен! |
b31 |
|
||
---|---|---|---|
|
Работаю в основном с 8.2, и для тонкого клиента это не срабатывает — только для толстого (ну и для файловой бд по понятным причинам тоже не работает). А подобную ошибку не наблюдал. Что касается паролей — я делал так:
АгентСервера = COMСоединитель.ConnectAgent(ИдентификаторАгентаСервера); АгентСервера.Authenticate(Кластер, ИмяАдминистратораКластера, ПарольАдминистратораКластера); 2) Использовать логин и пароль администратора конфигурации вот тут: Код
ConnectToWorkProcess = COMСоединитель.ConnectWorkingProcess(«tcp://» + WorkingProcess.HostName + «:» + Формат(WorkingProcess.MainPort, «ЧГ=0»)); А вообще, посмотрите типовые конфы и стандартные подсистемы — там подобные обработки имеются. Изменено 18.01.12 11:01:51 |
arbuzyka2525 |
|
||
---|---|---|---|
|
(3) b31, Спасибо! |
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему. |
В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.
Исправляем ситуацию
Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.
Приглашаем на
бесплатный вебинар!
18 апреля в 11:00 мск
40 мин.
Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
КонецЦикла;
Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.
Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.
Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ВерсияДанных КАК ВерсияДанных,
| Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
| Номенклатура.Родитель КАК Родитель,
| Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
| Номенклатура.Предопределенный КАК Предопределенный,
| Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа ";
НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
КонецЦикла;
1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.
В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.
Чаще всего причиной подобных ошибок выступают следующие факторы:
- Невнимательность;
- Отсутствие опыта или знаний;
- Несогласованность действий разработчиков друг с другом;
- Изменения в методах контекста в новых версиях платформы.
Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.
На чтение 4 мин. Просмотров 805 Опубликовано 15.12.2019
При синхронизации 1С ЗУП 3.0 — БП 3.0 при проверке подключения выскакивает ошибка :
Не удалось подключиться к другой программе: -2147221164(0x80040154): Класс не зарегистрирован.
В чем может быть дело? В каком направлении рыть??
- 5
- 4
- 3
- 2
- 1
(0 голосов, в среднем: 0 из 5)
Поддержите нас, расскажите друзьям!
СПРОСИТЕ в комментариях!
Это проблема связана с соединением другой базы данных по COM объекту.
Очень вероятно что не хватает прав.
Думаю, тут скорее дело в том, что на COM-компонент не зарегистрирован в системе.
Нужно запустить командную строку под именем администратора, затем выполнить regsvr32 [ПутьККомпонентуCOM]. Компонент чаще всего находится в папке с платформой в папке bin (выглядит это приблизительно вот так: «C:Program Files (x86)1cv88.3.6.2449in»). И называется comcntr32.dll.
Спасибо большое, помогло!
Огромное спасибо! Помогло. Вы супер!
Илья, добрый день!
А для 32-х и 64-х платформ 1С различаются процедуры?
Спасибо, тоже помогло!
В командной строке ( CMD в поиске) в моем случае вводил: regsvr32 «C:Program Files (x86)1cv88.3.12.1529incomcntr.dll»
Все время забываю об этой длл. СПАСИБО, что напоминаете.
Для 64-х платформы:
C:WindowsSysWOW64RegSvr32.exe «C:Program Files1cv88.3.15.1656incomcntr.dll»
При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie в соответствии с настоящим уведомлением в отношении данного типа файлов. Если вы не согласны с тем, чтобы мы использовали данный тип файлов, то вы должны соответствующим образом установить настройки вашего браузера или не использовать сайт.
Отправляя любую форму на сайте, вы соглашаетесь с политикой конфиденциальности данного сайта.
Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’
Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.
Решить данную проблему можно двумя способами.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll»).
2.Для платформы х64
Regsvr32 «C:Program Files1cv8номер версии вашей платформыincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыincomcntr.dll»).
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Добрый день, коллеги! Назрел такой насущный вопрос:
Есть сервер 1С, его обновили до версии 1С.Предприятия 8.3.12.1685. И есть терминальный сервер, с которого работают с базами, размещенными на сервере 1С. Оба сервера под управлением Windows Server 2012 R2.
На сервере 1С размещена база Бух 3.0 и Зуп 3.1. Между ними на предыдущей платформе, 8.3.11.2954 была настроена синхронизация. На 8.3.11.2954 синхронизация работала нормально, но для обновления Бух до последней конфигурации были вынуждены перейти на 8.3.12.1685(предвосхищая возможный вопрос — нет, тестового сервера нет). После перехода выяснилось, что синхронизация не работает. При попытке соединения(например, в окне проверки настроек) получаю сообщение: