изменение словаря, тригеры

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

изменение словаря, тригеры

Сообщение Hmyrii »

Всем привет!
Помогите кто "могите".
Идет разработка нового модуля для автоматизации абонентского отдела гор. Водоконала. Модуль запихан в партнерский. Сделано уже много. Добавлены таблицы в словарь, пишутся фейсы с нужной бизнес логикой.
Встала нужда в навешивании тригеров. Хотелось бы его навесить средствами VIP. Прочитана дока. На стандартный таблы все работает как часы. А вот на те что я затолкал в словарь не выходит.

вот скрипт одной таблицы

Код: Выделить всё

Create Table D_NA_Abo.NA_Abonents "НА - абоненты"
  With Table_Code = 10604
  With Replace
(
  Nrec             : comp                   "Номер записи"
 ,Descr            : tDescr                 "Пользователь"
 ,DesGr           : tDesGr                 "Группа пользователей"
 ,cFormSob      : ref(NA_Catalogs)   "форма собственности"
 . . . . . . . . . . . 
)
with index
(
  NA_Abonents01 = NRec(Unique, Surrogate, Journal)
);
таблица создана, фейсы с ней работают без проишествий.
пытаюсь создать тригер

Код: Выделить всё

handler with replace tBeforeDeleteAbonents on trigger NA_Abonents before delete [99]
action
{
    // . . . . . . 
}
при компиляции вываливается с ошибкой "использование незарегестрированой таблицы, код ошибки [304]"
знает кто нить как это побороть, где и как надо зарегить мои таблы?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

1. Имя слишком длинное, да и "_" лишнее.
2. Дело могет быть системное - у стандартных табл описания входят в Galnet.exe.
3. А ТП что грит?
Последний раз редактировалось edward_K 29 июн 2009, 10:51, всего редактировалось 1 раз.
Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

Сообщение Hmyrii »

префикс в названии таблиц убирать не стану, так уж проект заложен
ТП не чего не говорит, не обращался я к ним на эту тему
победить не смог проблему, как то не одекватно себя система повела, пришлось зашивать в код то что я хотел возложить на тригеры
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

Попробовал навесить тригер на свою табл. - без проблем.
Може вы пытаетесь сделать селект непосредственно в тригере?
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Сообщение savov »

Народ, просветите темного. На каком сервере делаются триггеры (Pervasive, MS SQL, Oracle) и где мануал искать?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

в атлантисе (это тоже СУБД)
VipProg.chm см.

Код: Выделить всё

Подписка обработчика на триггер    

Подписка на триггер производится по следующиму синтаксису:

<подписка-на-триггер> = handler [ with replace ]
  <имя-обработчика> on trigger <имя-таблицы>
  <вызов-обработчика> <вид-операции> [ [<приоритет>] ]
  [ action { <код-на-языке-VIP> } ]
  [ rollback { <код-на-языке-VIP> }
Ответить