|
25.03.2005, 16:52 | #1 |
Участник
|
Копаю Навижн. Возник вопрос - можно ли выполнять какое-либо действие при Insert, Update, Delete в таблице, вне зависимости от того, указано ли (TRUE) в параметрах уметодов, производящих эти действия.
Т.е. если я где-нибудь в коде пишу Код: SalesLine.INSERT; // SalesLine = record ("Sales Line" No.37) Только тут проблема еще в том, что на OnInsert выполняется куча всякой хрени, которая далеко не всегда нужна. А свой код нужен всегда. Куды копать? PS: Navision Attain 3.10 |
|
25.03.2005, 17:24 | #2 |
Moderator
|
Есть функции в 1 кодеюните, в конце (верси 3.хх)
|
|
25.03.2005, 18:33 | #3 |
Moderator
|
Нельзя.
|
|
25.03.2005, 19:26 | #4 |
Участник
|
Цитата:
Сообщение от Dzemon
Есть функции в 1 кодеюните, в конце (верси 3.хх)
Name CompanyOpen FindPrinter LogInStart LogInEnd ApplicationVersion ApplicationBuild ApplicationLanguage CodeCoverage MakeDateText MakeTimeText MakeText MakeDateFilter MakeDateFilter2 FindPeriod FindText ReadSymbol ReadNumeral ReadCharacter AutoFormatTranslate ReadRounding CaptionClassTranslate DimCaptionClassTranslate VATCaptionClassTranslate Fmt Decimal evаl Decimal SetGlobalLanguage NASHandler ApplicationServerLanguageID UserPortalApplServer PriceCaptionClassTranslate Тут вроде ничего похожего на то, что мне нужно, нет... Второй вариант ответа, хоть и не утешителен, но близок к правде. |
|
28.03.2005, 11:43 | #5 |
NavAx
|
Оч. странно. Вообще в конце должны быть забавные функции типа OnGlobalInsert, OnGlobalModify etc.
Может, гранула нужна какая?
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
29.03.2005, 10:13 | #6 |
Участник
|
В 3.10 нет таких функций. В 3.70 - есть.
|
|
29.03.2005, 15:13 | #7 |
Moderator
|
В 3.60 тоже есть.
|
|
29.03.2005, 15:39 | #8 |
Участник
|
Цитата:
Сообщение от konrad
В 3.10 нет таких функций. В 3.70 - есть.
|
|
29.03.2005, 15:54 | #9 |
Участник
|
Не надо морочиться, эти триггеры в обсуждаемом контексте бесполезны, как лаконично и верно отметил tyrex.
Только триггеры SQL (если версия позволяет) или шерстить весь код (нереально имхо) или прописать аккуратненько то что требуется, в конкретной ветке действий пользователя (надеясь что он не пойдет в будущем другим путем) или попробовать найти альтернативное решение бизнес-задачи, для которой понадобилась такая функциональность... |
|
30.03.2005, 13:29 | #10 |
Участник
|
Цитата:
Сообщение от Wizard
Не надо морочиться, эти триггеры в обсуждаемом контексте бесполезны, как лаконично и верно отметил tyrex.
Только триггеры SQL (если версия позволяет) или шерстить весь код (нереально имхо) или прописать аккуратненько то что требуется, в конкретной ветке действий пользователя (надеясь что он не пойдет в будущем другим путем) или попробовать найти альтернативное решение бизнес-задачи, для которой понадобилась такая функциональность... Можете что-нибудь посоветовать? |
|
30.03.2005, 15:14 | #11 |
Участник
|
Можем Обратите внимание на 3 таблицы:
402 - Change Log Setup 403 - Change Log Setup (Table) 404 - Change Log Setup (Field) Когда все заработает , смотрите в таблицу 405 - Change Log Entry. Будут вопросы, спрашивайте! |
|
30.03.2005, 16:44 | #12 |
NavAx
|
Это называется "журнал изменений".
Находится в финансах, настройки - в финансы-настройки. Только вот есть ли он в 3.10?..
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
30.03.2005, 16:56 | #13 |
Участник
|
нету его в 3.10
Народы, ну не надо человека напрасно обнадеживать... не являются эти функции "всегда отрабатывающими триггерами". В частности, приведенный в топике <SalesLine.INSERT;> ими отловлен не будет. ... а под бизнес-задачей я понимал "зачем понадобилась такая техническая возможность". |
|
30.03.2005, 20:00 | #14 |
Участник
|
Цитата:
Сообщение от Wizard
нету его в 3.10
Народы, ну не надо человека напрасно обнадеживать... не являются эти функции "всегда отрабатывающими триггерами". В частности, приведенный в топике <SalesLine.INSERT;> ими отловлен не будет. ... а под бизнес-задачей я понимал "зачем понадобилась такая техническая возможность". |
|
30.03.2005, 20:09 | #15 |
Участник
|
Цитата:
Сообщение от Wizard
... а под бизнес-задачей я понимал "зачем понадобилась такая техническая возможность".
Вообще, функционала, связанного с этими структурами данных, в Навижн немеряно... И всё перелопачивать, прописывая TRUE (а не всегда это можно сделать) или вызов своей функции? |
|
31.03.2005, 10:13 | #16 |
Участник
|
Т.е. база нативная, как я понимаю?
тогда сори... не смогу толком помочь - насколько я знаю, в навижене нет собственных средств репликации данных. Есть какая-то подобка в функциональности RetailBackOffice (кажется так называется), можете попробовать посмотреть у продавцов... Если даже не подойдет, может на мысли какие натолкнет. А так... для стопроцентного решения задачи - SQL в руки. Всё остальное - только с вечными опасениями что чего-то проскочило мимо расставленных ловушек. Кстати - только своя функция рядом с инсертами, переводить на TRUE категорически не рекомендую, даже не говоря о том, что бывают вставки во временные таблицы... PS. переход на SQL - это песня пострашнее апгрейда. |
|
31.03.2005, 11:30 | #17 |
Участник
|
2 Wizard
Цитата:
Т.е. база нативная, как я понимаю?
Цитата:
Есть какая-то подобка в функциональности RetailBackOffice (кажется так называется), можете попробовать посмотреть у продавцов...
Цитата:
Если даже не подойдет, может на мысли какие натолкнет.
Цитата:
А так... для стопроцентного решения задачи - SQL в руки....
PS. переход на SQL - это песня пострашнее апгрейда. Спасибо за попытку помочь, Wizard. |
|
31.03.2005, 11:57 | #18 |
Moderator
|
В RBO функции регистрации изменений прописаны в триггерах Insert, Modify, Delete, Rename всех таблиц. Причем Rename запрещено.
|
|
31.03.2005, 17:14 | #19 |
Участник
|
Что-то я задергался... Уже и не в том топике записи меняю... Короче, нет там никакого кода. Киньте, что у вас там прописано, плиз.
|
|
14.07.2005, 14:28 | #20 |
Участник
|
Есть такая хрень - GetGlobalTableTriggerMask(cod1), работает нормально. Однак если на таблице отработало раз, то дальше не отрабатывает (На этой таблице, на другой отрабатывает). Почему - вопрос интересный. Внутренние механизмы какие-то затронуты...
|
|