ildary писал(а) 14. Марта 2014 :: 05:43:Извините, сразу не уточнил: речь идет о сортировке путем нажатия на заголовок колонки. То есть имеем к примеру табличное поле, выводящее справочник Товары, одна из колонок - реквизит типа справочник, например СтранаПроисхождения. Нажимая на заголовок колонки "СтранаПроисхождения" - видим, что таб. поле пересортировалась, но при этом отсортировалась по СтранаПроисхождения.Код, а не СтранаПроисхождения.Наименование.
В классе Поставщик данных.Справочник СортироватьПоВозрастанию() описана, но она пустая. Эта процедура полная только в Поставщик данных.ИндексированнаяТаблица.
И что это меняет? Просто механика работы ТП такова, что ему абсолютно без разницы - что у тебя в поле, Справочник, Документ, Число, Строка и т.д. Это твоя забота - обеспечить ТП нужными колонками, чтобы оно сделало свою работу.
Поэтому повторю последовательность действий еще раз:
1. Делаешь соединение ТП с нужным тебе Справочником.
2. Вытаскиваешь поле "Наименование" в выборку запроса (можешь не отображать, а оставить это поле скрытым)
3. При нажатии на заголовок колонки - устанавливаешь сортировку по этому скрытому полю.
Если полей типа "Справочник" много и сортировать можно по любому из них, то придется сразу делать слишком много соединений, поэтому можно отключать Поставщик данных от ТП, построить новый запрос, соединением с нужным справочником, выставить нужные сортировки и проч. и подключить этого Поставщика к ТП.
З.Ы. Вероятно такой механизм и планировалось сделать в том самом СортироватьПоВозрастанию(), но, ИМХО, там нюансов... (например, справочник может быть и без Наименования)