24.02.23 — 23:35
Вылезает такая ошибка
Ошибка при вызове конструктора (РеквизитФормы)
{ОбщаяФорма.Форма.Форма(94)}: РеквизитФормы = Новый РеквизитФормы (ТекВалюта.Значение.МеждународныйКодВалюты, Новый ОписаниеТипов(«Число», , , Новый КвалификаторыЧисла(10, 3)));
{ОбщаяФорма.Форма.Форма(11)}: ПолучитьКурсыВалют (Дата);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
ТекВалюта.Значение.МеждународныйКодВалюты это строка «985»
Новый ОписаниеТипов(«Число», , , Новый КвалификаторыЧисла(10, 3)) Пробывал менять на Новый ОписаниеТипов(«Строка», , , Новый КвалификаторыСтроки(3)) ничего не изменилось.
&НаСервере
Процедура ПолучитьКурсыВалют (ВыбДата)
ТЗКурсы = РаботаСКурсами.ПолучениеКурсаВыбраннойВалюты(ВыбДата);
ДобавляемыеРеквизиты = Новый Массив;
УдаляемыеРеквизиты = Новый Массив;
УдаляемыеЭлементы = Новый Массив;
Для Каждого ПодчиненныйЭлемент Из Элементы.ГруппаКурсовВалют.ПодчиненныеЭлементы Цикл
УдаляемыеРеквизиты.Добавить(ПодчиненныйЭлемент.Имя);
КонецЦикла;
Для Каждого ТекРеквизит Из УдаляемыеРеквизиты Цикл
ТекЭлемент = Элементы.Найти(ТекРеквизит);
Элементы.Удалить(ТекЭлемент);
КонецЦикла;
Для Каждого ТекВалюта Из Валюты Цикл
Если Не ТекВалюта.Пометка Тогда Продолжить; КонецЕсли;
РеквизитФормы = Новый РеквизитФормы (ТекВалюта.Значение.МеждународныйКодВалюты, Новый ОписаниеТипов(«Число», , , Новый КвалификаторыЧисла(10, 3)));
ДобавляемыеРеквизиты.Добавить(РеквизитФормы);
КОнецЦикла;
ИзменитьРеквизиты(ДобавляемыеРеквизиты, УдаляемыеРеквизиты);
Для Каждого ТекВалюта Из Валюты Цикл
Если Не ТекВалюта.Пометка Тогда Продолжить; КонецЕсли;
ИмяРеквизита = ТекВалюта.Значение.МеждународныйКодВалюты;
СтрокаЗначенияКурса = ТЗКурсы.Найти(ИмяРеквизита, «Код»);
ЭлементФормыТекВалюты = Элементы.Добавить(ИмяРеквизита, Тип(«ПолеФормы»), Элементы.ГруппаКурсовВалют);
ЭлементФормыТекВалюты.ПутьКДанным = ИмяРеквизита;
ЭлементФормыТекВалюты.Вид = ВидПоляФормы.ПолеНадписи;
ЭлементФормыТекВалюты.Шрифт = Новый Шрифт(ШрифтыСтиля.ОбычныйШрифтТекста,,,,,,,80);
Если СтрокаЗначенияКурса = Неопределено Тогда Продолжить; КонецЕсли;
ЭтаФорма[ИмяРеквизита] = СтрокаЗначенияКурса.Курс;
КонецЦикла;
КонецПроцедуры
{Документ.РобочийТабель.Форма.ФормаДокумента.Форма}: Ошибка при вызове конструктора (РеквизитФормы) НовыйРеквизит = Новый РеквизитФормы(эл.Представление, Новый ОписаниеТипов(«СправочникСсылка.прЛинии»), , эл.Представление, Истина); по причине: Недопустимое значение параметра (параметр номер ‘1’)
По факту: нечего ветки плодить «Недопустимое значение параметра (параметр номер ‘1’)» что непонятного?
Тэги:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
Перейти к контенту
|
|||
Близняшка
25.01.10 — 12:07 |
МассивТипа=Новый Массив; МассивТипа.Добавить(ТипЗнч(Документы.ПоступлениеТоваровУслуг.ПустаяСсылка())); ТипДокумента=Новый ОписаниеТипов(ТипДокумента,МассивТипа); Пишет ошибка: Ошибка при вызове конструктора (ОписаниеТипов): Несоответствие типов (параметр номер ‘2’) |
||
Stepa86
1 — 25.01.10 — 12:09 |
дарю: Новый ОписаниеТипов(«ДокументСсылка.ПоступлениеТоваровУслуг»); |
||
Ц_У
2 — 25.01.10 — 12:09 |
(0) ИМХО: без фото не взлетит… |
||
Близняшка
3 — 25.01.10 — 12:12 |
(1) а почему как у меня не работает ? |
||
Ненавижу 1С
4 — 25.01.10 — 12:13 |
(3) что говорит СП? |
||
zbv
5 — 25.01.10 — 12:13 |
(3) ТипДокумента = неопределено |
||
Близняшка
6 — 25.01.10 — 12:14 |
(1) МассивТипа=Новый Массив; МассивТипа.Добавить(«ДокументСсылка.ПоступлениеТоваровУслуг»); ТипДокумента=Новый ОписаниеТипов(ТипДокумента,МассивТипа); та же ошибка ….. |
||
Stepa86
7 — 25.01.10 — 12:15 |
(6) читаем внимательно: ТипДокумента = Новый ОписаниеТипов(«ДокументСсылка.ПоступлениеТоваровУслуг»); |
||
Ц_У
8 — 25.01.10 — 12:15 |
(6)МассивТипа.Добавить(Тип(«ДокументСсылка.ПоступлениеТоваровУслуг»)); |
||
RealSaint
9 — 25.01.10 — 12:16 |
(3) Потому-что нужно читать документацию и синтакс-помошник. Вот прочитай описание этого конструктора и сама ответь на свой вопрос. |
||
Близняшка
10 — 25.01.10 — 12:18 |
(7) спасибки сработало (8) пасибо думаю сработает аналогично (9) 2-й параметр, добавляемые типы, которые содержатся в массиве. и в чем ошибка ??? |
||
RealSaint
11 — 25.01.10 — 12:22 |
(10) Ошибка в том, что первый параметр в данном случае не нужен. |
||
Близняшка 12 — 25.01.10 — 12:24 |
(11) спасибо, я поняла свою ошибку |
|
TurboConf — расширение возможностей Конфигуратора 1С |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Автор Александр Мун, 29 ноя 2019, 09:27
0 Пользователей и 1 гость просматривают эту тему.
Добрый день!
Пытаюсь в цикле вывести на форму получаемые картинки, и не могу понять, что я делаю не так
Для каждого Фото Из JSON.photos Цикл
i = i + 1;
путь = "D:1CPhotoFines" + Строка(Объект.billid) + "" + Строка(i) + "-" + Строка(Объект.billid) + ".jpeg";
ДвоичныеДанные = Base64Значение(Фото.base64Value);
ДвоичныеДанные.Записать(путь);
Хранилище = Новый ХранилищеЗначения(Новый Картинка(путь), Новый СжатиеДанных(9));
нРеквизиты = Новый Массив;
РеквизитХ = Новый РеквизитФормы("РеквизитХ" + Строка(i), Новый ОписаниеТипов("ХранилищеЗначения", Хранилище), ,"Созданное поле картинка", Истина);
нРеквизиты.Добавить(РеквизитХ);
ИзменитьРеквизиты(нРеквизиты);
Элемент = ЭтаФорма.Элементы.Добавить("Поле" + Строка(i), Тип("ПолеФормы"), ЭтаФорма.Элементы.Группа7);
Элемент.Вид = ВидПоляФормы.ПолеКартинки;
Элемент.ПутьКДанным = "РеквизитХ" + Строка(i);
КонецЦикла;
Получаю ошибку:
Ошибка при вызове конструктора (ОписаниеТипов): Несоответствие типов (параметр номер ‘2’)
Потому что нет такого конструктора у объекта «ОписаниеТипов». Попробуйте в строке
РеквизитХ = Новый РеквизитФормы("РеквизитХ" + Строка(i), Новый ОписаниеТипов("ХранилищеЗначения", Хранилище), ,"Созданное поле картинка", Истина);
Написать
РеквизитХ = Новый РеквизитФормы("РеквизитХ" + Строка(i), Новый ОписаниеТипов("ХранилищеЗначения"), ,"Созданное поле картинка", Истина);
«Дай человеку рыбу, и ты накормишь его на один день, научи его рыбачить, и он будет сыт всю жизнь»
Описание типов «ЛюбаяСсылка»
Типа «ЛюбаяСсылка» или «ВсеСсылки» не существует поэтому при создании объекта Новый ОписаниеТипов(«ЛюбаяСсылка») выходит ошибка.
Описание типов — объект, предназначенный для указания/ограничения реквизита списком определенных программистом типов.
Часто в универсальных обработках это список необходимо максимально расширить, чтобы бы не добавлять потом каждый новый объект конфигурации
Причина ситуации
Наличие в диалоге полей ввода флажка «ЛюбаяСсылка» вводит в заблуждение о наличии такого типа, в действительности это функционал только элемента формы
Ниже приведена конструкция, которая вполне коротким кодом производит заполнение большинством ссылочных типов.
оОписание = Новый ОписаниеТипов; оОписание = Новый ОписаниеТипов(оОписание, Справочники.ТипВсеСсылки().Типы()); оОписание = Новый ОписаниеТипов(оОписание, Документы.ТипВсеСсылки().Типы()); оОписание = Новый ОписаниеТипов(оОписание, Перечисления.ТипВсеСсылки().Типы()); оОписание = Новый ОписаниеТипов(оОписание, ПланыСчетов.ТипВсеСсылки().Типы()); оОписание = Новый ОписаниеТипов(оОписание, ПланыВидовХарактеристик.ТипВсеСсылки().Типы()); оОписание = Новый ОписаниеТипов(оОписание, Задачи.ТипВсеСсылки().Типы()); оОписание = Новый ОписаниеТипов(оОписание, ПланыВидовРасчета.ТипВсеСсылки().Типы()); оОписание = Новый ОписаниеТипов(оОписание, ПланыОбмена.ТипВсеСсылки().Типы());
Большой рекламный бюджет не ведет к высокому уровню сбыта. Наоборот, высокий уровень сбыта ведет к большому рекламному бюджету.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
Первая статья в новом 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.
Так же проблема может быть непосредственно в самом коде.
Я сделал форму, добавил реквизит пользователей из справочника пользователей и создал поле выбора с типом справочника пользователей. Мне нужно получить значение этого реквизита в модуле формы, но в строке, где я его получаю, выходит ошибка:
Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
{Отчеты Отчет.НовыйОтчетПрофилей.Форма.ФормаОтчета.Форма(201)}:РеквизитПользователя = РеквизитФормыВЗначение("Пользователь"); //
{Отчеты Отчет.НовыйОтчетПрофилей.Форма.ФормаОтчета.Форма(230)}:ТабДокумент = СформироватьМакетНаСервере();
по причине:
Недопустимое значение параметра (параметр номер '1')
Как это можно исправить?
Вот сам код:
&НаСервере
Функция СформироватьМакетНаСервере()
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
РеквизитПользователя = РеквизитФормыВЗначение("Пользователь"); //
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТаблицаЗначений = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.Очистить();
Макет = ОтчетОбъект.ПолучитьМакет("Макет");
Возврат ТабДокумент;
КонецФункции
&НаКлиенте
Процедура СформироватьМакет(Команда)
ТабДокумент = СформироватьМакетНаСервере();
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет");
ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Макет");
ПечатнаяФорма.СинонимМакета = "Макет";
ПечатнаяФорма.ТабличныйДокумент = ТабДокумент;
ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Макет";
ОбластиОбъектов = Новый СписокЗначений;
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбластиОбъектов);
КонецПроцедуры
Вот форма со свойствами поля:
И свойства реквизита: