Страница 1 из 1

Mysql последняя запись - первой

Добавлено: 30 Июнь 2020, 23:19
gopstop2007
В mysql 5.7 нет DESC по индексу, поле id - primary
Это же поле в C10 ABC dct id- primary DESC

При выводе в Browse запись становиться на первую запись внизу
Как установить позицию на последнюю запись, то есть на первую сверху?

Спасибо за внимание.

Mysql последняя запись - первой

Добавлено: 01 Июль 2020, 5:10
Игорь Столяров

Код: Выделить всё

  Post(Event:ScrollTop,?List)
  !Post(Event:ScrollBottom,?List)
Либо

Код: Выделить всё

  File.ID = LastRecordID
  If ~Access:File.Fetch(File.ByID) then BRW1.ResetFromBuffer().   ! Если нет LastRecordID, то можно через Set() + Next()

Mysql последняя запись - первой

Добавлено: 01 Июль 2020, 7:03
gopstop2007
Игорь Столяров писал(а): 01 Июль 2020, 5:10

Код: Выделить всё

  Post(Event:ScrollTop,?List)
  !Post(Event:ScrollBottom,?List)
этим и пользуюсь, визуальное скакание позиции по броузу, когда много записей - напрягает

Mysql последняя запись - первой

Добавлено: 01 Июль 2020, 8:41
finsoftrz
От шаблонов зависит. В ШВС я добавлял точку вставки и по условию при открытии броуза ставлю признак установки на последнюю запись. При этом события не генерятся и повторный перевывод не происходит, как в случае с Event:ScrollTop. Наверняка, в абс есть что-то подобное. Если поможет, то в ШВС это в рутинке SelectSort и выглядит так:

Код: Выделить всё

        FREE(Queue:Browse:1)
        BRW1::RefreshMode = RefreshOnBottom
        DO BRW1::RefreshPage
        DO BRW1::PostNewSelection

Mysql последняя запись - первой

Добавлено: 01 Июль 2020, 9:01
Игорь Столяров
gopstop2007 писал(а): 01 Июль 2020, 7:03 когда много записей - напрягает
Тогда попробуйте второй вариант … Добавьте в окно кнопку и повесьте на неё код позицирования записи.
Надо проверить работает ли с Вашими драйверами БД и ключами вообще этот метод … :)

Mysql последняя запись - первой

Добавлено: 01 Июль 2020, 14:59
kreator
gopstop2007, попробуйте сделать Post(Event:ScrollTop,?List) до заполнения Броуза. Я часто этим пользуюсь. ИМХО, дело не в MySQL и не в словаре. В шаблонах или в классах где-то зашито позиционирование на последнюю запись. Правильно понимаю - речь о связанных броузах?

Mysql последняя запись - первой

Добавлено: 01 Июль 2020, 16:46
gopstop2007
kreator писал(а): 01 Июль 2020, 14:59 gopstop2007, попробуйте сделать Post(Event:ScrollTop,?List) до заполнения Броуза. Я часто этим пользуюсь. ИМХО, дело не в MySQL и не в словаре. В шаблонах или в классах где-то зашито позиционирование на последнюю запись. Правильно понимаю - речь о связанных броузах?
да все правильно

Решил, нашел сортировки и Mysql не виноваты, правда пришлось все по очереди отключать, и прыгать по таб-ам,для просмотра результата.
Оказалось банально, при переключении таб-а NewSelection стоял BRWx.ResetFromBuffer, заменил на горячее поле и его бросил в броузе как reset fields и все стало работать.

Спасибо всем кто с подвигнул меня своими советами на этот подвиг, перековырять свой "говно код" :)