Вход | Регистрация


Как ограничить отбор в выпадающем на форме в списке в поле ввода

Как ограничить отбор в выпадающем на форме в списке в поле ввода
Я
   gabd_marat
 
24.09.16 - 22:10
Народ есть поле в котором вводится счет учета. Необходимо, чтобы пользователь мог ввести или выбрать только определенные счета из плана счетов (предположим с 10 по 11). А у меня пользователь может выбрать любой счет учета.(1с 8.3)
Как это можно сделать..
Создал процедуру, но все выдает полный список плана счетов
Процедура СчетУчетаБУНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;

Форма = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора(, Элемент);

СписокСчетов = Форма.ЭлементыФормы.Список;

Отбор = СписокСчетов.Значение.Отбор;
Отбор.КодБыстрогоВыбора.ВидСравнения  = ВидСравнения.ИнтервалВключаяНачало;
Отбор.КодБыстрогоВыбора.ЗначениеС       = "10";
Отбор.КодБыстрогоВыбора.ЗначениеПо      = "11";
Отбор.КодБыстрогоВыбора.Использование = Истина;

СписокСчетов.НастройкаОтбора.КодБыстрогоВыбора.Доступность = Ложь;

Форма.ОткрытьМодально();
КонецПроцедуры
 
 
   butterbean
 
1 - 25.09.16 - 08:14
В своем поле выбора просто заполни список выбора нужными счетами, и не надо форму выбора открывать
   jsmith
 
2 - 25.09.16 - 09:46
(1) Некошерно.
   jsmith
 
3 - 25.09.16 - 09:47
>>А у меня пользователь может выбрать любой счет учета.(1с 8.3)
Нафига писать 8.3, если речь идет про обычное приложение?!
   TreeDogNight
 
4 - 25.09.16 - 09:49
В событии "НачалоВыбора" поля "Счет" впишите код:
[code]
МассивСчетов  =//Массив с необходимыми счетами;

НовыйПараметр = Новый ПараметрВыбора("Отбор.Ссылка", МассивСчетов);
НовыйМассив = Новый Массив();
НовыйМассив.Добавить(НовыйПараметр);
НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);
Элементы.Счет.ПараметрыВыбора = НовыеПараметры;[/code]
В этом случае отбор будет устанавливаться и на форму выбора и на поиск по вводу.
   gabd_marat
 
5 - 25.09.16 - 12:13
Сделал след образом, но все равно не работает(выдает полный список плана счетов). Читал что в 1с 8.3 нужно правильно настроить свойство поля и дважды прописать код выбора из списка, как это сделать? или я не правильно делаю?

&НаСервере
Процедура СчетУчетаБУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Запрос = Новый Запрос; 
     Запрос.Текст = "ВЫБРАТЬ 
     | Хозрасчетный.Ссылка 
     |ИЗ 
     | ПланСчетов.Хозрасчетный КАК Хозрасчетный 
     |ГДЕ 
     | Хозрасчетный.Родитель В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Материалы)) 
     | И Хозрасчетный.ЗапретитьИспользоватьВПроводках = ЛОЖЬ"; 
     СписокСчетов = Новый СписокЗначений; 
     СписокСчетов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка")); 
     ФормаВыбора = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора(, Элемент); 
     ЭлементОтбораСсылка = ФормаВыбора.Отбор.Ссылка; 
     Если ЭлементОтбораСсылка <> Неопределено Тогда 
     ЭлементОтбораСсылка.ВидСравнения = ВидСравнения.ВСписке; 
     ЭлементОтбораСсылка.Значение = СписокСчетов; 
     ЭлементОтбораСсылка.Использование = Истина; 
     КонецЕсли; 
     ФормаВыбора.ЭлементыФормы.Список.НастройкаОтбора.Ссылка.Доступность = Ложь; 
     ФормаВыбора.Открыть(); 
     СтандартнаяОбработка = Ложь; 
КонецПроцедуры

&НаСервере
Процедура СчетУчетаБУНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
    Запрос = Новый Запрос; 
     Запрос.Текст = "ВЫБРАТЬ 
     | Хозрасчетный.Ссылка 
     |ИЗ 
     | ПланСчетов.Хозрасчетный КАК Хозрасчетный 
     |ГДЕ 
     | Хозрасчетный.Родитель В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Материалы)) 
     | И Хозрасчетный.ЗапретитьИспользоватьВПроводках = ЛОЖЬ"; 
     СписокСчетов = Новый СписокЗначений; 
     СписокСчетов.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка")); 
     ФормаВыбора = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора(, Элемент); 
     ЭлементОтбораСсылка = ФормаВыбора.Отбор.Ссылка; 
     Если ЭлементОтбораСсылка <> Неопределено Тогда 
     ЭлементОтбораСсылка.ВидСравнения = ВидСравнения.ВСписке; 
     ЭлементОтбораСсылка.Значение = СписокСчетов; 
     ЭлементОтбораСсылка.Использование = Истина; 
     КонецЕсли; 
     ФормаВыбора.ЭлементыФормы.Список.НастройкаОтбора.Ссылка.Доступность = Ложь; 
     ФормаВыбора.Открыть(); 
     СтандартнаяОбработка = Ложь; 
КонецПроцедуры
   gabd_marat
 
6 - 25.09.16 - 12:15
Свойство поля КнопкаВыпадающегоСписка и КнопкаВыбора на Да
   TreeDogNight
 
7 - 25.09.16 - 12:56
(6) Вы походу моё сообщение даже не прочитали?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует