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

Перекрытие дистрибутивных функций.

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


Вступление в Клуб: 26.09.2008
СообщениеПт Авг 15, 2014 09:38   Перекрытие дистрибутивных функций. Ответить с цитатой
Полезность: 1
Вопрос в следующем.
В карточном модуле в ЦФТ сплошь и рядом такой подход:
1) Простая операция SOME_OPER(some_param) в теле вызывает процедуру do_it(some_param) , которая описана в локальных описаниях и декларация процедуры вынесена в глобальные описания
2) Далее, в других операциях вызывается не this.SOME_OPER(some_param) а SOME_OPER.do_it(some_param)

3) В результате попытка перекрыть операцию SOME_OPER действует только на эту операцию SOME_OPER.

пример ::[CARD_REE_HISTORY].[EXPORT_FILE].do_it и вызывающая процедуру do_it ::[CARD_REE_HISTORY].[EXPORT_FILE_G]

ТЯ 7.3.6.3 . В АРМ-е Администратор словаря на вкладке компиляция есть крыжик Расширение- Объединённый пакет. Этот крыж уже помог , когда нужно было в расширении вызвать процедурку , заданную как локальная в расширяемой операции. С помощью этого крыжа в принципе можно так же сделать нужную процедуру глобальной.

Вот подозреваю что двигатся нужно в этом направлении и подозреваю что результата не будет, но всё же решил спросить.

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

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