Цитата:
Сообщение от
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