0. coder1cv8 3416 05.02.09 09:40 Сейчас в теме

Реализация расшифровки в Системе Компоновки Данных

Продолжая свой цикл заметок про СКД, сегодня я хотел бы поподробнее остановиться на расшифровке.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. coder1cv8 3416 05.02.09 09:40 Сейчас в теме
Спасибо за плюсы и комментарии! :)
hornet_X; darkmessiahan; tatoshka0403; Eldjer; dr.Uid; +5 Ответить
2. Ish_2 05.02.09 18:11 Сейчас в теме
В отчете , где присутствуют группировки по строкам и по колонкам , у большинства пользователей вызывает затруднение вопрос :
"Как найти поля всех родителей выбранной ячейки по строкам и по столбцам ?".
Например для того ,чтобы построить отбор для подчиненного отчета.
Было бы полезно , если бы Вы в следующей статье раскрыли бы этот вопрос.
alek-sand-er; KAV2; sergey_in; +3 Ответить
3. kadr 36 12.04.09 22:11 Сейчас в теме
>> 2
Применительно к примеру примерно так
Массив = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()
Массив[0] - родитель по горизонтали
Массив[1] - родитель по вертикали

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

Теперь в настройках только отборы
Группировки подобным образом получить не удалось :(
4. coder1cv8 3416 13.04.09 08:30 Сейчас в теме
(3) Ну это легко! )
Код
СхемаКомпоновкиДанных1 = ПолучитьМакет("СтоимостнаяОценкаСклада");
КомпоновщикНастроек1=Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек1.ЗагрузитьНастройки(СхемаКомпоновкиДанных1.НастройкиПоУмолчанию);
Настройки=КомпоновщикНастроек1.Настройки;
Показать полностью
5. coder1cv8 3416 13.04.09 08:32 Сейчас в теме
+(4) Ну что с отображением кода творится?! Хоть тегами не пользуйся! :((
7. kadr 36 13.04.09 10:24 Сейчас в теме
(4)
не так то все и легко ;)

Код
   СхемаКомпоновкиДанных1 = ПолучитьМакет("СтоимостнаяОценкаСклада");
   КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных1.НастройкиПоУмолчанию);
   Настройки=КомпоновщикНастроек.Настройки;
   
   ФормаНастройки = ПолучитьФорму("ФормаНастройки");
   ФормаНастройки.Открыть();
Показать полностью


Отбор загружается, группировок нет.
ФормаНастройки - стандартная форма настройки СКД.
Основная схема компоновки данных отчета не указана. При указании основной СКД отчета группировки остаются от основной СКД, а отбор от загружаемой

(6) Организовать рекурсивную процедуру обхода родителей
8. coder1cv8 3416 13.04.09 11:28 Сейчас в теме
(7) "КомпоновщикНастроек" - это расширение формы отчета, не надо так переменную называть! ;)
9. coder1cv8 3416 13.04.09 11:31 Сейчас в теме
+(8) В том смысле, что завидите отдельный компоновщик, как у меня в примере и всё будет работать...
10. kadr 36 13.04.09 13:08 Сейчас в теме
С учетом (8)
Выставил макет СКД отчета "СтоимостнаяОценкаСклада"

Код
   СхемаКомпоновкиДанных1 = ПолучитьМакет("СтоимостнаяОценкаСклада");
   КомпоновщикНастроек1=Новый КомпоновщикНастроекКомпоновкиДанных();   
   КомпоновщикНастроек1.ЗагрузитьНастройки(СхемаКомпоновкиДанных1.НастройкиПоУмолчанию);   
      
   Сообщить(КомпоновщикНастроек1.Настройки.ДоступныеПоляВыбора.Элементы.Количество());  // результат 0
   Сообщить(КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы.Количество()); // результат 11

Показать полностью


В созданном нами компоновщике доступных полей выбора - 0
В в расширении формы отчета доступных полей выбора - 11

Доступные поля выбора не загружаются с настройками??
11. coder1cv8 3416 13.04.09 13:27 Сейчас в теме
(10) Хм... Ну вот выдрал пример из своего отчета, где по расшифровке выводятся движения по товару/складу с помощью вложенной схемы:

Процедура ДвиженияПоТовару(Номенклатура,Склад)
ТабДок=Новый ТабличныйДокумент;

СКД_Расшифровка=СхемаКомпоновкиДанных.ВложенныеСхемыКомпоновкиДанных[0].Схема;
КомпоновщикНастроек_Расшифровка=Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек_Расшифровка.ЗагрузитьНастройки(СКД_Расшифровка.НастройкиПоУмолчанию);
Настройки=КомпоновщикНастроек_Расшифровка.Настройки;
// Установим параметры
Параметры=Настройки.ПараметрыДанных.Элементы;

ПараметрНоменклатура=Параметры.Найти("Номенклатура");
ПараметрНоменклатура.Значение=Номенклатура;
ПараметрНоменклатура.Использование=Истина;

ПараметрСклад=Параметры.Найти("Склад");
ПараметрСклад.Значение=Склад;
ПараметрСклад.Использование=Истина;

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

ТабДок.ТолькоПросмотр=Истина;
ТабДок.ОтображатьСетку=Ложь;
ТабДок.ОтображатьЗаголовки=Ложь;
ТабДок.ФиксацияСверху=1;
ТабДок.Показать("Движения по товару <"+Номенклатура+">");
КонецПроцедуры

вот так всё работает, 100%
graforlow; romku; +2 Ответить
51. romku 11 18.08.16 16:57 Сейчас в теме
(11) спасибо за пример. Очень помогло.
6. Ish_2 1022 13.04.09 10:13 Сейчас в теме
(3) Ответ безусловно верный . Если бы вопрос был о родителях при одноуровневой группировке. Если речь идет ПОЛЯХ ВСЕХ родителей ,то

1.Предполагаются многоуровневые группировки неизвестного уровня.
2.Значения массива , полученного методом НайтиРодителей() могут иметь различные типы и на определенных уровнях могут не иметь полей (неприменим метод ПолучитьПоля()).

Таким образом , предполагается процедура.
Я предположил , что это не частный (узкий) вопрос , и его можно рассмотреть в задаче № 4.

12. kadr 36 13.04.09 15:25 Сейчас в теме
строка кода

СКД_Расшифровка=СхемаКомпоновкиДанных.ВложенныеСхемыКомпоновкиДанных[0].Схема;

предполагает, что у Вас заполнена основная СКД для отчета и Вы используете расширение ОтчетОбъект.СхемаКомпоновкиДанных.

Посмотрите как отработает тот же код если очистить основную СКД отчета и загрузить макет в коде

СхемаКомпоновкиДанных1 = ПолучитьМакет(ИмяВашегоМакетаСКД)
СКД_Расшифровка=СхемаКомпоновкиДанных1.ВложенныеСхемыКомпоновкиДанных[0].Схема;
13. coder1cv8 3416 13.04.09 17:19 Сейчас в теме
(12) Насколько я понимаю, между схемой полученной из макета и вложенной схемой, не должно быть принципиальных отличий...
15. kadr 36 13.04.09 20:25 Сейчас в теме
(13) также обратил внимание, что при заполненном свойству основная СКД отчета все работает нормально, а при программной обработке остается только отбор и выбранные поля
14. coder1cv8 3416 13.04.09 17:22 Сейчас в теме
Вообще, есть в СКД некоторые глюки... В частности, заметил, что может "отваливаться" как сама схема, так и форма настроек. В таком случае помогает только пересоздание отчета.
16. kadr 36 23.04.09 10:04 Сейчас в теме
Вот где собака порылась!!!
перед загрузкой настроек во вновь созданный КомпоновщикНастроек его надо инициализировать

	СхемаКомпоновкиДанных = ПолучитьМакет(ИмяМакета);	
	_КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;	
	ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных);
	_КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек);
	_КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);

reneyr; СергейКа; coder1cv8; +3 Ответить
17. coder1cv8 3416 23.04.09 11:55 Сейчас в теме
18. СергейКа 665 23.04.09 12:02 Сейчас в теме
Как раз появилась задача с изменением стандартной расшифровки СКД :) Только хотел разбираться.
19. artbear 1114 23.04.09 12:09 Сейчас в теме
А кто-нибудь смотрел реализацию универсальных отчетов и шаблонов для них на базе СКД в последних версиях БП и ЗУП ?
Сделано очень красиво и удобно для пользователя.
Очень легко портируется в другие конфигурации.

Я где-то минут за 20 перенес универсальный отчет + шаблон + все необходимое в самописную конфу для 8.1
20. coder1cv8 3416 23.04.09 14:32 Сейчас в теме
(19) Да, молодцы. Обратил внимание на реализацию формы настроек, штатная - очень уж мудреная для пользователя. Да и запросы в ЗУП, которые были на несколько страниц, на порядок легче читать стало!...
21. СергейКа 665 23.04.09 16:51 Сейчас в теме
3 пример некорректен. По крайней мере у меня получается : если выбирается действие из произвольного списка, то ОбработкаРасшифровки.Выполнить() возвращает "Непределено"... Т.е. уже не заходит в условие вывода отчета...
22. coder1cv8 3416 23.04.09 17:57 Сейчас в теме
(21) В примере, дополнительное действие - это не изменение настроек и (или) вывод отчета, а какое-то другое действие не связанное с выводом, например открытие какой-либо формы, обработки.
Так что всё корректно, опять же в пределах примера )
23. СергейКа 665 23.04.09 19:50 Сейчас в теме
(22) Точно :) Я чё-то строчку "Иначе" пропустил :)
24. artbear 1114 18.05.09 13:41 Сейчас в теме
Кто-нибудь знает ответ на еще один подводный или надводный камень в СКД?
http://infostart.ru/forum/forum14/topic9440/messages/
25. katzo 16.06.09 17:09 Сейчас в теме
Люди, спасите! Ну никак не могу настроить отбор вложенной схемы, чтобы детализировать общий отчет... У меня процедурка, которая данные для отбора выглядит так:

&НаКлиенте
Функция ПолучитьРекурсивноСтруктуруОтбора(ТекущееПоле, СтруктураОтбора = Неопределено)
Если СтруктураОтбора = Неопределено Тогда
СтруктураОтбора = Новый Структура;
КонецЕсли;

Для каждого ТекЭл Из ТекущееПоле.ПолучитьПоля() Цикл
СтруктураОтбора.Вставить(ТекЭл.Поле, ТекЭл.Значение);
КонецЦикла;

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

Возврат СтруктураОтбора;
КонецФункции // ПолучитьРекурсивноСтруктуруОтбора()




Вызывается она так:

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

В итоге значения полей (строк и колонок) получаю спокойно, а из группировок не могу никак вытащить ни название группировки (мне нужно именно получить путь к данным, а не ничего не значащее "ГруппировкаN"), ни значения, которые потом надо установить в отбор во вложенной схеме... Может я что не так делаю? Я только-только начал программить под СКД, 100 грамм не помогли, а тяжелые наркотики я не хочу употреблять, чтобы в этом разобраться:(
26. jerer 03.08.09 13:31 Сейчас в теме
Привет! Прикольная функция, тоже думал об этом вопросе, мне кажется так должно работать. Не пробовал на сложных группировках, скажи если проверишь и что не так.
Функция ПолучитьРекурсивноСтруктуруОтбора(ТекущееПоле, СтруктураОтбора = Неопределено)
	Если СтруктураОтбора = Неопределено Тогда
		СтруктураОтбора = Новый Структура;
	КонецЕсли; 
	
	Если ТипЗнч(ТекущееПоле) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
		Для Каждого ТекЭл Из ТекущееПоле.ПолучитьПоля() Цикл
			СтруктураОтбора.Вставить(ТекЭл.Поле, ТекЭл.Значение);
		КонецЦикла;
	КонецЕсли;
	
	Для Каждого ТекЭл Из ТекущееПоле.ПолучитьРодителей() Цикл
		ПолучитьРекурсивноСтруктуруОтбора(ТекЭл, СтруктураОтбора);
	КонецЦикла; 
	
	Возврат СтруктураОтбора;
КонецФункции 

Показать

27. jerer 03.08.09 13:33 Сейчас в теме
Правда, тут два раза одни и те же значения добавляются, "Вставить" помогает, но типа не оптимально.
28. e.kogan 1844 15.09.09 16:26 Сейчас в теме
Вопрос автору: есть ли способ получить путь к данным поля, выбранного для расшифровки?
31. coder1cv8 3416 16.09.09 15:30 Сейчас в теме
(28) Не совсем понятен вопрос... По-моему "ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Поле" - это и есть путь к данным, т.е. имя поля в компоновке.
32. e.kogan 1844 16.09.09 16:43 Сейчас в теме
(31) Нет-нет, не имя того поля, ПО которому я щёлкнула, а имя того поля, которое я выбрала для расшифровки текущего!
Т.е. "Расшифровать", и нужно то поле, которое было выбрано в диалоге "Выбор поля"!
29. primat 1739 16.09.09 12:29 Сейчас в теме
Привет! Подскажите, пожалуйста. Формирую отчет в СКД программно, и расшифровка совсем не работает. То есть привязанная к табличному полю функция на действие "Обработки расшифровки" просто не срабатывает.

Вот так формирую отчет:
ЭлементыФормы.Результат.Очистить();

ИсполняемыеНастройки = КомпоновщикНастроек.Настройки;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, ИсполняемыеНастройки);

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

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

При инициации процессора компоновки данных можно задать переменную, в которую "будут выводиться результаты компоновки данных" (это по синтакс-помощнику). Я написал - Расшифровка, не работает.

А что там надо написать, какую переменную создать, чтобы расшифровка срабатывала, кто-нибудь знает?
30. primat 1739 16.09.09 12:43 Сейчас в теме
Нашел ответ. Надо было добавить третий параметр ДанныеРасшифровки в КомпоновщикМакета.Выполнить() и в ПроцессорКомпоновкиДанных.Инициализировать(). После этого можно менять расшифровку как угодно.
dima_home; +1 Ответить
52. dima_home 103 21.12.16 08:42 Сейчас в теме
(30)
Нашел ответ

Тоже весь интернет перерыл... везде не полные данные.
СПАСИБО.
33. e.kogan 1844 16.09.09 16:47 Сейчас в теме
32 + Или хотя бы по какому принципу формируется список полей в диалоге "Выбор поля", чтобы это сымитировать...
34. e.kogan 1844 22.09.09 13:39 Сейчас в теме
32+
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

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


При повторном щелчке по исходной таблице (после выполнения расшифровки) процедура вылетает на указанной строке с ошибкой:

{Форма.ФормаОтчета(178)}: Значение, соответствующее ключу, не задано
текПоле=ДанныеРасшифровки.Элементы[Расшифровка];

В отладчике значение переменной Расшифровка в обоих случаях одинаково, а вот ДанныеРасшифровки - разные, хотя клик по одному и тому же полю в одной и той же ячейке. Чем бороть?
35. e.kogan 1844 22.09.09 13:52 Сейчас в теме
(34) Сама нашла, у меня ДанныеРасшифровки менялись (неявно) в дальнейшем коде.
36. IgorXml 16.11.09 12:30 Сейчас в теме
Мой код для СКД расшифровка на 8.2. Может сгодиться кому :D :
&НаСервере
Функция ПолучитьURLСхемы()
    ОсновнаяСхемаКомпоновкиДанных=Отчеты.ПоПредметам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    URLСхемы = ПоместитьВоВременноеХранилище(ОсновнаяСхемаКомпоновкиДанных);
    Возврат URLСхемы;
КонецФункции

&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   СтандартнаяОбработка=Ложь;
   URLСхемы=ПолучитьURLСхемы();
   ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы);
   Обработка=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,ИсточникДоступныхНастроек);
   Результат=Неопределено;
   Параметр=Неопределено;
   ДоступныеДействия = Новый Массив;
   ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
   Обработка.ВыбратьДействие(Расшифровка,Результат,Параметр,ДоступныеДействия,);
   П =    Новый Структура("Ключ", Параметр);
   Форма = ПолучитьФорму("Справочник.Предметы.ФормаОбъекта", П);
   Форма.Открыть();
   ПриОткрытии(ложь);
КонецПроцедуры 
   
Показать
KAV2; sdv91; Евген86; VsHome; Brook; Spacer; aleksanderpushkin; FilatovRA; kimskiysanya; reneyr; DimaP; andmaslov; Поручик; pobedria; coder1cv8; +15 Ответить
50. jaroslav.h 11.07.16 13:18 Сейчас в теме
(36) Igor2010, привет, подскажи будь добре, у меня пустой результат после расшифровки выходит
http://www.forum.mista.ru/topic.php?id=776248
37. bela88 04.12.09 09:34 Сейчас в теме
А у меня следующая ситуация и разобраться в ней пока не получается.
Создаю отчет по результативности звонков. Пример выводимых данных в приклепленном файле.

И мне нужно по нажатию на ячейку с цифрой выводить следующую расшифровку: список событий, по которым был зарегистрирован такой результат. Если пишу
ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()[0].ПолучитьПоля().Найти("Мероприятие")
то значение мероприятия известно, когда выбранная ячейка находится в строчке "Семинар УТ", если же нажимаю на любую другую ячейку, привязку к данной группировке по семинару не могу найти.

Если кто-нибудь сталкивался с подобной ситуацией, подскажите:)
39. GreenFox 19.06.12 10:34 Сейчас в теме
(37) Поддерживаю - как расшифровку распространить на всю строку? Мне надо как то при клике на любое поле в строке получить значение в конкретной ячейке в этой строке.
41. PrinzOfMunchen 76 03.04.13 11:05 Сейчас в теме
(39) GreenFox, задаюсь тем же вопросом.
43. Eldjer 25.02.14 11:18 Сейчас в теме
(41) PrinzOfMunchen, уже почти день ковыряюсь над расшифровкой со всей строкой =\
38. kitt 323 22.07.10 02:26 Сейчас в теме
плюсую, надеюсь будет продожение. Хотел бы посмотреть разных примеров с расшифровкой с помощью вложенных схем
40. evn-zorin 21 11.09.12 13:43 Сейчас в теме
42. c1nil 14.11.13 16:00 Сейчас в теме
Отличная статья. Спасибо!
44. grand.pers 28.04.15 12:44 Сейчас в теме
Статья - именно то, что нужно. Но вот какая у меня проблема: при сохранении конфигурации системы выдает следующую ошибку:
{Отчет.ОСВ1.Форма.ФормаОтчета.Форма(15,49)}: Слишком много фактических параметров (СкомпоноватьРезультат)
СкомпоноватьРезультат(ЭлементыФормы.Результат,<<?>>ДанныеРасшифровки); // выводим результат (Проверка: Тонкий клиент)

Почему? И что нужно сделать, чтобы все работало?
belas; sutkin; Evgenii_1980; +3 Ответить
45. minimaxpo 22.09.15 17:17 Сейчас в теме
Всем здравствуйте.
Такой вопрос: настроены две вложенные схемы к основной СКД (схемы идентичные основной, но добавлен параметр для отбора в виртуальной таблице) . Выводятся в отчет последовательно, как 3 отдельных отчета. Так вот как понять к какой СКД относится элемент расшифровки? Т.е., в зависимости от ячейки, расшифровку которой нужно получить, необходимо определить в какой СКД эта ячейка выведена.
46. sokir 30.09.15 17:48 Сейчас в теме
На упр формах никак не могу подобраться к ДанныеРасшифровки.
Пытаюсь получить через ПолучитьИзВременногоХранилища(ОтчетДанныеРасшифровки) - пишит "Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа".
На стороне сервера ПолучитьИзВременногоХранилища(ОтчетДанныеРасшифровки) работает, но надо на стороне клиента.
Хелп!
47. Spacer 288 11.12.15 18:04 Сейчас в теме
(46) sokir, Надо на стороне сервера вытаскивать все что нужно из данных расшифровки.
Помещать полученные данные скажем в фиксированный массив или в фиксированную структуру,
и возвращать на клиент.
48. m1_1976 12 09.06.16 16:01 Сейчас в теме
самая первая строка не работает

ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(<<?>>СхемаКомпоновкиДанных)); (Проверка: Тонкий клиент)

почему, кто подскажет...
Я "на клиенте." Но и в примере "на клиенте"!
49. IgorXml 574 15.06.16 16:32 Сейчас в теме
Для обычных конф. где не подходит расшифровка из "Шаблона 1С" самое простое это:
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
//***Типовой кусок кода ***(	
	//ДопСписок = Новый СписокЗначений;
	//ТиповыеОтчеты.ОбработкаРасшифровкиТиповогоОтчета(Расшифровка, СтандартнаяОбработка, ЭтотОбъект, ЭтаФорма, ДопСписок); 
	//
	////ТиповыеОтчеты.СтандартнаяОбработкаРасшифровкиТиповогоОтчета(ОтчетОбъект, ЭтаФорма, Расшифровка, СтандартнаяОбработка);	
//***)	
	Попытка
		Ссылка=ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
		Ссылка.ПолучитьФорму().Открыть();	
		СтандартнаяОбработка = Ложь;
	Исключение
		ДопСписок = Новый СписокЗначений;
		//ТиповыеОтчеты.ОбработкаРасшифровкиТиповогоОтчета(Расшифровка, СтандартнаяОбработка, ЭтотОбъект, ЭтаФорма, ДопСписок); 
		ТиповыеОтчеты.СтандартнаяОбработкаРасшифровкиТиповогоОтчета(ОтчетОбъект, ЭтаФорма, Расшифровка, СтандартнаяОбработка);
	КонецПопытки;	
КонецПроцедуры
Показать
53. korchak 25.01.17 01:38 Сейчас в теме
А как ограничить вывод (показ) или удалить, на худой конец, некоторые доступные поля, которые есть в диалоге выбора поля при расшифровке ячейки?
Команда "Расшифровать...", вызываемая или двойным кликом по ячейке или через контекстное меню. В открывшейся форме диалога "Выбор поля" необходимо скрыть некоторые поля.
55. 7OH 33 02.08.17 17:57 Сейчас в теме
(53) Тоже ищу методы удаления ненужных пунктов контекстного меню.
Двойной клик стандартной обработкой убирается (и настраивается тоже).
А как изменить состав меню, которое вылетает по правой кнопке ?
Кто знает - направьте почитать.
54. AKV77 233 08.06.17 11:33 Сейчас в теме
56. sokir 23.12.17 14:30 Сейчас в теме
Расшифровка формируется в этом же окне.
Сделал так
ФормаРасш = ПолучитьФорму(, , новый УникальныйИдентификатор);
		ФормаРасш.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиРасш);         // загружаем настройки
		ФормаРасш.СкомпоноватьРезультат(ФормаРасш.ЭлементыФормы.Результат, ФормаРасш.ДанныеРасшифровки);     


Открывается новое окно и в нем расшифрованное вывелось, но сбиваются настройки первой (главной) формы.
Конечно можно через отч = отчеты.ххх.создать, но это может быть и внешняя.

Как правильнее всего отрыть расшифровку в новом окне?
И еще для расшифровки я хочу применить другой вариант (другая структура вывода). Как в этом случае быть?
57. user903133 14.03.18 15:24 Сейчас в теме
Добрый день
Прикрепленные файлы:
58. 7OH 33 14.03.18 18:47 Сейчас в теме
(57) ОбработкаРасшифровки
СтандартнаяОбработка = Ложь;
ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет));

ОбработкаРасшифровки.Расшифровать(
а тут почитайте что туда передать
59. mrm1212 18 13.04.18 15:42 Сейчас в теме
Скажите, а при выполнении какого действия "Настройки" будут не равны "Неопределено"??? что-то не совсем пойму, почему-то у меня они всегда равны "Неопределено".
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Консультант-аналитик 1С
Москва
зарплата от 70 000 руб. до 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Временный (на проект)