Позиционирование на новую запись после добавления

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Позиционирование на новую запись после добавления

Сообщение gudkov »

Здравствуйте...

Обстановка С6.3(9053) ШВС.

Проблема такая, есть лист в браузе, который фильтруется через "очередь значений" (есть в ШВС такой фильтр в ограничениях диапазона), view этого брауза сортируется по prop:order, т.к. ключ многокомпонентный и по первому полю ключа накладывается ограничение, а упорядочивать записи в листе надо по второму полю ключа, т.е. через prop:order. В точке вставки "перед открытием view", пишу: allview{prop:order}='all:title',
в точке вставки "после открытия view" естественно делаю: set(allview).
И все вроде бы устраивает, выборка небольшая до 100 записей, prop:order не тормозит, НО после добавления новой записи, лист позиционируется не на новую запись(как надо), а просто на первую запись.
Подскажите пожалуйста, как спозиционировать лист на вновь добавленую запись, без prop:order(если убрать эти две точки вставки) все позиционируется нормально, но без него никак не обойтись.

Был бы благодарен за пример кода, особенно учитывая (как сказали в Clalist'e) незаточенность ШВС под prop:order.
Удачи!
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Re: Позиционирование на новую запись после добавления

Сообщение Andrew™ »

gudkov писал(а): Был бы благодарен за пример кода, особенно учитывая (как сказали в Clalist'e) незаточенность ШВС под prop:order.
упрости себе задачу, после выхода из фомы по RequestCompleted не вызывай перестроение Browse (LocateRecord), а добавь/измени/удали запись в Queue Browse
пересортируй Queue Browse , пересчитай итоги и встань на требуемую запись (после выхода из формы сохрани поля уникального ключа и по ним будешь доставать запись из Queue Browse для позиционирования)

ЗЫ
долой бессмысленные перестроения Browse после редактирования ОДНОЙ записи !!! ;)
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Я бы с удовольствием убрал locaterecord после добавления, но вызов этой рутинки после добавления, изменения, удаления прописан в ШВС. Получаеться шаблоны, чтоли править, я думаю это не есть хорошо. Да и не силен я в шаблонописании.

И нельзя ли поподробнее про: (после выхода из формы сохрани поля уникального ключа и по ним будешь доставать запись из Queue Browse для позиционирования).

Запись то я вытащу наверное так:
Que:Name = Fil:Name !переменная для уникального id
GET(NameQue,Que:Name)

А как дальше спозиционировать, select тут явно не поможет при постраничной загрузке, подскажите если несложно
Удачи!
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

gudkov писал(а):Я бы с удовольствием убрал locaterecord после добавления, но вызов этой рутинки после добавления, изменения, удаления прописан в ШВС. Получаеться шаблоны, чтоли править, я думаю это не есть хорошо. Да и не силен я в шаблонописании.

И нельзя ли поподробнее про: (после выхода из формы сохрани поля уникального ключа и по ним будешь доставать запись из Queue Browse для позиционирования).

Запись то я вытащу наверное так:
Que:Name = Fil:Name !переменная для уникального id
GET(NameQue,Que:Name)

А как дальше спозиционировать, select тут явно не поможет при постраничной загрузке, подскажите если несложно
в ClaList ответил, пример готовь простенький Browse + Form, в понедельник с утра покажу как надо делать
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

Ага, прям счас состряпаю из своей апликахи
Удачи!
Ответить