Меню

Ошибка при вызове конструктора comobject 2147024769 0x8007007f не найдена указанная процедура

Содержание

  1. Тип не определен (Запрос) Запрос = Новый >Запрос; (Проверка: Тонкий клиент)
  2. Ошибка 0x8007007f при установке Windows 11 через помощник
  3. 1. Запуск от имени админа
  4. 2. Включить UAC
  5. 3. Освободить место на диске
  6. 4. Обновить видео драйвер
  7. 5. Сканирование SFC и DISM
  8. 6. Установить/Обновить Windows 11 с ISO
  9. 2147024769 0x8007007f не найдена указанная процедура

Тип не определен (Запрос) Запрос = Новый >Запрос; (Проверка: Тонкий клиент)

Таких тем здесь много, ответ понятен, нельзя на клиенте использовать: Запрос = Новый Запрос; Но вопрос не в этом. Обычно работаю с конфигурациями ОФ: Альфа-Авто, КА1 (УПП). Везде использую общий модуль мвДоработки с галочками: Сервер, Клиент (обычное приложение), Внешнее соединение (в Альфа-Авто не использую), Вызов сервера. Когда в конфигурацию надо внести более 2-х строк, то пишу их в этот модуль в виде функции, а вызов этой функции вставляю в то место, где нужно внести изменение. Когда поддержка КА1 закончилась, сделал базу на КА2 (еще вроде на КА2.1), но в ней пока не работаем, обновляем КА1 УПП. В КА2 тоже сделал общий модуль мвДоработки с галочками: Клиент, Сервер, Внешнее соединение. В нем написал несколько функций (в УФ я начинающий). Среди них есть:
// Возвращает Истина, если у номенклатуры единственное наименование
//
Функция ЕдинственноеНаименованиеНоменклатуры(Номенклатура) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = »
|ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Наименование = &Наименование»;
Запрос.УстановитьПараметр(«Наименование», Номенклатура.Наименование);
Выборка = Запрос.Выполнить().Выбрать();
Счетчик = 0;
Пока Выборка.Следующий() Цикл
Если Счетчик > 0 Тогда
Возврат Ложь;
КонецЕсли;
Счетчик = Счетчик + 1;
КонецЦикла;
Возврат Истина;
КонецФункции

// Возвращает полное наименование ключа аналитики номенклатуры
// без дублей по наименованию
Функция ПолучитьПолноеНаименованиеКлючаАналитикиНоменклатуры(МенеджерЗаписи) Экспорт
Попытка
НаименованиеСклада = СокрЛП(МенеджерЗаписи.МестоХранения);
Исключение
НаименованиеСклада = СокрЛП(МенеджерЗаписи.Склад);
КонецПопытки;
Наименование = СокрЛП(МенеджерЗаписи.Номенклатура) + ?(ЕдинственноеНаименованиеНоменклатуры(МенеджерЗаписи.Номенклатура), «», «, »
+ ?(ПустаяСтрока(МенеджерЗаписи.Номенклатура.Артикул), СокрЛП(МенеджерЗаписи.Номенклатура.Код), СокрЛП(МенеджерЗаписи.Номенклатура.Артикул))) + «; »
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.Характеристика), СокрЛП(МенеджерЗаписи.Характеристика) + «; «, «»)
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.Серия), СокрЛП(МенеджерЗаписи.Серия) + «; «, «»)
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.Назначение), СокрЛП(МенеджерЗаписи.Назначение) + «; «, «»)
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.СтатьяКалькуляции), СокрЛП(МенеджерЗаписи.СтатьяКалькуляции) + «; «, «»)
+ СокрНаименованиеСклада(НаименованиеСклада);
Если СтрДлина(Наименование) > 100 Тогда
Наименование = Лев(СокрЛП(МенеджерЗаписи.Номенклатура), СтрДлина(СокрЛП(МенеджерЗаписи.Номенклатура)) — СтрДлина(Наименование) + 97) + «. »
+ ?(ЕдинственноеНаименованиеНоменклатуры(МенеджерЗаписи.Номенклатура), «», «, »
+ ?(ПустаяСтрока(МенеджерЗаписи.Номенклатура.Артикул), СокрЛП(МенеджерЗаписи.Номенклатура.Код), СокрЛП(МенеджерЗаписи.Номенклатура.Артикул))) + «; »
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.Характеристика), СокрЛП(МенеджерЗаписи.Характеристика) + «; «, «»)
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.Серия), СокрЛП(МенеджерЗаписи.Серия) + «; «, «»)
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.Назначение), СокрЛП(МенеджерЗаписи.Назначение) + «; «, «»)
+ ?(ЗначениеЗаполнено(МенеджерЗаписи.СтатьяКалькуляции), СокрЛП(МенеджерЗаписи.СтатьяКалькуляции) + «; «, «»)
+ СокрНаименованиеСклада(НаименованиеСклада);
КонецЕсли;
Возврат Наименование;
КонецФункции

которая вызывается из РС АналитикаУчетаНоменклатуры:
Функция ПолучитьПолноеНаименованиеКлючаАналитики(МенеджерЗаписи)

Возврат мвДоработки.ПолучитьПолноеНаименованиеКлючаАналитикиНоменклатуры(МенеджерЗаписи); //+МВ 12.05.2019
// Возврат СокрЛП(МенеджерЗаписи.Номенклатура) + «; »
// + ?(ЗначениеЗаполнено(МенеджерЗаписи.Характеристика), СокрЛП(МенеджерЗаписи.Характеристика) + «; «, «»)
// + ?(ЗначениеЗаполнено(МенеджерЗаписи.Серия), СокрЛП(МенеджерЗаписи.Серия) + «; «, «»)
// + ?(ЗначениеЗаполнено(МенеджерЗаписи.Назначение), СокрЛП(МенеджерЗаписи.Назначение) + «; «, «»)
// + ?(ЗначениеЗаполнено(МенеджерЗаписи.СтатьяКалькуляции), СокрЛП(МенеджерЗаписи.СтатьяКалькуляции) + «; «, «»)
// + СокрЛП(МенеджерЗаписи.МестоХранения);

В данном случае галочка Клиент на мвДоработки не нужна, но можно ли ее убрать? Наверное это зависит от других функций модуля. Как навскидку определить: может ли функция выполняться только на клиенте? Вопрос наверное глупый, но в УФ я начинающий. Убрал галочку Клинт — ошибка: Тип не определен (Запрос) исчезла. Потом вернул ее, сохранил конфигурацию, ошибка не появилась!? Раньше она появлялась, до обновления на 2.5.8.221.

Источник

Ошибка 0x8007007f при установке Windows 11 через помощник

Код ошибки 0x8007007f появляется при установке Windows 11 методом обновления через скаченного помощника Assistant или Media Creation Tool от Microsoft.

На одном из ПК я столкнулся с данным кодом ошибки, и проблема оказалась в графическом драйвере от видеокарты Nvidia, который был 2020 года. Я скачал свежий драйвер с официального сайта для Windows 11 и ошибка устранилась. Кроме этого, на форуме microsoft многие столкнулись с ошибкой 0x8007007f при установке или обновлении Windows 11 через помощник Media Creation Tool или Assistant, и у всех разные проблемы, которые я собрал в кучу.

В данной инструкции о том, как исправить ошибку 0x8007007f при установке или обновлении Windows 11 через помощник Assistant от Microsoft.

1. Запуск от имени админа

Нажмите правой кнопкой мыши по скаченному помощнику Windows11InstallationAssistant.exe и выберите «Запуск от имени администратора«. Начните обновление Windows 11 и посмотрите, устранена ли ошибка 0x8007007f.

2. Включить UAC

Если контроль учетных записей был отключен в Windiows 11, то запуск от имени администратора помощника может не сработать. В этом случае, нужно включить UAC, и вот как это сделать:

  • Нажмите сочетание кнопок Win+R и введите UserAccountControlSettings
  • Убедитесь, что ползунок находится на третьем уровне снизу
  • Запустите помощник от имени админа, как сказано в способе 1

3. Освободить место на диске

Если на системном разделе будет не хватать места для загружаемых файлов через помощник, то код ошибки 0x8007007f, также может появится. В этом случае, очистите системный раздел от ненужных файлов и попробуйте повторить процедуру установки Windows 11.

4. Обновить видео драйвер

Установите последние версию драйвера для видеокарты Nvidia, AMD или Intel с сайта производителя для Windows 11. Есть полное руководство с прямыми ссылками на сайт драйверов производителей видеокарт.

5. Сканирование SFC и DISM

Если системные файлы повреждены, то это может вызвать код ошибки 0x8007007f. Восстановим автоматически системные файлы . Для этого, нажмите Win+X и выберите Терминал Windows (Администратор) и введите ниже две команды по очереди, нажимая Enter после каждой, и дожидаясь окончание процесса.

  • sfc /scannow
  • DISM /Online /Cleanup-Image /RestoreHealth

6. Установить/Обновить Windows 11 с ISO

Скачав Windows 11 ISO образ с официального сайта Mcirtosoft вы сможете обновить или установить начисто Windows 11, что избавит вас от проблем помощника.

  1. Скачайте официальный Windopws 11 ISO
  2. Смонтируйте ISO образ в виртуальный привод
  3. Запустите Setup.exe в виртуальном приводе, где ISO образ системы, чтобы обновить Windows 11

Примечание: Если обновить Windows 11 не получилось, то вы можете создать из скаченного ISO образа установочную флешку при помощи программы Rufus и установить систему начисто.

Источник

2147024769 0x8007007f не найдена указанная процедура

Помогите пожалуйста советом. Есть COM сервер (Dll) написанный с использованием ATL на С++ в VisualStudio 2005 beta2. Есть Setup проект для WindowsInstaller тоже составленный в VS2005 beta2, который должен зарегистрировать эту Dll. Если запускаем инсталляцию на XP или Win2003, то все работает нормально — Dll инсталлируется и регистрируется, в Win2000 проблема — при инсталляции выдается ошибка:

Смотрим код ошибки —

Error: 0x8007007f — The specified procedure could not be found,

Такое впечатление, что не хватает какой-то Dll. Но Depends.exe не находит ошибок в зависимостях.

Подскажите в какую сторону копать, заранее спасибо.

От: bo
Дата: 12.06.05 18:45
Оценка:

Здравствуйте, arh, Вы писали:

arh>Такое впечатление, что не хватает какой-то Dll. Но Depends.exe не находит ошибок в зависимостях.

Может, 4-го сервис пака?

От: arh
Дата: 13.06.05 05:56
Оценка:

Здравствуйте, bo, Вы писали:

bo>Здравствуйте, arh, Вы писали:

arh>>Такое впечатление, что не хватает какой-то Dll. Но Depends.exe не находит ошибок в зависимостях.

bo>Может, 4-го сервис пака?

Не, сервис пак в наличии.

От: arh
Дата: 14.06.05 16:57
Оценка: 11 (1)

arh>Такое впечатление, что не хватает какой-то Dll. Но Depends.exe не находит ошибок в зависимостях.

После плясок с бубном удалось установить, что SetupProject из VisualStudio цеплял по зависимостям файл c:windowssystem32msvcr80d.dll(инсталляция была для отладочной конфигурации) оставшийся от VS2005 beta1 и ложил его в папку, куда инсталлировалось приложение, но в тот же SetupProject был добавлен MergeModule x86_Microsoft.VC80.DebugCRT ссылки на dll которого внесены в манифест инсталлируемой Dll COM.

For Whidbey, we do not support you building any CRT DLL-based applications without manifests. The redistributable MSMs we provide will only install to WinSxS
The VC++ project system automatically attaches a manifest to all projects, new and upgraded.
Martyn Lovell
Development Lead
Visual C++ Libraries

Side-by-side Assemblies
Side-by-side assembly sharing is an infrastructure available on Windows XP and later systems used to safely share assemblies among multiple applications and to offset the negative effects of sharing, such as DLL conflicts. Instead of having a single version of an assembly that assumes backward compatibility with all applications, side-by-side assembly sharing enables multiple versions of a COM or Win32 assembly to run simultaneously on the system. For more information, see Isolated Applications and Side-by-side Assemblies.

Side-by-Side Assemblies can be installed as shared assemblies or as private assemblies.
Side-by-side assemblies are not available on systems earlier than Windows XP.

От: Beatseed
Дата: 15.06.05 09:15
Оценка:

Здравствуйте, arh, Вы писали:

arh> Error: 0x8007007f — The specified procedure could not be found,
arh>[/q]
arh>Такое впечатление, что не хватает какой-то Dll. Но Depends.exe не находит ошибок в зависимостях.

arh>Подскажите в какую сторону копать, заранее спасибо
попробуй зарегистрировать по старинке: shell>regsvr32.exe pathtoyoursuper.dll
и если в имени каталогов встречаются пробелы не забудь весь параметр для regsvr32 включить в кавычки.
.

От: arh
Дата: 15.06.05 13:58
Оценка:

Здравствуйте, Beatseed, Вы писали:
B>попробуй зарегистрировать по старинке: shell>regsvr32.exe pathtoyoursuper.dll
B>и если в имени каталогов встречаются пробелы не забудь весь параметр для regsvr32 включить в кавычки.

По старинке — ругалась аналогично.
Проблему решил см. выше. Спасибо.

От: natural
Дата: 17.06.05 22:42
Оценка:

Здравствуйте, arh, Вы писали:

arh>Подскажите в какую сторону копать, заранее спасибо.

Если пользуешь Install Sheild , то ты видимо поставил галочку Self Register у своей компоненты. Попробуй галку снять и поставить свойство COM Extract At Build = Yes.

Источник

Содержание:

1. Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?

2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?

3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом    

1.      Почему может возникнуть ошибка при вызове конструктора (COM-объект 1С)?

Когда ты начинающий специалист 1С, то иногда приходится чувствовать себя шаманом с бубном, так как не знаешь причин ошибки и как её исправить тоже.

Сегодня мы разберем одну из ошибок, которые появляются при работе с базой, а именно ошибку при вызове конструктора (COM-объект 1С).

Ситуацию такую, мы можем наблюдать при загрузке с Excel при использовании (COM-объекта 1С), при обмене между базами. Ситуаций, когда возникает данное сообщение с возникшей проблемой довольно много при работе с программой.

Как правило, данная ошибка возникает из-за того, что при установке платформы1С не произошла автоматическая регистрация 64-х разрядной компоненты, которая отвечает за использование COM-соединения 1С 8.3. А почему это произошло, спросите? Все очень просто и в то же время сложно, если не знаешь, в чем все ядро проблемы. А причина в том, что те, у кого выдаются такие ошибки, используют 32(86) – разрядную операционную систему и ставят вместо платформы необходимой разрядности их системы, платформу 1С предназначенную для совсем другой системы.   

2. С помощью чего можно исправить ошибку при вызове конструктора (COM-объект 1С)?

Исправить данную ошибку, довольно легко. Для этого необходимо всего лишь зарегистрировать библиотеку dll в реестре при помощи командной строки или программы PowerShell, в зависимости от того, что любите использовать, и команды regsvr32.

Для того чтобы выполнить команду, достаточно будет в строке написать такой текст команды «regsvr32 «C:Program Files1cv88.3.ХХ.ХХХХbincomcntr.dll»». Вместо «ХХ.ХХХХ» необходимо указать необходимый релиз платформы, библиотеку которой, необходимо зарегистрировать в реестре системы.

Если все выполнено правильно и регистрация произошла успешно, то должно выдать сообщение, как на скриншоте, об успешной регистрации библиотеки.

Администратор: Командная строка   

3. Параметры при вызове конструктора (COM-объект 1С), которые регистрируют компоненты строки кода перед регистрируемым dll-файлом

Также есть некоторые особенности команды, которая регистрирует компоненты.

На данный момент я знаю только 4 параметра (которые при написании строки кода указываются перед регистрируемым dll-файлом):

·        /u — параметр, отменяет регистрацию

·        /i — параметр, который позволяет при необходимости, в зависимости от библиотеки.

·        /n —параметр используется только для установки компоненты 1С, в основном пишется вместе с предыдущим (/I);

·        /s – возможность отключить все сообщения при регистрации;

Существует, также, один немаловажный момент, что в зависимости от версии командной строки, иногда приходится прописывать путь к самой утилите.

Кстати, существуют специальные программы-инструменты, которые помогают регистрировать компоненты, без знания команд и утилит администрирования, зарегистрировать библиотеку и продолжить работать дальше.

Таких программ достаточно много и писать, какое-то одно название смысла нет.

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

Специалист компании «Кодерлайн»

Олег Мороз

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. *Read more…*

closed

Команда «Заполнить» в случае неправильной версии COM теперь выводит понятную ошибку и открывает «Управление COM классами 1С»

Category:

Подготовка к изменению структуры БД


Description

Было:
После длительного ожидания программа выводила непонятную ошибку

{ИнструментыРазработчикаTormozit Обработка.ирПодготовкаКИзменениюСтруктурыБД.МодульОбъекта(564)}: Ошибка при вызове конструктора (COMОбъект)
    КомСоединитель = Новый COMОбъект("v" + ирКэш.НомерИзданияПлатформыЛкс() + ".ComConnector");
по причине:
-2147024769(0x8007007F): Не найдена указанная процедура. 

Стало:
Сразу после нажатия кнопки выводится подсказка, открывается «Управление COM классами 1С» и отображется понятная ошибка.

Убедитесь что зарегистрирован COM класс COMConnector нужной разрядности и версии платформы
{ОбщийМодуль.ирОбщий.Модуль(17091)}: Ошибка создания COM объекта v83.ComConnector: {ОбщийМодуль.ирОбщий.Модуль(17085)}: Ошибка при вызове конструктора (COMОбъект): -2147024769(0x8007007F): Не найдена указанная процедура. 
        ВызватьИсключение "Ошибка создания COM объекта " + ИмяCOMКласса + ": " + ОписаниеОшибки();

  • Subject changed from Команда «Заполнить» может выдавать плохо понятную ошибку при неправильной версии COM to Команда «Заполнить» в случае неправильной версии COM теперь выводит понятную ошибку и открывает «Управление COM классами 1С»
  • Description updated (diff)
  • Status changed from New to Closed
  • Description updated (diff)
  • Description updated (diff)
  • Sprint/Milestone changed from Разработка to 6.03.1

Also available in: Atom
PDF

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при восстановлении айпада 3194
  • Ошибка при вызове конструктора wsопределения 1c 404