|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Dimont
В моем случае, видимо, это будет собственная разработка
На уровне БД организуем тригер на таблицу объектов, который буде сохранять каждое следующее изменение полей и фиксировать информацию о том кто и когда это сделал. Осталось самое тяжолое написать систему отделения текста кода от BLOB |
|
![]() |
#2 |
Участник
|
изучается
|
|
![]() |
#3 |
Участник
|
Сделал недавно несколько объектов как раз для совместной разработки. Принцип такой. При модификации объекта он блокируется (в ручную), т.е. записывается запись в определнную табличку. В этой табличке есть поле BLOB куда сливается текущий объект, а также ряд полей по коду задачи, пользователе, времени и признаке блокировки. В триггер таблички Object вставлен код который проверяет наличие в этой таблице модификаций записи с признаком открытой блокировки. Если Запись есть и пользователь в ней не совпадает с пользователем который модифицирует ему выдается предупреждение. После окончания модификации инициатор освобождает объект (в ручную). То есть запись в журнале модификаций помечается как закрытая.
P.S. Ест простенькое описание в атачменте
__________________
Want to believe... |
|
![]() |
#4 |
Участник
|
забыл приатачить
![]()
__________________
Want to believe... |
|
![]() |
#5 |
Moderator
|
2Галина: Таблица объектов очень даже реальная, а не виртуальная
|
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от tyrex
2Галина: Таблица объектов очень даже реальная, а не виртуальная
Dimont- если у вас Sql - версия тогда ясно. |
|
![]() |
#7 |
Участник
|
[quote=Галина]
Цитата:
Сообщение от tyrex
2Галина: Таблица объектов очень даже реальная, а не виртуальная
Tyrex имеет ввиду эту же таблицу |
|
![]() |
#8 |
Участник
|
У нас SQL Server БД. на таблицу [dbo].[Объект] можно повесить любой тригер. Как вы понимаете лицензия здесь непричем
![]() |
|
![]() |
#9 |
Участник
|
Отлично. Тогда объясните пожайлуста как в обыкновенном Nativ - Навижине можно поставить тригер на эту таблицу. Все таки хоть таблица и реальная-но она в скрытом диапазоне.И насколько я помню эти таблицы называются виртуальными.
Пожайлуста - пишите все таки всегда версию Навижина и базу. Чтобы не вводить в заблуждение. ![]() |
|
![]() |
#10 |
NavAx
|
Галин, по-моему, то, что таблицу не видно из обжект дизайнера, не значит, что она виртуальная (хотя могу и ошибаться в терминологии)
![]() А триггер люди собираются вешать не из Навыжна, а непосредственно на сервере.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#11 |
Участник
|
Дуд - я все это понимаю. Что они собираются вешать тригер на сам сервер. Поэтому и написала-что нужно указывать версию и сервер какой. Почему то все забывают- что Навижин в двух видах
![]() По поводу виртуальной-не буду спорит-но точно помню-что где то в документации был написан такой термин. |
|
![]() |
#12 |
Участник
|
Документация "Application Designer's Guide" стр.79-80 "Виртуальные таблицы" -туда входит :
Virtual Tables Date, Integer, File, Drive, Monitor, Session, Database File, Table Information, Field, Server, Windows Object, Windows Group Member, SID - Account ID, User SID И все эти таблицы не видны в дизайнере. Так что я ничего с терминологией не путаю. Правда конкретно эта таблица не перечислена-но я так думаю, что я правильно дала ей определение. Наверно в Микрософте-никто и не мог подумать - что на таблицу 2000000001 - кто то будет вешать тригер ![]() Пожайлуста-давайте не путать терминологию и людей. |
|
![]() |
#13 |
NavAx
|
Галина, это нелогично
![]() В в том определении, которое Вы нашли, не сказано, что Объект - виртуальная таблица ![]() ![]()
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#14 |
Участник
|
Дуд -
1. Я не говорила что ее забыли 2. К виртуальным отнесены таблицы-не видные в дизайнере. 3. Исходя из пункта 2 - я сделала вывод. 4. Вывод Tyrex-что это таблица реальная-неправильный. |
|
![]() |
#15 |
Moderator
|
Отследить изменения таблицы 2000000001(Object) можно с помощью
виртуальной таблицы 2000000024(Monitor). Мониторинг естественно должен быть запущен 2Галина: если открыть БД SQL, то можно воочию увидеть совершенно реальную таблицу Object (или Объект). Содержимое нативной базы естественно таким образом посмотреть нельзя, но принцип работы СУБД, да и структура таблиц (а также содержимое блобов) те же самые. |
|
![]() |
#16 |
Участник
|
Tyrex- я все это понимаю. Но пожайлуста-давайте придерживаться терминологии определенной в документации.
И я прекрасно понимаю-что таблица в принципе реальная-она есть - туда происходит запись и т.д. и т.п.. Но еще раз повторюсь-давайте придерживаться общей терминологии-чтобы не путать людей-не у всех есть та же документация по Guide-например и т.д. и т.п. И если вы пишите что таблица реальная-то люди и будут ее искать в Object Designer и после удивляться-где же она. ![]() |
|
![]() |
#17 |
Участник
|
Цитата:
Сообщение от Dimont
Очень хочется внедрить версификацию кода . Поделитесь у кого есть какие идеи или наработки.
![]() Всего-то надо немного подождать и все будет.... |
|
![]() |
#18 |
Участник
|
|
|
![]() |
#19 |
Участник
|
Идея повесить триггер на dbo.Objects совершенно здравая. Именно так мы и сделали, уже полгода пользуемся и крайне довольны.
Идите сюда: http://www.fsh-soft.ru/down/down_nct/ скачивайте и работайте. Единственное уточнение. Выяснилось, что этот дистрибутив работает только на базе с установками CASE INSENSITIVE. Обновить дистрибутив для базы CASE SENSITIVE не успели пока. Если надо - пишите/звоните, пришлем. А без системы контроля версий - ужасно, особенно именно с Навижн. Дело в том, что к обычным проблемам коллективной разработки тут еще добавляется проблема корректного накатывания исправлений к клиенту. При обычной разработке на .NET c этим проще. |
|
![]() |
#20 |
Участник
|
Здорово. Забыли только указать-что для SQL версии
![]() |
|