Имя: Пароль:
1C
 
Вывод на форму настроект СКД, отборов
,
0 NIGHTHUNTER
 
14.09.21
09:34
Как вывести на форму параметры СКД, что бы задавать их универсально?
При формировании макетов СКД, программным образом.
То есть, разные макеты СКД, формируются программно из одно отчета.
Можно ли сделать автоматическое проставление их параметров с формы?
В зависимости от выбора макета. Пока только понимаю, что в ручную прописывать все.
1 УдавВПопугаях
 
14.09.21
09:40
по кнопке сменить текущую схему, в компоновщик загрузить настройки, поиграться
2 NIGHTHUNTER
 
14.09.21
10:26
(1) как поиграться?
3 NIGHTHUNTER
 
14.09.21
10:29
(1) То есть на форме будут автоматически меняться поля, параметры, в зависимости от выбранного значения макета в списке на форме?
4 ДенисЧ
 
14.09.21
10:36
Взять форму отчета из БСП (и вообще всю подсистему).
Там именно так и делается
5 NIGHTHUNTER
 
14.09.21
10:40
(4) у меня список на форме, который соответствует схемам скд.
Думал делать все программно, но решил как то сделать универсально.
Форму эту взял, а дальше как?
6 NIGHTHUNTER
 
14.09.21
10:43
запутался нафиг!
7 ДенисЧ
 
14.09.21
10:44
(5) А теперь отложи форму, возьми шариковую ручку и лист бумаги А4
8 NIGHTHUNTER
 
14.09.21
10:47
(7) Ок
9 NIGHTHUNTER
 
14.09.21
10:48
(7) Знать бы как с пользой его использовать.

То есть самому это не сделать?
10 NIGHTHUNTER
 
14.09.21
10:49
(9)+ Нужна именно общая форма ФормаОтчета. Я хотел сделать независимо.
11 hhhh
 
14.09.21
10:53
(10) делаешь ctrl-C, ctrl-v. И у тебя в отчете уже своя форма.
12 NIGHTHUNTER
 
14.09.21
10:54
(7) что с листом делать и ручкой?
13 NIGHTHUNTER
 
14.09.21
10:54
(11) Это понятно, а как сделать то что я хочу? я не понимаю
14 ДенисЧ
 
14.09.21
10:55
(12) Идёшь в отдел кадров, они тебе подскажут.
15 hhhh
 
14.09.21
11:01
(14) у ливингстара нет отдела кадров. он шабашит.
16 NIGHTHUNTER
 
14.09.21
11:04
(11) Что даст мне эта форма?
Я взял эту форму и перенес в обработку. ну она же ссылается на разный мехамнизм конфигураций. А если вне его?

Что нужно:

1. на форме список имеющихся макетов СКД, табличное поле для вывода СКД и кнопка.
2. Хочется, при выборе макетов в списке СКД, на форме появлялись\менялись параметры этих СКД.

Как это сделать? И возможно ли? Как то с трудом дается заметил что.
17 ДенисЧ
 
14.09.21
11:05
(16) Обогийадумне!
После загрузки схемы читаешь её отборы и параметры и программно добавляешь поля...
18 NIGHTHUNTER
 
14.09.21
11:10
(17) После загрузки схемы куда? Пока у меня просто список предполагаемых макетов или макет. И пример программно формируемого отчета СКД.

//
&НаСервере
Процедура СформироватьНаСервере(ТаблДок, ВариантСКД)
    ОбъектОтчет   = РеквизитФормыВЗначение("Отчет");
    //
    //ОСКД          = ОбъектОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    ОСКД          = ОбъектОтчет.ПолучитьМакет(ВариантСКД);
    //
    НастройкиОСКД = ОСКД.НастройкиПоУмолчанию;
    //
    //НастройкиОСКД = КомпоновщикНастроек.ПолучитьНастройкиОСКД();
    //
    ПараметрыДанныхОСКД = НастройкиОСКД.ПараметрыДанных.Элементы;
    //
    ЭлементНачалоПериода               = ПараметрыДанныхОСКД.Найти("НачалоПериода");
    ЭлементНачалоПериода.Использование = Истина;
    ЭлементНачалоПериода.Значение      = НачалоМесяца(ТекущаяДата());
    //
    ЭлементКонецПериода               = ПараметрыДанныхОСКД.Найти("КонецПериода");
    ЭлементКонецПериода.Использование = Истина;
    ЭлементКонецПериода.Значение      = КонецМесяца(ТекущаяДата());
    //
    ЭлементСчет                       = ПараметрыДанныхОСКД.Найти("Счет");
    ЭлементСчет.Использование         = Истина;
    ЭлементСчет.Значение              = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
    //
    //КомпоновщикНастроекДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
    //КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ОСКД));
    //КомпоновщикНастроекДанных.ЗагрузитьНастройкиОСКД(ОСКД.НастройкиОСКДПоУмолчанию);
    //КомпоновщикНастроекДанных.ЗагрузитьПользовательскиеНастройкиОСКД(Отчет.КомпоновщикНастроек.ПользовательскиеНастройкиОСКД);
    //
    КомпоновщикМакетаОСКД = Новый КомпоновщикМакетаКомпоновкиДанных;
    //
    //Макет = КомпоновщикМакетаОСКД.Выполнить(ОСКД, КомпоновщикНастроекДанных.ПолучитьНастройкиОСКД());
    Макет = КомпоновщикМакетаОСКД.Выполнить(ОСКД, НастройкиОСКД);
    //
    ПроцессорКомпоновкиОСКД = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиОСКД.Инициализировать(Макет);
    //
    ТаблДок.Очистить();
    //
    ПроцессорВыводаОСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВыводаОСКД.УстановитьДокумент(ТаблДок);
    ПроцессорВыводаОСКД.Вывести(ПроцессорКомпоновкиОСКД);
КонецПроцедуры
//
19 NIGHTHUNTER
 
14.09.21
11:11
(18+) тут параметры конечно статичные с примера.
Я по этому и задумался, что как бы их автоматизировать вывод на форму.
А то вот так под каждый макет придется писать, не разумно как то.
20 hhhh
 
14.09.21
11:19
(19) ну "список имеющихся макетов СКД" - это же тоже какая-то невероятная бредятина, поэтому не волнуйтесь, всё разумно.
21 NIGHTHUNTER
 
14.09.21
11:20
(20) А как????? Созданы разные макеты. Под них нужно сделать параметры задать, программно хотя бы. Какая бредятина?
22 NIGHTHUNTER
 
14.09.21
11:21
(20) Лучше натолкните на выполнение, что бы я пробовал делал и развивал результат.
23 polosov
 
14.09.21
11:27
24 toypaul
 
гуру
14.09.21
11:52
Ошибка? Это не ошибка, это системная функция.