Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 мая 2024, 15:55

Печатная форма. Обращение к реквизиту по ссылке на объект

Автор AntonBlg, 31 мар 2016, 06:05

0 Пользователей и 1 гость просматривают эту тему.

AntonBlg

Всем привет! Возникла задача заполнения макета печати документа по данным о студенте.

В реквизитах документа есть только ссылка на элемент справочника "Студенты":

Для получения имени студента я написал следующий код:
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.Справки.ПолучитьМакет("МойМакет");

СсылкаНаДокумент = Документы.Справки.ПолучитьСсылку();
ИмяСтудента = СсылкаНаДокумент.Студент.Имя;

МояНоваяОбласть = Макет.ПолучитьОбласть("Область1");
МояНоваяОбласть.Параметры.ИмяПараметра = ИмяСтудента;
ТабДок.Вывести(МояНоваяОбласть);
КонецПроцедуры

В итоге, содержание реквизита "Имя" не извлекается по ссылке на объект "Студент":


Подскажите, пожалуйста, что я делаю не так?

Luzer1C

//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.Справки.ПолучитьМакет("МойМакет");
   
    ИмяСтудента = Ссылка.Студент.Имя;
   
    МояНоваяОбласть = Макет.ПолучитьОбласть("Область1");
    МояНоваяОбласть.Параметры.ИмяПараметра = ИмяСтудента;
    ТабДок.Вывести(МояНоваяОбласть);
Халамбалам.

AntonBlg

Предложенный вариант не работает:
ИмяСтудента = Ссылка.Студент.Имя;
Эта строка выдает ошибку: Поле объекта не обнаружено (Студент)

Luzer1C

Халамбалам.

vitasw

 ИмяСтудента = СсылкаНаДокумент.Студент.Наименование
?

Luzer1C

ЦитироватьИмяСтудента = СсылкаНаДокумент.Студент.Наименование
?
Тоже так думал, но смущает, что поле "Студент" не обнаружено.
По сути код ошибки говорит о том, что реквизита "Студент" в документе  нет.
Халамбалам.

AntonBlg

Попробовал все предложенные варианты и на 1С:Предприятие 8.2, на которой изначально всё делал, и на 8.3. Везде просто тишина, никаких ошибок не вылетает при выполнении кода, но и в параметр ничего не передается :(

Rasty

скиньте скрин с развернутом значением ссылка в отладчике
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

AntonBlg

Походу, всё грустно даже начиная с ссылки на документ:

Добавлено: 02 апр 2016, 04:38


Уже отчаялся и пытаюсь получить сам объект документа из модуля объекта:
Функция ПолучитьМойОбъект() Экспорт
Возврат ЭтотОбъект.Ссылка;
КонецФункции

А затем использовать полученный объект в модуле менеджера:
&НаСервере
Функция ПолучитьЭтотДокумент()
Возврат Документы.Справки.ПолучитьМойОбъект();
КонецФункции

Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)

Макет = Документы.Справки.ПолучитьМакет("МойМакет");
СсылкаНаДокумент = Ссылка;

Переменная1 = ПолучитьЭтотДокумент();

ИмяСтудента = СсылкаНаДокумент.Студент.Имя;
МояНоваяОбласть = Макет.ПолучитьОбласть("Область1");
МояНоваяОбласть.Параметры.ИмяПараметра = ИмяСтудента;
ТабДок.Вывести(МояНоваяОбласть);
КонецПроцедуры

Но, увы, ничего не выходит. Компилятор ошибок не выдаёт, а при отладке выбрасывает ошибку:

vitasw


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск