|
Идентификатор внешнего отчета | ☑ | ||
---|---|---|---|---|
0
SmirnAlex
06.12.16
✎
12:33
|
Добрый день!
Использую такой код: ПараметрыИсполненияОтчета = Отчет[ИдентификаторОбъекта].ПолучитьПараметрыИсполненияОтчета(); Если ПараметрыИсполненияОтчета.Свойство("ИспользоватьРасширенныеПараметрыРасшифровки") И ПараметрыИсполненияОтчета.ИспользоватьРасширенныеПараметрыРасшифровки Тогда Отчет[ИдентификаторОбъекта].ЗаполнитьПараметрыРасшифровкиОтчета(Адрес, Расшифровка, ПараметрыРасшифровки); Возврат ПараметрыРасшифровки; КонецЕсли; во внутреннем отчете работает прекрасно (это и понятно). Чем мне заменить функцию Отчет, что бы код работал во внешнем отчете? |
|||
1
quest
06.12.16
✎
12:34
|
ЭтотОбъект
|
|||
2
Antony8x
06.12.16
✎
12:57
|
(0) посмотреть как главный реквизит называется и им заменить
|
|||
3
SmirnAlex
06.12.16
✎
14:14
|
Главный объект называется "Отчет"
|
|||
4
SmirnAlex
06.12.16
✎
14:30
|
Ребята, выручайте! Второй день пытаюсь запустить вот это чудо:
&НаКлиенте Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) БухгалтерскиеОтчетыКлиент.ОбработкаРасшифровкиСтандартногоОтчета(ЭтаФорма, Элемент, Расшифровка, СтандартнаяОбработка); ФормаОтчета = ЭтаФорма; ИдентификаторОбъекта = БухгалтерскиеОтчетыКлиентСервер.ПолучитьИдентификаторОбъекта(ФормаОтчета); СтандартнаяОбработка = Ложь; Если БухгалтерскиеОтчетыКлиентСервер.ОтчетПоддерживаетУниверсальныеНастройки(ИдентификаторОбъекта) Тогда РасшифровкаСтандартногоОтчета(ФормаОтчета, Элемент, Расшифровка); Иначе ПараметрыРасшифровки = ПолучитьПараметрыРасшифровкиОтчета(ФормаОтчета.ДанныеРасшифровки, ИдентификаторОбъекта, Расшифровка); Если Не ЗначениеЗаполнено(ПараметрыРасшифровки) Тогда Возврат; КонецЕсли; ЗаполняемыеНастройки = Новый Структура; ЗаполняемыеНастройки.Вставить("Показатели", Ложь); ЗаполняемыеНастройки.Вставить("Группировка", Истина); ЗаполняемыеНастройки.Вставить("Отбор", Ложь); ЗаполняемыеНастройки.Вставить("ВыводимыеДанные", Истина); Если ПараметрыРасшифровки.ОткрытьОбъект Тогда ПоказатьЗначение( , ПараметрыРасшифровки.Значение); ИначеЕсли ПараметрыРасшифровки.Свойство("ОткрытьФорму") И ПараметрыРасшифровки.ОткрытьФорму Тогда ОткрытьФорму(ПараметрыРасшифровки.Форма, ПараметрыРасшифровки.ПараметрыФормы); Иначе СписокПунктовМеню = ПараметрыРасшифровки.СписокПунктовМеню; Если СписокПунктовМеню.Количество() = 1 Тогда ИДРасшифровки = СписокПунктовМеню[0].Значение; ИмяФормы = ПолучитьИмяФормыПоИДРасшифровки(ИДРасшифровки); ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("ВидРасшифровки", 1); ПараметрыФормы.Вставить("АдресНастроек", ФормаОтчета.ДанныеРасшифровки); ПараметрыФормы.Вставить("СформироватьПриОткрытии", Истина); ПараметрыФормы.Вставить("ИДРасшифровки", ИДРасшифровки); ПараметрыФормы.Вставить("ЗаполняемыеНастройки", ЗаполняемыеНастройки); ОткрытьФорму(ИмяФормы, ПараметрыФормы,, Истина); ИначеЕсли СписокПунктовМеню.Количество() > 0 Тогда ДополнительныеПараметры = Новый Структура; ДополнительныеПараметры.Вставить("ЗаполняемыеНастройки", ЗаполняемыеНастройки); ДополнительныеПараметры.Вставить("ФормаОтчета", ФормаОтчета); Оповещение = Новый ОписаниеОповещения("ВыбратьИзМенюЗавершение", ЭтотОбъект, ДополнительныеПараметры); ФормаОтчета.ПоказатьВыборИзМеню(Оповещение, СписокПунктовМеню, Элемент); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура РасшифровкаСтандартногоОтчета(ФормаОтчета, Элемент, ИдентификаторРасшифровки) Экспорт ИмяОтчета = БухгалтерскиеОтчетыКлиентСервер.ПолучитьИдентификаторОбъекта(ФормаОтчета); ВозможныеРасшифровки = БухгалтерскиеОтчетыВызовСервера.ВозможныеРасшифровки(ИмяОтчета, ФормаОтчета.ДанныеРасшифровки, ИдентификаторРасшифровки); Если ВозможныеРасшифровки.Количество() = 0 Тогда Возврат; КонецЕсли; Если ВозможныеРасшифровки.Количество() = 1 Тогда ОткрытьРасшифровку(ВозможныеРасшифровки[0].Значение, ФормаОтчета.ДанныеРасшифровки, ИдентификаторРасшифровки, ИмяОтчета); Иначе ДополнительныеПараметры = Новый Структура; ДополнительныеПараметры.Вставить("ИдентификаторРасшифровки", ИдентификаторРасшифровки); ДополнительныеПараметры.Вставить("ДанныеРасшифровки", ФормаОтчета.ДанныеРасшифровки); ДополнительныеПараметры.Вставить("ИмяОтчета", ИмяОтчета); Оповещение = Новый ОписаниеОповещения("РасшифровкаСтандартногоОтчетаЗавершение", ЭтотОбъект, ДополнительныеПараметры); ФормаОтчета.ПоказатьВыборИзМеню(Оповещение, ВозможныеРасшифровки, Элемент); КонецЕсли; КонецПроцедуры &НаКлиенте Функция ПолучитьИмяФормыПоИДРасшифровки(ИДРасшифровки) ИмяОбъекта = ИДРасшифровки; ШаблонИмениФормы = "Отчет.%ИмяОбъекта%.Форма.ФормаОтчета"; Если ИДРасшифровки = "ОборотыСчетаПоДням" Или ИДРасшифровки = "ОборотыСчетаПоМесяцам" Тогда ИмяОбъекта = "ОборотыСчета"; КонецЕсли; Возврат СтрЗаменить(ШаблонИмениФормы, "%ИмяОбъекта%", ИмяОбъекта); КонецФункции &НаКлиенте Процедура ОткрытьРасшифровку(ЗначениеРасшифровки, ДанныеРасшифровки, ИдентификаторРасшифровки, ИмяИсходногоОтчета) Если ЭтоОтчет(ЗначениеРасшифровки) Тогда ПараметрыФормы = БухгалтерскиеОтчетыКлиентСервер.НовыйПараметрыФормыСтандартногоОтчета(); ПараметрыФормы.ОткрытьРасшифровку = Истина; ПараметрыФормы.АдресРасшифровки = ДанныеРасшифровки; ПараметрыФормы.ИдентификаторРасшифровки = ИдентификаторРасшифровки; ПараметрыФормы.ИмяОтчета = ЗначениеРасшифровки.ИмяОтчета; ПараметрыФормы.ИмяИсходногоОтчета = ИмяИсходногоОтчета; ПараметрыФормы.РеквизитыПравилРасшифровки = ЗначениеРасшифровки.Реквизиты; ОткрытьФорму("Отчет." + ЗначениеРасшифровки.ИмяОтчета + ".Форма", ПараметрыФормы, , Истина); Иначе ПоказатьЗначение( , ЗначениеРасшифровки); КонецЕсли; КонецПроцедуры &НаКлиенте Функция ЭтоОтчет(Отчет) Возврат ТипЗнч(Отчет) = Тип("Структура") И Отчет.Свойство("ИмяОтчета"); КонецФункции &НаКлиенте Функция ПолучитьПараметрыРасшифровкиОтчета(Адрес, ИдентификаторОбъекта, Расшифровка) Экспорт ПараметрыРасшифровки = Новый Структура; ПараметрыИсполненияОтчета = ЭтотОбъект[ИдентификаторОбъекта].ПолучитьПараметрыИсполненияОтчета(); Если ПараметрыИсполненияОтчета.Свойство("ИспользоватьРасширенныеПараметрыРасшифровки") И ПараметрыИсполненияОтчета.ИспользоватьРасширенныеПараметрыРасшифровки Тогда ЭтотОбъект[ИдентификаторОбъекта].ЗаполнитьПараметрыРасшифровкиОтчета(Адрес, Расшифровка, ПараметрыРасшифровки); Возврат ПараметрыРасшифровки; КонецЕсли; ДанныеОбъекта = ПолучитьИзВременногоХранилища(Адрес); ОтчетОбъект = ДанныеОбъекта.Объект; ДанныеРасшифровки = ДанныеОбъекта.ДанныеРасшифровки; Если ИдентификаторОбъекта = "РассшифровкаВСКД" //в этом списке должно присутствовать название вашего отчета ИЛИ ИдентификаторОбъекта = "Рассшифровка2" ИЛИ ИдентификаторОбъекта = "Рассшифровка3" Тогда ПараметрыРасшифровки.Вставить("ОткрытьОбъект", Ложь); ЕстьПоказатель = Ложь; ЕстьКорЗначение = Ложь; ЕстьСчет = Истина; Счет = Неопределено; ПервыйЭлемент = Неопределено; КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.ЗагрузитьНастройки(ДанныеРасшифровки.Настройки); КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ДанныеОбъекта.Объект.СхемаКомпоновкиДанных)); КонецЕсли; Возврат ПараметрыРасшифровки; КонецФункции Текст запроса СКД - просто вывод списка номенклатуры. Но это не важно, мне лишь бы расшифровка появилась. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |