CftClub.ru
Клуб специалистов ЦФТ-Банк

Экземпляр не удовл. условиям представления или фильтра

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
ssa774
Профи


Вступление в Клуб: 30.11.2007
СообщениеПн Мар 31, 2008 13:01   Экземпляр не удовл. условиям представления или фильтра Ответить с цитатой
Полезность: Нет оценки
Добрый день. Ситуация следующая: есть самописный справочник. В справочнике есть списочная операция, которая вызывает простую операцию другого типа (Платежные документы).
Вызов:
Код:

P_DOC ref MAIN_DOCUM;
begin
for i in this.first..this.last loop
    P_DOC := this(i).[ID_DOC];
    stdio.put_line_buf('<% CALL MAIN_DOCUM SVB_ZAPR_CLOPER1 '||P_DOC||' %>');
end loop;
end;

Простая операция просто печатает файл MSWORD, ничего с экземпляром не делает. После выполнения простой операции для каждого экземпляра справочника вылезает сообщение - "Экземпляр, возвращенный после выполнения операции, не удовлетворяет условиям представления или фильтра". Т.е. чтобы выполнить списочную операцию для, скажем, 20-ти записей, надо 20 раз нажать ОК в окне с таким сообщением. Никто не сталкивался? Как избавиться от этого окошка? Там есть галочка "Не выводить это окно", но пользователи разнервничаются...
timochev
Эксперт


Вступление в Клуб: 02.07.2007
СообщениеПн Мар 31, 2008 13:16    Ответить с цитатой
Полезность: Нет оценки
Может поиграться со свойством "Обновлять список экземпляров после выполнения операции" и у простой и у списочной операции?
Если снять эти признаки, то ситуация та же?
ssa774
Профи


Вступление в Клуб: 30.11.2007
СообщениеПн Мар 31, 2008 13:18    Ответить с цитатой
Полезность: Нет оценки
timochev пишет:
Может поиграться со свойством "Обновлять список экземпляров после выполнения операции" и у простой и у списочной операции?
Если снять эти признаки, то ситуация та же?

Галочки сняты в обеих операциях, то же самое Sad
ssa774
Профи


Вступление в Клуб: 30.11.2007
СообщениеПн Мар 31, 2008 13:26    Ответить с цитатой
Полезность: Нет оценки
ssa774 пишет:
timochev пишет:
Может поиграться со свойством "Обновлять список экземпляров после выполнения операции" и у простой и у списочной операции?
Если снять эти признаки, то ситуация та же?

Галочки сняты в обеих операциях, то же самое Sad


А вот если поставить этот признак в списочной операции, то окошко больше не вылезает Smile Но это же не есть хорошо - обновлять без надобности список экземпляров... Sad
ashslim
Профи


Вступление в Клуб: 21.08.2007
СообщениеВт Апр 01, 2008 10:43    Ответить с цитатой
Полезность: Нет оценки
ssa774 пишет:
ssa774 пишет:
timochev пишет:
Может поиграться со свойством "Обновлять список экземпляров после выполнения операции" и у простой и у списочной операции?
Если снять эти признаки, то ситуация та же?

Галочки сняты в обеих операциях, то же самое Sad


А вот если поставить этот признак в списочной операции, то окошко больше не вылезает Smile Но это же не есть хорошо - обновлять без надобности список экземпляров... Sad


Скорее всего обновлять список и надо, потому что после выполнения вашей операции меняется какое-то свойство экземпляра, которое не удовлетворяет текущему фильтру представления. Можно еще раз проверить условие представления, чтобы в любом случае при выполнении операции запись оставалась.
ssa774
Профи


Вступление в Клуб: 30.11.2007
СообщениеВт Апр 01, 2008 12:03    Ответить с цитатой
Полезность: Нет оценки
ashslim пишет:
Скорее всего обновлять список и надо, потому что после выполнения вашей операции меняется какое-то свойство экземпляра, которое не удовлетворяет текущему фильтру представления. Можно еще раз проверить условие представления, чтобы в любом случае при выполнении операции запись оставалась.

Я проверяла, никакие реквизиты экземпляра не меняются. Там операция-то простенькая - файл MSWord печатает. А на текущем представлении вообще никакого фильтра не стоит. Думаю, что проблема в тот, что запускаемая и вызываемая операции находятся в разных типах. Может быть так...
German
Профи


Вступление в Клуб: 25.06.2007
СообщениеВт Апр 01, 2008 14:39    Ответить с цитатой
Полезность: Нет оценки
ssa774 пишет:
А вот если поставить этот признак в списочной операции, то окошко больше не вылезает Smile Но это же не есть хорошо - обновлять без надобности список экземпляров... Sad


Возможно, поскольку вызывается операция над другим типом, навигатор проверяет, входит ли экземпляр this выполненной операции (у Вас это MAIN_DOCUM) в состав представления по Вашему справочнику. И ругается, поскольку данный экземпляр в этой вьюхе не отражается. А обновление экземпляров ставит все на свои места и ругательства не происходит.

Тогда Ваша задача решена, осталось лишь ненужное обновление вьюхи по справочнику? Это вроде и не особо критично...
_________________
Homo homini
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru