Сортировка
Технические вопросы
Разработка

Сортировка записей в детали

Подскажите пожалуйста, как отсортировать записи в детали по умолчанию? То есть если не выбрана сортировка ни по одной из выбранных колонок, то записи должны быть отсортированы по одному из полей?

В частности: версия 3.2., в разделе Документы, деталь Продукты, если нет сортировки ни по одной из видимых колонок, то записи продуктов будут расположены по моему в порядке их добавления в документ. А нужно их отсортировать по коду продукта, по полю Code.

В запрос sq_OfferingInDocument, который расположен в Documents - Details - Offerings, я добавил поле Code, и включил сортировку. Почему то не работает. Должно работать?

Нравится

3 комментария

Укажите свойство OrderType колонки Code соответствующего грида, но обратите внимание, что данный грид используется в нескольких разделах.

Можно следующим образом: попробуйте в обработчик события dlDataOnDatasetBeforeOpen окна детали продуктов (скрипт wnd_OfferingsDetailTreeAreaScript) вставить такой код:

[javascript]
function dlDataOnDatasetBeforeOpen(Dataset, DoOpen) {
var IsOrdered = false;
for (var i = 0; i < grdData.ActiveView.Count; i++) {
if (grdData.ActiveView.Items(i).OrderType != 0) {
IsOrdered = true;
break;
}
}
if (!IsOrdered) {
Dataset.DataFields.ItemsByName('Code').OrderType = otAsc;
Dataset.DataFields.ItemsByName('Code').OrderPosition = 1;
}
}
[/javascript]

Таким образом, если сортировки в реестре нет ни по одному из полей, автоматически включится сортировка по полю Code.

Спасибо! Все получилось! Решил сделать через OrderType, правда там не было этой колонки, я ее добавил, и теперь она конечно видна в гриде )))

Показать все комментарии