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

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


Вступление в Клуб: 22.10.2012
СообщениеВт Янв 17, 2017 17:10   редактирование дистрибутива Ответить с цитатой
Полезность: Нет оценки
Здравствуйте.
Не нашел более подходящего раздела чем этот, для своего вопроса.

Заранее хочу сделать оговорку, что мой вопрос не подразумевает лукавый умысел, и его решение направлено исключительно на упрощение процессе работы с ЦФТ-Банком.

И так, мой вопрос в том - как можно отключить лицензию для конкретного объекта (представления, операции) либо для целого приложения, в состав которого входит интересующая меня операция?
Задаю этот вопрос, потому что ужасно надоело при поиске ошибок в дистрибутиве делать вставки в Sources. А копировать операции, когда дебажишь глубокий стак из 5-10 операций.. это грустный вариант.

В общем, в поисках ответа пару раз попробовал порыться в в запросах адм.словаря.
Нашел интересный селект, который приоткрывает (как мне кажется) дверь к ответу:

[RES_BASE_ACCS].[NEW#AUTO] взят чисто ради эксперимента
Код:
     
SELECT *
      FROM OBJECTS_OPTIONS O, SYSTEM_OPTIONS SO, LICENSE_PARAMS LP
    WHERE
      O.OBJ_TYPE = 'METHODS'
      AND O.CLASS_ID = 'RES_BASE_ACCS'
      AND (O.SHORT_NAME='NEW#AUTO' OR 'NEW#AUTO' LIKE REPLACE(O.SHORT_NAME,'_','\_') ESCAPE '\')
      AND O.OPTION_ID=SO.ID
      AND SO.LICENSED='1'
      AND SO.ID=LP.ID AND LP.USAGE>0
      AND ROWNUM=1;


Селект выводит номер приложения, в которое включена операция, а так же, как я понял, "датчик" использования приложения, ну и прочие значения, которые мне ни о чем не говорят (буду признателен, если кто прокомментирует). Мое предпложение было таким: если порвать связку, т.е. удалить записи об интересующем меня методе таблиц, то я исключу его из дистрибутива.

Удалив, я получил вот такую ошибку при входе в любой арм:


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

В силу того, что скороподьемного теста у нас не имеется, количество моих одноразовых попыток было сильно ограничено.
Так что может быть кто-то уже решил эту задачу?


Последний раз редактировалось: wolfio (Пн Июн 05, 2017 11:43), всего редактировалось 1 раз
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеВт Янв 17, 2017 17:32    Ответить с цитатой
Полезность: Нет оценки
крутой топик, аднака ...

Smile

Admin,
пора создавать закрытый раздел на форуме, я щетаю
Smile Smile Smile
wolfio
Участник - экстремал


Вступление в Клуб: 22.10.2012
СообщениеВт Янв 17, 2017 17:42    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
крутой топик, аднака ...

Smile

Admin,
пора создавать закрытый раздел на форуме, я щетаю
Smile Smile Smile


почему я знал, что твой топик будет первым?))
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеСр Янв 18, 2017 09:13    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
пора создавать закрытый раздел на форуме, я щетаю
Smile Smile Smile


Ага и пускать туда по паспорту, дабы ни одна ЦФТ не проскочила и не читала как можно хакнуть их ьсистему Laughing
wolfio
Участник - экстремал


Вступление в Клуб: 22.10.2012
СообщениеСр Янв 18, 2017 11:04    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
..и не читала как можно хакнуть их ьсистему Laughing

да о чем вы говорите) что там хакать?) отключив лицензию, теряешь поддержку, а без нее и смысл в использовании дистрибутива такого масштаба пропадает)

цель только лишь упрощение в процессе копания в дистрибутивном коде.
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеСр Янв 18, 2017 11:08   Re: отключение дистрибутива Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:
потому что ужасно надоело при поиске ошибок в дистрибутиве делать вставки в Sources. А копировать операции, когда дебажишь глубокий стак из 5-10 операций.. это грустный вариант.


Да шо вы говорите ... Smile))

В чом проблема запихнуть dbms_output.put_line прямо в оракловый пакет ?

Давно перешел на такой способ, в том числе когда надо "щас" починить бой ...
wolfio
Участник - экстремал


Вступление в Клуб: 22.10.2012
СообщениеСр Янв 18, 2017 13:25   Re: отключение дистрибутива Ответить с цитатой
Полезность: Нет оценки
vtar пишет:

В чом проблема запихнуть dbms_output.put_line прямо в оракловый пакет ?

и чо, удобно?) я тоже в пакет вставляю, но как-то все ровно подбешивает рыться в пакете, когда у тебя открыто 10 операций разными окнами.

Короче вопрос был не об том, как править дистрибутив)

про "щас" починить бой - решение моего вопроса неприменимо. меня интересовал этот способ исключительно для применения на тестах.
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеЧт Янв 19, 2017 02:50    Ответить с цитатой
Полезность: Нет оценки
Ну напиши свой редактор операций , (аналог Админа словаря )
из Sources считал в редактор всю операцию, поправил , удалил в соурсес и вставил своё... Very Happy
wolfio
Участник - экстремал


Вступление в Клуб: 22.10.2012
СообщениеЧт Янв 19, 2017 09:23    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Ну напиши свой редактор операций , (аналог Админа словаря )
из Sources считал в редактор всю операцию, поправил , удалил в соурсес и вставил своё... Very Happy

ну вот опять..вопрос же не в том, как можно править сурсы
KhrushchevAV
Участник со стажем


Вступление в Клуб: 17.10.2014
СообщениеЧт Янв 19, 2017 09:55    Ответить с цитатой
Полезность: Нет оценки
Цитата:
Ну напиши свой редактор операций , (аналог Админа словаря )


Классическое решение Smile

Могу еще одно посоветовать. Если купить у цфт лицензию разработчика, то можно править дистрибутивные операции так же как локальные.
Только оно потом боком выходит... (Да, да я понял что Вам только для отладки, но аппетит приходит во время еды. Если можно быстро и прямо вот сейчас сделать как надо, то...)
Потом после наката патча, опять встаешь на уже забытые грабли Smile

P.S. Как исключить операцию из дистрибутива не знаю. Думаю если бы это было легко, то вся система защиты потеряла бы всякий смысл. (И так не большой) Smile
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Янв 19, 2017 09:59    Ответить с цитатой
Полезность: Нет оценки
KhrushchevAV пишет:
Если купить у цфт лицензию разработчика, то можно править дистрибутивные операции так же как локальные.


Таки ЦФТ же лет 5ть как назад отказались от лицензии разработчика, сча они есть только у самих разрабах ЦФТ, банкам не дают даже за деньги.

З.Ы. за разумные деньги, можно конечно и 51% акций скупить ЦФТ - тогда будешь крутить ими как хочешь и на чем хочешь ! Embarassed
OlegFB
Участник - экстремал


Вступление в Клуб: 11.07.2007
СообщениеЧт Янв 19, 2017 10:02    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
KhrushchevAV пишет:
Если купить у цфт лицензию разработчика, то можно править дистрибутивные операции так же как локальные.


Таки ЦФТ же лет 5ть как назад отказались от лицензии разработчика, сча они есть только у самих разрабах ЦФТ, банкам не дают даже за деньги.

З.Ы. за разумные деньги, можно конечно и 51% акций скупить ЦФТ - тогда будешь крутить ими как хочешь и на чем хочешь ! Embarassed


Можно просто отказаться от поддержки Wink
Как сделал сбербанк.
egor_spb
Участник - экстремал


Вступление в Клуб: 28.09.2007
СообщениеПт Янв 27, 2017 09:50   Re: отключение дистрибутива Ответить с цитатой
Полезность: 1
У меня похожий вопрос - кто-нибудь уже написал select, чтобы можно найти приложение, которое нужно включить, чтобы класс, метод или представление появились в ЦФТ-навигаторе?
Например, я 3 раза перечитал доку по расчету формы F_650, но так и не нашел, как получить доступ к справочнику [NORM_KRL_DATA]. В навигаторе он не показывается, и как отловить, какое приложение надо включить, чтобы получить к нему доступ, нигде не написано.
Этот запрос ничего на моей схеме не выдает:
Код:
     
SELECT *
      FROM OBJECTS_OPTIONS O, SYSTEM_OPTIONS SO, LICENSE_PARAMS LP
    WHERE
      O.OBJ_TYPE = 'METHODS'
      AND O.CLASS_ID = 'NORM_KRL_DATA'
      AND (O.SHORT_NAME='NORM_KRL'  )
      AND O.OPTION_ID=SO.ID
--      AND SO.LICENSED='1'
      AND SO.ID=LP.ID --AND LP.USAGE>0
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеПт Янв 27, 2017 10:03   1B620071 Ответить с цитатой
Полезность: Нет оценки
SELECT * FROM OBJECTS_OPTIONS O
where o.class_id = 'NORM_KRL_DATA'
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеПт Янв 27, 2017 10:18   Re: отключение дистрибутива Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:
И так, мой вопрос в том - как можно отключить лицензию для конкретного объекта (представления, операции) либо для целого приложения, в состав которого входит интересующая меня операция?


Вероятно, никак. Предполагаю что CRC_TREE для самого верхнего уровня ( лицензия Банка) в SYSTEM_OPTIONS
обсчитывается по всем входящим CRC_OBJ

И на более низких уровнях схема такая же.

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

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