Счет на оплату - получить значение из дополнительных сведений

1. borin 07.01.14 16:42 Сейчас в теме
Добрый день!

Есть внешняя форма "Счет на оплату покупателю", требуется из дополнительных сведений, пуcть у нас там будет добавлен параметр "Куратор", получить это значение в печатной форме.

Раньше в 2.0 работал такой код:
//Вытаскиваем дополнительный реквизит "Куратор"
	МенеджерЗаписиРегистра = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
	МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
	МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Куратор");
	МенеджерЗаписиРегистра.Прочитать();
	Если МенеджерЗаписиРегистра.Выбран() 
		Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение; 
	КонецЕсли

Тут же он не работает, подскажите как организовать?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
10. BAPBAP 07.01.14 18:32 Сейчас в теме
Упустил, что план видов характеристик "Свойства объектов" тоже нет
Исправленный код

    МенеджерЗаписиРегистра = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
    МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
    МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Куратор");
    МенеджерЗаписиРегистра.Прочитать();
    Если МенеджерЗаписиРегистра.Выбран() 
        Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение; 
    КонецЕсли
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. BAPBAP 07.01.14 18:22 Сейчас в теме
Исправил код из (1)

    МенеджерЗаписиРегистра = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
    МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
    МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Куратор");
    МенеджерЗаписиРегистра.Прочитать();
    Если МенеджерЗаписиРегистра.Выбран() 
        Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение; 
    КонецЕсли
9. borin 07.01.14 18:27 Сейчас в теме
(7) BAPBAP, попробовал 2 вариант кода, ошибка та же.
2. BAPBAP 07.01.14 17:52 Сейчас в теме
3. borin 07.01.14 18:03 Сейчас в теме
Ой да извиняюсь, не указал БП 3.0
4. BAPBAP 07.01.14 18:09 Сейчас в теме
попробуйте такой код

		НаборЗаписей = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
		НаборЗаписей.Отбор.Объект.Установить(Объект);
		НаборЗаписей.Отбор.Свойство.Установить(Свойство);
		НаборЗаписей.Прочитать();
5. borin 07.01.14 18:12 Сейчас в теме
(4) BAPBAP,
ВнешняяОбработка.ВПФ_СчетНаОплатуПокупателю.МодульОбъекта(378,40)}: Переменная не определена (Объект)
  НаборЗаписей.Отбор.Объект.Установить(<<?>>Объект); (Проверка: Сервер)
{ВнешняяОбработка.ВПФ_СчетНаОплатуПокупателю.МодульОбъекта(379,42)}: Переменная не определена (Свойство)
  НаборЗаписей.Отбор.Свойство.Установить(<<?>>Свойство); (Проверка: Сервер)
6. BAPBAP 07.01.14 18:15 Сейчас в теме
Вместо "объект" напишите "СсылкаНаОбъект". Вместо "Свойство" напишите "ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Куратор")"
Объект и Свойство я указал образно. Вы должны указать свои значения
8. borin 07.01.14 18:24 Сейчас в теме
Вписал такой код, при запуске обработки выдает "Поле объекта не обнаружено(Свойства объектов)" (
ТекДок = МассивОбъектов[0]; //Ссылка на документ для которой формируем печатную форму
НаборЗаписей = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Объект.Установить(ТекДок);    НаборЗаписей.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Куратор"));
НаборЗаписей.Прочитать();
10. BAPBAP 07.01.14 18:32 Сейчас в теме
Упустил, что план видов характеристик "Свойства объектов" тоже нет
Исправленный код

    МенеджерЗаписиРегистра = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
    МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
    МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Куратор");
    МенеджерЗаписиРегистра.Прочитать();
    Если МенеджерЗаписиРегистра.Выбран() 
        Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение; 
    КонецЕсли
11. borin 07.01.14 18:38 Сейчас в теме
(10) BAPBAP, спасибо, то что нужно, работает ))))
12. Vextel 07.01.14 18:50 Сейчас в теме
Давно уже надо было переходить на запросы, а не использовать объектную модель.

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеСведения.Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Документ
| И ДополнительныеСведения.Свойство = &Свойство";

Запрос.УстановитьПараметр("Документ", СсылкаНаДокумент);
Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Куратор"));
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Сообщить(Выборка.Значение);
КонецЕсли;
13. borin 07.01.14 19:12 Сейчас в теме
(12) Vextel, Спасибо, пусть будет альтернативным решением )
14. vetaldober 18 08.01.14 19:41 Сейчас в теме
в функцию передаешь ссылку(объект) и Свойство(Значение ПВХ)
Функция ПолучитьЗначениеСвойстваОбъектов(Объект, Свойство) Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ 
	|	ДополнительныеСведения.Значение 
	|ИЗ 
	|	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения 
	|ГДЕ 
	|	ДополнительныеСведения.Объект = &Объект 
	|	И ДополнительныеСведения.Свойство = &Свойство"; 
	Запрос.УстановитьПараметр("Объект",Объект);
	Запрос.УстановитьПараметр("Свойство",Свойство);

	Выборка = Запрос.Выполнить().Выбрать();

	Если Выборка.Следующий() Тогда
		Если ЗначениеЗаполнено(Выборка.Значение) Тогда
			Возврат Выборка.Значение;
		Иначе
			Возврат Неопределено;
		КонецЕсли;
	Иначе
		Возврат  Неопределено;
	КонецЕсли;
КонецФункции
Показать
Оставьте свое сообщение

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