| 
			
			 | 
		#281 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			DSPIC, так будет долго и нарушится позиционирование
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#282 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			2DSPIC: То, что Вы указали - абсолютно верно. Потенциально действительно все известно. 
		
		
		
		
		
		
			Но реально - получить эту информацию (особенно актуально для временных таблиц либо таблиц, на которые пользователи наложили свой фильтр) - может только человек, который окунется в дебри Х++. Мне такая фишка потребовалась при обработке и итерационной выверке данных - где нужно быстро оценивать - сколько осталось необработанных данных, сколько можно пройтись джобиком, сколько можно пройтись вручную. Ваш пример очень быстро "сломается" при оценке даже порядка 500 записей. А мой пример - нет. Плюс он легко вставляется в табакс (или оформляется плагином - по желанию) и превращается в одну легкую универсальную кнопочку, которой может пользоваться человек, не залезая в дебри Х++. При этом учитываются все (как я себе представляю) "особые" ситуации вроде диналинков или временных таблиц. Кстати - по поводу временных таблиц. Я с определенной уверенностью считаю, что штатное отсутствие возможности посмотреть их содержимое или посчитать кол-во записей - есть неудобство в системе. Можно конечно сказать что с т.з. идеологии это неверно и т.д. Но учитывая, как легко (!) делается квери по временной таблице или как легко таблица как бы "копируется" в датасорс - можно только удивляться - почему такое несложное расширение не было реализовано. Но... оставим филисофские рассуждения. Я лично считаю идеологически правильной расширение SysQuery::countTotal для временных таблиц. 
				__________________ 
		
		
		
		
		
			Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 16.04.2009 в 18:53.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: DSPIC (3). | |
| 
			
			 | 
		#283 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 
			
			2Sukhanchik. Всё-всё, молчу. Я просто предложил. Производительность не учел - каюсь. Не реагируйте так остро.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#284 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			2DSPIC: Это просто вылилось... Извините. В свое время просто это была больная мозоль - когда делал себе какой-нибудь инструмент.... А его не разрешали оставить в версии, но при этом говорили "Работай". 
		
		
		
		
		
		
			Поэтому получился столь резкий ответ. А вообще - я мирный   И за мир во всем мире  . И за (фут,волей,пейнт ..)бол после работы  
		
				__________________ 
		
		
		
		
		
			Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 16.04.2009 в 20:05.  | 
| 
	
 | 
| 
			
			 | 
		#285 | 
| 
			
			 Пенсионер 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 
		
				__________________ 
		
		
		
		
	  Законы природы еще никто не отменял!А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/  | 
| 
	
 | 
| 
			
			 | 
		#286 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			"Это" - это что? как кнопка - это оформляется легко - достаточно создать кнопку и в метод clicked скопировать мой код. 
		
		
		
		
		
		
			А чтобы плагин сделать - это нужно сделать класс с методом main (+соответствующий пункт меню), куда выложить сей код и заменить строку element.currentFormRun() на infolog.setLastActivatedForm(). После чего - положить иконку с соответствующим названием в папочку плагинов. 2belugin: Я правильно понял что нужно доделать чтобы эта кнопка в плагин переросла? 
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#287 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Сделать пункт меню Сделать класс, форму или джоб поюзать currentFormRun из табакса как тут: http://erpkb.com/Axapta/Tabax/files?...estructure.zip X++: public void init() { TableID tableID; super(); if (this.args().caller() && classIdGet(this.args().caller())==classNum(SysSetupFormRun) && conFind(['Tabax', 'GDL_Tabax'], this.args().caller().name()) ) { tableID = this.args().caller().currentTable(); if (tableID) element.tableName(true, tableID2Name(tableID)); } else { element.tableName(true, (this.args() && this.args().parm())? this.args().parm() : tableStr(InventTable) ); } }  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: sukhanchik (3). | |
| 
			
			 | 
		#288 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#289 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
			
			
			Плагин
			 
			
			Оформил сие плагином. 
		
		
		
			FormCountRecords.zip 
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#290 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			что-то не работает в 4.0SP2ЕЕ функция urlEscape() из формы Tabax. Скопировал в job, также не работает; в 3.0 все ОК. В 4.0 выводит пустую строку. 
		
		
		
		
		
		
		
		
			X++: static void JobTabaxUrlEscape(Args _args) { str _s = "dsfsdfsdf ndfghghdf"; DLL dll = new DLL("shlwapi.dll"); DLLFunction URLEscape = new DLLFunction(dll, "UrlEscapeA"); Binary escaped = new Binary(strlen(_s)+1); Binary cnt = new Binary(4); #define.E_POINTER(0x80004003) ; URLEscape.arg(ExtTypes::String, ExtTypes::Pointer, ExtTypes::Pointer, ExtTypes::DWord); URLEscape.returns(ExtTypes::DWord); cnt.dWord(0, strlen(_s)+1); if (URLEscape.call(_s, escaped, cnt, 0) == #E_POINTER) { escaped = new Binary(cnt.dWord(0)+1); URLEscape.call(_s, escaped, cnt, 0); } info(escaped.string(0)); } X++:         if (URLEscape.call(_s, escaped, cnt, 0) == #E_POINTER)X++:         if (URLEscape.call(_s, escaped, cnt, 0) == any2int(#E_POINTER))Последний раз редактировалось Denicce; 05.08.2009 в 14:53.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: belugin (3). | |
| 
			
			 | 
		#291 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Забыл добавить, с чего я вообще в этот метод полез: не работала функция "Reopen recently closed window" в табаксе, если открывался редактор методов таблиц. В мапе открытых форм и их АОТ адресов хранился путь с "Data dictionary", а этот метод должен пробелы заменить на "%20", чего он не делал (возвращал пустую строку). Поэтому хранился путь только к АОТ. 
		
		
		
		
		
		
		
	В 4.0 новый появился тип int64, в который и переводился #E_POINTER при сравнении. А URLEscape.call() возвращает int.  | 
| 
	
 | 
| 
			
			 | 
		#292 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от sukhanchik
			 
 
			Можно (по идее) попробовать обойтись и без правки класса Info. 
		
	Основная задача - послать окну Editora сообщение (окно найти через WinAPI) Alt+M (ну или какое другое) для того, чтобы ядро запустило метод showScripts. Далее - задача передать из Tabax информацию о том, какой метод запускать и задача определить в showScripts что его вызвали из Tabax. Передать можно через Infolog.globalcache, а определить - опять-таки - по наличию команды в globalcache. По крайней мере такой способ не затронет системные классы.  | 
| 
	
 | 
| 
			
			 | 
		#293 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Так написать-то уже давно все написано - идею предлагал уже видя код и зная что он работает  
		
		
		
		
		
		
			![]() Просто непосредственно код посыла окну Editor-а собщения для запуска showScripts (для 3.0) или getApplicableScripts (для 4.0 и 2009) автор кода посыла сообщения (а это был не я) просил меня не выкладывать данный код на форум - поэтому я и ограничился лишь идеей - по принципу - кто захочет - тот докопается, зная идею. 
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#294 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Denicce
			 
 
			что-нибудь получилось написать, чтобы в табакс передать editor на 4.0? Кстати, в 4.0 вроде основной метод скриптов не ShowScripts, а getApplicableScripts, как я понял. Попытался использовать [ANN] Tabax 0.1 -- панель задач для Axapta, не получилось. Глюки какие-то лезут. 
		
	![]() А здесь Получение экземпляра текущего Editor описан принцип. Последний раз редактировалось DSPIC; 27.08.2009 в 19:22.  | 
| 
	
 | 
| 
			
			 | 
		#295 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			После стольких лет совместной жизни с Tabax для 2009-ой, мне неожиданно стало очень не хватать функции закрепления окон для их исключения при обработке по нажатию "Закрыть все, кроме". Обычно работаю с 2-3-мя табами постоянно, хотелось их сохранять постоянно открытыми. Допилил код на коленке - жить стало лучше, жить стало веселей. 
		
		
		
			Идея простая - собираем ID-ки табов в Set по дополнительному контекстному меню Pin tab и передаем в контейнере в функцию закрытия. Мысли по теме приветствуются.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: belugin (5). | |
| 
			
			 | 
		#296 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Друзья, как я понимаю erpkb прикрыли и скачать последний tabax не получается, могли бы вы поделиться сием чудом здесь на форуме? Спасибо!
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#297 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		
		
		
		
		
		
		
			 
				__________________ 
		
		
		
		
	AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: rumpleteazer (1), gl00mie (2), andy.plsql (1). | |
| 
			
			 | 
		#298 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#299 | 
| 
			
			 Британский учённый 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Есть для 2009 своя кастомная версия. Уже давно не работаю в 2009 и что там менял не помню.
		 
		
		
		
			
				__________________ 
		
		
		
		
	Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Logger (1), andy.plsql (1). | |
| 
			
			 | 
		#300 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Та что выше - у меня не хочет импортироваться! Ошибки какие-то сыпет. 
				__________________ 
		
		
		
		
	Axapta 3.0 sp - хз какой, kr2  | 
| 
	
 | 
| Теги | 
| tabax, taskbar, toolbar, инструменты, панель задач, панель инструментов, полезное, табакс, тулбар, управление окнами | 
| 
	
	 | 
	
		
		
  |