Регулярно возникают ситуации, что после исправлений того или иного пакета звонят удручённые горем пользователи и жалуются, что у них ни чего не работает. Во всех таких случаях я их направлял к перезаходу в систему. А счастье-то так близко! Вот что знающие парни присоветовали: begin if nvl(pkg_auto_system.get_object_kind(p_company=>:Company,p_rn=>:Document),'NULL')='АВТОШИНЫ' then p_exception(0,'"Перетаскивание" запрещено! Используйте процедуру "Переместить в другую структуру"'); end if; exception when others then IF SQLCODE = -6508 THEN -- значит пакет pkg_auto_system перекомпилен dbms_session.reset_package; p_exception(0, 'Программа была изменена, попробуйте еще раз'); ELSE raise; END IF; end; Эта конструкция в НМБ позволяет перезапустить бизнес-процесс без перезахода на клиенте. Конечно есть одно но - если все пакетные переменные сбросятся, ведь нет возможности указать конкретный пакет. Так что следует быть осторожным. Полина Ростова
  1. anonymousMon May 20 2013 07:02:09 GMT-0400 (EDT)
    А ни кто не в курсе как такое сделать для Postgresql?