|   |   | 
| 
 | Открытие формы варианта отчета СКД с заданными настройками | ☑ | ||
|---|---|---|---|---|
| 0
    
        falselight 11.03.19✎ 09:27 | 
        Есть отчет на СКД. У него есть ФормаНастройкиУправляемая. Она открывается собственной командой
 &НаКлиенте Процедура кнНастройки(Команда) ПараметрыФормы = Новый Структура; //ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ФормаПараметры, Истина); ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта)); ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки); ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); ПараметрыФормы.Вставить("ВариантНаименование", Строка(НаименованиеТекущегоВарианта)); Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; //Обработчик = Новый ОписаниеОповещения("ВсеНастройкиЗавершение", ЭтотОбъект); ОткрытьФорму("Отчет.Покатегориям.Форма.ФормаНастроекУправляемая", ПараметрыФормы, ЭтаФорма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры Открываю форму варианта отчета, её настройки не соответствуют заданным настройкам отчета! Что я делаю не так?????? &НаКлиенте Процедура кнИзменитьВариант(Команда) ПараметрыФормы = Новый Структура; //ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ФормаПараметры, Истина); ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта)); ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки); ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); ПараметрыФормы.Вставить("ВариантНаименование", Строка(НаименованиеТекущегоВарианта)); Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; //Обработчик = Новый ОписаниеОповещения("ВсеНастройкиЗавершение", ЭтотОбъект); ОткрытьФорму("Отчет.Покатегориям.ФормаВарианта", ПараметрыФормы, ЭтаФорма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры | |||
| 1
    
        falselight 11.03.19✎ 10:19 | 
        В форме варианта отчета прописал
 &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(Параметры.ПользовательскиеНастройки); КонецПроцедуры Но при открытии, там похоже открываются настройки по умолчанию. то есть как они были заданы. Как при изменении формы варианта отчета, открывать её с текущими настройками которые заданы через настройки??? | |||
| 2
    
        falselight 11.03.19✎ 10:22 | 
        Актуальный вопрос! Подскажите пожалуйста!!!!
 Открываю настройки, там одно. Открываю формы варианта настроек там другое!!! Хотя вот по коду я же передаю все что нужно!!!!! | |||
| 3
    
        falselight 11.03.19✎ 10:40 | 
        Никто не подскажет как открывать правильно форму изменения варианта отчета
 и передавать в неё нужные параметры!!!! Я делал по подобию формы настроек, но в форму изменения вариантов отчета нужно передавать видимо иначе как то. Не подскажете как? | |||
| 4
    
        toypaul гуру 11.03.19✎ 11:00 | 
        если ты хочешь передать польз. настройки из текущего варианта в другой, так не сработает.\
 если ты хочешь открыть другой вариант со своими польз. настройками, то нужно делать ЗагрузитьПользовательскиеНастройки вот эта строчка ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); никогда толком не работала. по крайней мере в УФ | |||
| 5
    
        toypaul гуру 11.03.19✎ 11:02 | 
        Если тебе нужно именно первое, то получаешь форму, заполняешь польз. настройки в ней все ВРУЧНУЮ. Только после этого будет работать. На прошлой неделе примерно тоже самое делал. Но у меня было 2 разных схемы КД в одном отчете.     | |||
| 6
    
        falselight 11.03.19✎ 11:50 | 
        (5) Для понимания я смотрю как сделано в УТ11.
 Там все формы общие у отчетов нет вообще форм. Но мне главное понять как это сделано. Мне кажется что нужно в форму изменения варианта отчета обязательно передать вот это. АдресСхемы = ПоместитьВоВременноеХранилище(ОтчетОбъект.СхемаКомпоновкиДанных, УникальныйИдентификатор); | |||
| 7
    
        falselight 11.03.19✎ 11:51 | 
        (5) А как заполняешь сам не совсем понял?
 Я вот смотрю как сделано в типовых конфигурациях. | |||
| 8
    
        falselight 11.03.19✎ 11:56 | 
        От куда мне получить СхемуКомпоновкиДанных? Если у меня Отчет - ДанныеФормыСтруктура.
 ? | |||
| 9
    
        hhhh 11.03.19✎ 12:09 | 
        (8) всё прикалываешься?
 РеквизитФормыВЗначение("Отчет") получи | |||
| 10
    
        falselight 11.03.19✎ 12:22 | 
        Подскажите что я не так делаю?
 Вот я передаю схему компоновки данных и инициализирую её, а настройки варианта отчета все равно не становятся как сами настройки отчета ( &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(Параметры.ПользовательскиеНастройки); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Параметры.НастройкиОтчета.АдресСхемы)); КонецПроцедуры | |||
| 11
    
        falselight 11.03.19✎ 12:24 | 
        (9) Да это я сделал вот я получаю схему компоновки данных и устанавливаю в реквизит
 произвольного типа, как в УТ 11. Потом это все передаю по кнопке изменить вариант отчета в форму изменения варианта отчета управляемую. Но ничего не меняется (((( Что нужно сделать? В УТ11 так работает. &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) НастройкиИзмененияВарианта = Новый Структура; // ТекОтчет = РеквизитФормыВЗначение("Отчет"); // АдресСхемы = ПоместитьВоВременноеХранилище(ТекОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"), УникальныйИдентификатор); НастройкиИзмененияВарианта.Вставить("АдресСхемы", АдресСхемы); НастройкиОтчета = НастройкиИзмененияВарианта; // <- КонецПроцедуры | |||
| 12
    
        falselight 11.03.19✎ 12:28 | 
        Что важного из этого в типовом механизме УТ11 ?
 Что влияет на правильное отображение настроек формы варианта отчета? &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; ФормаПараметры = Новый Структура( "КлючНазначенияИспользования, КлючПользовательскихНастроек, |Расшифровка, СформироватьПриОткрытии, ТолькоПросмотр, |ФиксированныеНастройки, Раздел, Подсистема, ПодсистемаПредставление"); ЗаполнитьЗначенияСвойств(ФормаПараметры, Параметры); ФормаПараметры.Вставить("Отбор", Новый Структура); Если ТипЗнч(Параметры.Отбор) = Тип("Структура") Тогда ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ФормаПараметры.Отбор, Параметры.Отбор, Истина); Параметры.Отбор.Очистить(); КонецЕсли; Если Параметры.Свойство("ПредставлениеВарианта") И ЗначениеЗаполнено(Параметры.ПредставлениеВарианта) Тогда АвтоЗаголовок = Ложь; Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Изменение варианта отчета ""%1""'"), Параметры.ПредставлениеВарианта); КонецЕсли; Если Параметры.Свойство("НастройкиОтчета", НастройкиОтчета) Тогда Если НастройкиОтчета.СхемаМодифицирована Тогда Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(НастройкиОтчета.АдресСхемы)); КонецЕсли; КонецЕсли; Если Не ЗначениеЗаполнено(Параметры.ПредставлениеВарианта) Тогда Параметры.Свойство("ВариантНаименование", Параметры.ПредставлениеВарианта); КонецЕсли; ПолныйПуть = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ПолныйПутьТекущегоУзлаКД"); Если ЗначениеЗаполнено(ПолныйПуть) Тогда НастройкиКД = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "Вариант"); Если НастройкиКД = Неопределено Тогда НастройкиКД = Отчет.КомпоновщикНастроек.Настройки; КонецЕсли; КорневойУзел = ОтчетыКлиентСервер.НайтиЭлементПоПолномуПути(НастройкиКД, ПолныйПуть); Если КорневойУзел <> Неопределено Тогда ИдентификаторТекущегоУзлаКД = НастройкиКД.ПолучитьИдентификаторПоОбъекту(КорневойУзел); КонецЕсли; КонецЕсли; Если ТипЗнч(ИдентификаторТекущегоУзлаКД) <> Тип("ИдентификаторКомпоновкиДанных") Тогда ИдентификаторТекущегоУзлаКД = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ТекущаяСтрока"); Если ТипЗнч(ИдентификаторТекущегоУзлаКД) <> Тип("ИдентификаторКомпоновкиДанных") Тогда ИдентификаторТекущегоУзлаКД = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Параметры, "ИдентификаторТекущегоУзлаКД"); КонецЕсли; КонецЕсли; КонецПроцедуры | |||
| 13
    
        falselight 11.03.19✎ 12:55 | 
        Короче форму изменения настроек варианта отчета, при открытии никак не могу открыть
 в настройках отчета, МОЖЕТ КТО ЛИБО ПОДСКАЗАТЬ ЧТО ИМЕННО НУЖНО ДЕЛАТЬ? А то вообще не понимаю что делать?!!!! | |||
| 14
    
        falselight 11.03.19✎ 13:02 | 
        ппц, никто не подскажет (((((     | |||
| 15
    
        hhhh 11.03.19✎ 13:10 | 
        форму сам написал? или скопипастил? Если с УТ 11 взял, тогда не парься, там с внешними отчетами не работает.     | |||
| 16
    
        falselight 11.03.19✎ 13:40 | 
        (15) Сам сделал. Она же автоматически формируется, только указать что это форма варианта отчета.
 Мне нужно в составе конфигурации. Я сделал внешний, что бы разбираться. Какие будут советы???? С УТ там все завязано на общих формах и модулях. Я хочу сделать использую формы отчета. Настройки и варианта. Какие будут советы что сейчас делать? | |||
| 17
    
        falselight 11.03.19✎ 13:45 | 
        Сейчас формы отчета такие, https://cloud.mail.ru/public/81eJ/r66meFGUj     | |||
| 18
    
        falselight 11.03.19✎ 13:54 | 
        Сколько знатаков. Обычной задачи!!!!!!!!!!     | |||
| 19
    
        falselight 11.03.19✎ 16:04 | 
        Ребята? Подскажете как увязать настройки скд и изменение варианта скд?     | |||
| 20
    
        Мимохожий Однако 11.03.19✎ 16:07 | 
        http://catalog.mista.ru/public/941556/
 https://expert.chistov.pro/public/542677/ это на первой странице поиска | |||
| 21
    
        falselight 11.03.19✎ 16:17 | 
        (20) Вы хотите сказать что прочтя эти ссылки, я смогу связать вот эти настройки????????
 ФормуНастроекУправляемая отчета, и ФормаВариантаУправляемая отчета? Сейчас просто не реагирует на ФормаОтчетаУправляемая, она открывается, но с какими то настройками по умолчанию. На неё не реагирует отчет, и она не связана с настройками отчета. http://joxi.ru/L216vJaCR8JOeA - ФормаНастроекУправляемая и http://joxi.ru/Vm6Zv3Xt4DkbPm - ФормаВариантовУправляемая | |||
| 22
    
        falselight 11.03.19✎ 16:18 | 
        (21) <=  Сейчас просто не реагирует на ФормаВариантовУправляемая ....     | |||
| 23
    
        Мимохожий Однако 11.03.19✎ 16:24 | 
        (21) Копай сам. Большего не скажу-обидишься.     | |||
| 24
    
        falselight 11.03.19✎ 16:40 | 
        (23) Я сам скажу. У отчета есть ФормаНастроекУправляемая, Она вызывается по кнопке
 из основной формы отчета. Кнопка настройки имеет следующий код, - &НаКлиенте Процедура кнНастройки(Команда) ПараметрыФормы = Новый Структура; //ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ФормаПараметры, Истина); ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта)); ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки); ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); ПараметрыФормы.Вставить("ВариантНаименование", Строка(НаименованиеТекущегоВарианта)); Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; //Обработчик = Новый ОписаниеОповещения("ВсеНастройкиЗавершение", ЭтотОбъект); ОткрытьФорму("Отчет.Покатегориям.Форма.ФормаНастроекУправляемая", ПараметрыФормы, ЭтаФорма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры В самой ФормеНастроекУправляемая, вот этот код видимо отвечает за, установку настроек ф ФормеНастроекУправляемой .... | |||
| 25
    
        falselight 11.03.19✎ 16:40 | 
        (24+)
 &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(Параметры.ПользовательскиеНастройки); КонецПроцедуры | |||
| 26
    
        falselight 11.03.19✎ 16:44 | 
        (23) Теперь, по кнопке Изменить, изменение варианта отчета
 &НаКлиенте Процедура кнИзменитьВариант(Команда) ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета); ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки); ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта)); ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); //ПараметрыФормы.Вставить("ПредставлениеВарианта", Строка(ОтчетНаименованиеТекущегоВарианта)); ПараметрыФормы.Вставить("ВариантНаименование", Строка(НаименованиеТекущегоВарианта)); Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; //Обработчик = Новый ОписаниеОповещения("ВсеНастройкиЗавершение", ЭтотОбъект); ОткрытьФорму("ВнешнийОтчет.GSS_Покатегориям.Форма.ФормаВариантаУправляемая", ПараметрыФормы, ЭтаФорма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры В самой ФормаВариантаУправляемая, попробовал прописать так &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(Параметры.ПользовательскиеНастройки); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Параметры.НастройкиОтчета.АдресСхемы)); КонецПроцедуры Но это ни чего не дало!!!!!!!!!!!!! Как мне увязать форма настроек варианта отчета с настройками? Синхронизировать их. Вот эту форму. http://joxi.ru/LmG98pzHweL03A | |||
| 27
    
        hhhh 11.03.19✎ 17:20 | 
        (26) а зачем таким дебилизмом страдать? Оно вам это надо? Без всяких этих форм всё там работает. И кнопка Настройки есть и сохранить или загрузить вариант отчета.     | |||
| 28
    
        falselight 11.03.19✎ 18:48 | 
        (27) Задача такая.
 Постановка в том что по кнопке настройки открывается форма ФормаНастроекУправляемая Задаваемые настройки можно менять, сохранять. Они влияют на формирование отчета. По кнопке изменить (изменить вариант отчета) что именно туда передавать и что именно задавать, что бы при открытии она была такая же как форма настроек? | |||
| 29
    
        falselight 12.03.19✎ 05:31 | 
        (27) Нужно что бы в настройках и изменении варианта картинки при открытии совпадали!!!!
 Как это сделать? | |||
| 30
    
        falselight 12.03.19✎ 07:16 | 
        (23) Куда копать то, как это делается подскаджите?     | |||
| 31
    
        Mankubus 12.03.19✎ 07:20 | 
        (17) а зачем ты открываешь форму встроенного отчета?
 
тебе же вчера было сказано что надо открывать форму внешнего отчета и ты сказал что все понял 
 | |||
| 32
    
        falselight 12.03.19✎ 07:30 | 
        (31) Да не в этом дело. Не работает то что нужно. И я не знаю как это сделать.
 Сейчас я поправил то что вы сказали. Но все равно то что нужно не работает. Нужно что бы картинки настроек, и вариантов настроек были одинаковыми и синхронизированы. С возможностью менять как там так и там!!!!!! | |||
| 33
    
        falselight 12.03.19✎ 07:52 | 
        (31) lTKJ NJ YT D 'NJV     | |||
| 34
    
        falselight 12.03.19✎ 07:53 | 
        (31) Дело то не в этом.     | |||
| 35
    
        falselight 12.03.19✎ 07:56 | 
        ВОТ Я ОТКРЫВАЮ ФОРМУ ВАРИАНТА НАСТРОЕК. Что нужно в неё передать, и как привильно использовать, что бы она была равна форме настроек?
 &НаКлиенте Процедура кнИзменитьВариант(Команда) ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета); ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.ПолучитьНастройки()); ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта)); ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); //ПараметрыФормы.Вставить("ПредставлениеВарианта", Строка(ОтчетНаименованиеТекущегоВарианта)); ПараметрыФормы.Вставить("ВариантНаименование", Строка(НаименованиеТекущегоВарианта)); Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; //Обработчик = Новый ОписаниеОповещения("ВсеНастройкиЗавершение", ЭтотОбъект); ОткрытьФорму("ВнешнийОтчет.GSS_Покатегориям.Форма.ФормаВариантаУправляемая", ПараметрыФормы, ЭтаФорма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры | |||
| 36
    
        falselight 12.03.19✎ 07:57 | 
        (35+)  Почему если я в форме настроек убираю поле строк отчета. То в форме настроек варианта оно не убирается, а показывается зачеркнутым. Как буд то отключено, и его можно включить через настройки.     | |||
| 37
    
        falselight 12.03.19✎ 08:33 | 
        UP!     | |||
| 38
    
        falselight 12.03.19✎ 08:44 | 
        Как открывать настройки и изменить вариант отчета, и видеть одинаковую картинку настроек??????     | |||
| 39
    
        falselight 12.03.19✎ 09:06 | 
        Нужен привет, так я ничего не понимаю.     | |||
| 40
    
        falselight 12.03.19✎ 09:26 | 
        Вот что я делаю в самой форме выбора варианта отчета, все же загружаю, почему там все по старому?
 &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // //Параметры.НастройкиОтчета //Параметры.Вариант //Параметры.Настройки //Параметры.ФиксированныеНастройки //Параметры.КлючВарианта //Параметры.ПользовательскиеНастройки // Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(Параметры.ПользовательскиеНастройки); Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Параметры.Вариант); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Параметры.НастройкиОтчета.АдресСхемы)); КонецПроцедуры // | |||
| 41
    
        falselight 12.03.19✎ 17:10 | 
        Up!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |