Вход | Регистрация

1С:Предприятие ::

Метки: 

Не получается передать параметр с формы в СКД

Я
   1сЮлия
 
10.11.17 - 10:47
Доброе утро!Не получается передать параметр  с формы в СКД
Вот Процедура ПриОткрытии()
            мПериод  = ТекущаяДата();
            мПериод1 = ТекущаяДата();

    Если ВладелецФормы <> Неопределено Тогда
        
        ЕстьОшибки = Ложь;
        
    КонецЕсли;
    ЗначениеПараметраКонецПериодаДействия = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериодаДействия"));
    ЗначениеПараметраКонецПериодаДействия=НачалоДня(КонецКвартала(мПериод1));

ЭлементыФормы.ПредставлениеПериодаМесяцГод.Видимость = Истина;
КонецПроцедуры// ПриОткрытии()
 
 
   DrShad
 
1 - 10.11.17 - 10:48
ну и кто же это делает при открытии?
   1сЮлия
 
2 - 10.11.17 - 10:51
А где делать?
   DrShad
 
3 - 10.11.17 - 10:54
при компоновке результата
   1сЮлия
 
4 - 10.11.17 - 10:54
Процедура ПредставлениеПериодаМесяцГодРегулирование(Элемент, Направление, СтандартнаяОбработка)
      Если Направление = 1 тогда
        мПериод1 = ДобавитьМесяц(мПериод1,3);
    иначе
        мПериод1 = ДобавитьМесяц(мПериод1,-3);
    КонецЕсли;                                               
    ЭлементыФормы.ПредставлениеПериодаМесяцГод.Значение = Формат(мПериод1, "ДФ='кк ""квартал"" гггг ""г.""'");
КонецПроцедуры
   1сЮлия
 
5 - 10.11.17 - 10:55
тут?
   DrShad
 
6 - 10.11.17 - 10:56
нет
   1сЮлия
 
7 - 10.11.17 - 10:57
У меня отчет на скд. В модуле формы только
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

    // Установим дату начала отчета

    //Если ЗначениеЗаполнено(глЗначениеПеременной("глТекущийПользователь")) Тогда

        
            мПериод  = ТекущаяДата();
            мПериод1 = ТекущаяДата();
    
    //КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ПредставлениеПериодаМесяцГод) Тогда
        ЭлементыФормы.ПредставлениеПериодаМесяцГод.Значение = Формат(мПериод1, "ДФ='кк ""квартал"" гггг ""г.""'");
    КонецЕсли;
    ЭлементыФормы.ПредставлениеПериодаМесяцГод.Видимость = Ложь;
КонецПроцедуры// ПередОткрытием()

Процедура ПриОткрытии()
            мПериод  = ТекущаяДата();
            мПериод1 = ТекущаяДата();

    Если ВладелецФормы <> Неопределено Тогда
        
        ЕстьОшибки = Ложь;
        
    КонецЕсли;
    ЗначениеПараметраКонецПериодаДействия = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериодаДействия"));
    ЗначениеПараметраКонецПериодаДействия=НачалоДня(КонецКвартала(мПериод1));

ЭлементыФормы.ПредставлениеПериодаМесяцГод.Видимость = Истина;
КонецПроцедуры// ПриОткрытии()

Процедура ПредставлениеПериодаМесяцГодРегулирование(Элемент, Направление, СтандартнаяОбработка)
      Если Направление = 1 тогда
        мПериод1 = ДобавитьМесяц(мПериод1,3);
    иначе
        мПериод1 = ДобавитьМесяц(мПериод1,-3);
    КонецЕсли;                                               
    ЭлементыФормы.ПредставлениеПериодаМесяцГод.Значение = Формат(мПериод1, "ДФ='кк ""квартал"" гггг ""г.""'");
КонецПроцедуры
   DrShad
 
8 - 10.11.17 - 10:58
в модуле объекта
   1сЮлия
 
9 - 10.11.17 - 10:59
Что нужно прописать?Можно пример?
   DrShad
 
10 - 10.11.17 - 11:00
в гугле полно
 
 Рекламное место пустует
   1сЮлия
 
11 - 10.11.17 - 11:17
так
екущаяСхемаКомпоновкиДанных = ПолучитьМакет("Лимиты");
    
    //Устанавливаем параметры

    ТекущаяСхемаКомпоновкиДанных.Параметры["КонецПериодаДействия"].Значение =НачалоДня(КонецКвартала(мПериод1));
  
    //Из схемы возьмем настройки по умолчанию

    Настройки = ТекущаяСхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    //Помещаем в переменную данные о расшифровке данных

    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    
    //Формируем макет, с помощью компоновщика макета

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    //Передаем в макет компоновки схему, настройки и данные расшифровки

    МакетКомпоновки = КомпоновщикМакета.Выполнить(ТекущаяСхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    
    //Выполним компоновку с помощью процессора компоновки

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

    Результат = ЭлементыФормы.Результат;
    Результат.Очистить();
    
    //Выводим результат в табличный документ

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(Результат);
    
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   1сЮлия
 
12 - 10.11.17 - 11:17
?
   1сЮлия
 
13 - 10.11.17 - 11:18
Это нужно прописать в процедуре при компоновке результата?
   1сЮлия
 
14 - 10.11.17 - 11:37
отчет выводится, а параметр все равно не передается
   1сЮлия
 
15 - 10.11.17 - 11:37
Функция СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина) Экспорт
    ТекущаяСхемаКомпоновкиДанных = ПолучитьМакет("Лимиты");
    
    //Устанавливаем параметры


    ТекущаяСхемаКомпоновкиДанных.Параметры["КонецПериодаДействия"].Значение =НачалоДня(КонецКвартала(мПериод1));
  
    //Из схемы возьмем настройки по умолчанию


    Настройки = ТекущаяСхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    //Помещаем в переменную данные о расшифровке данных


    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    
    //Формируем макет, с помощью компоновщика макета


    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    //Передаем в макет компоновки схему, настройки и данные расшифровки


    МакетКомпоновки = КомпоновщикМакета.Выполнить(ТекущаяСхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    
    //Выполним компоновку с помощью процессора компоновки


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


    //Результат = ЭлементыФормы.Результат;

    Результат.Очистить();
    
    //Выводим результат в табличный документ


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

    
КонецФункции
   lobo
 
16 - 10.11.17 - 11:47
если не уф, то обычно это делается в доп.процедуре
  ДоработатьКомпоновщикПередВыводом() - гляньте в типовой


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует