Имя: Пароль:
1C
1С v8
как из общего модуля основной конфигурации обратиться к регистру добавленному в расширении
0 I_learn_1c
 
07.07.25
16:01
Доброго дня всем

Есть ситуация - основная конфигурация, в ней добавлен мой общий модуль (сервер, внешнее соединение). И расширение от сторонних разработчиков, лезть в него и что-то там добавлять не хотелось бы максимально.
В расширении добавлен регистр сведений.
В моем общем модуле в основной конфигурации нужно сделать запрос к этому регистру сведений.
Сам запрос написан, в консоли работает. Но при программном выполнении вылетает "Ошибка при вызове метода контекста Выполнить()" видимо потому, что основная конфигурация не знает такую таблицу (регистр, добавленный в расширении).

К общим модулям (серверным) расширения могу обращаться без проблем.
Вопрос - как выполнить такой запрос в модуле основной конфы, не добавляя свой модуль в расширении?
1 arsik
 
гуру
07.07.25
16:04
(0) "видимо потому, что основная конфигурация не знает такую таблицу" - Неа.
2 Волшебник
 
07.07.25
16:04
(0) Сообщите полный текст ошибки
3 Chameleon1980
 
07.07.25
17:03
все должно работать раз в консоли работает.
что-то упустил
4 Волшебник
 
07.07.25
17:03
(3) -ла
5 Chameleon1980
 
07.07.25
17:19
(4) -ла так -ла
6 I_learn_1c
 
07.07.25
17:38
(2) "{<Неизвестный модуль>(1)}: Ошибка при вызове метода контекста Выполнить()" это вся ошибка при попытке выполнить Запрос.Выполнить()

поместила свою функцию все таки в общий модуль расширения (галка сервер). ошибка та же самая по Запрос.Выполнить()

текст функции ниже
регистр Б24_К_ИдентификаторыДел - добавлен в расширении
параметры запроса устанавливаются, в консоли этот запрос отрабатывает, в расширении конструктор запросов его открывает
Функция Б24_КБС_ПроверитьНаличиеСвязиСБ24(НастройкаПодключения, Б24_К_ОбъектДляЭкспорта) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);

	ТипыДанныхДляОбменаСПорталом = Б24_К_ОбщегоНазначенияВызовСервера.ПолучитьТипыДанныхДляОбменаСПорталом();

	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Портал"				, НастройкаПодключения.Портал);
	Запрос.УстановитьПараметр("ТипыДанных"			, Б24_К_RestApiВызовСервера.ПолучитьТипыДанныхДел());
	Запрос.УстановитьПараметр("ТипОбъекта"			, Б24_К_ОбъектДляЭкспорта.Метаданные().ПолноеИмя());
	Запрос.УстановитьПараметр("ИдентификаторОбъекта", Б24_К_ОбъектДляЭкспорта.Ссылка.УникальныйИдентификатор());
	Запрос.Текст = "ВЫБРАТЬ
	               |	Б24_К_ИдентификаторыДел.ДополнительныйИдентификатор КАК Идентификатор
	               |ИЗ
	               |	РегистрСведений.Б24_К_ИдентификаторыДел КАК Б24_К_ИдентификаторыДел
	               |ГДЕ
	               |	Б24_К_ИдентификаторыДел.Портал = &Портал
	               |	И Б24_К_ИдентификаторыДел.ТипДанных В(&ТипыДанных)
	               |	И Б24_К_ИдентификаторыДел.ТипОбъекта = &ТипОбъекта
	               |	И Б24_К_ИдентификаторыДел.ИдентификаторОбъекта = &ИдентификаторОбъекта";
	
	ВыполненныйЗапрос = Запрос.Выполнить();
	
	Результат = НЕ ВыполненныйЗапрос.Пустой();
	
	Возврат Результат;
	
КонецФункции
7 arsik
 
гуру
07.07.25
17:45
А есть уверенность, что именно на этой строке ошибка?
"ВыполненныйЗапрос = Запрос.Выполнить();"
8 youalex
 
07.07.25
17:47
{<Неизвестный модуль - похоже на динамический код (в Вычислить() или внезапно, в Выполнить())
9 I_learn_1c
 
07.07.25
18:19
(7) ошибка именно тут была, но нашла косяк кажется... нужно передавать в параметр Строка(Б24_К_ОбъектДляЭкспорта.Ссылка.УникальныйИдентификатор())
10 vicof
 
07.07.25
18:29
(9) .
11 Волшебник
 
07.07.25
21:08
(10) женщины...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой