Отбор в 8.2
27.01.2011
14:21
#1
Здравствуйте!
Подскажите, пожалуйста, как организовать программный отбор по определенному реквизиту при открытии формы выбора в 8.2? Или подскажите, пожалуйста, в какой из конфигурации можно посмотреть код, наверняка используется данный механизм в типовых решениях). Я из поля таб.части (тип плансчетов.хозрасчетный.ссылка) нажимаю выбор и у меня открывается весь план счетов, а я хочу сделать, чтобы выводились только определенные счета, например 01 и все его субсчета.
спасибо
Подскажите, пожалуйста, как организовать программный отбор по определенному реквизиту при открытии формы выбора в 8.2? Или подскажите, пожалуйста, в какой из конфигурации можно посмотреть код, наверняка используется данный механизм в типовых решениях). Я из поля таб.части (тип плансчетов.хозрасчетный.ссылка) нажимаю выбор и у меня открывается весь план счетов, а я хочу сделать, чтобы выводились только определенные счета, например 01 и все его субсчета.
спасибо
27.01.2011
17:57
#2
"в результате поисков дошел почти до конца...
форма = Справочники.<НашСправочник>.ПолучитьФормуВыбора();
отборкод = форма.список.отбор.ДоступныеПоляОтбора.Элементы[нужнойИндексПоляОтбора];
отборкод.ДоступныеЗначения = список;
отборкод.ДоступныеВидыСравнения[нужныйИндексВидаСравнения].Пометка = Истина; //в данном случае ВСписке
вернулосьЗначение = форма.ОткрытьМодально();
...но вот беда форма открывается без отбора, в обычном приложении при отборе нужно было ввести
отбор.реквизит.использование = истина;
по всей видимости здесь я этого еще не сделал и отбор не активируется! Но где это задается? не могу понять! Помогите, плиз, внести последний штрих! заранее благодарен!"
форма = Справочники.<НашСправочник>.ПолучитьФормуВыбора();
отборкод = форма.список.отбор.ДоступныеПоляОтбора.Элементы[нужнойИндексПоляОтбора];
отборкод.ДоступныеЗначения = список;
отборкод.ДоступныеВидыСравнения[нужныйИндексВидаСравнения].Пометка = Истина; //в данном случае ВСписке
вернулосьЗначение = форма.ОткрытьМодально();
...но вот беда форма открывается без отбора, в обычном приложении при отборе нужно было ввести
отбор.реквизит.использование = истина;
по всей видимости здесь я этого еще не сделал и отбор не активируется! Но где это задается? не могу понять! Помогите, плиз, внести последний штрих! заранее благодарен!"
28.01.2011
10:30
#3
"Все разобрался!!!
код должен был быть следующим
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Код");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = списокЗнач;
Всем спасибо за помощь! :)"
код должен был быть следующим
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Код");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = списокЗнач;
Всем спасибо за помощь! :)"
Комплексная автоматизация 1.1: в платежном поручении отсутствуют поля счет БУ/НУОшибки релиз 7.70.642
Читают тему
(гостей: 1)