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

Как найти запись, из которой провалились в массив ссылок?
На страницу Пред.  1, 2
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
vek21
Участник со стажем
Неподтвержденный


Вступление в Клуб: 20.09.2007
СообщениеПт Окт 02, 2015 12:26    Ответить с цитатой
Полезность: Нет оценки
Кстати, проверка показала, что даже если массив ссылок непустой, в валидаторе конструктора отсутствует collection_id...
lexus
Профи
Межтопэнергобанк (вкл. Алемар)
Совладелец


Вступление в Клуб: 28.09.2007
СообщениеПт Окт 02, 2015 12:50    Ответить с цитатой
Полезность: Нет оценки
Конструктор ваш "простой" или нет?
На закладке "Компиляция" соответствующую галочку проверьте.

Похоже, что ваш конструктор не "простой", значит он экземпляр создает только в теле. Значит, в валидаторе экземпляра нет, значит не по чему вычислять родителя.
Random
Эксперт
Резидент CftClub


Вступление в Клуб: 27.06.2011
СообщениеПт Окт 02, 2015 13:32    Ответить с цитатой
Полезность: Нет оценки
vek21 пишет:

Random, разница существенная, и состоит как раз в том, что при работе конструктора в массиве СТРУКТУР в валидаторе конструктора сразу имеется this%collection, а вот при работе конструктора В МАССИВЕ ССЫЛОК этот this%collection появляется только в теле конструктора! То есть при работе экранной формы конструктора у меня нет доступа к экземпляру, из которого я провалился в массив!

Однако! А я-то и не знал Embarassed
vek21
Участник со стажем
Неподтвержденный


Вступление в Клуб: 20.09.2007
СообщениеПт Окт 02, 2015 13:36    Ответить с цитатой
Полезность: Нет оценки
Я попробовал и с "простым" и с "непростым" конструктором... От этого не зависит.
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеПт Окт 02, 2015 13:40    Ответить с цитатой
Полезность: Нет оценки
vek21 пишет:
Я попробовал и с "простым" и с "непростым" конструктором... От этого не зависит.


a this%parent возвращает что нибудь ?

если да, можно, через родителя достучаться селектами
Alkov
Профи
Неподтвержденный


Вступление в Клуб: 23.09.2010
СообщениеПн Окт 05, 2015 02:35    Ответить с цитатой
Полезность: Нет оценки
vek21 пишет:
Кстати, проверка показала, что даже если массив ссылок непустой, в валидаторе конструктора отсутствует collection_id...


Что-то вы делаете не так. У меня выводит this%collection в проверке конструктора в массиве ссылок.
Операция конструктор создаёте в типе Ссылка же?

Можно Хран для примера? Справочник с массивом, его представление , массив ссылок , ссылка с пердставлением, справочник на кот ссылаетесь и конструктор ?
vek21
Участник со стажем
Неподтвержденный


Вступление в Клуб: 20.09.2007
СообщениеПн Окт 05, 2015 07:12    Ответить с цитатой
Полезность: 2
См. вложениеДата архива: 05.10.2015 07:12
Размер архива: 37.26 КБ

Приношу извинения, я понял, что делал не так. Оказывается, нельзя проверять наличие/отсутствие collection_id, используя pragma_error.
Прилагаю хранилище с конструктором в типе USER_TYPE_REF (реквизит "Пользовательский тип" в "Фин.счетах"). Если поэкспериментировать с оператором
pragma error('this%collection='||this%collection);
стоящим в секции DEFAULT или VALIDATE валидатора конструктора, обнаружатся интересные вещи, например:
1)если pragma error стоит в DEFAULT, то никакого collection_id вообще как бы нет.
2)если pragma error стоит в VALIDATE, то так же никакого collection_id не будет, НО
3)если при этом в DEFAULT поставить debug_pipe('this%collection='||this%collection);
то в pragma error появится collection_id !
4)а если вообще нет никакого pragma error, то collection_id замечательно виден с помощью debug_pipe и в DEFAULT, и в VALIDATE...

Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

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