| Предыдущая тема :: Следующая тема | 
	
	
		| Автор | Сообщение | 
	
		| Archangel Участник
 
 
 Вступление в Клуб: 01.07.2009
 
 | 
			
				|  Пт Окт 23, 2009 14:16   HOOK. Кто он такой? |   |  
				| Полезность: Нет оценки 
 |  
				| День добрый господа. 
 Проконсультируйте пожалуйста что это за зверь такой "HOOK" и с чем его едят.
 |  | 
	
		|  | 
	
		| IBSO Профи
 
 
 Вступление в Клуб: 20.08.2009
 
 | 
			
				|  Пт Окт 23, 2009 14:22    |   |  
				| Полезность: Нет оценки 
 |  
				| Когда "никто" не помогает прочти наконец инструкцию...  |  | 
	
		|  | 
	
		| Archangel Участник
 
 
 Вступление в Клуб: 01.07.2009
 
 | 
			
				|  Пт Окт 23, 2009 14:26    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | IBSO пишет: |  	  | Когда "никто" не помогает прочти наконец инструкцию...  | 
 
 Спасибо и на этом
   Но к сожалению я ограничен в документации или просто не знаю где смотреть
  Так как новичок. Поэтому и спрашиваю   
 Кстати, а что нибудь  дельное подсказать можешь?
 |  | 
	
		|  | 
	
		| IBSO Профи
 
 
 Вступление в Клуб: 20.08.2009
 
 | 
			
				|  Пт Окт 23, 2009 14:35    |   |  
				| Полезность: Нет оценки 
 |  
				| А что конкретно "дельное" нужно? |  | 
	
		|  | 
	
		| Archangel Участник
 
 
 Вступление в Клуб: 01.07.2009
 
 | 
			
				|  Пт Окт 23, 2009 14:40    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | IBSO пишет: |  	  | А что конкретно "дельное" нужно? | 
 
 Хочу узнать что это вообще такое и как это можно применять в системе.
 
 Слышал что их оставляют ЦФТшники для локальных доработок.
 
 Можешь рассказать что это или подскажи пожалуйста какой докой можно воспользоваться
  |  | 
	
		|  | 
	
		| IBSO Профи
 
 
 Вступление в Клуб: 20.08.2009
 
 | 
			
				|  Пт Окт 23, 2009 14:56    |   |  
				| Полезность: 1 
 |  
				| на форуме поиском попробуйте воспользоваться для общей информации. А HOOk - это переопределение  дистрибутивных возможностей ПО на желаемые. Это могут делать не только цфтшники, а сам банк. В классе HOOK стоят все возможные в системе. Вы какой вам нужен копируете в HOOK_BANK и пишите свои локальные операции. 
 А так не обижайтесь. просто про хуки знают даже операционисты в банке.
  |  | 
	
		|  | 
	
		| prog Эксперт
 
 
 Вступление в Клуб: 03.03.2008
 
 | 
			
				|  Пт Окт 23, 2009 14:58    |   |  
				| Полезность: Нет оценки 
 |  
				| Продвинутые у вас операционисты...  |  | 
	
		|  | 
	
		| IBSO Профи
 
 
 Вступление в Клуб: 20.08.2009
 
 | 
			
				|  Пт Окт 23, 2009 15:00    |   |  
				| Полезность: Нет оценки 
 |  
				| просто вчера звонит операционистка и говорит : напишите мне хук, что бы и ......свои пожелания.  |  | 
	
		|  | 
	
		| Archangel Участник
 
 
 Вступление в Клуб: 01.07.2009
 
 | 
			
				|  Пт Окт 23, 2009 15:00    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | IBSO пишет: |  	  | на форуме поиском попробуйте воспользоваться для общей информации. А HOOk - это переопределение  дистрибутивных возможностей ПО на желаемые. Это могут делать не только цфтшники, а сам банк. В классе HOOK стоят все возможные в системе. Вы какой вам нужен копируете в HOOK_BANK и пишите свои локальные операции. 
 А так не обижайтесь. просто про хуки знают даже операционисты в банке.
  | 
 
 Спасибо
  Прежде чем писать я пользовался поиском   Я ни когда не обижаюсь, да и обидного здесь ничего нет
   
 Доку можете какую нибудь посоветовать?
 |  | 
	
		|  | 
	
		| prog Эксперт
 
 
 Вступление в Клуб: 03.03.2008
 
 | 
			
				|  Пт Окт 23, 2009 15:07    |   |  
				| Полезность: 1 
 |  
				| Поиском нашел вот такую доку. Все вроде подробно... 
  	  | Цитата: |  	  | Приложение 6-03-01 (Кредиты. Расширения (HOOK).doc | 
 |  | 
	
		|  | 
	
		| IBSO Профи
 
 
 Вступление в Клуб: 20.08.2009
 
 | 
			
				|  Пт Окт 23, 2009 15:09    |   |  
				| Полезность: Нет оценки 
 |  
				| я тоже никак не найду кроме по продуктам. |  | 
	
		|  | 
	
		| prog Эксперт
 
 
 Вступление в Клуб: 03.03.2008
 
 | 
			
				|  Пт Окт 23, 2009 15:12    |   |  
				| Полезность: Нет оценки 
 |  
				| В комментариях к самому типу HOOK написано следующее 
  	  | Цитата: |  	  | ТБП HOOK и HOOK_BANK реализуют механизм, позволяющий Клиентам Компании
 переопределять особо выделенные разработчиками Компании операции, реализующие
 те или иные основные либо дополнительные алгоритмы обработки чего-либо.
 
 См. документ "Интерфейсы и расширения для локальных доработок.doc"
 
 На типе включено кэширование экземпляров для исключения часто выполняющегося
 при обращении к операциям типа запроса
 SELECT CLASS_ID FROM Z#HOOK WHERE ID = :b1
 | 
 
 "Интерфейсы и расширения для локальных доработок.doc" у себя не нашел
  |  | 
	
		|  | 
	
		| IBSO Профи
 
 
 Вступление в Клуб: 20.08.2009
 
 | 
			
				|  Пт Окт 23, 2009 15:19    |   |  
				| Полезность: Нет оценки 
 |  
				| на сайте сопровождения есть дока Регламент локальных доработок. 
 Приложение 1. Правила реализации расширений для локальных доработок.
 
 Операции расширений (HOOK) предназначены для выделения ЦФТ некоторых основных и дополнительных алгоритмов обработки, которые возможно переопределить при выполнении локальных доработок Клиента.
 
 
 Реализация "ЦФТ-Банк"
 
 1. Основные базовые неизменяемые объекты:
 1.1. ТБП ::[HOOK] "Расширения. Дистрибутив". Признак "Может иметь экземпляры" у ТБП не установлен. Реквизиты и представления отсутствуют.
 1.2. ТБП ::[HOOK_BANK] "Расширения. Банк", являющийся дочерним по отношению к ТБП ::[HOOK]. Признак "Может иметь экземпляры" у ТБП установлен. Реквизиты и представления отсутствуют.
 1.3. ТБП ::[HOOK_BANK] имеет статический экземпляр (для этого в ТБП создан реквизит [FOR_STATIC] типа STRING_1, необходимый для создания статического экземпляра).
 1.4. В ТБП ::[HOOK] создана операция [VARS]. В этой операции объявлена глобальная переменная ref_hook (тип - ref [HOOK]). Данная переменная инициализируется ссылкой на статический экземпляр типа ::[HOOK_BANK].
 
 2. Устанавливается следующий порядок подключения продуктов к использованию данного механизма (при необходимости):
 2.1. Выделяется блок кода, реализующий основной или дополнительный алгоритм обработки чего-либо. Данный блок кода оформляется в виде отдельной операции типа "Простая" в ТБП ::[HOOK]. Наименование данной операции должно по смыслу соответствовать сути выделенного алгоритма обработки. Имя операции (длинное и короткое) начинается с префикса - краткое сокращенное наименование подсистемы/продукта и оканчивается номером версии операции. В комментарии к операции описываются назначение операции, ее входные и выходные параметры.
 Примечание. В данной операции не рекомендуется:
 a. Объявлять переменные (вкладка "Переменные").
 b. Использовать секцию "Глобальные описания".
 2.2. В операции продукта добавляется вызов данной операции, например:
 ::[HOOK].[VARS]. ref_hook.[CORE_D_TST_SIG_1](v_doc.[FILIAL]);
 Подробный пример см. ниже.
 2.3. Т.к. все простые операций ТБП ::[HOOK] применяются к одной и той же переменной типа ссылка на ТБП ::[HOOK_BANK], которая ссылается на статический экземпляр ТБП, то для исключения блокировки этого экземпляра у операций ТБП ::[HOOK], содержащих в программном коде PL/SQL вставки, должен быть снят признак "Блокировка по умолчанию" на закладке "Свойства->Компиляция" редактора операций.
 2.4. В целях обеспечения совместимости устанавливается следующий порядок поддержки версионности операций типа ::[HOOK]:
 2.4.1. Список параметров и тип возвращаемого значения при выпуске обновлений текущей операции не изменяется
 2.4.2. При необходимости как-то изменить список параметров либо тип возвращаемого значения
 2.4.2.1. создается новая операция в типе ::[HOOK] (вызывающая внутри себя операцию предыдущей версии),
 2.4.2.2. в операции продукта вызов операции предыдущей версии заменяется вызовом операции новой версии.
 
 3. Устанавливается следующий порядок переопределения операций ТБП ::[HOOK] при выполнении локальных доработок Клиента:
 3.1. Конкретная операция в ТБП ::[HOOK] перекрывается операцией из ТБП ::[HOOK_BANK] (с использованием штатных возможностей модуля "Администратор словаря данных") и модифицируется под локальные требования. Для обеспечения перекрытия необходимо, чтобы перекрываемая и перекрывающая операции совпадали по именам, по типу операции, по типу возвращаемого значения, по всем параметрам (наименование, тип, количество).
 3.2. Т.к. все простые операций ТБП ::[HOOK_BANK] применяются к одной и той же переменной типа ссылка на ТБП ::[HOOK_BANK], которая ссылается на статический экземпляр ТБП, то для исключения блокировки этого экземпляра у операций ТБП ::[HOOK_BANK], содержащих в программном коде PL/SQL вставки, должен быть снят признак "Блокировка по умолчанию" на закладке "Свойства->Компиляция" редактора операций.
 3.3. Запрещается создание в СИСТЕМЕ объектов, напрямую вызывающих операции ТБП ::[HOOK_BANK].
 
 4. ТБП ::[HOOK] "Расширения. Дистрибутив" и ::[HOOK_BANK] "Расширения. Банк" и их свойства являются частью основного выпуска СИСТЕМЫ.
 
 5. Все операции и представления в ТБП ::[HOOK] "Расширения. Дистрибутив" являются частью основного выпуска СИСТЕМЫ.
 
 6. Все операции в ТБП ::[HOOK_BANK] "Расширения. Банк" не являются частью основного выпуска СИСТЕМЫ и относятся к локальным доработкам. Особенности реализации перекрытия операций отменяют требование обязательного использования префикса Клиента.
 Пример: Требуется функция, возвращающая строку, содержащую подпись к некоторому платежному документу типа "Тестовый". Документ относится к общей части СИСТЕМЫ (учетное ядро). В ТБП ::[ HOOK] создаем операцию
 Длинное наименование - УЯ. Получить подпись к документу типа "Тестовый". Вер.01
 Короткое наименование - CORE_D_TST_SIG_1
 Тип возвращаемого значения - Строка1000
 Параметры Филиал P_FILIAL Ссылка на "Филиалы"
 
 Тело
 begin
 return 'Подпись ___________________./__________________/';
 end;
 Вызов этой операции вставляется в программный код операции печати документа [PRINT_TEST_DOC]:
 ----------------------
 ::[HOOK].[VARS]. ref_hook.[CORE_D_TST_SIG_1](v_doc.[FILIAL]);
 -----------------------
 Локальная доработка для Клиента, обеспечивающая более сложный алгоритм получения строки подписи тестового документа, реализуется путем создания в ТБП ::[HOOK_BANK] перекрывающей операции:
 Длинное наименование - УЯ. Получить подпись к документу типа "Тестовый". Вер.01
 Короткое наименование - CORE_D_TST_SIG_1
 Тип возвращаемого значения - Строка1000
 Параметры Филиал P_FILIAL Ссылка на "Филиалы"
 
 Тело
 cRet varchar2(1000);
 begin
 ----------------------------
 Код вычисляющий строку cRet
 ----------------------------
 return nvl(cRet,'Подпись ___________________./__________________/');
 end;
 В результате развития, сопровождения или внедрения СИСТЕМЫ может оказаться, что одного параметра P_FILIAL недостаточно, чтобы реализовать эту локальную доработку, и нам требуется еще один параметр типа "Ссылка на "Подразделения"". Однако мы не можем изменять операцию ::[HOOK].[CORE_D_TST_SIG_1], т.к. после добавления нового параметра в эту операцию и установки на схему Клиента перекрытие операций отключится. В результате отключится операция, обеспечивающая специфику Клиента. Для сохранения работоспособности уже перекрытых операций в ТБП ::[ HOOK] создается операция следующей версии. Эта операция должна вызывать операцию предыдущей версии:
 Длинное наименование - УЯ. Получить подпись к документу типа "Тестовый". Вер.02
 Короткое наименование - CORE_D_TST_SIG_2
 Тип возвращаемого значения - Строка1000
 Параметры Филиал P_FILIAL Ссылка на "Филиалы"
 Подразделение P_DEPART Ссылка на "Подразделения"
 
 Тело
 begin
 return this.[CORE_D_TST_SIG_1](P_FILIAL);
 end;
 Модифицируется вызов в программном коде операции печати документа [PRINT_TEST_DOC]:
 ----------------------
 ::[HOOK].[VARS]. ref_hook.[CORE_D_TST_SIG_2](v_doc.[FILIAL], v_doc.[DEPART]);
 -----------------------
 
 Если Клиенту потребуется получить результирующую строку, используя новый параметр P_DEPART, то необходимо будет реализовать в ТПБ ::[HOOK_BANK] перекрытие для операции новой версии.
 |  | 
	
		|  | 
	
		| Archangel Участник
 
 
 Вступление в Клуб: 01.07.2009
 
 | 
			
				|  Пт Окт 23, 2009 15:19    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | prog пишет: |  	  | Поиском нашел вот такую доку. Все вроде подробно... 
  	  | Цитата: |  	  | Приложение 6-03-01 (Кредиты. Расширения (HOOK).doc | 
 | 
 
 
 Спасибо попробую разыскать эту доку
  |  | 
	
		|  | 
	
		| Archangel Участник
 
 
 Вступление в Клуб: 01.07.2009
 
 | 
			
				|  Пт Окт 23, 2009 15:42    |   |  
				| Полезность: Нет оценки 
 |  
				| Огромное спасибо за помощь господа   А точнее за пинок  в нужную сторону
  |  | 
	
		|  | 
	
		|  |