|
Работа отборов СКД | ☑ | ||
---|---|---|---|---|
0
slabak
18.04.17
✎
11:32
|
Добрый день!
Вопрос в работе отборов СКД. Заранее извините за длинную портянку. Создаю обработку - цель которой отбирать с помощью разных отборов необходимые документы для последующего редактирования. Что сделал? Создал обработку, в реквизиты добавил реквизит КомпоновщикНастроек (тип КомпоновщикНастроекКомпоновкиДанных), также в обработке создал 2 схемы компоновки: 1) Отборы. Схема для описания отборов к схеме (2). 2) ЗапросИнформации - запрос к регистру. В схеме 1 (Отборы) создал несколько наборов данных с запросами данных по тем реквизитам, по которым в последующем хочу делать отбор при компоновке результата схемы (2). В том числе по значению регистратора. Выглядит это так: 1) Схема Отборы - https://i.gyazo.com/df329daa1496631839c1a23c0ba3e6d9.png 2) Схема ЗапросИнформации - https://i.gyazo.com/3d90e7d320c7a4f2ebcd2ba6fa89de3c.png Далее на форму бросил Отбор КомпоновщикаНастроек - https://i.gyazo.com/58c5e47cc07a2fb3c728f1d1b7ee8c29.png В коде формы при создании инициализировал настройки таким образом: ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); СхемаСКД = ОбработкаОбъект.ПолучитьМакет("Отборы"); //получаем макет отборов из обработки АдресСхемы = ПоместитьВоВременноеХранилище(СхемаСКД, УникальныйИдентификатор); ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы); Объект.КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек); Объект.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаСКД.НастройкиПоУмолчанию); Далее при нажатии на кнопку "Получить результаты отбора" сделал следующее для получения результатов по схеме (2) с отборами схемы (1): ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); СхемаКомпоновкиДанных = ОбработкаОбъект.ПолучитьМакет("ЗапросИнформации"); // получаем схему для запроса информации из регистра КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, ОбработкаОбъект.КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТаблицаОтобранныхЭлементов = Новый ТаблицаЗначений; ПроцессорВывода.УстановитьОбъект(ТаблицаОтобранныхЭлементов); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Далее ТаблицаОтобранныхЭлементов выводится в таблицу значений на форму. Такая реализация работает, но почему то не со всеми документами в отборе. Почему? Вот например, ставим в отбор первый документ и получаем результат ТаблицаОтобранныхЭлементов такой: 1) Устанавливаем отбор на форме - https://i.gyazo.com/75da237846ae4f92faf15a61b6007a15.png 2) Жмем "Получить результат отбора" 3) Получаем ожидаемый результат - документ с которым в последующем необходимо произвести нужные действия (https://i.gyazo.com/cefd4640bb6599a18862a063268d2f6c.png) - берется из ТаблицаОтобранныхЭлементов 4) Ставим в отбор другой документ - https://i.gyazo.com/82ada5cb6d09d8378f558f0401b8aca6.png 5) Жмем "Получить результат отбора" 6) И в результате получаем пустую таблицу - https://i.gyazo.com/127b8b1f64d555db6254105fe7a3310d.png Такое ощущение, что отбор применяется неправильно к схеме (2) в части случаев, но почему? Извините за объемный вопрос, но не могу понять почему так себя ведет СКД. Спасибо. |
|||
1
slabak
18.04.17
✎
12:01
|
Есть у кого нибудь идеи почему так происходит?
|
|||
3
Timon1405
18.04.17
✎
12:28
|
(0) скорее всего наложенный отбор на внешнюю таблицу превращает левое соединение наборов во внутреннее
https://its.1c.ru/db/metod8dev#content:2696:hdoc:_top |
|||
4
slabak
20.04.17
✎
11:48
|
(3) И как это решить? Из ссылки не понял каким образом можно правильно наложить отборы, чтобы корректно работало. :(
|
|||
5
Buster007
20.04.17
✎
11:51
|
Посмотри у макета компоновки запрос и сделай выводы.
Возможно тебе придется снять галку "Автозаполнение" и настроить самостоятельно возможные отборы. |
|||
6
slabak
20.04.17
✎
13:09
|
(5) Вот такая картинка получается:
1) В этом случае документ находит https://i.gyazo.com/dc970dda7d8446c5055a7262b3e4bca7.png 2) А в этом случае не находит https://gyazo.com/33a7458ae828b68a55985e2f9e96d63e Хотя как видно - всё идентично, кроме задаваемого параметра. |
|||
7
slabak
20.04.17
✎
15:57
|
Есть у кого нибудь идеи?
|
|||
8
GvH
20.04.17
✎
16:35
|
(7) Нет движений по регистру у документа № 3.
|
|||
9
slabak
20.04.17
✎
16:44
|
(8) движения есть
|
|||
10
kuzyara
21.04.17
✎
04:01
|
Я так понял Консоль компоновок данных (ИР) для слабаков?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |