|   |   | 
| 
 | Передача параметров в отчет на СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        lite777 27.04.22✎ 09:14 | 
        Здравствуйте ,нужно по команде открыть отчет на скд и передать туда параметры, но параметры не передаются
 Процедура Команда2(Команда) // Вставить содержимое обработчика. СписокНоменклатуры = Новый СписокЗначений; СписокНоменклатуры.Добавить(Объект.ном1); СписокНоменклатуры.Добавить(Объект.Ном2); ПараметрыОтчета = Новый Структура; ПараметрыОтчета.Вставить("Номенклатура",СписокНоменклатуры ); ОткрытьФорму("Отчет.ОтчетПоОст.Форма",ПараметрыОтчета) ; КонецПроцедуры Далее вмодуле отчета- &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЗаполнитьПользовательскиеНастройки(); КонецПроцедуры Процедура ЗаполнитьПользовательскиеНастройки() ДополнительныеСвойства = КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства; Если Не ДополнительныеСвойства.Количество() Тогда Возврат; КонецЕсли; Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы; Отборы = КомпоновщикНастроек.Настройки.Отбор.Элементы; Для каждого Элемент Из Параметры Цикл ИмяПараметра = Строка(Элемент.Параметр); ЗначениеПараметра = Неопределено; Если ДополнительныеСвойства.Свойство(ИмяПараметра, ЗначениеПараметра) Тогда Настройка =КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Элемент.ИдентификаторПользовательскойНастройки); Настройка.Значение = ЗначениеПараметра; Настройка.Использование = Истина; Настройка.ВидСравнения=ВидСравненияКомпоновкиДанных.ВСписке ; КонецЕсли; КонецЦикла; Для каждого Элемент Из Отборы Цикл ИмяПараметра = Строка(Элемент.ЛевоеЗначение); ЗначениеПараметра = Неопределено; Если ДополнительныеСвойства.Свойство(ИмяПараметра, ЗначениеПараметра) Тогда Настройка =КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Элемент.ИдентификаторПользовательскойНастройки); //Настройка.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Настройка.ПравоеЗначение = ЗначениеПараметра; Настройка.Использование = Истина; КонецЕсли; КонецЦикла; КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Очистить(); КонецПроцедуры СКД- ВЫБРАТЬ ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток, ТоварыНаСкладахОстатки.Склад КАК Склад, ТоварыНаСкладахОстатки.Характеристика КАК Характеристика ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ГДЕ ТоварыНаСкладахОстатки.Номенклатура В(&Номенклатура) | |||
| 1
    
        toypaul гуру 27.04.22✎ 09:15 | 
        заполнять надо при открытии     | |||
| 2
    
        toypaul гуру 27.04.22✎ 09:17 | 
        кроме этого в отчет можно передать непосредственно польз. настройки.
 но это сделать сложнее (даже я так никогда не делаю) | |||
| 3
    
        lite777 27.04.22✎ 09:23 | 
        (1) На клиенте ? Что то в модуль отчета при отладке даже не могу попасть , дохожу до ОткрытьФорму("Отчет.ОтчетПоОст.Форма",ПараметрыОтчета) ;     | |||
| 4
    
        lite777 27.04.22✎ 09:23 | 
        Отчет открывается но без параметров     | |||
| 5
    
        lite777 27.04.22✎ 09:35 | 
        Может форму надо создавать о отчета на СКД ?     | |||
| 6
    
        toypaul гуру 27.04.22✎ 09:50 | 
        так это не в форме что вызывается ... ПриСозданииНаСервере     | |||
| 7
    
        lite777 27.04.22✎ 09:51 | 
        (6) Счас в модуле отчета     | |||
| 8
    
        toypaul гуру 27.04.22✎ 09:53 | 
        тогда нужно в другом событии это делать - ПриЗагрузкеПользовательскихНастроекНаСервере     | |||
| 9
    
        lite777 27.04.22✎ 10:15 | 
        Перехватить отладку не могу ни в одной из процедур отчета     | |||
| 10
    
        Ботаник Гарден Меран 27.04.22✎ 11:20 | 
        Отчет на СКД без формы открывается в общей форме, обычно называется "ФормаОтчета".
 Там и нужно искать процедуру ПриСоздании. | |||
| 11
    
        lite777 27.04.22✎ 11:27 | 
        (10) А...     | |||
| 12
    
        toypaul гуру 27.04.22✎ 11:42 | 
        (9) какой-то бред. предлагаю для начала разобраться как реализованы события в отчетах созданных на базе БСП
 (10) не надо там ничего искать. туда можно посмотреть чтобы понять что и как работает. там ничего менять не надо. | |||
| 13
    
        lite777 27.04.22✎ 11:47 | 
        (12) Ну логично , может форму создать ?     | |||
| 14
    
        toypaul гуру 27.04.22✎ 12:06 | 
        (13) ленивым можно создать форму     | |||
| 15
    
        VoditelKobyly 27.04.22✎ 12:22 | 
        (13)А вот так не можете написать?
 ФормаОтчета = ОткрытьФорму("Отчет.ОтчетПоОст.Форма",ПараметрыОтчета); Получите доступ ко всем настройкам отчета. | |||
| 16
    
        toypaul гуру 27.04.22✎ 12:23 | 
        (15) так никто написать не может. низзя так написать     | |||
| 17
    
        VoditelKobyly 27.04.22✎ 12:25 | 
        (16) Я просто спросил...     | |||
| 18
    
        VoditelKobyly 27.04.22✎ 12:26 | 
        Нет, так нет...     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |