Имя: Пароль:
1C
1С v8
Открыть Форму настроек СКД программно?
0 Живой Ископаемый
 
26.02.16
12:02
Из одной формыполучаю саму компоновку:
КомпоновкаДанных = Метаданные.Отчеты[ЭтотОбъект.ИсточникДанных].ОсновнаяСхемаКомпоновкиДанных;
Теперь есть необходимость открыть стандартную форму настроек этой самой компоновки, чтобы пользователь их заполнил
http://screencast.com/t/Tqbr9lpvUA

Наверняка ж есь такая возможность. Подскажите как.
1 Живой Ископаемый
 
26.02.16
12:08
надо было голосовалку сразу делать. :(
2 ЧеловекДуши
 
26.02.16
12:11
(1) Зачем, форму? Делай отдельно ;)
А лучше делай еще одну форму в отчете и открывай её.
А еще лучше, просто открывай форму отчета :)

Голосовалка в стиле пятницО? :)
3 Живой Ископаемый
 
26.02.16
12:50
Узнаю 1Сников...
есть универсальная форма, на которой человек выбирает отчет, встроенный в конфу. Форма читает компоновку этого отчета. Теперь нужно дать возможность пользователю заполняить настройки. Логично бы не изобретать велосипед, а открыть стандартную форму, скормив ей настройки.
4 aleks_default
 
26.02.16
12:55
ПолучитьФорму("Отчет."+[ЭтотОбъект.ИсточникДанных].Форма.ФормаНастроек") не катит чтоле?
5 Живой Ископаемый
 
26.02.16
13:09
2(4) Нет такой форму у этого отчета. Он на СКД. у него есть только сама компоновка по умолчанию.
6 Encode
 
26.02.16
13:14
(5) Как ты хочешь открыть форму, которой нет? Попробуй создать общую форму, устанавливай ей объект Отчет и инициализируй компоновщик настроек
7 also
 
26.02.16
13:14
я в свое время когда решал такую задачу, свою форму в итоге нарисовал общую. Вроде по другому не решалось. Но может я чудак))
8 Mankubus
 
26.02.16
13:19
Какая конфигурация? В некоторых есть типовая общая форма
9 Живой Ископаемый
 
26.02.16
13:23
Так, в (0) фигня, там просто компоновка как реквизит метаданного получается. Правильно вот так:

    ОтчетОбъект = Отчеты[ЭтотОбъект.ИсточникДанных].Создать();
    КомпоновкаДанных = ОтчетОбъект.СхемаКомпоновкиДанных;
    КонструкторСхемыКомпоновкиДанных = Новый КонструкторСхемыКомпоновкиДанных(КомпоновкаДанных);
    КонструкторСхемыКомпоновкиДанных.Редактировать(ЭтаФорма);


2(5) Потому что форма ДВИЖКОВАЯ, идиот! Она всегда есть
====
10 Живой Ископаемый
 
26.02.16
13:31
Вот так работает:
    ОтчетОбъект = Отчеты[ЭтотОбъект.ИсточникДанных].Создать();
    КомпоновкаДанных = ОтчетОбъект.СхемаКомпоновкиДанных;
    ФормаНастройки = ОтчетОбъект.ПолучитьФормуНастроек();
    ФормаНастройки.ОткрытьМодально();

Спасибо
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой