AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.09.2006, 17:48   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Atani
Получается, что есть некий бизнес-процесс (анализ, сортировка, принятие решений на их основе), у которого на входе Аксапта и на выходе Аксапта.
Нуу... таким "бизнес-процессом", грубо говоря, может считаться любой из нас: на входе Аксапта - внутри наши глаза, мозг, пальцы - на выходе Аксапта
Цитата:
Сообщение от Atani
Мне кажется, имеет смысл реализовать этот бизнес-процесс в Axapta. А затем пользователям набор галочек (принцип действия аналогичен полю "Немедленная поставка" - пользователь сам набирает строки для обработки), по которым они смогут наложить фильтр и выполнить массовую операцию.
МОжет быть... может бЫть... Однако, тема сознательно помещена именно в раздел "Axapta: Функционал", потому что касается использования стандартных вещей, которые уже имеются в распоряжении пользователя, так сказать, "бесплатно" (без дополнительной разработки), но которые он не может по ряду очевидных причин эффективно использовать в случае необходимости...

Ну, и для для полной, надеюсь, ясности - еще один, уже совсем "разжёваный", примерчик (расписывал, считайте, в течение всего дня, отнимая кванты времени у святых перекуров! о!).

Итак, есть некий столбик значений, неважно где: в Блокноте, в Excel'е... Положим для простоты, что в Блокноте (мы знаем, что всегда легко можем сделать переброску Блокнот <=> Excel). Не смотрите, что для примера взяты числа, идущие подряд (для таких чисел мы, естественно, бы использовали критерий вида 1..10). Считайте, что это как бы не сами значения, а их индексы в списке... ну, вы меня поняли! ):
1
2
3
4
5
6
7
8
9
10

Этот столбик "значений" нужно загнать в колонку "Критерий" таблицы на закладке "Условия" формы задания параметров запроса (SysQueryForm).
Вариантов два:
- либо создать в этой таблице 10 новых строк и скопировать эти 10 значений по отдельности в 10 ячеек колонки "Критерий" ("по отдельности" - потому что, ну, нельзя, увы, это сделать "как в Excel'е" - копированием диапазона ячеек);
- либо перечислить эти 10 значений в одной строке через запятую и использовать только одну строку таблицы для задания критерия (а не 10).

Первый способ с 10-ю строчками нам явно не интересен (потому что: а если их будет 100 или 1000?). Поэтому остановимся на втором.

Как можно быстро получить строку во втором способе вручную?
Например, за два шага так:
- пробежаться по концам всех строчек и поставить запятую, используя клавиши "запятая" и "СтрелкаВниз":
1,
2,
3,
4,
5,
6,
7,
8,
9,
10

- затем встать в конец первой строки и, используя клавиши "Delete" и "End", удалить все переводы строки, превратив исходный столбец в необходимую "строку через запятую":
1,2,3,4,5,6,7,8,9,10

Всё неплохо. Я и говорю выше, что для "5-10 значений" такой способ вполне работает.

Что будет, если значений - 100?
1
2
3
...
98
99
100

Наверное, этот столбец тоже можно достаточно резво, если напрячься и хорошо размять пальцы, превратить в строку:
1,2,3,...,98,99,100

(обращаю внимание, что многоточие в середине этой строки ничего общего с двумя точками (..), использующимися при задании диапазона для критерия запроса, не имеет)

Однако, в резвой пляске своей пальцами по клавиатуре мы так увлеклись, что радостно проскочили рубеж "250 символов", который является ограничением на длину нашей критериальной строки. Строку нужно резать. В каком же месте? Самый простой способ - это попробовать скопировать ее в ячейку "Критерий" и, встав в конец строки в ячейке, посмотреть, сколько символов в нее поместится, после чего "округлиться" от конца влево до позиции перед ближайшей запятой, запомнить элемент, на котором мы остановились, а правый остаток строки стереть.

Итак, вставляем строку: 1,2,3,...,98,99,100
Помещается: 1,2,3,...,84,85,86,8
Стираем последние два символа: ,8
Возвращаемся к исходной строке и удаляем из нее уже размещенное в ячейке "Критерий" начало с 1 по 86
В следующую ячейку "Критерий" (в следующей строке таблицы) вставляем остаток исходной строки: 87,88,89,...,98,99,100

Нравится вам объем работы, который вы к этому моменту, скрипя зубами, проделали вручную? Думаю, нет. И мне - нет.
А те, кто решил сразу воспользоваться "генератором", уже пьют вторую чашку кофе и курят не первую сигарету... И их журнал уже почти разнесся...


P.S. Кто захочет проверить помещаемость в "Критерий" самостоятельно, то вот вся полная строка от 1 до 100 (я вставил пробел после каждого 25-го элемента, потому что иначе безпробельная строка не влезает в экран):

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25, 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75, 76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100

Последний раз редактировалось Gustav; 07.09.2006 в 17:58.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пользовательский генератор строк-перечислений...- 2: Доп.вкладка для SysQueryForm Gustav DAX: База знаний и проекты 1 04.05.2007 18:04
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 12.04.2007 16:10
Ускорение выполнения запроса Oracle + MS Axapta Горбунов Дмитрий DAX: Программирование 17 15.11.2005 18:13
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:16.