[ТЕМА ЗАКРЫТА]
18.03.2009 09:10
reddevil
 
Была поставлена задача запретить принятие накладных без основания с документом типа заказ, это возможно с помощью встроенной проверки, однако она ни коим образом не позволяет вводит исключения, например - скоропорт, пресса и т.п.
Задача была реализована при помощи триггеров. Представляю на суд участников может кому пригодиться.
Скрипты для создания врем. таблицы и триггеров во вложении.
В принципе сама идея повзляет проивзодить любы проверки, однако пока не могу решить вопрос стабильной работы при редактировании документов в нескольки разделах одновременно
Вложения
Тип файла: txt TblCre.txt (315 байт, 116 просмотров)
Тип файла: zip wi_no_or.zip (5.3 Кб, 99 просмотров)
18.03.2009 17:48
OlegON
 
Давайте выслушаем комментарии. Я пока не пробовал, но смутило упоминание о неустойчивой работе. Пусть автор принимает решение. Релиз?
19.03.2009 05:33
isi
 
1. Что то мне не очень понятно использование временной таблицы. (производительность?)
2. Попробовать стандартную проверку переделать под себя?
3. Рекомендую вместо временной таблицы курсоры с аналитическими функциями (явно подымет производительность)

1. Теперь либо я не понял задачи, но зачем тебе кроме триггера на SMDOCUMENTS ещё два?
2. для обхода мутации использовать PAT?
19.03.2009 06:16
reddevil
 
Цитата:
isi 1. Что то мне не очень понятно использование временной таблицы. (производительность?)
2. Попробовать стандартную проверку переделать под себя?
3. Рекомендую вместо временной таблицы курсоры с аналитическими функциями (явно подымет производительность)

1. Теперь либо я не понял задачи, но зачем тебе кроме триггера на SMDOCUMENTS ещё два?
2. для обхода мутации использовать PAT?
1,3. В 70 магазинах до сих пор 8i SE так что PL/SQL таблицы и аналитика не поможет.
2. Как?
"1. Теперь либо я не понял задачи, но зачем тебе кроме триггера на SMDOCUMENTS ещё два?" - именно для обхода мутации
И что такое РАТ ?
24.03.2009 08:09
reddevil
 
Цитата:
isi
Автономная транзакция не подходит (проверено).

Меня больше интересует как "2. Попробовать стандартную проверку переделать под себя? " ?!?!?
24.03.2009 16:51
isi
 
Цитата:
reddevil Автономная транзакция не подходит (проверено).

Меня больше интересует как "2. Попробовать стандартную проверку переделать под себя? " ?!?!?
ну на счет автономной транзакции это ты зря. сам делал, по поводу два, это декриптуешь процедуру и свои условия включаешь, у меня так пара проверок работает, это проще и гораздо дешевле чем С+ просить (пока объяснишь что хочешь, проще застрелится, я не понимаю с+, они готовы на ровном месте буксовать когда вопрос ничего не стоит)
я себе уже файлик изменений свой завел для этого, дабы после обновлений восстановить
24.03.2009 16:52
Mtirt
 
И не забываешь, что эта процедура является нарушением лицензионного соглашения. :(
25.03.2009 02:49
isi
 
Алгоритм криптования/декриптования в Oracle описан самим Oracle.
Если вы добавляете/модифицируете индекс это тоже нарушение лицензионного соглашения (в каждой второй базе хозяйничаем не так ли? кто скажет что это настройка производительности, то смею вас заверить в коде Супермага PL/SQL можно тоже много оптимизировать. в чем отличие?), думаю что можно опустить формальности в данном случае С+ получает свои деньги за поддержку и не думаю что будет в таких случаях претензии предъявлять.
25.03.2009 10:46
kadr
 
Цитата:
isi Алгоритм криптования/декриптования в Oracle описан самим Oracle.
Если вы добавляете/модифицируете индекс это тоже нарушение лицензионного соглашения (в каждой второй базе хозяйничаем не так ли? кто скажет что это настройка производительности, то смею вас заверить в коде Супермага PL/SQL можно тоже много оптимизировать. в чем отличие?), думаю что можно опустить формальности в данном случае С+ получает свои деньги за поддержку и не думаю что будет в таких случаях претензии предъявлять.
Откуда данные? Насколько мне известно Oracle утверждает что заврапленные процедуры не подлежат обратному развёртыванию в PL/SQL и рекомендует всегда иметь оригинал заврапленной процедуры.
Или имелось ввиду именно криптование, а не враппинг?
25.03.2009 11:57
Pblcb
 
Цитата:
kadr Откуда данные? Насколько мне известно Oracle утверждает что заврапленные процедуры не подлежат обратному развёртыванию в PL/SQL и рекомендует всегда иметь оригинал заврапленной процедуры.
Или имелось ввиду именно криптование, а не враппинг?
Да, оракл утверждает ))) но если пошуршать по sql.ru то выясняется что все-таки можно восстановить код и в 9-ке и в 10-ке
25.03.2009 12:14
Mtirt
 
Восстановить можно, только даже сам факт декриптования процедур PL/SQL, даже без их последующего изменения/модификации будет нарушением лицензионного соглашения с С+. Этот код является их интеллектуальной собственностью.
Кстати, про изменение базы данных (создание индексов и т.п.) там особо ничего не сказано.
25.03.2009 13:34
reddevil
 
Цитата:
Mtirt Восстановить можно, только даже сам факт декриптования процедур PL/SQL, даже без их последующего изменения/модификации будет нарушением лицензионного соглашения с С+. Этот код является их интеллектуальной собственностью.
Кстати, про изменение базы данных (создание индексов и т.п.) там особо ничего не сказано.
Все правильно: "Не трожь .... , не завоняет". И не только лиц. согл. но и УК.

To isi (никак не успокоишься пока весь супермаг не разврапишь :) ) - как организован процесс распространения изменений по базам и каково их количество?
25.03.2009 15:30
kadr
 
Цитата:
Pblcb Да, оракл утверждает ))) но если пошуршать по sql.ru то выясняется что все-таки можно восстановить код и в 9-ке и в 10-ке
Таки мы ведем речь о том что сам Oracle описал данные процедуры или всё же сторонний разработчик их написал? Думаю ответ всем понятен и дальнейшее обсуждение будет лишним.
26.03.2009 03:08
isi
 
Цитата:
kadr Откуда данные? Насколько мне известно Oracle утверждает что заврапленные процедуры не подлежат обратному развёртыванию в PL/SQL и рекомендует всегда иметь оригинал заврапленной процедуры.
Или имелось ввиду именно криптование, а не враппинг?
Ткните носом где это утверждается
oracle 8,9,10 декриптуются в 5 сек, собственно как и например в MSSQL, но вот там microsoft утверждает что это не возможно

а по поводу лицензионности я уже привел пример выше с индексами например
дальше думаю не имеет смысла обсуждать, ветка не по теме получилась, каждый сам решает на что он идет для достижения результатов
26.03.2009 07:31
Mtirt
 
1. Это выдержка из существующего лицензионного соглашения:
Цитата:
3. СУБЛИЦЕНЗИАТ не имеет права:
3.1. восстанавливать исходный код, деассемблировать или де компилировать ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ за исключением случаев, когда это требуется для обеспечения взаимодействия программных продуктов;
3.2. делать копии с ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, кроме достаточного количества копий для использования ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ в соответствии с лицензионными документами и одной резервной или архивной копии.
Здесь сказано то, что я пересказывала выше и ничего не сказано про самостоятельную модификацию базы данных.

2. Лично мне не хотелось бы учить окружающих тому, что может нанести им вред. Главу 70 Гражданского кодекса РФ по большому счету каждый из здесь присутствующих должен знать наизусть. То есть вы готовы сесть в тюрьму ради достижения результатов?

3. Здесь все очень жестко высказывались по поводу С+ и того, что они мало уделяют внимания пользователям и форуму. А теперь скажите, а почему они должны уделять внимание пиратам?

Простите за то, что это не по теме...

Олег, если честно, предлагаю потереть все топики, не касающиеся самой проверки.
26.03.2009 07:38
kadr
 
Цитата:
isi Ткните носом где это утверждается
oracle 8,9,10 декриптуются в 5 сек, собственно как и например в MSSQL, но вот там microsoft утверждает что это не возможно

а по поводу лицензионности я уже привел пример выше с индексами например
дальше думаю не имеет смысла обсуждать, ветка не по теме получилась, каждый сам решает на что он идет для достижения результатов
Определись в терминах, я уже просил, вот ты сейчас именно о криптографии говоришь или всё же о процедуре wrap?
И если всё же идёт речь о процедуре wrap, то тут все сторонние утилиты по развраплению пакетов можно приравнять к дизассемблерам: есть возможность, дают почти правильный результат, но не вяжется с лиц. соглашением.
26.03.2009 13:29
isi
 
wrap (Весь Англо-Русский словарь)


1. _n. 1) шаль, платок; меховая пелерина; одеяло, плед 2) обёртка
2. _v. 1) завёртывать, сворачивать, складывать, закутывать (часто wrap up); to wrap oneself тепло одеваться 2) окутывать, обёртывать (round, about); to wrap in paper обернуть бумагой; wrap over перекрывать; wrap up а) кутаться; б) завершать; давать краткое заключение; wrapped up in а) погружённый в (себя, во что-л.), занятый чем-л.; wrapped up in slumber погружённый в сон; б) скрываемый; the affair is wrapped up in mystery Это дело окутано тайной

не вижу здесь ничего связанного с криптованием, ассамблированием и прочими вещами, в английском есть самостоятельные слова для этих понятий
wrap означает только одно, что это свернутый код, но он все равно остался ИСХОДНЫМ кодом

у меня был профессиональный документ, к сожалению найти не могу, написанный самим oracle, по процедуре wrap, что куда и зачем, найду выложу, добыл я его на курсах Oracle, когда учился, непосредственно у преподавателя
26.03.2009 13:39
akonev
 
Цитата:
isi wrap означает только одно, что это свернутый ИСХОДНЫЙ код
..., который ты собираешься обратно "разворачивать". то есть восстанавливать

представь, что ты пытаешься в суде трясти англо-русским словарем перед носом судьи и убеждать его, что в этом словаре написано: присутствующий представитель oracle ничего не понимает в том, чем занимается их софт

PS завязывай уже! хочешь доказать, что не нарушаешь лицензию - подними отдельную ветку
26.03.2009 13:51
isi
 
если плохо читаешь, я давно уже об этом сказал, с не обираюсь ни кому ни чего доказывать, просто вы успокоится не можете, совет был дан из добрых побуждений, чтоб помочь человеку, я честно купил продукт и ни у кого ничего не ворую, а чтоб ваша душа была спокойна в лицензионном соглашении написано как раз про "восстанавливать исходный код, деассемблировать или де компилировать ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ за исключением случаев, когда это требуется для обеспечения взаимодействия программных продуктов" , собственно у меня этот пунк соблюден, т.к. делалось именно для корректной работы с системой РЦ, а человеку предложено было как один из вариантов, не более
Опции темы


Часовой пояс GMT +3, время: 22:04.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.