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

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

Метки: 

Не работает расшифровка в СКД.

Я
   Босечка
 
26.12.12 - 13:13
Нажимаю на табл. поле, вместо эелемента справочника выдается сообщение со значением этой ячейки.

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

    
    Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия);
    
    Если Настройки <> Неопределено Тогда
       //пользователь выбрал действие, для которого нужно менять настройки
 
 
        Если ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить Тогда
            КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
            ДействияФормыДействие();
        ИначеЕсли ВыполненноеДействие = ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение Тогда    
 //как найти ссылку на документ?            
 


           Ссылка=ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;

            Ссылка.ПолучитьФорму().Открыть();

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


        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
        
        ЭлементыФормы.Результат.ИмяПараметровПечати="ПараметрыПеч";
        
        ЭлементыФормы.Результат.Очистить();
    
    СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);    
    
КонецПроцедуры
Процедура РезультатВыбор(Элемент, Область, СтандартнаяОбработка)
    ИндексРасшифровки=Число(Область.Расшифровка);
    ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    ЭлементРасшифровкиДанных=ДанныеРасшифровки.Элементы[ИндексРасшифровки];
    ЭлементРасшифровкиДанныхПоля=ЭлементРасшифровкиДанных.ПолучитьПоля()[0];
    ОбработкаРасшифровки.ОткрытьЗначение(ЭлементРасшифровкиДанных.Идентификатор, Новый ПолеКомпоновкиДанных(ЭлементРасшифровкиДанныхПоля.Поле));
    
    
    
КонецПроцедуры
   Александр_Тверь
 
3 - 26.12.12 - 13:16
//Формируем макет, с помощью компоновщика макета  
 
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

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

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

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


вот так работает.
   Александр_Тверь
 
4 - 26.12.12 - 13:18
возможно у тебя вот эта строка лишняя:
ДанныеРасшифровки=Новый ДанныеРасшифровкиКомпоновкиДанных;

ибо

Расширение формы отчета (Report form extension)
ДанныеРасшифровки (DetailsData)
Использование:
Чтение и запись.
Описание:
Тип: ДанныеРасшифровкиКомпоновкиДанных. Содержит данные расшифровки последнего выполненного отчета.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения

а ты затираешь их
   Пеппи
 
5 - 26.12.12 - 13:21
(4) да вроде не лишняя, скорее всего процедура не привязана к событию
   Босечка
 
6 - 26.12.12 - 13:23
(5) Какая процедура не привязана и к какому событию?
   Босечка
 
7 - 26.12.12 - 13:27
Убрала строку, все работает также (в смысле не работает)
   Пеппи
 
8 - 26.12.12 - 13:29
у тебя в (0) процедура отрабатывает, все верно. у тебя открывается элемент расшифровки. в общем процедуру дорабатывай как тебе нужно
   Босечка
 
9 - 26.12.12 - 13:54
А как ее дорабатывать? Если бы знала, не спрашивала бы.


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