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