Имя: Пароль:
1C
1С v8
Добавление подрядка (сортировки) в форму списка документа
0 DreamMaster
 
12.09.13
09:57
Доброго времени суток. Подскажите, как программно (допустим по кнопке) добавить порядок к форме списка документа? 1С 8 не упр. формы.

В иннете нарыл только на упр. формы:
&НаКлиенте
Процедура СортироватьПоНаименованиею(Команда)
      Список.Порядок.Элементы.Очистить();
      Порядок = Список.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
      Порядок.Поле = Новый ПолеКомпоновкиДанных ("Список.Наименование");
      Порядок.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
      Порядок.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
      Порядок.Использование = Истина;
      Элементы.Список.Обновить();
КонецПроцедуры

В упр формах Порядок.Добавить - это процедура, а не функция.
На код:
Порядок.Добавить(Стр.Имя);
Ругается: "Метод не доступен для данного объекта"
1 chelentano
 
12.09.13
10:08
(0) читай в СП про НастройкаПорядка
2 DreamMaster
 
12.09.13
10:18
(1) Увы пока не нашел нужной информации...
3 ProgAL
 
12.09.13
10:22
Порядок=ЭтаФорма.Список.Порядок;
    Порядок.Элементы.Очистить();
    ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
    ЭлементПорядка.РежимОтображения =  РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
    ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;
    ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ДатаСделки");
    ЭлементПорядка.Использование = Истина;
4 ProgAL
 
12.09.13
10:23
Извините, думал для УФ надо.
5 Maxus43
 
12.09.13
10:23
(1) это не для демонического списка, для обычного это вот
6 Maxus43
 
12.09.13
10:24
(4) для него и надо
7 DreamMaster
 
12.09.13
10:25
(6) Надо для Не УФ
8 an_str
 
12.09.13
10:26
Так не прокатит:
    ДокументСписок.Порядок.Установить("НужнаяДата Возр");
???
9 Maxus43
 
12.09.13
10:28
(7) да, хреново прочитал.
см (1).
ЭлементыФормы.СправочникСписок.НастройкаПорядка
10 chelentano
 
12.09.13
10:29
(9) хм... НастройкаПорядка (OrderSetting)
Добавить (Add)
Метод не доступен для настройки порядка динамических списков (свойство НастройкаПорядка объектов СправочникСписок.<Имя справочника>, ДокументСписок.<Имя документа> и т.д.)
11 DreamMaster
 
12.09.13
10:30
(8) так работает, но только если мне нужно установить несколько порядков, то устанавливается только последний
12 Maxus43
 
12.09.13
10:30
ЭлементыФормы.СправочникСписок.НастройкаПорядка.Найти("поле").Доступность = Истина;
(10) автор всех прокинул, выложив код на УФ в (0), только запутал. С утра каждую букву читать иногда не получается
13 DreamMaster
 
12.09.13
10:31
(12) Постарался подробно изложить мысли, которые есть и пути к решению
14 DreamMaster
 
12.09.13
10:32
Додумался!!! Вариант (8), только педворительно сделать строку со всеми порядками
15 DreamMaster
 
12.09.13
10:32
Всем большое спасибо за помощь!!!
16 Maxus43
 
12.09.13
10:32
(13) ещё вопросы есть? код в (12) подробней некуда
17 an_str
 
12.09.13
10:33
)
18 DreamMaster
 
12.09.13
10:35
(16) Помог код из (8) ДокументСписок.Порядок.Установить("НужнаяДата Возр"); Проблема полностью решена
19 DreamMaster
 
12.09.13
10:36
(16) мне не доступность была нужна, а программное добавление поля в порядок
20 Maxus43
 
12.09.13
10:37
(19) это просто разные подходы, установка порядка - жёсткая, делаешь доступным - и пусть пользователи сами крутят вертят сортировку
21 DreamMaster
 
12.09.13
10:57
(20) Именно так. Просто я заменяю стандартную форму отбора и сортировки на свою. В итоге мне нужно было программно очистить сортировку списка и заменить на ту, которая была указано в новой форме
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший