Имя: Пароль:
1C
1С v8
Агент + Форма выбора агента
0 Arland
 
15.08.16
19:49
Привет всем!

Как в Агент+ при обмене в форме выбора агента из списка агентов сделать сортировку списка по алфавиту?
1 Arland
 
15.08.16
19:51
1с 8.2 УТ 10.3
2 Arland
 
15.08.16
19:51
Форма открывается модально
3 Arland
 
15.08.16
22:26
Как тут сделать Чтобы выводимые значения в списке выбора расположились по алфавиту?


Процедура ВыбАгентНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    ТабАгентов = кпкАгентПлюс.ПолучитьТаблицуТорговыхАгентов();    
    
    Если ТабАгентов.Количество() = 0 Тогда
        ОповеститьОСобытии("Не найдено ни одного торгового агента. Необходимо заполнить список агентов в регистре сведений ""Сведения агентов""!");
        Возврат;
    КонецЕсли;
    
    СписокАгентов = Новый СписокЗначений;
    Для Каждого СтрАгент Из ТабАгентов Цикл
        СписокАгентов.Добавить(СтрАгент.Агент, СтрАгент.Агент.Наименование);
    КонецЦикла;
    
    ВыбЭлемент = СписокАгентов.НайтиПоЗначению(ВыбАгент);
    ВыбЭлемент = СписокАгентов.ВыбратьЭлемент("Выберите агента", ВыбЭлемент);
    
    
    Если Не ВыбЭлемент = Неопределено Тогда         
        ВыбАгент = ВыбЭлемент.Значение;
    КонецЕсли;
    
    ПриИзмененииАгента(ВыбАгент);
    
    НастроитьВидимостьДоступностьПриИзмененииСпособаОбмена();
    
    
КонецПроцедуры
4 Горогуля
 
16.08.16
03:58
неужели сортировать? нет, не может быть так просто
5 Arland
 
16.08.16
08:23
Как сделать чтобы этот список выводился в алфавитном порядке?

Процедура ВыбАгентНачалоВыбора(Элемент, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    ТабАгентов = кпкАгентПлюс.ПолучитьТаблицуТорговыхАгентов();    
    
    Если ТабАгентов.Количество() = 0 Тогда
        ОповеститьОСобытии("Не найдено ни одного торгового агента. Необходимо заполнить список агентов в регистре сведений ""Сведения агентов""!");
        Возврат;
    КонецЕсли;
    
    СписокАгентов = Новый СписокЗначений;
    Для Каждого СтрАгент Из ТабАгентов Цикл
        СписокАгентов.Добавить(СтрАгент.Агент, СтрАгент.Агент.Наименование);
    КонецЦикла;
    
    ВыбЭлемент = СписокАгентов.НайтиПоЗначению(ВыбАгент);
    ВыбЭлемент = СписокАгентов.ВыбратьЭлемент("Выберите агента", ВыбЭлемент);
    
    
    Если Не ВыбЭлемент = Неопределено Тогда         
        ВыбАгент = ВыбЭлемент.Значение;
    КонецЕсли;
    
    ПриИзмененииАгента(ВыбАгент);
    
    НастроитьтВидимостьДоступностьПриИзмененииСпособаОбмена();
    
    
КонецПроцедуры
6 Это_mike
 
16.08.16
08:39
(5) ну так отсортировать не пробовали?
7 Arland
 
16.08.16
08:41
(6) форма списка модальная там нет кнопок настройки, можно  как нибуть туда кнопку хоть добавить?
8 Arland
 
16.08.16
08:44
(6) Данные берутся из регистра сведений точно в том порядке как они там расположены
9 Горогуля
 
16.08.16
08:48
(8) в том порядке, какой удобен СУБД, на самом деле
10 Горогуля
 
16.08.16
08:48
(7) а ну как если без кнопки сортировать? магия?
11 Arland
 
16.08.16
08:56
(10) как туда кнопку добавить?)
12 Arland
 
16.08.16
08:57
(10) я не умею с модалными формами работать и много чего еще не умею)
13 Это_mike
 
16.08.16
08:57
(11) зачем? список значений отсортировать по представлению...
14 Это_mike
 
16.08.16
08:57
(12) а вы там, извините, кто по должности/профессии?
15 Arland
 
16.08.16
08:58
(14) Экономист)
16 Горогуля
 
16.08.16
08:59
(15) зови программиста, это его работа
17 Это_mike
 
16.08.16
09:00
(15) "Беда, коль пироги начнет печи сапожник, / А сапоги тачать пирожник." И.Крылов
18 Arland
 
16.08.16
09:02
(13) можно примерный код?
19 Горогуля
 
16.08.16
09:02
(18) в (14) только знаки препинания поправить
20 Arland
 
16.08.16
09:05
(19) )
21 Горогуля
 
16.08.16
09:08
не, не догадается. программировать надо
22 Arland
 
16.08.16
09:09
(13) ЭлементыФормы.ВыбАгент.СписокВыбора.СортироватьПоПредставлению();

Так? не работает)(
23 Горогуля
 
16.08.16
09:11
ЭлементыФормы - это тут откуда появилось?
24 Это_mike
 
16.08.16
09:12
(22) СписокАгентов.СортироватьПоПредставлению()
25 Arland
 
16.08.16
09:16
(24) Спасибо Огромное!!!!!
Я со вчерашнего дня мучался!!!
Спасибо огромное!!!!
26 Arland
 
16.08.16
09:18
Вдруг кому надо будет, вот кусочек кода с добавлением строки от (24)

СписокАгентов = Новый СписокЗначений;
    Для Каждого СтрАгент Из ТабАгентов Цикл
        СписокАгентов.Добавить(СтрАгент.Агент, СтрАгент.Агент.Наименование);
        СписокАгентов.СортироватьПоПредставлению();
    КонецЦикла;
27 Горогуля
 
16.08.16
09:19
(26) ну и зачем ты 80 раз сортируешь?
28 Arland
 
16.08.16
09:20
(27) а, можно и по другому?
29 Горогуля
 
16.08.16
09:20
(28) нужно. 1 раз
30 Это_mike
 
16.08.16
09:21
(27) "чтобы наверняка!"©
31 Это_mike
 
16.08.16
09:21
(25) кнопка F1 в пофигураторе
32 Горогуля
 
16.08.16
09:22
(30) для наверняка нужен ещё один цикл