|
Доступные поля в скд | ☑ | ||
---|---|---|---|---|
0
chingiz
23.08.11
✎
09:27
|
Появилась проблема. Как программно добавить доступные поля? Есть параметры, которые отображаются при выводе отчета(в папке параметры), нужно их скопировать в такую же папку, только свою(учебное задание).
|
|||
1
lxs
23.08.11
✎
09:29
|
СП украли? Там все есть. У Хрусталевой тоже.
|
|||
2
chingiz
23.08.11
✎
09:53
|
Использовал, но недопонимаю некоторые вещи. в сп нашел примерную схему добавления, но не понимаю что есть .Поле и .ПутьКДанным? Объясните пожалуйста если не сложно.
ПолеНов=НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); ПолеНов.Поле="лала"; ПолеНов.ПутьКДанным= ?; ПолеНов.Заголовок="Заголовок1"; |
|||
3
chingiz
23.08.11
✎
09:53
|
Я только первую неделю в скд, так что программная настройка для меня - потрясение 8)
|
|||
4
chingiz
23.08.11
✎
14:47
|
В общем допилил все что хотел+добавляем доступные поля в папке. Если что, то настраивается уже созданная схемакомпоновкиданных, а не создается с нуля. Совет другим новичкам - учитесь пользоваться синтаксис-помощником, помогает лучше интернета. Оставлю для истории, вдруг кому пригодится ибо в интернете отыскать это все тяжеловато.
//запрос на хар-ки ЗапросКол=Новый Запрос; ЗапросКол.Текст= "ВЫБРАТЬ | СвойстваНоменклатуры.Ссылка |ИЗ | ПланВидовХарактеристик.СвойстваНоменклатуры КАК СвойстваНоменклатуры"; //Выполним запрос и запишем результат в переменную РезультатЗапроса РезультатЗапроса=ЗапросКол.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); ВремЗапрос=""; ВремПоля=""; НомерТекПеременной = 0; НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1; //формируем вложенные запросы относительно количества характеристик Пока Выборка.Следующий() Цикл НомерТекПеременной = НомерТекПеременной + 1; ТекПеременнаяИмени = "ВидСвойства" + НомерТекПеременной; ВремЗапрос=ВремЗапрос+ " |ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЗначенияСвойствНоменклатуры.НаборСвойств КАК НаборСвойств, | ЗначенияСвойствНоменклатуры.Значение КАК Значение |ИЗ | РегистрСведений.ЗначенияСвойствНоменклатуры КАК ЗначенияСвойствНоменклатуры |ГДЕ | ЗначенияСвойствНоменклатуры.ВидСвойства = &"+ТекПеременнаяИмени+") КАК "+ТекПеременнаяИмени+" |ПО ЗначенияСвойствНоменклатуры.НаборСвойств = "+ТекПеременнаяИмени+".НаборСвойств"; ВремПоля = ВремПоля + "," + Символы.ПС + ТекПеременнаяИмени + ".Значение КАК " + ТекПеременнаяИмени + "Значение"; //добавляем параметры ВидСвойства ПараметрыСхемы = СхемаКомпоновкиДанных.Параметры.Добавить(); ПараметрыСхемы.Имя = ТекПеременнаяИмени; ПараметрыСхемы.Заголовок = ТекПеременнаяИмени; ПараметрыСхемы.Значение = Выборка.Ссылка; ПараметрыСхемы.ОграничениеИспользования = Истина; //добавляем новые доступные поля ПолеНов=Наборданных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); ПолеНов.Поле=ТекПеременнаяИмени +"Значение"; ПолеНов.ПутьКДанным= "ВидСвойств."+ТекПеременнаяИмени; ПолеНов.Заголовок = Выборка.Ссылка.наименование; КонецЦикла; //заменяем запрос скд на нужный НаборДанных.Запрос= "ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияСвойствНоменклатуры.НаборСвойств КАК НаборСвойств" +ВремПоля+ " |ИЗ | РегистрСведений.ЗначенияСвойствНоменклатуры КАК ЗначенияСвойствНоменклатуры"+ ВремЗапрос; //формируем вывод в результирующий документ Настройки = КомпоновщикНастроек.Настройки; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |