Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отчеты СКД
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
meverikxp
Здравствуйте, просветите меня по такому вопросу, как сделать запрос в СКД так что бы можно было вводить параметры в форме не СКД. или точнее есть форма отчета в ней реквизиты, например даты. и уже в зависимости от параметров выполняется СКД и выводит результат. СПАСИБО
Acid
Цитата(meverikxp @ 23.06.11, 15:37) необходимо зарегистрироваться для просмотра ссылки
Здравствуйте, просветите меня по такому вопросу, как сделать запрос в СКД так что бы можно было вводить параметры в форме не СКД. или точнее есть форма отчета в ней реквизиты, например даты. и уже в зависимости от параметров выполняется СКД и выводит результат. СПАСИБО

| РегистрСведений.Остатки( &ДатаНач, &ДатаКон)

Запрос.УстановитьПараметр("ДатаНач", Дата1);
Запрос.УстановитьПараметр("ДатаКон", Дата2);
meverikxp
Цитата(Acid @ 23.06.11, 16:12) необходимо зарегистрироваться для просмотра ссылки
| РегистрСведений.Остатки( &ДатаНач, &ДатаКон)

Запрос.УстановитьПараметр("ДатаНач", Дата1);
Запрос.УстановитьПараметр("ДатаКон", Дата2);


Сделал совсем не так
1) создал форму отчета
2) При открытии формы получаем макет компоновки
2) При нажатии сформировать вызывается процедура
Процедура СформироватьОтчет() Экспорт
    ЭлементыФормы.Результат.Очистить();
    
   ПараметрДата = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата");
   ПараметрДата.Использование = Истина;
   ПараметрДата.Значение  = ЭлементыФормы.Дата.Значение;
  
   ПараметрДата2 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата2");
   ПараметрДата2.Использование = Истина;
   ПараметрДата2.Значение  = ЭлементыФормы.Дата2.Значение;
  
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, КомпоновщикНастроек.Настройки,);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ,, Истина);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
    
    Попытка
        
        ПроцессорВывода.НачатьВывод();
        Пока Истина Цикл
            ОбработкаПрерыванияПользователя();
            ЭлементРезультата = ПроцессорКомпоновки.Следующий();
            Если ЭлементРезультата = Неопределено Тогда
                Прервать;
            Иначе
                ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
            КонецЕсли;
        КонецЦикла;
        
    Исключение
        Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
    КонецПопытки;
    
    ПроцессорВывода.ЗакончитьВывод();
    
КонецПроцедуры
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.