Ошибка при вызове конструктора картинка

Ошибка при вызове конструктора картинка. Каталог файла не обнаружен. ☑ 0

ghostrid3r

16.09.15

15:54

Помогите плз. Тестировал обработку на тестовой локальной базе все прекрасно работает. А вот когда пришло время загружать в серверную базу начал ругатся на данную строку.

К1 = Новый Картинка(ПолноеИмяФайла, истина);

Что тут можно переделать? Как приспособить под серверную базу?

1

sergey198

16.09.15

15:54

сервер путь твой невидет

2

ghostrid3r

16.09.15

16:03

(1) и что нужно на клиенте картинку получить?

3

Апош

16.09.15

16:05

(2) лучше сделай из неё ДД, засунь в ХЗ и отдай серверу

4

ghostrid3r

16.09.15

16:12

(3) так оно так и есть только на сервере

        К1 = Новый Картинка(ПолноеИмяФайла, истина);

        КартинкаОбъект.ФайлХранилище = Новый ХранилищеЗначения(К1.ПолучитьДвоичныеДанные());

5

Апош

16.09.15

16:14

(4) «Каталог файла не обнаружен» (кстати, что это?) говорит тебе о том, что файла каталог обнаружен не

6

ghostrid3r

16.09.15

16:16

(5) если в файловой базе то данной ошибки не возникает. Как ответили в (1). Теперь нужно как то сделать чтобы увидел сам сервер путь.

7

ЧеловекДуши

16.09.15

16:36

(4) Что бы передать файл с Клиента на сервер, его нужно поместить во «Временное Хранилище значений» :)

8

ЧеловекДуши

16.09.15

16:37

Такой тип, как «Картинка», можно передавать на прямую, как обычную переменную :)

Первая статья в новом 2021 году будет посвящена программе 1С. Это связанна с тем что данное ПО очень распространено. Так как альтернативы пока что нет. К типовым конфигурация претензий практически нет, в них не появляются ошибки, при обновлении, переносе и других манипуляциях. Что нельзя сказать о самопысных конфигурациях или измененных типовых. Как правило занимаются этим программисты не высокого уровня, так как час разработки профессионала стоить достаточно дорого. В результате конечный пользователь получаем огромные проблемы которые возникают после каких либо манипуляций либо с базой или клиентами. Сегодня поговорим об одной интересной ошибки которая появляется при попытке распечатать какой либо документ «Ошибка при вызове конструктора (COMOбъект) класс не зарегистрирован».

Использование COMOбъектов в 1С это прошлый век, сейчас уже ни кто так не пишет. Раньше с его помощью реализовали печать документов. Они выгружались в OpenLibre Office и от туда уже печатались.

Появиться такая ошибка может после

1 Обновления платформы

2 Переустановки ОС и 1С

3 Обновление конфигурации

4 Проблем с офисными пакетами

5 и т.д.

Это самые распространенные.

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

Ошибка при отправке запроса на сервер

При появлении ошибки в 1С нет кнопки подробнее

Как настроить сортировку в отчете

Как сохранить обработку (как внешнюю)

Как указать версию платформы

Как посмотреть изменения в конфигурации

Три способа избавиться от ошибки «Ошибка при вызове конструктора…»

И так после каких либо манипуляций с 1С у вас стала появляться ошибка.

Ошибка при вызове конструктора (COMOбъект): -2147221164(0x80040154) класс не зарегистрирован

Ошибка при вызове конструктора (COMOбъект) класс не зарегистрирован

Ошибка при вызове конструктора (COMOбъект): -2147221164(0x80040154) класс не зарегистрирован

Первый способ

Самое простое это переустановить офисные пакеты OpenLibre, так же как вариант если у вас стоял Open поставить Libre и на оборот. Это нужно для того чтобы обновить специальный компонент.

Второй способ

Попробовать зарегистрировать самостоятельно, для этого запускаем командную строку от имени администратора, переходим в каталог введя команду.

cd windowssyswow64

И регистрируем

regsvr32 «C:Program Files (x86)1cv88.3.16.18.14comcntr.dll»

-2147221164(0x80040154) класс не зарегистрирован

Кстати данную манипуляцию нужно проводить на сервере.

Третий способ

Установить 32 битную версию клиента 1С, можно даже поверх х64. В итоге у вас появиться два ярлычка для запуска, один для х32 второй х64.

Ошибка при вызове конструктора (COMOбъект)

Версию можно указать и в ярлыке запуска 1С.

Ошибка при вызове конструктора (COMOбъект): класс не зарегистрирован

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

Так же проблема может быть непосредственно в самом коде.

Содержание:

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 – возможность отключить все сообщения при регистрации;

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

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

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

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

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

Олег Мороз

Помогите плз. Тестировал обработку на тестовой локальной базе все прекрасно работает. А вот когда пришло время загружать в серверную базу начал ругатся на данную строку. Что тут можно переделать? Как приспособить под серверную базу?

и что нужно на клиенте картинку получить?

лучше сделай из неё ДД, засунь в ХЗ и отдай серверу

так оно так и есть только на сервере

«Каталог файла не обнаружен» (кстати, что это?) говорит тебе о том, что файла каталог обнаружен не

если в файловой базе то данной ошибки не возникает. Как ответили в . Теперь нужно как то сделать чтобы увидел сам сервер путь.

Что бы передать файл с Клиента на сервер, его нужно поместить во «Временное Хранилище значений» :)

Такой тип, как «Картинка», можно передавать на прямую, как обычную переменную :)

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

antonenko
18.03.2014 15:00 Прочитано: 2908

Есть фотки товара в Битрикс пример http://www.stroyshop.net.ua.images.1c-bitrix-cdn.ru/upload/iblock/857/857c588be50d8a1d003a36d17bd262a9.jpeg. Есть база 1с 8.2 УТП. Артикул в 1с по ссылке просто выделить. Проблема в том, как загрузить фотку товара с сайта на форму номенклатуры. Оно выдает, что
{Справочник.Номенклатура.Форма.ФормаЭлемента(55)}: Ошибка при вызове конструктора (Картинка)
ВыбранноеФото = Новый Картинка(СокрЛП(ЛьготаНДС),Ложь);
по причине:

по причине:
Каталог не обнаружен ‘www.stroyshop.net.ua.images.1c-bitrix-cdn.ru\upload\iblock\857\857c588be50d8a1d003a36d17bd262a9.jpeg’

Yandex
Возможно, вас также заинтересует

Реклама на портале

Mokey
20.03.2014 11:54 Ответ № 1

Сначала надо картинку скачать к себе средствами 1С (HTTPСоединение), а потом уже привязывать к номенклатуре. Или, скажем, на форме создать HTML поле и в нём показывать картинку по указанному адресу, в этом случае необходимо постоянное соединение клиентского компьютера с интернетом, а чтобы не выдавались лишние ошибки, то каким-то образом обработать ситуацию, когда ресурс недоступен (картинку по-умолчанию, например, показывать)

antonenko
20.03.2014 12:26 Ответ № 2

Спасибо. Я в этом направлении и дописываю. Но мне кажется, что я пишу через ж..у.
Но если нет другого способа.

Mokey
20.03.2014 12:33 Ответ № 3

(2) antonenko, Всё зависит от рук наших))) Не сочтите шутку за оскорбление)

antonenko
20.03.2014 13:14 Ответ № 4

Если кому-то надо. Но этим вариантом я не горжусь.

Соединение = Новый HTTPСоединение(«stroyshop.net.ua.images.1c-bitrix-cdn.ru»);
Соединение.Получить(СокрЛП(ЛьготаНДС), «C:\image.gif»);
ВыбранноеФото = Новый Картинка(«C:\image.gif»,Ложь);
ЭлементыФормы.ОсновноеИзображение.Картинка = ВыбранноеФото;

Mokey
20.03.2014 13:43 Ответ № 5

(4) antonenko, а что в нём такого? стандартный вариант, папку сохранения фото можно в темп какой-нить определить, чтобы чистить потом

antonenko
20.03.2014 18:48 Ответ № 6

Простите. Я хотела чему-то поучиться. Увидеть вариант и ахнуть. Ну ладно, работает и ладно.

Mokey
21.03.2014 10:21 Ответ № 7

(6) antonenko, ахнуть — это если бы Вы реализовали второй вариант, а именно, онлайн показ картинки на форме))

antonenko
21.03.2014 16:55 Ответ № 8

Это не заказывали. Мне не нравится, что картинки таскаются на диск С. По поводу онлайн картинок, думаю Вы правы, только у них есть хороший сайт, а это нужно кладовщикам, чтоб убедится в товаре, не на сайт же им идти

antonenko
21.03.2014 16:59 Ответ № 9

А не подскажите какие-то ссылки на онлайн картинки. Интересно для себя

Mokey
21.03.2014 17:42 Ответ № 10

Если есть сайт, значит, есть база картинок в локальной сети, что мешает поделиться с кладовщиками? )))

antonenko
21.03.2014 18:34 Ответ № 11

База картинок на хостинге

Подсказка: Для быстрого поиска ответов — используйте ‘Поиск’

0 / 0 / 0

Регистрация: 09.05.2017

Сообщений: 5

1

Вывод картинки на печать

09.05.2017, 18:35. Показов 7083. Ответов 7


Студворк — интернет-сервис помощи студентам

Есть документ КоммерческоеПредложение в нем табличная часть Оборудование в ней реквизиты Наименование(тип Справочники.Номенклатура), Фото (тип Справочники.НоменклатураПрисоединенныеФайлы) и т.д….

При заполнении строки Наименование происходит автоматическое заполнение всех остальных строк включая столбец Фото (но заполняется названием этого фото).

В справочнике Номенклатура есть реквизит ФайлКартинки (тип Справочники.НоменклатураПрисоединенныеФайлы) через него загружаются изображения

Все изображения хранятся в РегистрыСведений.ПрисоединенныеФайлы в котором есть Измерения ПрисоединенныйФайл и ресурс ХранимыйФайл (тип ХранилищеЗначения)

Мне нужно, чтобы при печати выводилось не название этого фото, а само изображение. Помогите исправить код.
Постоянно выдает ошибки при попытке распечатать
{Документ.КоммерческоеПредложение.МодульМенеджера(45)}: Метод объекта не обнаружен (НоменклатураПрисоединенныеФайлы)
Фото = Новый Картинка(Справочники.НоменклатураПрисоединенныеФайлы());

Как только не писала этот путь. Ошибка все равно есть.

В модуле менеджере:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.КоммерческоеПредложение.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   КоммерческоеПредложение.ВидПредложения,
    |   КоммерческоеПредложение.Дата,
    |   КоммерческоеПредложение.ИтогоСтоимость,
    |   КоммерческоеПредложение.Контрагент,
    |   КоммерческоеПредложение.Номер,
    |   КоммерческоеПредложение.СтоимостьОборудования,
    |   КоммерческоеПредложение.СтоимостьРабот,
    |   КоммерческоеПредложение.Оборудование.(
    |       НомерСтроки,
    |       Фото,
    |       Группа,
    |       Наименование,
    |       Описание,
    |       Количество,
    |       ЕдиницаИзмерения,
    |       Цена,
    |       Сумма
    |   ),
    |   КоммерческоеПредложение.РаботыУслуги.(
    |       НомерСтроки,
    |       Наименование,
    |       Количество,
    |       ЕдиницаИзмерения,
    |       Цена,
    |       Сумма
    |   )
    |ИЗ
    |   Документ.КоммерческоеПредложение КАК КоммерческоеПредложение
    |ГДЕ
    |   КоммерческоеПредложение.Ссылка В (&Ссылка)";   
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    
Пока Выборка.Следующий()Цикл
        
        ОбластьКартинки = Макет.ПолучитьОбласть("Картинка"); 
Фото = Новый Картинка(Справочники.НоменклатураПрисоединенныеФайлы()); 
ОбластьКартинки.Параметры.Фото = Выборка.Оборудование.Колонки.Фото; 
ТабДок.Вывести(ОбластьКартинки); 
ТабДок.Показать();
        КонецЦикла;
 
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьОборудованиеШапка = Макет.ПолучитьОбласть("ОборудованиеШапка");
    ОбластьОборудование = Макет.ПолучитьОбласть("Оборудование");
    ОбластьРаботыУслугиШапка = Макет.ПолучитьОбласть("РаботыУслугиШапка");
    ОбластьРаботыУслуги = Макет.ПолучитьОбласть("РаботыУслуги");
    ТабДок.Очистить();
 
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
 
        ТабДок.Вывести(ОбластьЗаголовок);
 
        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());
 
        ТабДок.Вывести(ОбластьОборудованиеШапка);
        ВыборкаОборудование = Выборка.Оборудование.Выбрать();
        Пока ВыборкаОборудование.Следующий() Цикл
            ОбластьОборудование.Параметры.Заполнить(ВыборкаОборудование);
            ТабДок.Вывести(ОбластьОборудование, ВыборкаОборудование.Уровень());
                    КонецЦикла;
            
 
        ТабДок.Вывести(ОбластьРаботыУслугиШапка);
        ВыборкаРаботыУслуги = Выборка.РаботыУслуги.Выбрать();
        Пока ВыборкаРаботыУслуги.Следующий() Цикл
            ОбластьРаботыУслуги.Параметры.Заполнить(ВыборкаРаботыУслуги);
            ТабДок.Вывести(ОбластьРаботыУслуги, ВыборкаРаботыУслуги.Уровень());
        КонецЦикла;
 
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры

Добавлено через 35 минут

1C
1
2
3
4
ОбластьКартинка = Макет.ПолучитьОбласть("Картинка"); 
Картинка = Новый Картинка(РегистрыСведений.ПрисоединенныеФайлы.Получить()); 
ОбластьКартинка.Рисунки.Фото.Картинка = Картинка; 
ТабДок.Вывести(ОбластьКартинка);

Прорбую так все равно ошибка

{Документ.КоммерческоеПредложение.МодульМенеджера(45)}: Ошибка при вызове метода контекста (Получить)
Картинка = Новый Картинка(РегистрыСведений.ПрисоединенныеФайлы.Получить());
по причине:
Недопустимое значение параметра (параметр номер ‘1’)



0



Понравилась статья? Поделить с друзьями:
  • Ошибка при запуске dirt 2 xlive dll
  • Ошибка при запуске 0xc0000409
  • Ошибка при загрузке среды gtk
  • Ошибка при запуске 0xc0000142 при запуске игры или
  • Ошибка при запуске diablo 2 гроздья гнева