169 похожих чатов

Коллеги, я пытаюсь создать запись в BOPF БО, но у

меня создание не прокатывает, так как поначалу я несколько раз запустил modify с кривыми данными и теперь они где то висят и портят всю малину, такое впечатление что висят в буфере и при проверке повторно проверяются все записи.
Как то можно сбросить такие записи для работы с чистого листа?
Или я не на то грешу?

19 ответов

27 просмотров

с вероятностью 99% не на то

Oleksij-Kyslytsja Автор вопроса
Денис
с вероятностью 99% не на то

Вот тогда фигня какая то. Я под своим логином пытаюсь создать записи и система ругается на отсутствие заполнения поля, которое в передаваемых данных заполнено, коллега те же записи прогоняет без ругани от системы

Oleksij Kyslytsja
Вот тогда фигня какая то. Я под своим логином пыта...

ставишь точку прерывания на мессагу, отладчик в руки и - алга

Oleksij-Kyslytsja Автор вопроса
Денис
ставишь точку прерывания на мессагу, отладчик в ру...

Ну алга то алга, modify не ругается, save ругается

можно проверить записи change_mode = /bobf/if_frw_c=>sc_modify_create

Oleksij Kyslytsja
Мод установлен в create

те получить изменения lo_transaction->get_transactional_changes( ). и провреить есть ли ошибки в создоваемых записях lo_service->check_consistency( ) ?

Oleksij Kyslytsja
Ну алга то алга, modify не ругается, save ругается

В методах BOPF есть галочка что-то типа bypassing buffer(сейчас уже не помню в каких, дело было года 3 назад), попробуй её

Oleksij-Kyslytsja Автор вопроса
Алексей Миронов
В методах BOPF есть галочка что-то типа bypassing ...

Вот не нахожу пока, это не при создании экземпляра сервисманагера?

Oleksij Kyslytsja
Вот не нахожу пока, это не при создании экземпляра...

Не помню, у меня тогда была проблема со считыванием драфтов, вроде

Oleksij Kyslytsja
Ну алга то алга, modify не ругается, save ругается

это что-то меняет? нужно просто посмотреть, где именно мессага появляется. посмотреть на данные в момент именно ошибки

Oleksij-Kyslytsja Автор вопроса
Денис
это что-то меняет? нужно просто посмотреть, где им...

Вот в момент проверки там туча записей которые невалидны и появляются когда система генерит изменения для объекта и видит кучу старых изменений которые не нужны

Oleksij Kyslytsja
Вот в момент проверки там туча записей которые нев...

тогда проверяй последовательность действий над объектом. возможно, в какой-то момент записал изменения, которые делают объект невалидным. Никаких проблем со стороны фреймворка по обработке объекта не встречал. Всегда было дело в своих ошибках. Например: 2 обновления одной инстанции узла при вызове 1 модифай - это точно дамп. Ну и т.д.

Oleksij Kyslytsja
Вот в момент проверки там туча записей которые нев...

есть ли транзакционных данных изменения ? DATA(lo_changes) = lo_transaction->get_transactional_changes( ). DATA(lt_changes) = lo_changes->get_changes( ).

Oleksij-Kyslytsja Автор вопроса
Birzhan Moldabayev
если удалить их вроде не проверяются

это каждый раз надо удалять или как то хвосты почистить можно?

Oleksij Kyslytsja
это каждый раз надо удалять или как то хвосты почи...

Не знаю точно, но судя что у вас есть “зависшые записи”, идет рассинхронизация GUI контрола с моделью данных. Рассинхрон может возникнуть от того что изменения были только в контроле (ALV или GUI tree) но не в модели BOPF (или наоборот). Golden rule после любой CUD операции Retrieve-ить данные. К примеру: программа создала или изменила запись и передала ее через REF #( ) ее в MODIFY. После этого обязательно нужно считать данные повторно, тк данные могут быть изменены в determination (время и автор изменения итп). MODIFY возвращает failed и success ключи по ним нужно сделать Read. Если программа проваливается в дочерние данные желательно неиспользовать “свои” кэши и обновлять контролы через повторное считывание через RETRIEVE_BY_ASSOCIATION или SELECT_BY_ELEMENTS

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта