![]() |
![]() |
![]() |
|
Внешний отчет и несколько макетов. | ☑ | ||
---|---|---|---|---|
0
zippygrill
27.12.14
✎
16:18
|
На форуме так и не нашел решение.
Есть такой код: ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет(Макет); ОтчетОбъект.СхемаКомпоновкиДанных = СхемаКомпоновкиДанных; АдресСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет"); Схема подставляется, настройки также(даже быстрые отборы/параметры на форме появляются), но при нажатие на "Сформировать" отчет говорит что не установлена схема. В процедуре "ПриКомпоновкеРезультата" не вмешался но вижу в отладчике свою настройку, запрос и т.д. |
|||
1
zippygrill
27.12.14
✎
16:23
|
формы управляемые.
в курсе Насипова показывают как меняют СКД прямо при компоновке но у меня не тот вариант. |
|||
2
zippygrill
27.12.14
✎
16:35
|
ап
|
|||
3
RomanYS
27.12.14
✎
16:46
|
"Сформировать" - это стандартная кнопка? или твоя команда
|
|||
4
zippygrill
27.12.14
✎
17:06
|
стандартная
|
|||
5
RomanYS
27.12.14
✎
17:17
|
твой "Отчет" (ДанныеФормыСтруктура) не содержит схемы, поэтому
после ЗначениеВРеквизитФормы она теряется. Наверное, надо всё таки подставлять схему в ПриКомпоновкеРезультата. Может спецы по УФ знают друие варианты решения. |
|||
6
RomanYS
27.12.14
✎
17:34
|
пару лет назад подобная проблема не решилась:
v8: Использование нескольких схем в СКД Как я понимаю проблему: данные формы и объект (ОтчетОбъект) никак не связаны, кроме тех данных, которые сериализуются при передаче контекста. Что мешало 1С включить сюда схему - непонятно. "ОтчетОбъект = РеквизитФормыВЗначение("Отчет")" создает копию экземпляра объекта, т.е. это не ЭтотОбъект, доступный в модуле отчета. |
|||
7
zippygrill
27.12.14
✎
17:40
|
Пока обошел так:
1. добавил реквизит объекта: АдресСхемыВоВременнойХранилище с типом Строка 2. ОтчетОбъект.АдресСхемыВоВременнойХранилище = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор); 3. в процедуре "ПриКомпоновкиРезультата":СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(ЭтотОбъект.АдресСхемыВоВременнойХранилище); |
|||
8
RomanYS
27.12.14
✎
17:50
|
(7) я тоже к такой же конструкции пришел
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |