Имя: Пароль:
1C
 
Установка параметров в скд
,
0 antotti
 
22.10.14
18:14
Добрый вечер. Помогите пожалуйста!!!
Есть Отчет. Есть форма с реквизитами "Дата Начала" и "Дата Конца"
Есть параметры в СКД с такими же именами.
Как передать параметры, которые введет пользователь в форме в параметры скд, и чтобы отчет сформировался с учетом этих данных??
1 antotti
 
22.10.14
18:22
Делаю так в модуле формы (не УФ!!!)

Процедура Сформировать()
    //
    СхемаКомпоновкиДанных =  ПолучитьОбщийМакет("ОсновнаяСхемаКомпоновкиДанных");
    //
    СхемаКомпановки    = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = СхемаКомпановки.НастройкиПоУмолчанию;
    Настройки.ПараметрыДанных.Элементы[0].Значение = НачалоПериода;
    Настройки.ПараметрыДанных.Элементы[1].Значение = КонецПериода;
    //
    ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецДня(ЭлементыФормы.КонецПериода));
    
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    
    
    ////Формируем макет компоновки данных
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
    //
    ////выполним компоновку данных
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
    //
    //
    ////Выводим результат компоновки в табличный документ.
    ДокументРезультат = Новый ТабличныйДокумент;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    //
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);    
    //    
КонецПроцедуры
2 elCust
 
22.10.14
18:28
А почему нельзя установить эти параметры в настройке самой СКД?
3 antotti
 
22.10.14
18:30
мне нужно чтобы пользователь вводил их руками. А они стандартно спрятаны в настройки. и каждый раз клацать - открывать настройки - неудобно(
4 antotti
 
22.10.14
18:30
Не управляемый формы.
5 antotti
 
22.10.14
18:36
Переделал :
Процедура Сформировать()
    //
    СхемаКомпоновкиДанных =  ПолучитьОбщийМакет("ОсновнаяСхемаКомпоновкиДанных");
    //
    
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    Настройки.ПараметрыДанных.Элементы[0].Значение = этотОбъект.НачалоПериода;
    Настройки.ПараметрыДанных.Элементы[1].Значение = ЭтотОбъект.КонецПериода;
    //
    //ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецДня(ЭлементыФормы.КонецПериода));
    
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

    ////Формируем макет компоновки данных
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
    //
    ////выполним компоновку данных
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
    //
    //
    ////Выводим результат компоновки в табличный документ.
    ДокументРезультат = Новый ТабличныйДокумент;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    //
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);    
    //
    //Документрезультат.Вывести();
    ДокументРезультат.Показать();
    //
    //
    //
КонецПроцедуры

НеРаботает все равно(
6 antotti
 
22.10.14
18:37
Кто нибудь может написать как передать эти две даты в параметры скд????
7 Aprobator
 
22.10.14
19:12
В юмор. Смотри тут http://infostart.ru/public/101851/
По ссылке - один из примеров реализации твоей проблемы. Раньше с СКД вообще не работал программно что ли? Код - реально времен царя Гороха.
8 antotti
 
22.10.14
19:20
программно нет(
9 antotti
 
22.10.14
19:22
Смотри, там процедура "при открытии", а мне же нужно чтобы пользователь ввел данные, а потом их передать, а не при открытии передавать. Или я не прав? объясни?
10 Aprobator
 
22.10.14
19:23
Тогда ищи курсы или описание в сети. Примеров масса. Самому там не так всё просто осилить. Вот тут покопайся в частности http://1cskd.ru/.
11 Aprobator
 
22.10.14
19:27
Я вообще такое впервые вижу, чтобы СхемаКомпоновки с общего макета получалась, но не суть. Тебе надо у отчета при открытии установить СхемуКомпоновки данных и загрузить настройки по умолчанию. Если покопаться в СП там всё это есть. Не осилишь - завтра подскажу. Сегодня умудохался за день, а тебе тут буквально по полочкам разжевывать придется.
12 antotti
 
26.10.14
01:10
спасибо всем, сделал)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.