Имя: Пароль:
1C
1С v8
v8: Опять СКД. Не могу привязать реквизит формы с параметром.
0 kyrgyz
 
03.10.12
10:01
Пока учусть....
Есть три параметра в запросе. В форму вытащил три реквизита.
В модуле пишу:
СхемаКомпановки    = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки = СхемаКомпановки.НастройкиПоУмолчанию;
   Настройки.ПараметрыДанных.Элементы[0].Значение = НачалоПериода;
   Настройки.ПараметрыДанных.Элементы[1].Значение = КонецПериода;
   Настройки.ПараметрыДанных.Элементы[2].Значение = ВыбКонтрагент;

Пишет {Форма.ФормаОтчета.Форма(5)}: Индекс находится за границами массива
   Настройки.ПараметрыДанных.Элементы[0].Значение = НачалоПериода;

Что не так?
1 чувак
 
03.10.12
10:02
В СКД посмотри флажки параметров :))
2 чувак
 
03.10.12
10:03
Там в двух местах. В закладке "Параметры" и в настройке закладки "Параметры"
3 kyrgyz
 
03.10.12
10:05
(1) Смотрел везде  по аналогиии сдругим рабочи отчетов выставил как там. но не работает
4 чувак
 
03.10.12
10:06
Тв есть? посмотрю
5 kyrgyz
 
03.10.12
10:11
В асе тимку дал...
6 kyrgyz
 
03.10.12
10:27
Прдвинулся но вот новая ошибка

Не задано значение параметра "ВыбКонтрагент"
ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя.Контрагент В(<<?>>&ВыбКонтрагент
А вот  акт определяю
СхемаКомпановки    = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   ТекПараметры = СхемаКомпановки.Параметры;
   ТекПараметры.ВыбКонтрагент.Значение = ВыбКонтрагент;
7 kyrgyz
 
03.10.12
10:38
8 IronDemon
 
03.10.12
10:58
ЭлементПараметраДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВыбКонтрагент");
ЭлементПараметраДанных.Значение = ВыбКонтрагент;
ЭлементПараметраДанных.Использование = Истина;
9 IronDemon
 
03.10.12
10:59
(0) И нефик велосипед изобретать.
10 kyrgyz
 
03.10.12
11:02
(9) Попробовал все равно пишет так.

{Форма.ФормаОтчета.Форма(33)}: Ошибка при вызове метода контекста (Вывести)
   ПроцессорВывода.Вывести(ПроцессорКомпановки);
по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(15, 64)}: Не задано значение параметра "ВыбКонтрагент"
ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя.Контрагент В(<<?>>&ВыбКонтрагент)
11 kyrgyz
 
03.10.12
11:03
А вся процедура у меня такая:

СхемаКомпановки    = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   ТекПараметры = СхемаКомпановки.Параметры;
   ТекПараметры.НачалоПериода.Значение = НачалоПериода;
   ТекПараметры.КонецПериода.Значение = КонецПериода;
   ТекПараметры.ВыбКонтрагент.Значение = ВыбКонтрагент;
   
   ЭлементПараметраДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВыбКонтрагент");
   ЭлементПараметраДанных.Значение = ВыбКонтрагент;
   ЭлементПараметраДанных.Использование = Истина;
   
   Настройки = СхемаКомпановки.НастройкиПоУмолчанию;
   ЗначениеПараметраЗаголовок = Настройки.ПараметрыВывода.Элементы.Найти("Заголовок");
   ЗначениеПараметраЗаголовок.Значение = "Заявки "+Символы.ПС+"За период с "+Формат(НачалоПериода,"ДФ=dd.MM.yy")+" по "+ Формат(КонецПериода,"ДФ=dd.MM.yy");
   
   Расш                = Новый ДанныеРасшифровкиКомпоновкиДанных;
   КомпановщикМакета   = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпановки     = КомпановщикМакета.Выполнить(СхемаКомпановки, Настройки,Расш);
   ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпановки.Инициализировать(МакетКомпановки,,Расш);
   ПроцессорВывода     = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ТаблицаДок            = ЭлементыФормы.Результат;
   ТаблицаДок.Очистить();
   ПроцессорВывода.УстановитьДокумент(ТаблицаДок);
   ПроцессорВывода.ОтображатьПроцентВывода = Истина;
   ПроцессорВывода.Вывести(ПроцессорКомпановки);
   ТаблицаДок.ПоказатьУровеньГруппировокСтрок(1);
   ТаблицаДок.Показать();
12 IronDemon
 
03.10.12
11:14
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ЭлементПараметраДанных = Настройки.ПараметрыДанных.Элементы.Найти("ДатаНач");
ЭлементПараметраДанных.Значение = НачалоДня(ДатаНач);
ЭлементПараметраДанных = Настройки.ПараметрыДанных.Элементы.Найти("ДатаКон");
ЭлементПараметраДанных.Значение = КонецДня(ДатаКон);
ЭлементПараметраДанных = Настройки.ПараметрыДанных.Элементы.Найти("ДокументыПродажи");
ЭлементПараметраДанных.Значение = СписокДокументыПродажи;


КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки, );

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , );

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

ПроцессорВывода.НачатьВывод();

ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Пока ЭлементРезультата <> Неопределено Цикл
   ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
   ЭлементРезультата = ПроцессорКомпоновки.Следующий();
КонецЦикла;

ПроцессорВывода.ЗакончитьВывод();
13 kyrgyz
 
03.10.12
11:26
(12) Подставил ваш код, с перелкой не срабатывает.
Пишет:
{Форма.ФормаОтчета.Форма(13)}: Значение не является значением объектного типа (Значение)
   ЭлементПараметраДанных.Значение = НачалоДня(НачалоПериода);


Я так и не могу понять чем отличается "ПараметрыДанных" от "Параметры"???
14 IronDemon
 
03.10.12
11:27
Тебе писали не для "переделки"
15 kyrgyz
 
03.10.12
11:31
Передеал под свои реквизиты и все.

СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

   Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
   ЭлементПараметраДанных = Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
   ЭлементПараметраДанных.Значение = НачалоДня(НачалоПериода);
   ЭлементПараметраДанных = Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
   ЭлементПараметраДанных.Значение = КонецДня(КонецПериода);
   ЭлементПараметраДанных = Настройки.ПараметрыДанных.Элементы.Найти("ВыбКонтрагент");
   ЭлементПараметраДанных.Значение = ВыбКонтрагент;
16 kyrgyz
 
03.10.12
12:01
ау кто-нибудь направьте в нужное русло.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn