Имя: Пароль:
1C
1С v8
Сортировка перечисления по внутреннему представлению 1с 8.2
0 zhukovia
 
30.05.13
13:36
Вопрос по 1с 8.2 (Тонкий клиент).
Как то можно отсортировать таблицу значений созданную в режиме на &Сервере по полю "Сорт" которое является перечислением вида (1. Хороший 2. Замечательный 3. Плохой). Следующая конструкция не дает нужного эффекта
ВремТаблица.Сортировать("Сорт");
Так как требуется отсортировать не по алфавиту, а по пердставлению в Перечислении. Сортировка получается (Замечательный, Плохой, Хороший), а надо (Хороший, Замечательный, Плохой). В 7.7 была деректива * (сортировать по внутреннему представлению)[code]ВремТаблица.Сортировать("Сорт*");[/code]
И все работало правильно. Как сделать чтоб было правильно для 8.2?
1 mikecool
 
30.05.13
13:38
добавить в таблицу внутреннее представление, отсортировать
ваш кеп
2 zhukovia
 
30.05.13
13:48
А куда и как добавить это внутреннее представление? И что это вообще такое "Внутреннее представление"? Мне нужно по порядку следования в Перечислении. К тому же у меня еще 4 колонки с перечислениями по которым надо отсортировать. Неужели придется еще пять колонок с представлениями добавлять?
ВремТаблица у меня создается путем выгрузки из формы документа
ВремТаблица = Объект.Баркоды.Выгрузить();
3 Ненавижу 1С
 
гуру
30.05.13
13:53
ТаблицаЗначений (ValueTable)
Сортировать (Sort)
Синтаксис:

Сортировать(<Колонки>, <ОбъектСравнения>)
Параметры:

<Колонки> (обязательный)

Тип: Строка.
Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее.
<ОбъектСравнения> (необязательный)

Тип: СравнениеЗначений.
Объект для сравнения значений. Независимо от того, задан объект сравнения или нет, элементы, чьи типы не совпадают, сравниваются по коду типа, а элементы простых типов сравниваются по значению. Дополнительно к этому:
если объект сравнения не задан, то элементы остальных типов сравниваются по строковому представлению;
если объект сравнения задан, то:
объекты сравниваются по идентификатору;
моменты времени сравниваются по дате и идентификатору объекта;
элементы остальных типов сравниваются по строковому представлению.
Описание:

Сортирует таблицу значений в соответствии с указанными правилами сортировки.

Доступность:

Сервер, толстый клиент, внешнее соединение.
4 zhukovia
 
30.05.13
14:03
Пробовал так, все равно не помогло.
Альфа = Новый СравнениеЗначений;
ВремТаблица.Сортировать("Цвет,Сорт,Дефект,Седина",Альфа);
Может что с Перечислением надо сделать? У меня у значений заполнены имя и синоним, а может еще Характеристики какие надо дописать?
5 zhukovia
 
30.05.13
14:04
Как кстати на форуме тэгами для сообщений пользоваться? Инструкции не нашел.
6 zhukovia
 
30.05.13
15:11
Ткните еще раз, пожалуйста, меня носом где смотреть. Ничего так и не понял.