Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 13:46

КД и отбор

Автор markgenuine, 03 июн 2014, 12:08

0 Пользователей и 1 гость просматривают эту тему.

markgenuine

Создаю правила выгрузки справочника, как можно сделать отбор по элементам справочника, которые находятся в конкретной группе?
Спасибо.

cska-fanat-kz

добавляете параметр типа СправочникСсылка. можно указать что отобразить его на форме УнивесальногоОбменаХМЛ. Туда выбираете нужную группу. Ну или устанавливаете параметр программно.

В ПКО, по которому выгружаем справочник, в событии ПередВыгрузкойДанных() пишем
Если Источник.Родитель <> Параметры.ГруппаСправочника Тогда
    Отказ = Истина;
КонецЕсли;

Единственное - не будут выгружаться элементы из нужной группы, которые находятся еще в какой нить группе.
В этом случае в ПВД меняем "стандартную выборку" на "произвольный запрос"...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

markgenuine

Цитата: cska-fanat-kz от 03 июн 2014, 12:20
добавляете параметр типа СправочникСсылка. можно указать что отобразить его на форме УнивесальногоОбменаХМЛ. Туда выбираете нужную группу. Ну или устанавливаете параметр программно.

В ПКО, по которому выгружаем справочник, в событии ПередВыгрузкойДанных() пишем
Если Источник.Родитель <> Параметры.ГруппаСправочника Тогда
    Отказ = Истина;
КонецЕсли;

Единственное - не будут выгружаться элементы из нужной группы, которые находятся еще в какой нить группе.
В этом случае в ПВД меняем "стандартную выборку" на "произвольный запрос"...
А если конкретнее про стандартную выборку и на произвольный запрос? Я просто учусь на конвертации, первый раз что-то делаю=) я просто хочу сделать отбор, чтобы к примеру номенклатура вся загрузилась только из конкркетной группы в иерархии.

cska-fanat-kz

Ставим способ выборки - Произвольный запрос.
У ПВД, по которому переносится справочник, в событии ПередОбработкой() пишем запрос
(отладить можно в консоли запросов на самой базе).
Результат запроса (Запрос.Выполнить()) присваиваем переменной ВыборкаДанных.
Соответственно поля запроса должны соответствовать ПКС'ам...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Besart

в ПКО перед выгрузкой ставите условиеЕсли Источник.ЭтоГруппа Тогда
Если Источник.Наименование <> "Нужная группа" Тогда
Отказ = Истина;
КонецЕсли;
Иначе
Если Источник.Родитель.Наименование <> "Нужная группа" Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;

примечание: выгружается вся номенклатура в группе "Нужная группа" вместе с группой, работает правильно только если один уровень вложенности

cska-fanat-kz

Цитата: Besart от 04 июн 2014, 00:25
в ПКО перед выгрузкой ставите условиеЕсли Источник.ЭтоГруппа Тогда
Если Источник.Наименование <> "Нужная группа" Тогда
Отказ = Истина;
КонецЕсли;
Иначе
Если Источник.Родитель.Наименование <> "Нужная группа" Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;

примечание: выгружается вся номенклатура в группе "Нужная группа" вместе с группой, работает правильно только если один уровень вложенности


ИМХО лучше в ПВД отсекать ненужные....
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Besart

Цитата: cska-fanat-kz от 04 июн 2014, 12:31ИМХО лучше в ПВД отсекать ненужные....
для освоения КД и так пойдет

cska-fanat-kz

Дальнейший спор считаю нерациональным, однако пусть сразу учится как правильно :befhbt:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск