|   |   | 
| 
 | Доступные поля в скд | ☑ | ||
|---|---|---|---|---|
| 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; ТекПеременнаяИмени = "ВидСвойства" + НомерТекПеременной; ВремЗапрос=ВремЗапрос+ " |ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЗначенияСвойствНоменклатуры.НаборСвойств КАК НаборСвойств, | ЗначенияСвойствНоменклатуры.Значение КАК Значение |ИЗ | РегистрСведений.ЗначенияСвойствНоменклатуры КАК ЗначенияСвойствНоменклатуры |ГДЕ | ЗначенияСвойствНоменклатуры.ВидСвойства = &"+ТекПеременнаяИмени+") КАК "+ТекПеременнаяИмени+" |ПО ЗначенияСвойствНоменклатуры.НаборСвойств = "+ТекПеременнаяИмени+".НаборСвойств"; ВремПоля = ВремПоля + "," + Символы.ПС + ТекПеременнаяИмени + ".Значение КАК " + ТекПеременнаяИмени + "Значение"; //добавляем параметры ВидСвойства ПараметрыСхемы = СхемаКомпоновкиДанных.Параметры.Добавить(); ПараметрыСхемы.Имя = ТекПеременнаяИмени; ПараметрыСхемы.Заголовок = ТекПеременнаяИмени; ПараметрыСхемы.Значение = Выборка.Ссылка; ПараметрыСхемы.ОграничениеИспользования = Истина; //добавляем новые доступные поля ПолеНов=Наборданных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); ПолеНов.Поле=ТекПеременнаяИмени +"Значение"; ПолеНов.ПутьКДанным= "ВидСвойств."+ТекПеременнаяИмени; ПолеНов.Заголовок = Выборка.Ссылка.наименование; КонецЦикла; //заменяем запрос скд на нужный НаборДанных.Запрос= "ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияСвойствНоменклатуры.НаборСвойств КАК НаборСвойств" +ВремПоля+ " |ИЗ | РегистрСведений.ЗначенияСвойствНоменклатуры КАК ЗначенияСвойствНоменклатуры"+ ВремЗапрос; //формируем вывод в результирующий документ Настройки = КомпоновщикНастроек.Настройки; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |