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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.05.2006, 12:20   #1  
Hans is offline
Hans
Участник
Аватар для Hans
 
108 / 22 (1) +++
Регистрация: 20.10.2005
? Можно ли редактировать форму, если на нее наложен addRange?
Перекрыл в своей форме метод executeQuery() следующим образом. У меня на форме два переключателя Приход/Расход (это первый)
и какие виды расходов и приходов бывают Виды Расходов (это второй радио баттон), и в таблице myTable я сделал два поля по которым я хочу сортировать
и выводить данные на форму, Direction (для первого) и Opeartion (для второго радио баттона), в зависимоcти от положения этих двух радио баттанов.


void executeQuery()
{

super();
qbDS_gl.clearRange(fieldnum(myTable, Direction));
qbDS_gl.clearRange(fieldnum(myTable, Operation));
switch (ctrlDirection.selection()) //радио батон
{
case H_Direction::Issue: //Операция Расход
if (ctrlTabSales.isActivePage()) //закладка на кот. радио баттон
{
switch (rbSales.selection())
{
case H_OperationType::Sales: //вид расхода
qbr = qbDS_gl.addRange(fieldnum(myTable, Direction));
qbr.value(enum2str(H_Direction::Issue));
qbr = qbDS_gl.addRange(fieldnum(myTable, Operation));
qbr.value(enum2str(H_OperationType::sales_Sales));
break;
case O5_InventOperationSalesType::None:
*****
*****
break;
}
}
break
}
break
}

Но теперь я не могу редактировать форму. Т.е. ни новую строку не добавить, ни изменить старую.
Можно ли редактировать форму, если на нее наложен addRange?
Старый 22.05.2006, 13:03   #2  
Ser is offline
Ser
NavAx
 
99 / 14 (1) ++
Регистрация: 04.03.2002
Адрес: Москва
Добрый день.

Для начала, super() следует вынести в конец метода executeQuery()
__________________
Чудес не бывает (c), истина где-то рядом (c)...
Старый 22.05.2006, 13:10   #3  
Hans is offline
Hans
Участник
Аватар для Hans
 
108 / 22 (1) +++
Регистрация: 20.10.2005
:) т.е. все такие можно редактировать?
Цитата:
Сообщение от Ser
Добрый день.

Для начала, super() следует вынести в конец метода executeQuery()
Перенес super() вниз, до этого приходилось два раза на радио баттон нажимать, теперь достаточно один раз.
Старый 22.05.2006, 13:25   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Конечно можно.
Откройте хотя-бы складские журналы - комбобокс "Просмотр" изменяет значение Range'а на датасоурсе
__________________
Axapta v.3.0 sp5 kr2
Старый 22.05.2006, 13:40   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
сначала выясните, что именно этот код приводит к нередактированию. закомментируйте его и попробуйте запустить
Старый 22.05.2006, 13:43   #6  
Hans is offline
Hans
Участник
Аватар для Hans
 
108 / 22 (1) +++
Регистрация: 20.10.2005
все спасибо, разобрался, в методе write MyTable_DS вернул первоначальный вид. Но все равно обращался не зря, помогли, так как я не знал, что super() надо ставить внизу. Спасибо!
Старый 22.05.2006, 15:18   #7  
Hans is offline
Hans
Участник
Аватар для Hans
 
108 / 22 (1) +++
Регистрация: 20.10.2005
А можно ли к этой форме (MyTable) еще сделать связь с InventDim? Поле у MyTable типа InventDimID есть. Собственно вопрос такой, можно ли так вообще делать? Grid на форме MyTable заполняется динамически при переключении радио батона.
У меня теперь, в моей форме после того как я выставляю свойство LinkType = InnerJoin и JoinType = MyTable (второго DS, InventDim_DS типа InventDim), в моем динамическом гриде форме вообще ничего нет.
Старый 22.05.2006, 15:59   #8  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Опять отсылаю к складским журналам
Например, в форме InventJournalTransfer (перенос) соединяется две штуки InventDim с InventJournalTrans
__________________
Axapta v.3.0 sp5 kr2
Старый 22.05.2006, 16:23   #9  
wb is offline
wb
Участник
 
86 / 16 (1) ++
Регистрация: 26.01.2004
Адрес: Краснодар
Цитата:
Сообщение от Hans
<skip> я не знал, что super() надо ставить внизу.
посмотрите в руководстве разработчика по ключевой фразе
Opening a form: sequence of events
Старый 22.05.2006, 16:30   #10  
Hans is offline
Hans
Участник
Аватар для Hans
 
108 / 22 (1) +++
Регистрация: 20.10.2005
вопрос
Цитата:
Сообщение от AndyD
Опять отсылаю к складским журналам
Например, в форме InventJournalTransfer (перенос) соединяется две штуки InventDim с InventJournalTrans
У второй InventDimReceipt нашел:

void init()
{
#DEFINE.DataSourceReceipt(3)

QueryBuildDatasource qb;

super();

qb = this.query().datasourceNo(#DataSourceReceipt);

qb.clearLinks();
qb.addLink(fieldNum(InventJournalTrans,toInventDimid),fieldNum(Inventdim,inventDimId));
}
Спасибо! Так работает.
Старый 22.05.2006, 16:35   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Ну это необходимо, если у вас несколько полей в таблице имеют тип InventDimId
__________________
Axapta v.3.0 sp5 kr2
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
Как обновить форму, если добавление через кнопку? Arahnid DAX: Программирование 5 21.05.2007 11:18
ALEG: Можно ли научиться на web-тренингах? Blog bot DAX Blogs 12 22.11.2006 13:52
Что и как можно резать? George Nordic DAX: Администрирование 1 11.05.2004 18:44
Auto, но не более чем... Можно сделать? SnowMan DAX: Программирование 16 17.10.2003 15:45

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

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

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