AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.07.2007, 16:55   #1  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Мне интересно это только у меня такие странности или еще кто с ними сталкивался.

1.Имеем 2 базы одинаковые. Одна рабочая, другая - тестить вносимые изменения.
Если в объект типа таблицы вносить какие-либо изменения (добавить поля + написать/изменить тригерры), то:
при импорте этого объекта в базу система предалагает Merge: Existing<-New и в результате такого слияния бывает,
что либо поля не добавляются, либо триггеры остаются от старой версии. Помогает только ручной выбор Replace

2.Второй глюк бывает что изменишь какой-то объект, к примеру отчет или форму. И даже если ты ее перезапускаешь, то изменений не видно.
Помогает только закрыть/открыть базу. Такое чувство, что старая копия объекта продолжает браться из какого-то кэша.

3.Компилятор тоже доставляет порой головную боль. Если какая-то процедура вызывается из тригера и ты одновременно подправишь процедуру
(добавишь еще 1 параметр к примеру) и вызовы этой процедуры в триггере, то при компиляции будет выскакивать ошибка (если рассматривать данный пример,
то будет ругаться что неправильное число параметров функции). Тобишь опять такое чувство что он пытается не весь сходник перекомпилировать, а только измененые
триггеры/функции. И зачастую просто напросто приходится поэтапно вносить изменения и компилить.

Как со всем этим бороться?
Старый 03.07.2007, 17:19   #2  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
1. По обновлению все действительно так. То что механизм не совершенный никто спорить не будет.
2. Дак так и есть. Запущеные однажды объекты далее загружаются из кэша. Читайте документацию.
3. Здесь уже навыки нужны и последовательность действий. Если вы запустили объект на модификацию, те объекты которые используются в коде будут представлены первоначальной версией. Возможно это вам покажется неудобным, но поверьте это быстро проходит.
__________________
Want to believe...
Старый 03.07.2007, 22:27   #3  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
2. Можно в опциях Object Cache = 0 поставить.
Старый 04.07.2007, 09:41   #4  
rov_imported is offline
rov_imported
Участник
 
176 / 10 (1) +
Регистрация: 20.01.2005
1. Не надо использовать Merge при ипорте таблиц ни в каком виде. Исключительно Replace, либо руками.
2. Не совсем так. Если вы поправили репорт, таблицу или форму на своей машине и после этого запускаете эти
объекты то проблем в 95% случаев нет. Иногда, некоторые объекты действительно берутся старые тогда да,
надо переоткрыть базу. Если же пользователь окрывает объект на другой машине то ВСЕГДА необходимо
переоткрыть базу.
3. Не совсем понял Вы одновременно отредактировали и триггер и саму процедуру? В одной таблице?
И пытаетесь сохранить? Ну дак никаких проблем быть не должно. Или я не так понял?

В общем, бороться со всем этим не надо-так оно работает. Мне лично никаких проблем не доставляет.
Старый 04.07.2007, 15:22   #5  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
2 rov
Цитата:
3. Не совсем понял Вы одновременно отредактировали и триггер и саму процедуру? В одной таблице?
И пытаетесь сохранить? Ну дак никаких проблем быть не должно. Или я не так понял?
Нет, сохранить то оно дает всегда и без проблем. А вот при компиляции начинает ругаться, потому что компилятор сначала пытается компилировать триггер опираясь на старую реализацию процедуры (что ИМХО нелогично, а логичней было бы сперва компилить процедуры а потом уже триггеры)
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:35.