|  03.07.2014, 09:47 | #1 | 
| Участник | Обход грида в цикле 
			
			Здравствуйте! У меня на форме есть табличка (grid)  и рядом кнопочка в которой я хочу обойти все строчки этой таблички и что то с ними сделать.Табличка называается PurchLine. К примеру как то так только вместо next() надо какой то метод который я не знаю while(PurchLine.next()) { info("This is an info."); } Какой метод таблички нужен вместо next() чтобы обойти все строчки? Заранее спасибо | 
|  | 
|  03.07.2014, 10:01 | #2 | 
| Участник | 
			
			Вам нужно также учесть фильтры, заданные пользователем в форме? Или модифицировать все имеющиеся записи PurchLIne?
		 | 
|  | 
|  03.07.2014, 10:02 | #3 | 
| Участник | |
|  | 
|  03.07.2014, 10:02 | #4 | 
| Участник | |
|  | 
|  03.07.2014, 10:03 | #5 | 
| Участник | 
			
			Задачу уточнить можно ?? Странный обход записей, если честно.
		 | 
|  | 
|  03.07.2014, 10:06 | #6 | 
| Участник | |
|  | 
|  03.07.2014, 10:07 | #7 | 
| Участник | 
			
			Если только отфильтрованные (а не выделенные), то, как вариант, можно получить Query датасорса формы через  X++: YourDataSourceName_ds.queryRun().query(). Также хороший пример привёл tricky Последний раз редактировалось Cardagant; 03.07.2014 в 10:12. | 
|  | 
|  03.07.2014, 10:40 | #8 | 
| Участник | 
			
			Мне надо менять только экранную информацию(базу данных не трогать) 1)В этом случае если я буду в своем цикле менять данные то они будут меняться в реальной таблице в базе данных или только виртуально на экране? 2) Как мне использовать YourDataSourceName_ds.queryRun().query() если у меня в датасорсе 5 таблиц 3) что значит окончание "_ds"? | 
|  | 
|  03.07.2014, 10:43 | #9 | 
| Участник | Цитата: 
		
			Сообщение от at5454
			   Мне надо менять только экранную информацию(базу данных не трогать) 1)В этом случае если я буду в своем цикле менять данные то они будут меняться в реальной таблице в базе данных или только виртуально на экране? 2) Как мне использовать YourDataSourceName_ds.queryRun().query() если у меня в датасорсе 5 таблиц 3) что значит окончание "_ds"? 2) В вашем примере вы хотите делать обход через .next() , что не есть правильно. Так же Вы сказали, что хотите оперировать отфильтрованными записями. Для этого пользователь Cardagant предложил Вам хороший вариант с запросом(query), который приходит с активного источника данных(ds). Эту конструкцию Вы можете использовать по клику на Вашу кнопку на форме. 3) Окончание _ds означает datadource. Пример: у вас есть форма PurchLine, у которой множество датасорсов, в том числе и сам PurchLine. Так вот, чтобы обратиться к конкретной записи датасорса, Вам необходимо использовать конструкцию PurchLine_ds. | 
|  | 
|  03.07.2014, 10:58 | #10 | 
| Участник | 
			
			Расскажу поподробнее. Есть грид который который тянет инфу из пяти таблиц. После применения фильтров у меня остается на экране 10 строчек. Которые я и хочу обработать.После моей обработки этих строчек их новое значение подхватит другое (НЕ МОЕ) вычисление. И все благополучно стерется после закрытия формы.А в базе все останется без изменений. Вот такая задача. В этом случаем мне использовать совет tricky? | 
|  | 
|  03.07.2014, 11:01 | #11 | 
| Участник | Цитата: 
		
			Сообщение от at5454
			   Расскажу поподробнее. Есть грид который который тянет инфу из пяти таблиц. После применения фильтров у меня остается на экране 10 строчек. Которые я и хочу обработать.После моей обработки этих строчек их новое значение подхватит другое (НЕ МОЕ) вычисление. И все благополучно стерется после закрытия формы.А в базе все останется без изменений. Вот такая задача. В этом случаем мне использовать совет tricky? В задаче, описанной вами, разумнее использовать временные таблицы. | 
|  | 
|  03.07.2014, 11:29 | #12 | 
| Участник | 
			
			Вы извините что туплю, у меня сегодня третий рабочий день, только третий день работаю с аксаптой. Благодаря совету cardagant мне удалось успешно пробежать мои 10 записей из таблицы формы. И вот новые обстоятельства: При пробегании если поле X равно определенному значению то мне нужно в поле Y записать свое значение. НО! Если поле X - это родное поле из таблицы базы данных, то поле Y -это виртуальное поле лишь данного грида, которое рождается только при запуске формы. Как же мне в него записать? | 
|  | 
|  03.07.2014, 11:35 | #13 | 
| Участник | Цитата: 
		
			Сообщение от at5454
			   Вы извините что туплю, у меня сегодня третий рабочий день, только третий день работаю с аксаптой. Благодаря совету cardagant мне удалось успешно пробежать мои 10 записей из таблицы формы. И вот новые обстоятельства: При пробегании если поле X равно определенному значению то мне нужно в поле Y записать свое значение. НО! Если поле X - это родное поле из таблицы базы данных, то поле Y -это виртуальное поле лишь данного грида, которое рождается только при запуске формы. Как же мне в него записать? Если верно понимаю Вас, то Вам следует почитать о дисплей-методах (display-method). | 
|  |