Имя: Пароль:
1C
 
Открытие формы варианта отчета СКД с заданными настройками
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) а зачем ты открываешь форму встроенного отчета?

ОткрытьФорму("Отчет.GSS_Покатегориям.Форма.ФормаНастроекУправляемая", ПараметрыФормы,
    ЭтаФорма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);


тебе же вчера было сказано что надо открывать форму внешнего отчета и ты сказал что все понял

ОткрытьФорму("ВнешнийОтчет.GSS_Покатегориям.Форма.ФормаНастроекУправляемая", ПараметрыФормы,
    ЭтаФорма,,,,, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

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!
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший