ghostrid3r
16.09.15
✎
15:54
Помогите плз. Тестировал обработку на тестовой локальной базе все прекрасно работает. А вот когда пришло время загружать в серверную базу начал ругатся на данную строку.
К1 = Новый Картинка(ПолноеИмяФайла, истина);
Что тут можно переделать? Как приспособить под серверную базу?
sergey198
16.09.15
✎
15:54
сервер путь твой невидет
ghostrid3r
16.09.15
✎
16:03
(1) и что нужно на клиенте картинку получить?
Апош
16.09.15
✎
16:05
(2) лучше сделай из неё ДД, засунь в ХЗ и отдай серверу
ghostrid3r
16.09.15
✎
16:12
(3) так оно так и есть только на сервере
К1 = Новый Картинка(ПолноеИмяФайла, истина);
КартинкаОбъект.ФайлХранилище = Новый ХранилищеЗначения(К1.ПолучитьДвоичныеДанные());
Апош
16.09.15
✎
16:14
(4) «Каталог файла не обнаружен» (кстати, что это?) говорит тебе о том, что файла каталог обнаружен не
ghostrid3r
16.09.15
✎
16:16
(5) если в файловой базе то данной ошибки не возникает. Как ответили в (1). Теперь нужно как то сделать чтобы увидел сам сервер путь.
ЧеловекДуши
16.09.15
✎
16:36
(4) Что бы передать файл с Клиента на сервер, его нужно поместить во «Временное Хранилище значений»
ЧеловекДуши
16.09.15
✎
16:37
Такой тип, как «Картинка», можно передавать на прямую, как обычную переменную
Первая статья в новом 2021 году будет посвящена программе 1С. Это связанна с тем что данное ПО очень распространено. Так как альтернативы пока что нет. К типовым конфигурация претензий практически нет, в них не появляются ошибки, при обновлении, переносе и других манипуляциях. Что нельзя сказать о самопысных конфигурациях или измененных типовых. Как правило занимаются этим программисты не высокого уровня, так как час разработки профессионала стоить достаточно дорого. В результате конечный пользователь получаем огромные проблемы которые возникают после каких либо манипуляций либо с базой или клиентами. Сегодня поговорим об одной интересной ошибки которая появляется при попытке распечатать какой либо документ «Ошибка при вызове конструктора (COMOбъект) класс не зарегистрирован».
Использование COMOбъектов в 1С это прошлый век, сейчас уже ни кто так не пишет. Раньше с его помощью реализовали печать документов. Они выгружались в OpenLibre Office и от туда уже печатались.
Появиться такая ошибка может после
1 Обновления платформы
2 Переустановки ОС и 1С
3 Обновление конфигурации
4 Проблем с офисными пакетами
5 и т.д.
Это самые распространенные.
У меня есть еще несколько статей в которых я рассказывал как можно исправить различные ошибки 1С рекомендую прочитать.
Ошибка при отправке запроса на сервер
При появлении ошибки в 1С нет кнопки подробнее
Как настроить сортировку в отчете
Как сохранить обработку (как внешнюю)
Как указать версию платформы
Как посмотреть изменения в конфигурации
Три способа избавиться от ошибки «Ошибка при вызове конструктора…»
И так после каких либо манипуляций с 1С у вас стала появляться ошибка.
Ошибка при вызове конструктора (COMOбъект): -2147221164(0x80040154) класс не зарегистрирован
Первый способ
Самое простое это переустановить офисные пакеты OpenLibre, так же как вариант если у вас стоял Open поставить Libre и на оборот. Это нужно для того чтобы обновить специальный компонент.
Второй способ
Попробовать зарегистрировать самостоятельно, для этого запускаем командную строку от имени администратора, переходим в каталог введя команду.
cd windowssyswow64
И регистрируем
regsvr32 «C:Program Files (x86)1cv88.3.16.18.14comcntr.dll»
Кстати данную манипуляцию нужно проводить на сервере.
Третий способ
Установить 32 битную версию клиента 1С, можно даже поверх х64. В итоге у вас появиться два ярлычка для запуска, один для х32 второй х64.
Версию можно указать и в ярлыке запуска 1С.
Можно еще попробовать самостоятельно создать 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 |
|
||
---|---|---|---|
Есть фотки товара в Битрикс пример http://www.stroyshop.net.ua.images.1c-bitrix-cdn.ru/upload/iblock/857/857c588be50d8a1d003a36d17bd262a9.jpeg. Есть база 1с 8.2 УТП. Артикул в 1с по ссылке просто выделить. Проблема в том, как загрузить фотку товара с сайта на форму номенклатуры. Оно выдает, что
{Справочник.Номенклатура.Форма.ФормаЭлемента(55)}: Ошибка при вызове конструктора (Картинка) ВыбранноеФото = Новый Картинка(СокрЛП(ЛьготаНДС),Ложь); по причине: по причине: |
Yandex |
|
||
---|---|---|---|
Mokey |
|
||
---|---|---|---|
|
Сначала надо картинку скачать к себе средствами 1С (HTTPСоединение), а потом уже привязывать к номенклатуре. Или, скажем, на форме создать HTML поле и в нём показывать картинку по указанному адресу, в этом случае необходимо постоянное соединение клиентского компьютера с интернетом, а чтобы не выдавались лишние ошибки, то каким-то образом обработать ситуацию, когда ресурс недоступен (картинку по-умолчанию, например, показывать) |
antonenko |
|
||
---|---|---|---|
Спасибо. Я в этом направлении и дописываю. Но мне кажется, что я пишу через ж..у. |
Mokey |
|
||
---|---|---|---|
(2) antonenko, Всё зависит от рук наших))) Не сочтите шутку за оскорбление) |
antonenko |
|
||
---|---|---|---|
Если кому-то надо. Но этим вариантом я не горжусь.
Соединение = Новый HTTPСоединение(«stroyshop.net.ua.images.1c-bitrix-cdn.ru»); |
Mokey |
|
||
---|---|---|---|
(4) antonenko, а что в нём такого? стандартный вариант, папку сохранения фото можно в темп какой-нить определить, чтобы чистить потом |
antonenko |
|
||
---|---|---|---|
Простите. Я хотела чему-то поучиться. Увидеть вариант и ахнуть. Ну ладно, работает и ладно. |
Mokey |
|
||
---|---|---|---|
(6) antonenko, ахнуть — это если бы Вы реализовали второй вариант, а именно, онлайн показ картинки на форме)) |
antonenko |
|
||
---|---|---|---|
Это не заказывали. Мне не нравится, что картинки таскаются на диск С. По поводу онлайн картинок, думаю Вы правы, только у них есть хороший сайт, а это нужно кладовщикам, чтоб убедится в товаре, не на сайт же им идти |
antonenko |
|
||
---|---|---|---|
А не подскажите какие-то ссылки на онлайн картинки. Интересно для себя |
Mokey |
|
||
---|---|---|---|
Если есть сайт, значит, есть база картинок в локальной сети, что мешает поделиться с кладовщиками? ))) |
antonenko |
|
||
---|---|---|---|
База картинок на хостинге |
Подсказка: Щелкнув по значку (справа от названия вопроса), вы получите список ответов на похожие вопросы! |
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 5
1
Вывод картинки на печать
09.05.2017, 18:35. Показов 7083. Ответов 7
Есть документ КоммерческоеПредложение в нем табличная часть Оборудование в ней реквизиты Наименование(тип Справочники.Номенклатура), Фото (тип Справочники.НоменклатураПрисоединенныеФайлы) и т.д….
При заполнении строки Наименование происходит автоматическое заполнение всех остальных строк включая столбец Фото (но заполняется названием этого фото).
В справочнике Номенклатура есть реквизит ФайлКартинки (тип Справочники.НоменклатураПрисоединенныеФайлы) через него загружаются изображения
Все изображения хранятся в РегистрыСведений.ПрисоединенныеФайлы в котором есть Измерения ПрисоединенныйФайл и ресурс ХранимыйФайл (тип ХранилищеЗначения)
Мне нужно, чтобы при печати выводилось не название этого фото, а само изображение. Помогите исправить код.
Постоянно выдает ошибки при попытке распечатать
{Документ.КоммерческоеПредложение.МодульМенеджера(45)}: Метод объекта не обнаружен (НоменклатураПрисоединенныеФайлы)
Фото = Новый Картинка(Справочники.НоменклатураПрисоединенныеФайлы());
Как только не писала этот путь. Ошибка все равно есть.
В модуле менеджере:
1C | ||
|
Добавлено через 35 минут
1C | ||
|
Прорбую так все равно ошибка
{Документ.КоммерческоеПредложение.МодульМенеджера(45)}: Ошибка при вызове метода контекста (Получить)
Картинка = Новый Картинка(РегистрыСведений.ПрисоединенныеФайлы.Получить());
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
0