Имя: Пароль:
1C
1С v8
СКД программный вывод расшифровка
0 Soulseller76
 
31.03.16
13:34
При программном выводе СКД не работает расшифровка.Вместо формы объекта выходят цифры.
Куда хоть смотреть?!
1 Soulseller76
 
31.03.16
13:34
Забыла сказать. Обычные формы.
2 zladenuw
 
31.03.16
13:49
(1) ну так ты выводишь. код покажи
3 Тролль главный
 
31.03.16
13:50
лучше запрос
4 Soulseller76
 
31.03.16
13:52
В двух словах о проблеме. Есть макет типа "схема компоновки данных". Там программно заполняются параметры и компонуется отчет. Но в результате даже у ссылочных полей не работает расшифровка. Отчет формируется по нажатию кнопки:

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

    //Формируем макет, с помощью компоновщика макета
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    //Передаем в макет компоновки схему, настройки и данные расшифровки
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровкиСКД); //
    
    //Выполним компоновку с помощью процессора компоновки
    ВнешнийНаборДанных = Новый Структура("тзВзаиморасчеты", тзВзаиморасчеты);
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровкиСКД, ИСТИНА);  //  
                
    //Очищаем поле табличного документа
    Результат = Новый ТабличныйДокумент();
    
    //Выводим результат в табличный документ
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(Результат);
    
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    //Адрес = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиСКД, Результат);
    //ДанныеРасшифровки = Адрес ;
    
    Результат.Области.Найти("Регистратор");
    
    Результат.ОтображатьЗаголовки = Ложь;
    Результат.ОтображатьСетку = Ложь;
    //Результат.ТолькоПросмотр = Истина;
    Результат.Показать("АнализВзаиморасчетов по счету Аренды "+Ссылка);
5 PR третий
 
31.03.16
13:53
(3) Нахрен тебе запрос? Мадам просто не понимает, что ручная обработка расшифровки предполагает ручную обработку этих самых "цифр", которые не цифры, а вполне себе другой тип.
В Яндексе уже давно все расшивровано на эту тему.
6 zladenuw
 
31.03.16
13:55
(4) так нахрена вручную формировать отчет ? параметры можно подсунуть и без формирования программно
7 zladenuw
 
31.03.16
13:57
(6) в добавок. при изменение их просто обновляешь их в компоновке.
http://1cskd.ru/2011/03/parametr-programmno-v-8-2/
8 Soulseller76
 
31.03.16
13:57
(5) Так в каком месте устроить эту "ручную обработку"?
Если писать Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка), то где ее вызывать? При двойном клике на отчете в эту процедуру я не попадаю.
9 PR третий
 
31.03.16
13:58
10 PR третий
 
31.03.16
13:59
+(9) Вообще, по-моему расшифровку даже при программном выводе можно оставить типовую, главное выводить правильно.
11 Soulseller76
 
31.03.16
14:12
(10) Что значит "правильно"? Я ее выводу неверно? Тогда в чем моя ошибка?
12 zladenuw
 
31.03.16
15:12
что тебе именно нужно.
вот уйма примеров.
http://catalog.mista.ru/public/18961/
13 zladenuw
 
31.03.16
15:13
а вообще мой тебе советь почитать книгу Хрусталевой про реализацию сложных отчетов. там про расшифровку так же есть
http://asu.ugatu.ac.ru/library/81/e.ju.hrustaleva___razrabotka_slogn_h_otchetov_v_1s_predprijatii_8.pdf
14 EvgeniuXP
 
31.03.16
20:23
(13) хрусталева - это основы, много что там не досказано
15 EvgeniuXP
 
31.03.16
20:23
И осталось за кулисами
16 Soulseller76
 
01.04.16
11:19
(12) Я это все читала! Я много инфы перекопала прежде чем решилась обратиться за помощью в форум. Не помогает мне это. :(
17 Soulseller76
 
01.04.16
11:26
(12) Когда я делаю внешний отчет с этим же запросом и выводом на форму - все как описано в той ссылке, что вы мне дали - все ок! Но когда это все 1. Макет документа и 2. Я программно вывожу в табличный документ, который инициирую в процедуре - не срабатывает.
18 DailyLookingOnA Sunse
 
01.04.16
11:27
Ну и теперь для табличного документа нужно закодить обработчик "ОбработкаРасшифровки".
19 Soulseller76
 
01.04.16
12:27
(18) Откуда данный обработчик вызывать? Если я его помещаю просто в код - то на него нет реакции при отладке.
20 EvgeniuXP
 
01.04.16
20:37
нет реакции, значит не в макете у ячейки табличного документа не указала имя расшифровки.
21 EvgeniuXP
 
01.04.16
20:38
потом положи туда значение (заполняют как параметры в макете) - и будет срабатывать.