Доступ через com соединение к реквизиту документа созданного в расширении

1. rougudz 12.09.22 09:51 Сейчас в теме
Приветствую всех, если конфигурация БП 3.0 стандартная. в документе поступление добавил реквизит в табличную часть товары через расширение (адаптация, безопасный режим отключен), версия 1С 8.3.20.1674. делаю подключение к этой базе (через V83.COMConnector) и простейший запрос, валится с ошибкой что такого реквизита нету. делаю в самой базе такой-же запрос (через внешнюю обработку), все работает. ничего похожего особе не нашел в интернетах. может было у когото?
По теме из базы знаний
Найденные решения
14. umev 16.09.22 21:07 Сейчас в теме
Сейчас попробовал из бухии обратиться к реквизиту расширения в УТ.
Все нормально. И там и там юзер с полными правами.
&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервере
Процедура Команда1НаСервере()
	
	Попытка
		Connector = Новый COMОбъект("V83.COMConnector");
		Соединение = Connector.connect("File=""C:\1C\******"";Usr=""Admin1C"";Pwd=""*********"";");
	Исключение
		Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
		Возврат;
	КонецПопытки; 
	
	Запрос = Соединение.NewObject("Запрос");
	Запрос.Текст = "ВЫБРАТЬ
	|	Приобретение.Номер КАК Номер,
	|	Приобретение.Дата КАК Дата,
	|	Приобретение.РасшУТ_ДатаВПечать КАК ДатаВПечать
	|ИЗ
	|	Документ.ПриобретениеТоваровУслуг КАК Приобретение
	|";
	РезультатЗапроса = Запрос.Выполнить().Выгрузить(); //Получили COM объект
	Преобразование = ЗначениеИзСтрокиВнутр(Соединение.ЗначениеВСтрокуВнутр(РезультатЗапроса));

КонецПроцедуры
Показать


У расширения безопасный режим и защита от опасных действий отключены.
Использовать основную роль для всех пользователей включено.
Назаначение - дополнение.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 12.09.22 10:47 Сейчас в теме
(1)не было, но попытаюсь малость пованговать:
Необходимо пользователю, с помощью которого подключаетесь по COM, дать роль из расширения.
3. rougudz 12.09.22 11:58 Сейчас в теме
(2)
(1)не было, но попытаюсь малость пованговать:
Необходимо пользователю, с помощью которого подключаетесь по COM, дать роль из расширения.

1. пользователи под которым запускаю 1с и подключаюсь по com, одинаковые
2. в расширении нету ролей, там только 1 реквизит и форма на которую оный выведен.
5. ishelper 12.09.22 18:40 Сейчас в теме
(1)
безопасный режим отключен
Почти год назад вам советовали:
для работы в внешними соединениями нужны соотв. права у расширения. (флажки "защита о опасных действий" и "безопасный режим")
А теперь у вас безопасный режим отключен - забыли про ту ветку?
6. rougudz 13.09.22 11:52 Сейчас в теме
(5)в прошлом годе так и забылось (не понадобилось) сейчас всплыло обратно)
отключен режим безопасный и защита от опасных действий или включен - неважно. все равно нету толку....
4. Nykos 12.09.22 17:39 Сейчас в теме
Так а в основной конфигурации реквизит добавил?
7. rougudz 13.09.22 11:53 Сейчас в теме
(4)нет - реквизит в расширении, был бы в основной проблем бы не было. но снимать с поддержки нельзя
8. rougudz 13.09.22 12:02 Сейчас в теме
Ошибка примерно такая:
Поле не найдено "ПоступлениеТоваровУслугТовары.Расш_Авто"
ПоступлениеТоваровУслугТовары.<<?>>Расш_Авто КАК Авто

Расш_Авто это как раз тот реквизит

попытался вместо V83.COMConnector сделать через ole V83.Application, вообще выдает:
Неудачная попытка создания объекта (V83.Application)
9. rougudz 13.09.22 15:01 Сейчас в теме
upd. получилось запустить V83.Application (надо бьло зарегить "C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver)
но чуда также не случилось:
1C:Enterprise 8.3.20.1613: {(10, 32)}: Поле не найдено "ПоступлениеТоваровУслугТовары.Расш_Авто"
ПоступлениеТоваровУслугТовары.<<?>>Расш_Авто КАК Авто
10. rougudz 14.09.22 09:29 Сейчас в теме
11. rougudz 16.09.22 13:16 Сейчас в теме
Похоже никто не знает. жаль. может кто-то в курсе как обратиться к 1С с такой проблемой? т.е. как куда и что писать? у кого-то был подобный опыт?
12. user1831019 16.09.22 13:26 Сейчас в теме
(11) А ты точно через COM обращаешься? Есть ощущение, что ты к своей базе обращаешься, в которой данного реквизита нет.

Или расширение работает в безопасном режиме (не работает с внешними соединениями)
13. rougudz 16.09.22 14:05 Сейчас в теме
(12) V83.COMConnector или V83.Application, это же COM? ну насколько я это понимаю.
расширение точно не в безопасном режиме. пробовал менять у расширения все что можно)

не совсем понял про свою базу.
если речь о базе к которой подключаюсь и из которой подключаюсь, то это точно разные базы:

СтрокаПодключения = "File=""путь к базе с расширением""; Usr=""Пользоваьтель""; Pwd=""Пароль"";";
Соединитель = Новый COMObject("V83.COMConnector");
мСоединение = Соединитель.Connect(СтрокаПодключения);
14. umev 16.09.22 21:07 Сейчас в теме
Сейчас попробовал из бухии обратиться к реквизиту расширения в УТ.
Все нормально. И там и там юзер с полными правами.
&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервере
Процедура Команда1НаСервере()
	
	Попытка
		Connector = Новый COMОбъект("V83.COMConnector");
		Соединение = Connector.connect("File=""C:\1C\******"";Usr=""Admin1C"";Pwd=""*********"";");
	Исключение
		Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
		Возврат;
	КонецПопытки; 
	
	Запрос = Соединение.NewObject("Запрос");
	Запрос.Текст = "ВЫБРАТЬ
	|	Приобретение.Номер КАК Номер,
	|	Приобретение.Дата КАК Дата,
	|	Приобретение.РасшУТ_ДатаВПечать КАК ДатаВПечать
	|ИЗ
	|	Документ.ПриобретениеТоваровУслуг КАК Приобретение
	|";
	РезультатЗапроса = Запрос.Выполнить().Выгрузить(); //Получили COM объект
	Преобразование = ЗначениеИзСтрокиВнутр(Соединение.ЗначениеВСтрокуВнутр(РезультатЗапроса));

КонецПроцедуры
Показать


У расширения безопасный режим и защита от опасных действий отключены.
Использовать основную роль для всех пользователей включено.
Назаначение - дополнение.
15. rougudz 20.09.22 14:04 Сейчас в теме
(14)
спасибо!
не знаю что изменилось. но все заработало. ей богу не понимаю, что изменилось.
взял твой код и переделал под свою конфигурацию.
сравнивал потом в чем разница - нету ее, но все работает.
спасибо огромное.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот