|  28.08.2007, 15:06 | #1 | 
| Участник | Перебор данных на форме ReqTransPO 
			
			Здравствуйте. Такая проблема: необходимо перебрать все выбранные записи на форме ReqTransPO (выгрузка для последующего анализа). написал код: X++:    reqpo_ds.executeQuery();
   reqpo_ds.first();
    while (reqPO_ds.queryRun().next()){
        reqTranscov_ds.executeQuery();
        reqtranscov_ds.first();
        while(reqtranscov_ds.queryRun().next()){
         // выгружаю, обращаясь к таблицам ReqPO, ReqTrans, ReqTransCov
           info(strfmt('%1,%2',ReqPO.ItemId,ReqTransSettled.ReqDate)); // пример обращения
           } //while reqtranscov
        } //while reqpo1) получилась только часть данных, кот. были на форме 2) на форму выставляется фильтр, никаким образом не связанный даже с тем, что выгрузилось в эксперименте никаких фильтров на форму дополнительно не ставится. | 
|  | 
|  28.08.2007, 15:19 | #2 | 
| SAP | Цитата: 
		
			reqPO_ds.queryRun()
		
	 | 
|  | 
|  28.08.2007, 15:25 | #3 | 
| Участник | 
			
			А вы читали то, что написали?  Вы определитесь, вы хотите использовать источник данных, или его queryRun а то сперва _ds.first, а потом вместо _ds.next() делаете _ds.queryRun().next() Честно говоря не пробовал такого, но врядли получится что-то разумное.   | 
|  | 
|  28.08.2007, 15:50 | #4 | 
| Участник | 
			
			спасибо, пофиксил. результат был. правда тот же - выводилось только то, что более одной строчки имело в ReqTransCov...  нормально срослось, когда проставил вывод еще одной строчки до цикла: X++:    reqpo_ds.executeQuery();
   reqpo_ds.first();
    while (reqPO_ds.queryRun().next()){
        reqTranscov_ds.executeQuery();
        reqtranscov_ds.first();
// ****  вот это добавил
        info(strfmt('%1,%2',ReqPO.ItemId,ReqTransSettled.ReqDate)); // пример обращения
        while(reqtranscov_ds.queryRun().next()){
         // выгружаю, обращаясь к таблицам ReqPO, ReqTrans, ReqTransCov
           info(strfmt('%1,%2',ReqPO.ItemId,ReqTransSettled.ReqDate)); // пример обращения
           } //while reqtranscov
        } //while reqpo | 
|  | 
|  28.08.2007, 16:10 | #5 | 
| Участник | 
			
			Чёто не понял зачем такой странный код. Нормально делается так X++: queryRun queryRunLoc; ; queryRunLoc = new QueryRun(.query()); while (queryRunLoc.next()) { inventJournalTransLoc = queryRunLoc.get(tablenum(inventJournalTrans)); } | 
|  | 
|  28.08.2007, 16:23 | #6 | 
| Участник | 
			
			Дело в том, что на данной форме все не так просто - три executequery пеписаны, поэтому пришлось делать именно так непосредственно обращаясь к обектам формы. еще нужно было снять аналогичные данные с InventTrans - там делал именно так. А здесь - 5 датасорсов на форме, все они хитро вяжутся...
		 | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Подскажите красивое решение задачи (поиск данных на форме) | 4 | |||
| Стандартный импорт данных. Обновление | 0 | |||
| Обновление данных на форме | 11 | |||
| Перебор данных в таблице | 10 | |||
| 
 |