Добрый день. Есть документ с комплектацией номенклатуры, при печати гарантийного талона из этого документа, в поле "срок гарантии" заносятся данные из константы (число 12). Срок гарантии зависит от целиСборки (реквизит документа).
ОбластьКомплектующие.Параметры.Гарантия = Константы.СрокГарантии.Получить();
Как можно получить значение реквизита ЦельСборки, чтобы на его основании выбирать срок гарантии?
Что-то наподобие:
Если значение реквизита ЦельСборки такое Тогда
берем данные из константы номер1
Иначе
берем данные из константы номер2
код процедуры привожу ниже
Процедура ГарТалон(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(ГарТалон)
Макет = Документы.СборкаПК.ПолучитьМакет("ГарТалон");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СборкаПК.Дата,
| СборкаПК.Номер,
| СборкаПК.ЦельСборки,
| СборкаПК.Ответственный,
| СборкаПК.СобранныйПК.(
| Номенклатура,
| Артикул,
| Серия
| ),
| СборкаПК.Комплектующие.(
| НомерСтроки,
| Номенклатура,
| Артикул,
| Количество,
| СерийныйНомер
| )
|ИЗ
| Документ.СборкаПК КАК СборкаПК
|ГДЕ
| СборкаПК.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСобранныйПКШапка = Макет.ПолучитьОбласть("СобранныйПКШапка");
ОбластьСПК = Макет.ПолучитьОбласть("СобранныйПК1");
ОбластьСобранныйПК = Макет.ПолучитьОбласть("СобранныйПК");
ОбластьКомплектующиеШапка = Макет.ПолучитьОбласть("КомплектующиеШапка");
ОбластьКомплектующие = Макет.ПолучитьОбласть("Комплектующие");
Подвал = Макет.ПолучитьОбласть("Подвал");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ОбластьЗаголовок.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьСобранныйПКШапка);
ВыборкаСобранныйПК = Выборка.СобранныйПК.Выбрать();
Пока ВыборкаСобранныйПК.Следующий() Цикл
ОбластьСобранныйПК.Параметры.Заполнить(ВыборкаСобранныйПК);
ОбластьСПК.Параметры.Заполнить(ВыборкаСобранныйПК);
ТабДок.Вывести(ОбластьСобранныйПК, ВыборкаСобранныйПК.Уровень());
ТабДок.Вывести(ОбластьСПК, ВыборкаСобранныйПК.Уровень());
КонецЦикла;
ТабДок.Вывести(ОбластьКомплектующиеШапка);
ВыборкаКомплектующие = Выборка.Комплектующие.Выбрать();
Пока ВыборкаКомплектующие.Следующий() Цикл
ОбластьКомплектующие.Параметры.Заполнить(ВыборкаКомплектующие);
// сюда добавить условие выбора константы со сроком гарантии
//// Если Выборка.НайтиСледующий("Тендер, ") Тогда
//// ОбластьКомплектующие.Параметры.Гарантия = Константы.СрокГарантииТендер.Получить();
//// Иначе
//// ОбластьКомплектующие.Параметры.Гарантия = Константы.СрокГарантии.Получить();
////
//// КонецЕсли;
ОбластьКомплектующие.Параметры.Гарантия = Константы.СрокГарантии.Получить();
ТабДок.Вывести(ОбластьКомплектующие, ВыборкаКомплектующие.Уровень());
КонецЦикла;
Подвал.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Подвал);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры