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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.08.2009, 09:32   #1  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
->
При переименованни записи в таблице 5200 Employee получаю сообщение "Поле но. 12450 не определено в таблице Сотрудник". Дебаггер не наводит на код, ссылающийся в пустоту
Просмотрел архивные базы на несколько месяцев назад - поля с этим номером в таблице не было, раньше подобной проблемы не возникало. Была мысль создать поле с таким номером произвольного типа, чтобы или получить другую ошибку с указанием конкретного места ссылки, или чтобы дебаггер хоть отловил её. Но навижен говорит, что лицензия не позволяет создать поле в этом диапазоне. Если выгружать таблицу в текст и создавать поле в текстовом файле, а затем импортировать, то тоже пишет про лицензию. Если запускать тестирование базы средствами навижен, то по моему опыту это занимает целые сутки и при этом база блокируется. На крайний случай воспользоваться можно на выходных конечно. Какие еще есть варианты?
Старый 07.08.2009, 10:34   #2  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
А сама таблица компилируется? Дебагером нельзя отследить, в каком месте вылетает?
Старый 07.08.2009, 10:43   #3  
Vanek is offline
Vanek
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2008
А ошибка вылетает из формы или таблицы?
Может в поле выставлен TableRelation на несуществующее поле 12450.
Или же может при редактировании Table5200 происходит Validate какого-нибудь поля, которое содержит неверный TableRelation.
Старый 07.08.2009, 10:51   #4  
Vanek is offline
Vanek
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2008
PS. В выгруженном файле в текст будет проше отыскать поле 12450
Старый 07.08.2009, 11:10   #5  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Выделите все объекты в Object Designer и откомпилируйте через F11. Где-то должно выпасть с ошибкой. Мест где идет вызов не из кода не мало. Всякие флоуфилды, свойства. Но в принципе найти можно. Тем более через выгрузку "больного" объекта
Старый 07.08.2009, 11:21   #6  
Vanek is offline
Vanek
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2008
Уважаемый Fordewind!
К сожалению, если в TableRelation любого поля выставить запись типа Employee.Field12450, то он на ура все скомпилирует.
А вот при переименовании записи выдаст эту самую ошибку.
Старый 07.08.2009, 12:17   #7  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Ivan_Lapteev Посмотреть сообщение
Уважаемый Fordewind!
К сожалению, если в TableRelation любого поля выставить запись типа Employee.Field12450, то он на ура все скомпилирует.
А вот при переименовании записи выдаст эту самую ошибку.
Нда... пренеприятная фиговина.
В таком случае, действительно, лучше всего выгрузить в текст все объекты и поиском...
Старый 07.08.2009, 14:47   #8  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Вобщем попробовал на тестовой базе способ с перекомпиляцией всех объектов. В конце выдало сообщение "Компилятор обнаружил ошибки в объектах: 39" но все объекты оказались скомпилироваными кроме 1 моего самодельного недописанного отчета (но он никак не может участвовать в процедуре переименования записи в таблице 5200. Он должен был выводить на печать данные из совершенно иной таблицы). Сейчас его удалил,попробую еще раз перекомпилировать все оставшиеся объекты.

Спустя неск минут.
Попробовал компилировать только таблицы. Нав написал, что обнаружены ошибки в 4 объектах.А как определить в каких из них??? Их же там больше тысячи. Както это помечается? И еще я думаю у меня не будут компилироваться объекты в которых объявлены переменные automation которые у меня не установлены.Я прав?
Старый 07.08.2009, 15:02   #9  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
VasVovec, можно попробовать поискать связи через Developer’s Toolkit Source Finder
Старый 07.08.2009, 15:35   #10  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
я тулкитом обычно ищу выбирая поле и нажимая в меню Where Used. А тут каким образом искать ссылку на то, чего нет?
Старый 07.08.2009, 16:02   #11  
Vanek is offline
Vanek
Участник
 
7 / 10 (1) +
Регистрация: 01.08.2008
Цитата:
Сообщение от VasVovec Посмотреть сообщение
я тулкитом обычно ищу выбирая поле и нажимая в меню Where Used. А тут каким образом искать ссылку на то, чего нет?
В тулките на панеле выбираешь Source Finder и в открывшемся в поле Find What вбиваешь Field12450 и нажимаешь найти.
Помоему так
Старый 07.08.2009, 18:24   #12  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от VasVovec Посмотреть сообщение
Попробовал компилировать только таблицы. Нав написал, что обнаружены ошибки в 4 объектах.А как определить в каких из них??? Их же там больше тысячи. Както это помечается?
Когда компилируете несколько объектов НАВ пишет, что "столько-то содержит ошибки". Кроме этого он устанавливает на эти объекты пометки (как в обычной форме - Правка / Включить - Выключить Отметку).
Соотвественно по этой отметке можно фильтровать: Вид / Только отмеченные.
Старый 08.08.2009, 16:40   #13  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
ошибка в 90% в каком-то поле, типа Flowfield, Lookup(Employee, WHERE(something = Field12450))
к огромнейшему сожалению она ловится только при попытке открытия таблицы (поскольку поле найти не может), но, возможно, и при переименовании.

КОМПИЛЯТЫР ТАКИЕ ОШИБКИ НЕ ЛОВИТ, зараза.

что делать.
1. выделить все таблицы (формы, отчеты и юниты при переименовании точно не отругаются)
2. выгрузить в ТЕКСТ
3. поискать Field12450, Поле12450, просто 12450, мать его возьми!
4. после обнаружения попытаться понять в каком это объекте
5. после обнаружения объекта, имхо, достаточно снять гайку активности в этом поле. или переделать ему лукап... по месту разберетесь.
Старый 10.08.2009, 10:02   #14  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Спасибо Ivan Lapteev, apanko и Sancho узнал новые фичи Поискал Source Finder' ом текст 12450 и нашел откуда ноги растут. Внедренцы нам видимо подогнали гранулу из каких-то своих запасов, где в таблицах находятся ссылки на несуществующее в таблице 5200 поле 12450 типа Boolean. Буду их трясти теперь.
 


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

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

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