Редактирование из Browse

Clarion, Clarion 7

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

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

Редактирование из Browse

Сообщение Андрей »

Прошу подсказать, что не так....
Надо в таблице проставить недостающее значение Peo:IdUch (из списка), если это делать стандартом через Form: открываю форму, выбираю из ComboDrop значение, то все Ок.
То же самое хочу для быстроты сделать прямо из броуза через AlertKey

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

CASE KEYCODE()
    OF F2Key              
        BRW1.UpdateBuffer()
        Peo:IdUch=l:IdUch
        Access:People.Update()
то получаю ошибку дублирования уник. ключа
а в чем разница, то ? Ведь из формы Update работает...
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Re: Редактирование из Browse

Сообщение gopstop2007 »

а вот так?

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

        Peo:IdUch=l:IdUch
        BRW1.UpdateBuffer()
       ! x Access:People.Update()
2 раза пытаешься обновить запись
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

Re: Редактирование из Browse

Сообщение Андрей »

Не.. так не идет... не ругается конечно, ведь запись физически не перезаписывается
BRW1.UpdateBuffer() - так понимаю заново считывает запись и подтягивает с нее все поля в буфер
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Re: Редактирование из Browse

Сообщение kreator »

Сделай явное позиционирование на запись таблицы:
get(BRW1.Q, choice(?List))
PEO:ID = BRW1.Q.PEO:ID
Access:People.Fetch(PEO:IDKEY)
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

Re: Редактирование из Browse

Сообщение gopstop2007 »

я делаю так

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

  MyField=FindField
  GET(MyFile,MyKey)
  Peo:IdUch=l:IdUch
  PUT(MyFile); IF ERRORCODE() THEN STOP(ERROR()) END
  BRW1.ResetFromBuffer()
  BRW1.ResetQueue(Reset:Queue)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Редактирование из Browse

Сообщение Yufil »

Обновление Browse надо начинать с команды ThisWindow.Update().
Тогда будет подмотана правильная запись
Ответить