![]() |
![]() |
![]() |
|
СКД - восстановить схему по адресу... zzz_zzz_zzz, mikecool, Fedor-1971, Hawk_1c, mortal, Vstur, nAPACEHAK, TormozIT, boev82, YaFedor, Ботаник Гарден Меран, toypaul, youalex, Valdis2007, Prog_man, nick86, viraboy, Шурик71, Amfiaray, San787, Timon1405, segn, WB789, tir654, alexxx961503, Pprog151713, retrowave, DiMel_77, zenik, boozin, DimVad, SleepyHead, Жеглофф
| ☑ | ||
---|---|---|---|---|
0
mikecool
28.08.25
✎
09:33
|
Внешняя обработка, в ПриСозданииНаСервере пишу:
ОтборыПрайса = ОбработкаОбъект.ПолучитьМакет("ОтборыПрайса"); АдресСхемы = ПоместитьВоВременноеХранилище(ОтборыПрайса, УникальныйИдентификатор); Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); АдресСхемы, Компоновщик - реквизиты формы когда мне нужно для выборки пишу: СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(АдресСхемы); Настройки = Компоновщик.ПолучитьНастройки(); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Владелец", Владелец); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", ДатаОкончанияДействия); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ТипЦен", ТипЦен); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); РезультатЗапроса = Новый ТаблицаЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(РезультатЗапроса); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); В результате запроса - пусто, схема с теми же параметрами в консоли СКД результат выдает чего же я сделал не так? |
|||
1
mikecool
28.08.25
✎
09:13
|
смущает, что в макете компоновки есть параметры, но нет источников данных...
|
|||
2
Fedor-1971
28.08.25
✎
09:29
|
(0) а точно верная логика?
1. АдресСхемы = ПоместитьВоВременноеХранилище(ОтборыПрайса, УникальныйИдентификатор); - поместил в хранилище формы 2. Инициализировал Компоновщик 3. СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(АдресСхемы); - прочитал чистую схему (форма ещё существует?) И, на всякий случай, проверь Компоновщик в обеих случаях одно и то же? |
|||
3
СвинТуз
28.08.25
✎
09:34
|
(0)
Во втором случае компоновщик это что? Тоже реквизит формы? |
|||
4
toypaul
гуру
28.08.25
✎
09:49
|
"когда мне нужно для выборки пишу:" а когда тебе нужно? адрес схемы уже протухнуть может когда тебе нужно.
поэтому делать АдресСхемы = ПоместитьВоВременноеХранилище(ОтборыПрайса, УникальныйИдентификатор); Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); лучше там где тебе нужно |
|||
5
mikecool
28.08.25
✎
09:55
|
(2) это одна и та же форма, в ПриСоздании - подготовил компоновщик для отборов, потом, не закрывая форму, жму команду, в которой хочу получить данные
(3) АдресСхемы, Компоновщик - реквизиты формы |
|||
6
mikecool
28.08.25
✎
09:51
|
(4) для теста эти действия за минуту проходят, надеюсь не успевает протухнуть...
попробую не поднимать схему, а заново ее получить |
|||
7
Fedor-1971
28.08.25
✎
10:02
|
(6) тут больше надо убедиться, что получается правильный макет. И обработка точно сохранена? Бо, бывает, закрутишься и забываешь сохранить
Ещё одна шляпа, в пользовательском режиме его может подчитать в кэш по внутреннему ИД и надо делать "Стандартные настройки" |
|||
8
mikecool
28.08.25
✎
10:03
|
+6 эффект такой же, получение схемы из макета не дало результата
|
|||
9
mikecool
28.08.25
✎
10:04
|
(7) макет свежедобавленный, на кеш не получается свалить )
|
|||
10
Ботаник Гарден Меран
28.08.25
✎
10:09
|
СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(АдресСКД);
КомпоновщикНастроек.ЗагрузитьНастройки(СКД.ВариантыНастроек.Получить(0).Настройки); |
|||
11
mikecool
28.08.25
✎
10:18
|
(10) а как потом применить те настройки, что пользователь добавил?
|
|||
12
mikecool
28.08.25
✎
10:20
|
+11 так то и НастройкиПоУмолчанию прокатят...
|
|||
13
Ботаник Гарден Меран
28.08.25
✎
10:38
|
(12)
Отчеты уже года 3 как сложные не делаю. И по-разному все сделаны. Вот такое нашлось. КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпоновщикНастроекДанных.ЗагрузитьНастройки(КомпоновщикНастроек.Настройки); КомпоновщикНастроекДанных.ЗагрузитьПользовательскиеНастройки(КомпоновщикНастроек.ПользовательскиеНастройки); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроекДанных.ПолучитьНастройки(), ДанныеРасшифровки); |
|||
14
mikecool
28.08.25
✎
11:17
|
(13) спасибо, попробую
|
|||
15
mikecool
28.08.25
✎
11:55
|
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ОтборыПрайса");
КомпоновщикНастроекДанных = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); КомпоновщикНастроекДанных.ЗагрузитьНастройки(Компоновщик.ПолучитьНастройки()); Настройки = КомпоновщикНастроекДанных.ПолучитьНастройки(); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Владелец", Владелец); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", ДатаОкончанияДействия); Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ТипЦен", ТипЦен); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); РезультатЗапроса = Новый ТаблицаЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(РезультатЗапроса); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); результат тот же, пустой |
|||
16
mikecool
28.08.25
✎
12:00
|
заново помещал схему в временное хранилище - не помогло
убирал КомпоновщикНастроекДанных.ЗагрузитьНастройки(Компоновщик.ПолучитьНастройки()); - не помогло |
|||
17
TormozIT
гуру
28.08.25
✎
12:54
|
Проверяй в точке останова макет компоновки через ирОбший.От(МакетКомпоновки), потом схему и настройку ирОбший.От(СхемаКомпоновкиДанных, Настройки)
|
|||
18
Ботаник Гарден Меран
28.08.25
✎
13:06
|
Есть предположение, по темам с партнерки.
"Значение реквизита типа КомпоновщикНастроекКомпоновкиДанных не сохраняется и не восстанавливается. В управляемой форме реквизиту типа КомпоновщикНастроекКомпоновкиДанных невозможно установить флаг сохранения данных в настройках." И они там используют дополнительный реквизит с типом Произвольный для хранения и передачи настроек (не самого компоновщика). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |