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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.08.2005, 07:32   #1  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
? как обратиться в классе к тек.записи?
подскажите, пожалуйста, как передать текущую запись(где подсветка) в класс? То есть как в классе обратиться именно к текущей записи? Заранее спасибо.
Старый 02.08.2005, 07:58   #2  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Можно передать в класс строчку 2 путями (может кто знает больше и проще )
1) к примеру на методе cliced кнопки:
class MyClass = new class(Table);
;
MyClass.run();
...
// соответственно в классе перекрываем метод new
void new(Table _Table)
{
;
Table = _Table;
}
2) с помощью кнопки меню:
создаём меню Action;
создаём кнопу MenueItemButton
Указываем параметры:
DataSource = predTable.
Старый 02.08.2005, 08:12   #3  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
мне нужно не по кнопке, вот перевел пользователь курсор с записи на запись, в этот момент в коде обращаемся к классу, и там обрабатываем выбранную запись. первым вариантом, видимо, да? Только надо метод выбрать правильный на датасурсе формы, active, например...да?
Старый 02.08.2005, 08:16   #4  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Цитата:
Изначально опубликовано sev
Только надо метод выбрать правильный на датасурсе формы, active, например...да?
Да. Можно сделать как на Active так и на CursorNotify, хотя, на Active всё таки лучше
Старый 02.08.2005, 08:19   #5  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
спасибо. А вообще, я без new просто обращаюсь к методам класса(не статическим) - и всё работает...А здесь именно new нужно?
Старый 02.08.2005, 08:22   #6  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Цитата:
Изначально опубликовано sev
спасибо. А вообще, я без new просто обращаюсь к методам класса(не статическим) - и всё работает...А здесь именно new нужно?
Нет, не обязательно. Это необходимо когда класс вызывается с меню...
Старый 02.08.2005, 08:38   #7  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
чего-то все равно не то...не передается... В какой момент у меня переменная table получает значение курсора(подсветки)? Как вот мне в коде значение этих полей получить?
Старый 02.08.2005, 08:56   #8  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Если вы пользуетаесь Active, то курсор уже стоит на новой записи, если CursorNotify то после вызова super();

public void cursorNotify(int _event)
{
super(_event);
MyClass.Method(Table);
}
Старый 02.08.2005, 09:10   #9  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Попробовал сам:
public int active()
{
int ret;
Proverka Proverka = new Proverka();
;
Proverka.classInfo(Table1);
ret = super();

Return ret;
}

метод в классе:
void classInfo(Table1 _Table1)
{
;
info(_Table1.TestId);
}
работает нормально.
Старый 02.08.2005, 09:14   #10  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
да, спасибо, и своим, и вашим вариантом всё работает...Моя ошибка была в том, что я передавал не название датасурса, а название таблицы -в моем случае это разные названия...
Старый 02.08.2005, 09:21   #11  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Старый 02.08.2005, 09:57   #12  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
а теперь наоборот - я в классе объявил переменную Table table; заполнил ее текущей записью. Как теперь мне эту запись передать в форму?
Старый 02.08.2005, 10:03   #13  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
можно сделать сл. образом:
вызов из форы
str s;
;
s = MyClass.method1(Table);

// тело класса
str method1(Table _table)
{
str s;
;
// do ...
s = 'string';
return s;
}
Старый 02.08.2005, 10:11   #14  
Tays is offline
Tays
Участник
 
165 / 17 (1) ++
Регистрация: 18.07.2003
кто-нить дайте ему учебник!
Старый 02.08.2005, 10:15   #15  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Красиво было бы написать метод-свойство класса

PHP код:
DlvTripTable dlvTriptable(DlvTripTable _dlvTripTable dlvTriptable)
{
    ;
    
dlvTripTable _dlvTripTable;
    return 
dlvTripTable;

Старый 02.08.2005, 10:24   #16  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Да не спорю. Намного красивее и понятнее. Только, к сожалению на красоту остаётся не так много времени
Старый 02.08.2005, 10:26   #17  
gudzon is offline
gudzon
программист
 
1,166 / 324 (13) ++++++
Регистрация: 06.07.2004
Адрес: Москва
Стажеры... Новая волна... Вэлкам.
Старый 02.08.2005, 10:30   #18  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
спасибо... Суть вот в чем. Я объявляю в ClassDeclaraion класса переменную Table table; заполняю ее в одном методе класса, а возвращаю в другом. Так вот в этом другом она нулевая. то есть не подхватывает из другого метода, хотя она и объявлена в ClassDeclaration. Прошу прощения, что спрашиваю прописные истины )
Старый 02.08.2005, 10:34   #19  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Таблица времененная? (Temporary == true)
Старый 02.08.2005, 10:38   #20  
sev is offline
sev
Участник
 
151 / 8 (1) +
Регистрация: 01.08.2005
нет, не временная
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблемы с обновлением записи, выбранной для обновления внутри транзакции Oz DAX: Программирование 13 02.07.2008 16:24
ALEG: Доступны записи тренингов по Microsoft Dynamics NAV Blog bot DAX Blogs 0 21.03.2007 15:00
База расчета Отп. тек./буд. мес. ФМП и Отп. тек./буд. мес. ФОТ farlander DAX: Функционал 11 20.02.2007 10:18
Как обратиться к элементам формы, для чтения/записи их свойств demon46 DAX: Программирование 4 14.09.2006 10:40
Автоматическое увеличение значения поля при создании новой записи. sguryev DAX: Программирование 3 06.02.2003 14:00

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

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

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