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

вызов через plpcall

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


Вступление в Клуб: 08.11.2012
СообщениеСр Фев 19, 2014 14:41   вызов через plpcall Ответить с цитатой
Полезность: Нет оценки
Добрый день!
прошу помочь понять ошибку, при вызове через plpcall:
"Не удалось определить тип вызываемой операции.
Базовый тип квалификатора %PARAM%.P_INV.[INV_OUTMSG] не является ссылочным."

сам вызов:
Код:
stdio.put_line_buf('<% PLPCALL %PARAM%.P_INV.[INV_OUTMSG].[ANSWER_SEND](%COLLECTION%=>'''||p_msg%collection||''') %>');


INV_OUTMSG это массив структур
P_INV тип справочник
Random
Эксперт
Резидент CftClub


Вступление в Клуб: 27.06.2011
СообщениеСр Фев 19, 2014 14:51   Re: вызов через plpcall Ответить с цитатой
Полезность: Нет оценки
Taniani пишет:
Добрый день!
прошу помочь понять ошибку, при вызове через plpcall:
"Не удалось определить тип вызываемой операции.
Базовый тип квалификатора %PARAM%.P_INV.[INV_OUTMSG] не является ссылочным."

сам вызов:
Код:
stdio.put_line_buf('<% PLPCALL %PARAM%.P_INV.[INV_OUTMSG].[ANSWER_SEND](%COLLECTION%=>'''||p_msg%collection||''') %>');


INV_OUTMSG это массив структур
P_INV тип справочник


Насколько я понимаю, операция ANSWER_SEND - простая?
PL+ вам пытается сказать, что, так как INV_OUTMSG это массив структур, то он не может выбрать, какой из экземпляров выбрать в качестве this.

Попробуйте вызывать как-то по-другому, например, с указанием ТБП?
<% PLPCALL [ТБП].[ОПЕРАЦИЯ](ПАРАМЕТРЫ) %>
Taniani
Участник
Неподтвержденный


Вступление в Клуб: 08.11.2012
СообщениеСр Фев 19, 2014 16:14    Ответить с цитатой
Полезность: Нет оценки
ммм, получилось по другому.
объявила ссылку на массив, объявила ее в переменных операции, инициализировала её, и вот так вызвала:

Код:
stdio.put_line_buf('<% PLPCALL %VAR%.V_OUT_MSG.[ANSWER_SEND]() %>');


заработало, спасибо.
Random
Эксперт
Резидент CftClub


Вступление в Клуб: 27.06.2011
СообщениеЧт Фев 20, 2014 09:25    Ответить с цитатой
Полезность: Нет оценки
Taniani пишет:
объявила ссылку на массив


Ссылка на массив - это нонсенс Smile
Наверное, ссылка на экземпляр какой-либо записи из массива?
Alkov
Профи
Неподтвержденный


Вступление в Клуб: 23.09.2010
СообщениеЧт Фев 20, 2014 09:40    Ответить с цитатой
Полезность: Нет оценки
Random пишет:
Taniani пишет:
объявила ссылку на массив


Ссылка на массив - это нонсенс Smile
Наверное, ссылка на экземпляр какой-либо записи из массива?


Почему нонсенс, скорее редкость, админ даёт создать такое.
Random
Эксперт
Резидент CftClub


Вступление в Клуб: 27.06.2011
СообщениеПт Фев 21, 2014 07:21    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Random пишет:
Taniani пишет:
объявила ссылку на массив


Ссылка на массив - это нонсенс Smile
Наверное, ссылка на экземпляр какой-либо записи из массива?


Почему нонсенс, скорее редкость, админ даёт создать такое.


Согласен, с нонсенсом я погорячился.
Даже нашёл на нашей схеме несколько таких.
И у меня глаза на лбу. Ссылка на массив... не могу себе это представить в виде ER-модели.

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

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