| 
	 | 
| 
			
			 | 
		#1 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
			
			
			Метод, вызывающийся на изменение поля
			 
			
			Допустим, есть таблица. Допустим, на этой таблице перекрыт modifiedField(). Допустим код на изменение одного из полей должен отрабатывать только на определенной форме, и не должен работать при программной обработке данных. Как бы вы написали код на modifiedField(), чтобы это все реализовать правильно?
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось Eldar9x; 26.04.2012 в 12:58.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Используйте modifiedField не на таблице а на филде датасурса  
		
		
		
		
		
		
		
	![]() P.S.: К стати и табличный modifiedField автоматически не вызывается при программной обработке, если только его не вызвать явно.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: lev (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Надо как-то на методе таблицы. Запретили выносить бизнес-логику на форму. И modifiedField вызывают явно в коде.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Можно вот так: X++: FormDataSource FormDataSource;
    ;
    
    if (this.isFormDataSource())
    {
        FormDataSource = this.dataSource();
        if (FormDataSource.formRun().name() == formstr(MyForm))
        {
            // TODO: 
            info("test");
        }
    } | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Eldar9x (5). | |
| 
			
			 | 
		#5 | 
| 
			
			 Роман Долгополов (RDOL) 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 
		 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: gl00mie (2), someOne (3), pedrozzz (2). | |
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от db
			 
 
			это несомненно решение технической проблемы, но прежде чем так делать автору темы было неплохо таки выяснить у "запрещальщиков" что же они хотят добиться своими запретами и всё ли нормально с постановкой задачи. так как за такой код не в качестве примера, а в нормальной разработке необходимо лишать какой нито части тела  
		
	![]()  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Ищущий знания... 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вот это 
		
		
		
		
		
		
			вот с этим не стыкуется  
		
				__________________ 
		
		
		
		
	"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
  Метод при необходимости можно будет вызывать и из кода.
		 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
| 
			
			 | 
		#9 | 
| 
			
			 Роман Долгополов (RDOL) 
		
			
	 | 
	
	
	
		
		
		
		 
			
			может дело не в "определенных" формах таки, а в формах, отображающих немного разные сущности хранящиеся в одной таблице?  
		
		
		
		
		
		
		
	Тогда на таблице должен быть признак (енум) что же это за сущность (ну например как тип заказа на продажу) в зависимости от которого можно создать несколько классов обработчиков (SalesLineType, SalesTableType) и реализовать в них разное поведение в ответ на одно и то же событие. Если же отличия реально только в дизайне формы, то скорее всего тут и все modified должны срабатывать вне зависимости от того откуда оно вызвано. Иначе либо косяк архитектуры, либо что то совсем простое, чему явно место именно на форме, а не на таблице  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			По-моему, задача не могла быть поставлена таким образом, это ерунда какая-то; надо включить здравый смысл, и тогда все встанет на свои места. И еще: если задача ставится человеком, далеким от программирования в Аксапте, стоит критически воспринимать его "советы" относительно ее реализации в коде.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
	
	 | 
	
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  |