Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как упорядочить строки по номеру 1С 7.70.003 торговля склад для Украины?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
ZUBR
Добрый день. Можно ли на программном уровне при создании таблицы значений ТЗ, когда она уже заполнена, упорядочить ее строки не по дате документа, а, например, по номеру заказа, который находится в одной из ее колонок? И какую строку в пронюграмму при этом нужно добавить? Спасибо!
Макс1С
ZUBR @ Сегодня, 11:40 необходимо зарегистрироваться для просмотра ссылки ,


Сортировать(<?>,);
Синтаксис:
Сортировать(<Колонки>,<ДокумПоДате>)
Назначение:
Сортировать таблицу значений по колонкам.
Параметры:
<Колонки> - строковое выражение, которое определяет колонки, порядок и направление сортировки. Формат передаваемой строки - это разделенные запятыми номера или идентификаторы колонок со знаком направления сортировки ( ''+'' - сортировать по возрастанию; ''- '' - сортировать по убыванию; ''*'' - сортировать по внутреннему значению). Знак направления сортировки можно указывать до или после обозначения колонки через пробел или без пробела. По умолчанию направление сортировки принимается по возрастанию.
<ДокумПоДате> - необязательный параметр. Имеет смысл только в том случае, если значениями таблицы значений являются документы. В этом случае можно задавать сортировку документов по их хронологии. Число: 1 - сортировка по хронологии документов; 0 - нет. Значение по умолчанию - 0.


например:

МояТабл.Сортировать("ИмяКолонки1,ИмяКолонки2");
ZUBR
Все получилось. Только строку сортировки нужно размещать в теле цикла, а название колонки, по которой сортируем, нужно писать в кавычках.
Спасибо!
Макс1С
ZUBR @ Сегодня, 18:53 необходимо зарегистрироваться для просмотра ссылки ,
не совсем понял про какой цикл речь. Если в цикле заполняется таблица, тогда не согласен, сортировать нужно после того как таблица заполнена. Если цикл обходит уже готовую таблицу, то сортировка нужна до цикла.
А колонки в кавычках, да, поэтому пример и написал
ZUBR
Макс1С @ 20.11.19, 21:53 необходимо зарегистрироваться для просмотра ссылки ,
да, все правильно, за пределами цикла сортировка работает. Но в теле цикла работает тоже. Проверено. В теле цикла заполнения ТаблицыЗначений.
nysysimara
ZUBR, прислушайтесь к Макс1С, это повлияет на скорость выполнения алгорима
volodya1122
Цитата(ZUBR @ 28.11.19, 23:32) необходимо зарегистрироваться для просмотра ссылки
да, все правильно, за пределами цикла сортировка работает. Но в теле цикла работает тоже. Проверено. В теле цикла заполнения ТаблицыЗначений.

Я памятаю фразу ще зі школи "Програма вважається правильно написаною, якщо вона забезпечує правильний результат при любих вхідних даних".
Але ми зараз не в школі, і крім правильного результату програма повинна бути хочаби більш-менш оптимізованою.
Якшо "Сортировать" ставити в середині циклу, то результат звичайно буде правильний, але компютер буде робити набагато більше операцій: добавили один запис в ТаблицюЗначень і потрібно перебирати всю таблицю значень для сортування. І так для кожного рядка із таблиці значень.
Якщо ж винести "Сортировать" за межі циклу то сортування відпрацює один раз для всієї таблиці -що набагато швидше.
ZUBR
volodya1122 @ Вчера, 11:54 необходимо зарегистрироваться для просмотра ссылки , погоджуюсь. Ви праві.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.