![]() |
#1 |
Участник
|
Заполнения при изменении))
Добрый день!!)) Ребята не подскажете как написать метод чтобы поле ItemName заполнялось при изменении ItemId??
Или подскажите где мне можно посмотреть пример этого метода? |
|
![]() |
#2 |
Участник
|
Цитата:
Один из примеров вот SalesLine.ItemName(). |
|
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
|
|
![]() |
#6 |
Участник
|
Цитата:
Но, если все уверены, что должны быть именно поля, можете посмотреть методы modifiedField на таблицах. Также подобное можно реализовать в методе modified для ItemId-field'а датасорса формы. UPD: Если будет принято решение реализации на таблице, то учтите, что реакция на изменение значения в поле ItemId будет производиться для всех форм, использующих эту таблицу как источник данных. Последний раз редактировалось Cardagant; 12.08.2014 в 17:19. |
|
![]() |
#7 |
Участник
|
Если это только для одной формы, достаточно перекрыть метод modified на поле Itemid датасорса и в нём заполнять itemname согласно itemid с помощью
X++: InventTable::find(this.itemid); |
|
![]() |
#8 |
северный Будда
|
Имейте в виду, что для формы с большим количеством строк любой дисплей-метод чреват тормозами
__________________
С уважением, Вячеслав |
|
![]() |
#9 |
Участник
|
Цитата:
А чтоб улучшить производительность, если потребуется, на мой взгляд, методы, возвращающие данные такого типа можно добавить в кеш. |
|
![]() |
#10 |
Ищущий знания...
|
Цитата:
В Ax2012 можно накладывать фильтр по display'ным полям.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
![]() |
#11 |
MCTS
|
Насколько эффективна (скорость фильтрации) фильтрация по этим полям по сравнению с обычными? Я ведь так понимаю, что индексов по этим полям нет и всегда идет сканирование полной таблицы с дополнительными вычислениями этого поля?
__________________
I could tell you, but then I would have to bill you. |
|
![]() |
#12 |
Молодой, подающий надежды
|
Цитата:
2012 R2 CU7 |
|
![]() |
#13 |
Участник
|
|
|
![]() |
#14 |
Ищущий знания...
|
Цитата:
Вьюхи можно добавлять на формы. В этоге имеем фильтрацию ![]()
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#15 |
Участник
|
|
|
![]() |
#16 |
Молодой, подающий надежды
|
Цитата:
фильтрации по display'ным полям в Ах как не было, так и нет. |
|
|
За это сообщение автора поблагодарили: lev (2). |
![]() |
#17 |
Ищущий знания...
|
Цитата:
Т.е. есть view в которой две таблицы. В итоге фильтроваться можно по полям обеих таблиц. Проект с простым примером прилагаю (проект для AX2012).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#18 |
Ищущий знания...
|
Цитата:
![]() Итого, если не вникать что, зачем и почему, а просто ответить на Ваш вопрос, тогда: 1. Перекройте на вашей таблице метод modifiedField(); 2. В нем после super() напишите код: X++: switch (fieldExt2Id(_fieldId)) { case fieldnum(MyTable, ItemId): this.ItemName = InventTable::find(this.ItemId).NameAlias; break; } теперь поле ItemName изменяется при изменении поля itemId.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#19 |
Участник
|
Цитата:
Сообщение от lev
![]() Что то тема ушла от истоков
![]() Итого, если не вникать что, зачем и почему, а просто ответить на Ваш вопрос, тогда: 1. Перекройте на вашей таблице метод modifiedField(); 2. В нем после super() напишите код: X++: switch (fieldExt2Id(_fieldId)) { case fieldnum(MyTable, ItemId): this.ItemName = InventTable::find(this.ItemId).NameAlias; break; } теперь поле ItemName изменяется при изменении поля itemId. |
|
![]() |
#20 |
Ищущий знания...
|
Цитата:
Если у нас в таблице есть поле, зависимое от другого поля, то его надо заполнять из любых форм! А то получится на форме один таблицу заполняю есть, например, наименование номенклатуры, а на другой форме нет. Это бред. Никакой целостности данных. Более того, писать код на формах это BadPractice (только в крайних случаях).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|