Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: СКД 8.2_Расшифровка...Помогите пожалуйста  (Прочитано 9231 раз)
0 Пользователей и 1 Гость смотрят эту тему.
anyut_ka
Новенький

ru
Offline Offline

« : 06-11-2010 19:51 » new

Есть Отчет, сформированный с помощью СКД. В отчете есть группировки, вот наглядный пример

Бюджет
Район Задолженность
Договор

Федеральный 360
Вологда 200
э705-45 200
Сокол 160
нк34-90 160

Т.е. здесь группировки - Бюджет, Район

ГРУППИРОВКИ формируются программным путем, например:

Код:
Если РазвернутьПоРайонам Тогда
Гр = ТиповыеОтчеты.ДобавитьГруппировку(ОтчетОбъект.КомпоновщикНастроек, "Район");
КонецЕсли;

Необходимо при нажатии на любую ячейку отчета сделать расшифровку, передав в качестве параметра Договор

В процедуре делаю обработку расшифровки

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

Данные = ДанныеРасшифровки;
Поля = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля();
ПолеДоговор = Поля.Найти("Договор");
Если ПолеДоговор=Неопределено Тогда
ПолеДоговор = Неопределено;
Иначе
ПолеДоговор = ПолеДоговор.Значение;
Отчет = Отчеты.КарточкаСчета.Создать();

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

Форма = Отчет.ПолучитьФорму("ФормаОтчета");
Форма.Открыть();
Форма.ЭлементыФормы.ДействияФормыДополнительные.Кнопки.ПанельПользователя.Пометка = Ложь;
СтандартныеОтчеты.УправлениеОтображениемПанелиПользователя(Форма);

Форма.ОбновитьОтчет();



КонецЕсли;

КонецПроцедуры;

ПРОБЛЕМА в том, что не используя группировок все замечательно выводится, но при их использовании пишет поле Договор не должно входить в группировку Принадлежность Бюджету и так со всеми группировками

В СКД на вкладке макеты создаю макет поля, параметр Задолженность Расшифровка (Договор)
В принципе понятно, почему так происходит, если опять на примере

нельзя расшифровать сумму задолженности группировки (360) по договору, так как в ее составе несколько договоров...

Думаю, что в макете необходимо либо какое-то условие написать через конструкцию ВЫБОР либо как-то с макетом группировки колдовать

ПОДСКАЖИТЕ ПОЖАЛУЙСТА, КАК РЕШИТЬ ПРОБЛЕМУ!
« Последнее редактирование: 06-11-2010 21:20 от RXL » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines