|  27.04.2010, 20:50 | #1 | 
| Участник | программно сохранить пользовательский запрос 
			
			пытаюсь создать и сохранить программно пользовательский запрос по именем. я так понимаю нужно сделать ranges вызвать queryRun.pack() формы? пытаюсь создать и сохранить программно пользовательский запрос поД именем. 
				__________________ The Variable men power. Последний раз редактировалось Varmen; 27.04.2010 в 21:14. | 
|  | 
|  27.04.2010, 21:02 | #2 | 
| Участник | 
			
			а можно еще раз повторить задачу? что значит "по именем"? | 
|  | 
|  27.04.2010, 21:10 | #3 | 
| Участник | 
			
			любому фильтру пользователь задать имя и сохранить для последующего использования. Правкая кнопка на форме, "сохранить фильтр как" 
				__________________ The Variable men power. | 
|  | 
|  27.04.2010, 21:12 | #4 | 
| Участник | 
			
			задача создать определенное количество сохраненных фильтров. Причем фильтры сами делаются тоже программно. Нашел SysQuery.packRangeandSortOrder... 
				__________________ The Variable men power. Последний раз редактировалось Varmen; 27.04.2010 в 21:27. | 
|  | 
|  28.04.2010, 00:12 | #5 | 
| Участник | 
			
			невыходит каменный цветок. X++: args = new args(); args.name("InventTable"); args.caller(this); f = classfactory.formRunClass(args); f.init(); f.run(); ds= f.dataSource(); qr =ds.queryRun(); qr.query().dataSourceNo(1).addRange(fieldnum( InventTable, ItemId)).value('6*'); qr.query().name("MMM"); designName=ds.name(); name="F:"+ ds.name(); classFactory.lastValuePut( sysquery::packRangeAndSortorder(qr.query()), curext(), curuserid(), UtilElementType::UserSetupQuery, name, designName ); Что различно: 1. Нет имени, собственно непонятно как и где его сформировать. 2. Значение в поле Value, различается тем что мое значение содрежит только часть "хвост", того что сохраняет система. Т.е я сохраняю query, а система что то двумя уровнями выше. 
				__________________ The Variable men power. Последний раз редактировалось Varmen; 28.04.2010 в 00:55. | 
|  | 
|  28.04.2010, 00:21 | #6 | 
| Участник | 
			
			Classes\SysSetupFormRun\task  X++: public int task(int _p1) { #task FormDataSource formDataSource; int ret; if (_p1 == #taskFilter) { formDataSource = this.objectSet(); if (formDataSource && formDataSource.queryRun() && formDataSource.queryRun().args() && !formDataSource.queryRun().args().caller()) { formDataSource.queryRun().args().caller(this); } } ret = super(_p1); return ret; } 
				__________________ The Variable men power. | 
|  | 
|  28.04.2010, 00:23 | #7 | 
| Участник | Цитата: любая форма Ctrl+F3 в правом верхнем углу кнопка Изменить \ Сохранить как | 
|  | 
|  28.04.2010, 00:32 | #8 | 
| Участник | 
			
			меня он полностью устраивает, я его хочу только jobом программно создать, пару десятков фильтров с заданным именем и все.
		 
				__________________ The Variable men power. Последний раз редактировалось Varmen; 28.04.2010 в 00:37. | 
|  | 
|  28.04.2010, 00:35 | #9 | 
| Участник | 
			
			Ага. про "ручное сохранение" известно. что радует. чувствую себя тормозом. какая задача то стоит? Цитата: 
		
			любому фильтру пользователь задать имя и сохранить для последующего использования. Правкая кнопка на форме, "сохранить фильтр как"
		
	 И почему эта задача не решается тривиальным описанием. 1. Пользователь задает любой фильтр 2. Нажимает Ctrl+F3 (или иконку на панели инструментов) 3. видит свой фильтр 4. нажимает на кнопку Изменить \ Сохранить как. Обязательно надо на правую кнопку мыши повесить? | 
|  | 
|  28.04.2010, 00:36 | #10 | 
| Участник | 
			
			зачем?
		 | 
|  | 
|  28.04.2010, 00:40 | #11 | 
| Участник | Цитата: дать нескольким пользователям предопределенные фильтры в некоторых формах? дык, эта задача не так решается: заходите под своим именем. настраиваете фильтры в форме (без программирования) а потом job'иком копируете свою настройку другим где-то на форуме был этот Job'ик копирования любых настроек из sysLastValue. | 
|  | 
|  28.04.2010, 00:48 | #12 | 
| Участник | 
			
			Хотелось бы узнать можно ли сделать это тем путем который я избрал? По поводу копирования: Ведь раздать фильтры это пол беды. Их нужно сделать, аккуратно правильно без ошибок. Переносить по разным апликациям, базам данных. Куда легче запустить созданный джобик, который одним махом сделает фильтры. В любом приложениии! При надобности и размножит по юзерам. Меня интересует смогу ли я в приниципе повторить то что делает система или нет? Может можно как нибудь pack()ами одолеть? 
				__________________ The Variable men power. Последний раз редактировалось Varmen; 28.04.2010 в 00:57. | 
|  | 
|  28.04.2010, 00:55 | #13 | 
| Участник | Цитата: А отлаживать эти фильтры как будете? А если фильтры в будущем поменяются, то будете джобик переписывать? В том то и дело, что под своим логином удобно держать все такие фильтры. Нормальными штатными средствами их просматривать, править, отлаживать. А уж потом простейшим и неизменным джобиком копировать куда надо (в том числе и по другим "аппликациям"). А... ну, тоже неплохое желание. Отчего бы благородному дону не попробовать. | 
|  | 
|  28.04.2010, 01:03 | #14 | 
| Участник | 
			
			Mazzy, Вы собственно уже помогли мне, нехотя напомнили про альтернативный путь сохранения фильтра в форме CTRL F3, так вот в там в форме спрятан метод SaveQuery !!! В отличии от контекстного меню код там открыт "бери нехочу". Спасибо!!! Пошел смотреть его. ))) 
				__________________ The Variable men power. | 
|  |