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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.03.2008, 16:29   #1  
Stas[SNRC] is offline
Stas[SNRC]
Участник
 
3 / 10 (1) +
Регистрация: 11.03.2008
Ошибка времени выполнения
Недавно начал заниматься программированием в Axapta.
Используется Axapta 3.0 build #1951.7609/514-859 SP6/OP023-659

Столкулся со следующей проблемой.

В классе PurchFormLetter добавил переменную в classDeclaration^

X++:
abstract class   PurchFormLetter
extends FormLetter
{
...
    mPurchFormLetterSetup   formLetterSetup;
...
}
mPurchFormLetterSetup - таблица, в которой объявлен метод
X++:
static mPurchFormLetterSetup findPurchTable(PurchTable      _purchTable,
                                            DocumentStatus  _documentStatus)
{
...
 formLetterSetup = mPurchFormLetterSetup::find(_purchTable.PurchaseType,
                                                          _documentStatus,
                                                          TableGroupAll::All,
                                                          '',
                                                          userRelationType,
                                                          userRelation);
...
return formLetterSetup;
}
и метод
X++:
static mPurchFormLetterSetup find(PurchaseType          _purchType,
                                  DocumentStatus        _documentStatus,
                                  TableGroupAll         _vendRelationType = TableGroupAll::All,
                                  VendAccount           _vendRelation = '',
                                  TableGroupAll         _userRelationType = TableGroupAll::Table,
                                  UserGroupId           _userRelation = curUserId(),
                                  boolean               _forUpdate = false)
{
    mPurchFormLetterSetup   formLetterSetup;
    ;
    formLetterSetup.selectForUpdate(_forUpdate);
    select firstonly formLetterSetup
        where formLetterSetup.PurchType         == _purchType
           && formLetterSetup.DocumentStatus    == _documentStatus
           && formLetterSetup.VendRelationType  == _vendRelationType
           && formLetterSetup.VendRelation      == _vendRelation
           && formLetterSetup.UserRelationType  == _userRelationType
           && formLetterSetup.UserRelation      == _userRelation;
    return formLetterSetup;
}
В методе initParmPurchTable делаю следующее:
X++:
protected void  initParmPurchTable(PurchTable  _purchTable)
{
...
    formLetterSetup = mPurchFormLetterSetup::findPurchTable(_purchTable, this.documentStatus());
...
}
В правой части присвоения возвращается правильное значение record, соответственно, из mPurchFormLetterSetup.
Переменная formLetterSetup объявлена в classDeclaration тоже, как mPurchFormLetterSetup.

Все компилируется без ошибок.
Однако во время выполнения, в отладчике вылетает ошибка "Ошибка времени выполнения: неправильные типы агрументов в операции присвоения значения переменной"

Помогите, пожалуйста, совсем сбит с толку.
Старый 11.03.2008, 18:42   #2  
IvanOFF is offline
IvanOFF
MCTS
MCBMSS
 
65 / 87 (3) ++++
Регистрация: 22.09.2005
Адрес: Москва
Пробовали делать инкрементную компиляцию класса PurchFormLetter?
За это сообщение автора поблагодарили: Stas[SNRC] (1).
Старый 11.03.2008, 19:01   #3  
Didukh84 is offline
Didukh84
Участник
 
57 / 10 (1) +
Регистрация: 09.06.2006
Ну приведенный код у меня заработал без проблем . Можно ли скинуть проект или хотя бы скриншот ошибки?
Старый 12.03.2008, 11:57   #4  
Stas[SNRC] is offline
Stas[SNRC]
Участник
 
3 / 10 (1) +
Регистрация: 11.03.2008
Цитата:
Сообщение от IvanOFF Посмотреть сообщение
Пробовали делать инкрементную компиляцию класса PurchFormLetter?
Сейчас попробовал. Инкрементная компиляция прошла без ошибок

Цитата:
Сообщение от Didukh84 Посмотреть сообщение
Ну приведенный код у меня заработал без проблем . Можно ли скинуть проект или хотя бы скриншот ошибки?
Я уже начинаю думать, что все из-за того, что некоторые классы я получил дублированием аналогичных и исправлением кода. Может быть дело в этом?
Старый 12.03.2008, 12:05   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Если инкрементнаая прошла без ошибок, то и обычная без ошибок будет
Дело не в дублировании, а в том, как компилируется и сохраняется откомпилированный код.

Георгий (Nordic) выкладывал когда-то прикольное описание этого, поищите, вдруг вам повезет больше чем мне.

З.Ы. Новый поисковый движок творит чудеса
Зависимость порядка объявления переменных в classDeclaration
За это сообщение автора поблагодарили: aidsua (1), Stas[SNRC] (1).
Старый 12.03.2008, 12:14   #6  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Stas[SNRC] Посмотреть сообщение
Я уже начинаю думать, что все из-за того, что некоторые классы я получил дублированием аналогичных и исправлением кода. Может быть дело в этом?
Из жанра мало вероятного, но всё таки.
В Ах-е есть такой глюк, что при создании объектов дублированием.
В какой-то момент из проекта могут эти объекты исчезать. При этом в АОТ они есть.
Как это происходит так и не понял.
Но наблюдал часто.
Может какой-нибудь объект вывалился, а вы его компильнуть не успели.
Старый 12.03.2008, 12:21   #7  
Stas[SNRC] is offline
Stas[SNRC]
Участник
 
3 / 10 (1) +
Регистрация: 11.03.2008
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Если инкрементнаая прошла без ошибок, то и обычная без ошибок будет
Зависимость порядка объявления переменных в classDeclaration
Всем спасибо огромное. Про инкрементную компиляцию родителей и потомков не знал. Это действительно помогло!

kashperuk. спасибо за ссылку на разжеванное объяснение!
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка времени выполнения Фаткуллов Ренат DAX: Функционал 8 10.04.2009 10:56
Ошибка времени выполнения Didukh84 DAX: Программирование 19 06.03.2008 09:11
Ошибка времени выполнения: Binary (Объект), метод string вызван с недопустимыми параметрами. mmm DAX: Программирование 4 15.05.2007 16:00
Ошибка времени выполнения при компиляции проекта nicko DAX: Администрирование 4 30.08.2006 11:38
Ошибка времени выполнения. Pegiy DAX: Программирование 2 27.05.2004 16:26
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:46.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.