Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 09:10

Перенос Параметра из справочника в отчет

Автор llpass, 17 фев 2015, 23:44

0 Пользователей и 1 гость просматривают эту тему.

llpass

Добрый день.. кто нитьможет подсказать... не могу догнать как правильно написать Процедуру , суть такая
в справочнике номенклатура создал кнопку для быстрого вывода отчета по выбранной номенклатуре. выбираешь номенклатура, нажимаешь на кнопку партии открыватся отчет и необходимо чтоб выбраная номенклатура была на месте "ВыбТМЦ" в отчете


написано так
//*******************************************************
Процедура ПоКнопкеПартииТМЦ()

Параметр = ТекущийЭлемент();
Параметр = СоздатьОбъект("СписокЗначений");
Параметр.ДобавитьЗначение(ТекущийЭлемент()   , "ВыбТМЦ");
ОткрытьФорму("Отчет.ВедомостьПоПартиямТМЦ", Параметр );
КонецПроцедуры // ПоКнопкеПартииТМЦ()
//*******************************************************


что не так?

has

Вот это убрать
Параметр = ТекущийЭлемент();
А что в форме отчета в процедуре ПриОткрытии()? И что не так в результате?

llpass

Процедура ПриОткрытии(ФлагВосстановленияНастройки)
     
   
   //                  тип          вид           переменная  название
   глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","Номенклатура",    "Номенклатура",  "По номенклатуре");         
   глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","Контрагенты",       "Поставщик",  "По поставщикам");
   глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","ЗначенияСвойств",    "Номенклатура",  "По свойствам номенклатуры");
   глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","ЗначенияСвойств",    "Поставщик",  "По свойствам поставщиков");
   глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","Фирмы", "Фирма",  "По фирмам");
   глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","СвоиЮрЛица", "ЮрЛицо",  "По юр. лицам");
   глДобавитьВТаблицуМФ(ТаблицаМФ,"Справочник","УпрАналитика", "УпрАналитика",  "По упр. аналитике");

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

      ВыбСтатусПартии = глРасшифровка.Получить("ВыбСтатусПартии");
      ВыбТМЦ          = глРасшифровка.Получить("ВыбТМЦ");
      ВыбМОЛ          = глРасшифровка.Получить("ВыбМОЛ");
      ВыбПоставщик   = глРасшифровка.Получить("ВыбПоставщик");
                                       
      ВидЕдиницы      = глРасшифровка.Получить("ВидЕдиницы");
      ВидСуммы      = глРасшифровка.Получить("ВидСуммы");
      
      ПоОперациям    = глРасшифровка.Получить("ПоОперациям");
      
      глРасшифровка.Получить("Группировки").Выгрузить(Группировки);
      
      Если ТипЗначенияСтр(глРасшифровка.Получить("ТаблицаМФ"))="ТаблицаЗначений" Тогда
         ТаблицаМФ.Загрузить(глРасшифровка.Получить("ТаблицаМФ"));
      КонецЕсли;

      Если Обновить <> 0 Тогда
         Таб = глТаблица;
      КонецЕсли;           
      
      Если Обновить <> 2 Тогда
         Сформировать();
         СтатусВозврата(0);
         Возврат;       
      КонецЕсли;           
   Иначе
      Обновить = 0;
   КонецЕсли;                     
   
   ПерерисовкаНазванийЗакладок();

   ТаблицаМФ.ВидимостьКолонки("Тип",0);
   ТаблицаМФ.ВидимостьКолонки("Вид",0);
   ТаблицаМФ.ВидимостьКолонки("СписокЭлементов",0);         
   ТаблицаМФ.ВидимостьКолонки("ТипМФ",0);
   ТаблицаМФ.ВидимостьКолонки("ИмяПеременной",0);
   
   ТаблицаМФ.ВыводитьПиктограммы("ФлВкл");
   


   УправлениеДиалогом();
   
КонецПроцедуры

has

Если нигде нет в отчете обработки параметра формы, через Форма.Параметр, то фильтр собственно и не будет работать. Т.е. примерно так должно быть

Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда
    ВыбТМЦ = Форма.Параметр.Получить("ВыбТМЦ");
    Если ПустоеЗначение(ВыбТМЦ) = 1 Тогда
        //ну а тут уже действия, которые необходимы
    КонецЕсли;
КонецЕсли;

llpass

Цитата: has от 18 фев 2015, 09:24
Если нигде нет в отчете обработки параметра формы, через Форма.Параметр, то фильтр собственно и не будет работать. Т.е. примерно так должно быть

Если ТипЗначенияСтр(Форма.Параметр) = "СписокЗначений" Тогда
    ВыбТМЦ = Форма.Параметр.Получить("ВыбТМЦ");
    Если ПустоеЗначение(ВыбТМЦ) = 1 Тогда
        //ну а тут уже действия, которые необходимы
    КонецЕсли;
КонецЕсли;


Все  в встаил в  при  отурытии отчета все заработалао!!! примного  благодарен
Добавлено: 19 фев 2015, 21:45


Рано порадовался...  перенос  работет..  но теперь...  при  открытии через запуск  нового.. выдает ошибку
значение не представляет агрегатный объект (получить)

has

А отладчик что говорит? Вообще тут надо Иначе скорей всего добавлять, чтобы отделить открытие отчета из справочника и как нового. Я Вам код для примера привел, дальше самому думать.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск