Текущее время: Ср, июл 30 2025, 19:09

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 12:58 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Уважаемые, помогите, пожалуйста, со стандартным алвшным протоколом.
Уже, кажется, все перепробовал, но пока безрезультатно.

Есть 2 алв-грида. В первом некий список. Выбираем одну из его записей, щелкаем на кнопку. Появляется второй алв-грид, в котором можно редактировать эту запись.
По мере редактирования проверяется событие data_changed и при неверно введенных данных заполняется протокол. Все отлично работает.

Проблема возникает, если, к примеру, намеренно сделать ошибку, которая покажется в протоколе и нажать отмена - выходим без изменения в первый алв со списком. Теперь если выбрать любую запись и нажать редактировать, то всплывает окошко протокола со старой ошибкой. Никак не могу его заставить не появляться!

Пробовал делать
Code:
CALL METHOD er_data_changed->refresh_protocol
после его вывода в событии data_changed,
а также удалять атрибуты типа mt_mod_cells и mt_protocol, но тщетно.

Может кто сталкивался? Как побороть? :oops:


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 13:17 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Как я понял если "Разбираться" с ошибками на втором АЛВ, то есть выходить на первый без ошибок, то проблем не возникает. Думаю что если повесить на кнопку выхода на первый АЛВ проверку на ошибки, то пользователя просто не выпустят если он не исправит ошибку, следовательно у вас не будет проблем на первом АЛВ, или не так?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 13:24 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Besa написал:
Как я понял если "Разбираться" с ошибками на втором АЛВ, то есть выходить на первый без ошибок, то проблем не возникает. Думаю что если повесить на кнопку выхода на первый АЛВ проверку на ошибки, то пользователя просто не выпустят если он не исправит ошибку, следовательно у вас не будет проблем на первом АЛВ, или не так?

На втором алв имеется 2 кнопки: "ОК" и "ОТМЕНА". Если при введенной ошибке нажимать на "ОК", то действительно пользователя не выпустит, пока он ее не исправит (то есть в этом случае действительно ошибок с протоколом не возникает). При нажатии на "ОТМЕНА" просто делается leave screen безо всяких проверок. Можно было бы и в этом случае делать проверки, но это как-то не user-friendly получится.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 15:16 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Попробуйте использовать после выхода на первый АЛВ CALL METHOD g_grid->refresh_table_display.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 15:39 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
К сожалению, не помогло :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 15:47 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
А Вы где использовали? У меня проблема была такая, два грида должны были вызываться один после другого, в первом я выбирал строку щелкал ок и переходил во второй, так вот layout параметры передавались из первого во второй, я использовал refresh сразу после вызова грида, помогло... Еще сказали про деструктор какой то, но я так и не нашел его...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 15:53 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Чисто теоретически - попробуйте по выходу с первого грида деструктор вызвать.
Code:
CALL METHOD er_data_changed->free.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 15:55 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="Besa"]А Вы где использовали? У меня проблема была такая, два грида должны были вызываться один после другого, в первом я выбирал строку щелкал ок и переходил во второй, так вот layout параметры передавались из первого во второй, я использовал refresh сразу после вызова грида, помогло... Еще сказали про деструктор какой то, но я так и не нашел его...[/quote]
Кстати[b] John Doe[/b] мне помог справится с этой проблемой.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Вт, авг 19 2008, 16:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Besa написал:
А Вы где использовали? У меня проблема была такая, два грида должны были вызываться один после другого, в первом я выбирал строку щелкал ок и переходил во второй, так вот layout параметры передавались из первого во второй, я использовал refresh сразу после вызова грида, помогло... Еще сказали про деструктор какой то, но я так и не нашел его...

Пробовал использовать в начале и конце события data_changed, а также перед вызовом второго АЛВ (это там где ненужный протокол всплывает). Не помогает...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 16:36 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
John Doe написал:
Чисто теоретически - попробуйте по выходу с первого грида деструктор вызвать.
Code:
CALL METHOD er_data_changed->free.

Забыл упомянуть - это я тоже испытал. Если я вызываю этот метод в конце обработчика события data_changed (после вызова CALL METHOD er_data_changed->display_protocol), то появляется сообщение от АЛВ-грида "Не найден протокол ошибок" типа Е и сам протокол вообще не появляется.

А что вы имеете в виду под "по выходу с первого грида"? Разве можно получить ссылку на протокол er_data_changed извне (не в событии data_changed)?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 16:47 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Видимо, так не получится.
Тогда второе теоретическое деструктивное прeдложение - по выходу со второго грида убить сам грид с помощью предложенного ранее способа. А также сделать FREE grid.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 21 2008, 10:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
John Doe написал:
Видимо, так не получится.
Тогда второе теоретическое деструктивное прeдложение - по выходу со второго грида убить сам грид с помощью предложенного ранее способа. А также сделать FREE grid.

Спасибо за помощь! По некоторым соображениям снес алв-протокол и воспользовался обычными сообщениями в ПАИ-логике :( Но уверен, что ваш способ с полным уничтожением второго АЛВ помог бы.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB