|
СКД.Помогите с расшифровкой | ☑ | ||
---|---|---|---|---|
0
PCcomCat
24.07.18
✎
00:37
|
Доброго времени, уважаемые!
Понимаю, что тема банальна. Но я топчусь на месте - пните в нужном направлении! Отчет на скд, расшифровка по-сути показывает нужные данные. Но необходимо убрать некоторые поля из расшифровки. Как это реализовать? Заранее благодарю. |
|||
1
PCcomCat
24.07.18
✎
10:22
|
Подниму...
Пытаюсь уже при ПриКомпоновкеРезультата подменить схему для расшифровки - не выходит. Где можно подсмотреть реализацию? |
|||
2
Tonik992
24.07.18
✎
10:49
|
Попробуйте не схему компоновки подменивать, а изменить настройки компоновки.
|
|||
3
PCcomCat
24.07.18
✎
16:27
|
Реализовала так:
&НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыполненноеДействие, ПараметрВыполненногоДействия; ЭтоНестандартнаяРасшифровка = ЭтоНестандартнаяРасшифровка(Расшифровка); Если ЭтоНестандартнаяРасшифровка = Неопределено тогда СтандартнаяОбработка = Истина; ИначеЕсли ЭтоНестандартнаяРасшифровка тогда СтандартнаяОбработка = Ложь; ПараметрыОтчета = ПолучитьПараметрыРасшифровки(Расшифровка); Если ПараметрыОтчета <> Неопределено Тогда ОткрытьФорму("Отчет.Наименование.ФормаОбъекта", ПараметрыОтчета,, Истина); Возврат; КонецЕсли; Иначе СтандартнаяОбработка = Ложь; КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьПараметрыРасшифровки(Знач Расшифровка) ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); Схема = ОтчетОбъект.ПолучитьМакет("СхемаКомпоновкиДанныхРасшифровка"); НастройкиВарианта = Схема.НастройкиПоУмолчанию; ПредставлениеВарианта = "Расшифровка"; ПользовательскиеНастройки = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Отчет); ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, ИсточникНастроек); НастройкиРасшифровки = ОбработкаРасшифровки.Расшифровать(Расшифровка, Новый ПолеКомпоновкиДанных("Задача")); Для Каждого ЭлементОтбораРасшифровки Из НастройкиРасшифровки.Отбор.Элементы Цикл Если ЭлементОтбораРасшифровки.Использование = Истина Тогда ОтборыСовместимы = Ложь; Для Каждого ЭлементОтбораВарианта Из НастройкиВарианта.Отбор.Элементы Цикл Если ЭлементОтбораВарианта.ЛевоеЗначение = ЭлементОтбораРасшифровки.ЛевоеЗначение Тогда ЭлементОтбораВарианта.ВидСравнения = ЭлементОтбораРасшифровки.ВидСравнения; ЭлементОтбораВарианта.ПравоеЗначение = ЭлементОтбораРасшифровки.ПравоеЗначение; ЭлементОтбораВарианта.Использование = Истина; ОтборыСовместимы = Истина; КонецЕсли; КонецЦикла; Если НЕ ОтборыСовместимы Тогда НовыйОтбор = НастройкиВарианта.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЗаполнитьЗначенияСвойств(НовыйОтбор, ЭлементОтбораРасшифровки); НовыйОтбор.Использование = Истина; КонецЕсли; КонецЕсли; КонецЦикла; Возврат Новый Структура("СформироватьПриОткрытии, Вариант, ПредставлениеВарианта, ПользовательскиеНастройки", Истина, НастройкиВарианта, ПредставлениеВарианта, ПользовательскиеНастройки); КонецФункции &НаСервере Функция ЭтоНестандартнаяРасшифровка(Расшифровка) ДанныеРасшифровкиКомпоновки = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); ПоляРасшифровки = ДанныеРасшифровкиКомпоновки.Элементы.Получить(Расшифровка).ПолучитьПоля(); Если ПоляРасшифровки.Количество() = 0 тогда //Стандартная расшифровка Возврат Неопределено; КонецЕсли; Для каждого ПолеРасшифровки Из ПоляРасшифровки Цикл Если ПолеРасшифровки.Поле = "ЗатраченноеВремя" тогда //Открытие нестандартной расшифровки Возврат Истина; ИначеЕсли ПолеРасшифровки.Поле = "ПоНормативу" Или ПолеРасшифровки.Поле = "БелаяДляТаможни" Или ПолеРасшифровки.Поле = "КтоПодготовил" Или ПолеРасшифровки.Поле = "ДатаПодготовки" Или ПолеРасшифровки.Поле = "КтоНазначил" Или ПолеРасшифровки.Поле = "ДатаНазначения" Или ПолеРасшифровки.Поле = "Контракт" Или ПолеРасшифровки.Поле = "СтатусИнвойса" тогда //Не нужна расшифровка Возврат Ложь; КонецЕсли; КонецЦикла; //Нет искомых полей - стандартная расшифровка Возврат Неопределено; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |