Счет на оплату - получить значение из дополнительных сведений
Добрый день!
Есть внешняя форма "Счет на оплату покупателю", требуется из дополнительных сведений, пуcть у нас там будет добавлен параметр "Куратор", получить это значение в печатной форме.
Раньше в 2.0 работал такой код:
Тут же он не работает, подскажите как организовать?
Есть внешняя форма "Счет на оплату покупателю", требуется из дополнительных сведений, пуcть у нас там будет добавлен параметр "Куратор", получить это значение в печатной форме.
Раньше в 2.0 работал такой код:
//Вытаскиваем дополнительный реквизит "Куратор"
МенеджерЗаписиРегистра = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Куратор");
МенеджерЗаписиРегистра.Прочитать();
Если МенеджерЗаписиРегистра.Выбран()
Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение;
КонецЕсли
Тут же он не работает, подскажите как организовать?
По теме из базы знаний
- Учет по проектам в 1С:Бухгалтерии 3.0
- Дополнительные сведения в типовых конфигурациях 1С
- Продажи и прибыль в разрезе менеджеров с использованием дополнительных сведений в БП 3.0
- Оплата счетов в разрезе менеджеров с использованием дополнительных сведений в БП 3.0
- Оплата счетов в 1С:Бухгалтерии: выставлено и оплачено
Найденные решения
Упустил, что план видов характеристик "Свойства объектов" тоже нет
Исправленный код
Исправленный код
МенеджерЗаписиРегистра = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Куратор");
МенеджерЗаписиРегистра.Прочитать();
Если МенеджерЗаписиРегистра.Выбран()
Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение;
КонецЕсли
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Исправил код из (1)
МенеджерЗаписиРегистра = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Куратор");
МенеджерЗаписиРегистра.Прочитать();
Если МенеджерЗаписиРегистра.Выбран()
Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение;
КонецЕсли
(4) BAPBAP,
ВнешняяОбработка.ВПФ_СчетНаОплатуПокупателю.МодульОбъекта(378,40)}: Переменная не определена (Объект)
НаборЗаписей.Отбор.Объект.Установить(<<?>>Объект); (Проверка: Сервер)
{ВнешняяОбработка.ВПФ_СчетНаОплатуПокупателю.МодульОбъекта(379,42)}: Переменная не определена (Свойство)
НаборЗаписей.Отбор.Свойство.Установить(<<?>>Свойство); (Проверка: Сервер)
Вписал такой код, при запуске обработки выдает "Поле объекта не обнаружено(Свойства объектов)" (
ТекДок = МассивОбъектов[0]; //Ссылка на документ для которой формируем печатную форму
НаборЗаписей = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Объект.Установить(ТекДок); НаборЗаписей.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Куратор"));
НаборЗаписей.Прочитать();
Упустил, что план видов характеристик "Свойства объектов" тоже нет
Исправленный код
Исправленный код
МенеджерЗаписиРегистра = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
МенеджерЗаписиРегистра.Объект = СсылкаНаОбъект;
МенеджерЗаписиРегистра.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Куратор");
МенеджерЗаписиРегистра.Прочитать();
Если МенеджерЗаписиРегистра.Выбран()
Тогда КураторНаПечать = МенеджерЗаписиРегистра.Значение;
КонецЕсли
Давно уже надо было переходить на запросы, а не использовать объектную модель.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеСведения.Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Документ
| И ДополнительныеСведения.Свойство = &Свойство";
Запрос.УстановитьПараметр("Документ", СсылкаНаДокумент);
Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Куратор"));
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Сообщить(Выборка.Значение);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеСведения.Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Документ
| И ДополнительныеСведения.Свойство = &Свойство";
Запрос.УстановитьПараметр("Документ", СсылкаНаДокумент);
Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Куратор"));
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Сообщить(Выборка.Значение);
КонецЕсли;
в функцию передаешь ссылку(объект) и Свойство(Значение ПВХ)
Функция ПолучитьЗначениеСвойстваОбъектов(Объект, Свойство) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеСведения.Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Объект = &Объект
| И ДополнительныеСведения.Свойство = &Свойство";
Запрос.УстановитьПараметр("Объект",Объект);
Запрос.УстановитьПараметр("Свойство",Свойство);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Если ЗначениеЗаполнено(Выборка.Значение) Тогда
Возврат Выборка.Значение;
Иначе
Возврат Неопределено;
КонецЕсли;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот