Ссылка в документе на реквизиты справочника

1. Homkantis 15.05.24 07:31 Сейчас в теме
Приветствую!
Я не так давно начал знакомиться со средой 1С и столкнулся с проблемой установки в данных документа ссылок на элементы справочника.

Есть справочник Кн_БланкиПечатнойПродукции, данные которого это ссылки на различные перечисления.

И есть документ "Кн_ЗаявкаПечатьБланков", в нем в табличной части "БланкТБ" поля Бланк, НаименованиеБланка и ФорматБланка, все с типом "СправочникСсылка.Кн_БланкиПечатнойПродукции".

Необходимо чтобы у поля Бланк был тип данных СправочникСсылка.Кн_БланкиПечатнойПродукции.Код, а при его изменении автоматически заполнялись поля НаименованиеБланка(СправочникСсылка. Кн_БланкиПечатнойПродукции.ФорматЛистаПечатногоБланка) и
ФорматБланка(СправочникСсылка. Кн_БланкиПечатнойПродукции.ВидБумагиПечатногоБланка).

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

На данный момент пытаюсь через форму настроить событие ПриИзменении БланкТББланкПриИзменении, однако постоянно выдает ошибку о том что Поле объекта не обнаружено (ВидБумагиПечатногоБланка)


&НаСервереБезКонтекста
Функция ПолучитьМаркуБумагиБланкаНаСервере(Бланк)
Возврат Бланк.ВидБумагиПечатногоБланка;
КонецФункции

&НаКлиенте
Процедура БланкТББланкПриИзменении(Элемент)

Элементы.БланкТБ.ТекущиеДанные.МаркаБумаги = ПолучитьМаркуБумагиБланкаНаСервере(Элементы.БланкТБ.ТекущиеДанные.Бланк);

КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. starjevschik 15.05.24 08:41 Сейчас в теме
(1)
у поля Бланк был тип данных СправочникСсылка.Кн_БланкиПечатнойПродукции.Код

в стотыщмиллионный раз посоветую пойти учиться. А потом уже зарабатывать программированием. Даже 1с при всей простоте требует понимания некоторых базовых принципов.
2. FUXEARA 15.05.24 08:39 Сейчас в теме
Проверьте отладчиком, чё ваш бланк там содержит в себе, тот что отправили на сервер.
o.kovalev; +1 Ответить
4. scarl1n 15.05.24 09:20 Сейчас в теме
Нельзя в типах ссылаться на реквизиты, а если такое нужно, то типы будут совпадать (т.е если вы хотите добавить "Артикул номенклатуры", то смотрите, какой тип у реквизита "Артикул" справочника "Номенклатура", после чего создаете реквизит с таким же типом). Для решения вашей задачи можно использовать 2 варианта:
1. В табличной части держать лишь реквизит "Бланк" с типом "СправочникСсылка.Кн_БланкиПечатнойПродукции". Добавить форму документа, в табличную часть (в элемент формы) дополнительно вытащить необходимые реквизиты этого самого бланка. Они будут меняться автоматически, но будут недоступны для изменения (что логично).
2. Добавлять все реквизиты прямо в табличную часть (как вы и сделали), затем в обработчике события "При изменении" бланка в табличной части, получать текущие данные и заполнять в них данные. В принципе, ваш код верный, но раз возникает ошибка то, возможно, что у вас неверный тип (например, колонка "Бланк" является строкой) или же у справочника нет реквизита "ВидБумагиПечатногоБланка".
5. scarl1n 15.05.24 09:33 Сейчас в теме
(4)Увидел, что у вас по задаче колонка "Бланк" должна содержать код бланка. Какой тип вы установили? Если "Строка" (каким типом скорее всего и является код справочника бланков), то тут по другому орудовать надо) Искать бланк по коду, а затем доставать из него необходимые реквизиты.
6. Bukaska 140 15.05.24 16:26 Сейчас в теме
ПолучитьМаркуБумагиБланкаНаСервере() - там что у Вас?
Оставьте свое сообщение

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