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

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

Как задача решается сейчас? Пользователь присылает мне список нужных карточек в виде столбца в файле Excel. Я окружаю эти данные некоторым количеством "шаманских" формул и получаю большую длинную строку, состоящую из кодов этих карточек, разделенных запятыми. Затем делю эту большую строку на подстроки такого размера, чтобы они помещались в поле "Критерий" формы задания параметров запроса, после чего создаю в этой форме необходимое количество новых строк (в полях "Таблица" и "Поле" задаю соответственно "Основные средства" и "Инв. номер ОС") и далее при помощи серии из нескольких "копипастов" (Copy/Paste) вручную "перебрасываю" данные из Excel в ячейки колонки "Критерий". После всех этих манипуляций я формирую нужный журнал и "возвращаю" его заинтересованному пользователю для проверки, редактирования и разноски.

В целом, задача и для меня достаточно рутинна, но все же не так утомительна, как для пользователя, который не владеет этой технологией. И вот сегодня мне в очередной раз "всё это надоело" и я решил наконец облачить своё несложное "ноу-хау" в форму инструкции, пригодную для использования широкой пользовательской общественностью.

Итак, рассмотрим построение генератора строк "своими руками" в русской версии Excel . Для этого нам потребуется чистый рабочий лист. Если он уже приготовлен, то выполните на нём следующие шаги:

1.В ячейку A1 введите строку: Элементы списка
2.В ячейку B1 введите строку: Строки критериев
3.Ячейка С1 должна оставаться пустой

4.В ячейку D1 введите максимально допустимое кол-во символов в строке критерия. В моей Аксапте это значение равно 250. Если вы не уверены в этом значении для вашей системы, то можете спросить у IT-специалистов, эксплуатирующих вашу Axapta, о "размере EDT Range". Помимо ввода значения, для дальнейшего удобства установите для ячейки D1 выравнивание по центру.

5.В ячейку E1 введите строку: <= максимально допустимое кол-во символов в строке критерия

6.В ячейку B2 введите (скопируйте отсюда) формулу: =ЕСЛИ( ИЛИ( ЕПУСТО(C1), (ДЛСТР(A2)+1+C1)>$D$1 ), A2, B1 & "," & A2)

(ВАЖНО: если у вас в качестве разделителя списка в Windows используется точка с запятой, а не запятая, как у меня, то замените в этой формуле первые три запятые на точки с запятой. Самую последнюю запятую во фрагменте формулы & "," & трогать не надо!)

7.В ячейку C2 введите формулу: =ДЛСТР(B2)
8.В ячейку D2 введите формулу: =C3<C2

9.Встаньте на ячейку A2 и выполните команду меню: Окно \ Закрепить области
10.Выделите диапазон A1 : D2 и выполните команду меню: Данные \ Фильтр \ Автофильтр

Ваш шаблон готов. Для его пробы следует скопировать некоторый столбец данных в колонку A, начиная с ячейки A2. После выполнения этой операции скопируйте формулы, находящиеся в ячейках диапазона B2 : D2, в ячейки, расположенные под этим диапазоном до строки, определяемой последней непустой ячейкой в колонке A. Самый быстрый из известных мне способов такого развертывания формул вниз заключается в следующем: выделите мышкой диапазон B2 : D2, после чего наведите мышку на правый нижний угол ячейки D2, так чтобы курсор принял форму крестика, и выполните двойной щелчок.

Выполнив всё вышеперечисленное, отфильтруйте колонку D по значению "ИСТИНА". На экране останутся только необходимые вам строки. Далее последовательно копируете ячейки из колонки B в ячейки колонки "Критерий" формы задания параметров запроса в Axapta.

Всё. Сохраните ваш Excel'ный генератор для будущего использования. В дальнейшем вы просто будете стирать старые значения в колонке A и помещать в нее новые наборы данных, не забывая добавлять или удалять формулы в колонках В,С,D в соответствии с количеством значений в колонке A.


P.S. -----------

Для английской версии Excel формулы для ячеек B2 и C2 будут выглядеть соответственно как
=IF( OR( ISBLANK(C1), (LEN(A2)+1+C1)>$D$1 ), A2, B1 & "," & A2)
и
=LEN(B2)
А колонку D в случае английской версии надо будет фильтровать по значению TRUE.

Ну и, конечно же, зарегистрированные пользователи Форума могут не делать описанную выше "самостоятельную работу", а сразу воспользоваться прилагаемым файлом CriteriaGenerator.xls

СОВЕТ: Если вы себя чувствуете не очень уверенно при поштучном копировании ячеек из колонки "B" Excel в ячейки колонки "Критерий" Axapta (некоторый "страх" может возникать из-за того, что в ячейке Excel содержится формула, а в "Критерий" попадает вычисленный результат этой формулы, который к тому же не виден полностью), то можно сначала выделить и скопировать все нужные ячейки из колонки "B" Excel в Блокнот (Notepad) и далее уже из Блокнота поштучно копировать эти полностью видимые строки в ячейки-критерии Axapta.
Миниатюры
Нажмите на изображение для увеличения
Название: ForCritGen.jpg
Просмотров: 732
Размер:	63.0 Кб
ID:	2070  
Вложения
Тип файла: xls CriteriaGenerator.xls (92.0 Кб, 221 просмотров)

Последний раз редактировалось Gustav; 15.09.2006 в 09:17.
За это сообщение автора поблагодарили: mau (1), kvg6 (1).
Старый 06.09.2006, 23:39   #2  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Пользователь присылает мне список нужных карточек в виде столбца в файле Excel
А откуда пользователи берут эти инв. номера?
И возможно сначала отфильтровать по более крупному критерию или всё-таки найти объединящий критерий для этих списков и т.д.
Старый 07.09.2006, 09:55   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Vals
А откуда пользователи берут эти инв. номера?
Если коротко, то отовсюду - из бурной хозяйственной жизни предприятия
Копипаст из гридов Axapta в таблицы Excel выполняется существенно проще, чем в обратном направлении. Пользователи (бухгалтеры) что-то выкачивают из Axapta, анализируют, тасуют-сортируют в Excel'е эти карточки по своим, только им одним ведомым, соображениям и потом желают поместить их в один журнал и выполнить с этими карточками определенные действия (сторнировать, переоценить и т.п.) Разумное желание? Вполне.

Рассмотрим живой пример возникновения такого рода потребности работы на "неорганизованном" подмножестве карточек. К фирме в результате слияния присоединилась другая фирма, которая раньше была самостоятельным субъектом со своей деятельностью, балансом, расчетными счетами и т.п. Основные средства присоединяемой компании брались на баланс основной компании как раз на этапе внедрения Axapta в последней. В спешке переходного периода не все нюансы были учтены правильно и впоследствии возникла необходимость в проведении соответствующих корректирующих операций. ОС из присоединяемой фирмы, которые попали под эту "раздачу", относятся к совершенно разным группам, имеют разные сроки использования, имеют самые разнообразные даты ввода в эксплуатацию и т.п. - т.е. поиск некоторого объединяющего их в рамках запроса короткого критерия крайне затруднителен (если вообще возможен) и усилия, затрачиваемые на попытку поиска такого критерия, вряд ли можно считать оправданными.

Сколько времени вам потребовалось на чтение и воплощение (если воплощали) моего "ноу-хау" из первого поста? Думаю, минут 15-20, вряд ли больше. А дальше будет еще быстрее - ведь генератор уже готов. Не думаю, что успешный поиск "серебрянного" короткого критерия в сложной "неорганизованной" ситуации будет также быстр, а на заведомо неуспешный так и время тратить нечего.

Цитата:
Сообщение от Vals
И возможно сначала отфильтровать по более крупному критерию или всё-таки найти объединящий критерий для этих списков и т.д.
Не очень понял, это вопрос или утверждение.
Если вопрос, то нет, нельзя (см. выше). Если утверждение (пожелание), то опять-таки см. выше. Но не понятно при этом, как, например, "СНАЧАЛА отфильтровать" - кнопка "Выбор" нам, скажем так, "предоставляется" перед расчетом тех же ОС всего "один раз" и за этот "один раз" мы и должны задать все наши критерии отбора. Разве не так?
Старый 07.09.2006, 11:58   #4  
Atani is offline
Atani
Участник
 
77 / 15 (1) ++
Регистрация: 25.07.2003
Адрес: г. Королёв М.О.
Получается, что есть некий бизнес-процесс (анализ, сортировка, принятие решений на их основе), у которого на входе Аксапта и на выходе Аксапта.

Мне кажется, имеет смысл реализовать этот бизнес-процесс в Axapta. А затем пользователям набор галочек (принцип действия аналогичен полю "Немедленная поставка" - пользователь сам набирает строки для обработки), по которым они смогут наложить фильтр и выполнить массовую операцию.
Старый 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.
Старый 07.09.2006, 18:08   #6  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Копипаст из гридов Axapta в таблицы Excel выполняется существенно проще, чем в обратном направлении. Пользователи (бухгалтеры) что-то выкачивают из Axapta, анализируют, тасуют-сортируют в Excel'е эти карточки по своим, только им одним ведомым, соображениям и потом желают поместить их в один журнал и выполнить с этими карточками определенные действия (сторнировать, переоценить и т.п.) Разумное желание? Вполне
Спорить о генераторе не буду.
Можно было бы разобраться, что они там в экселе делают, чего не могут в аксапте? Вот эта чёрная дыра и породила такое решение.

Второе, о вопросе присоединения других фирм и ввода информации. Беспорядок внесли в справочники и т.д. (не говорю о проводках) необходимо точнее прорабатывать такие процедуры.
Старый 08.09.2006, 06:21   #7  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Господа, Вам нужен нормальный наглядный множественный неформализуемый обычными критериями выбор (т.е. как юзеру в голову взбредет), а не бешеная строка перечислений для критерия запроса ?
Их есть у меня :
1 новая таблица (RefTableId,RefRecId,UserId,SessionId) со статическими методами триггерной реакции (триггер - не объект БД имеется ввиду, а аналог действия микроэлектронного компонента, а данном случае передача TableId/RecId из помечаемой таблицы и вставка/удаление в случае отсутствия/наличия соответственно в нашей таблице пометок),проверки наличия и очистки пометок по таблице.
В таблице, по которой нужно сделать выбор , заводится edit метод с типом NoYes обрабатывающий наличие ссылки на текущую запись текущей таблицы в нашей таблице пометок.
Далее Вы этот edit метод можете запихать в любой грид и обрабатывать помеченные записи(ссылки на них будут храниться в заведенной таблице пометок) как Вашей душе угодно (проходите по хранимым ссылкам на помечаемую таблицу, создаете программно критерий и пихаете его дальше в свои запросы). Наглядно, понятно и страхолюдных перечислений для критерия запроса пользователю делать не придется

В аттачменте пример использования подобного (форма выбора) для функции частичного копирования строк нескольких складских журналов в один новый журнал
Миниатюры
Нажмите на изображение для увеличения
Название: Image1.gif
Просмотров: 425
Размер:	43.1 Кб
ID:	2076  

Последний раз редактировалось TasmanianDevil; 08.09.2006 в 06:47.
Старый 08.09.2006, 09:25   #8  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
уфф... "вечер перестает быть томным"...
Цитата:
Сообщение от TasmanianDevil
Господа, Вам нужен нормальный наглядный множественный неформализуемый обычными критериями выбор (т.е. как юзеру в голову взбредет), а не бешеная строка перечислений для критерия запроса ?
Нет.

Нам нужно испуганной девочке, которая с Аксаптой работает без году неделя, дать возможность САМОСТОЯТЕЛЬНО быстро отобрать в журнал 200 элементов справочника, не поддающихся коротким критериям, с тем, чтобы она к утру успела выполнить задание, которое ее выдали в срочном порядке. А так она смотрит на этот список и почти плачет, соображая что может быть к утру она только половину этого списка вручную и заведет. А умные программисты и администраторы уже давно разошлись по домам или по пивнушкам... И помощи ждать неоткуда...

Повторяю еще раз - речь идет об эффективном при необходимости использовании СТАНДАРТНОГО ФУНКЦИОНАЛА!
Старый 08.09.2006, 10:40   #9  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Понял , девочку пожалел в душе и удалился
Старый 08.09.2006, 10:56   #10  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Интересно, а нельзя девочку научить самой пользоваться стандартной формой запроса? Вроде бы не квантовая физика, и не намного сложнее, чем вбивать те же циферки в Excel...
__________________
You should use Bing before asking dumb questions.
Старый 08.09.2006, 11:13   #11  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Jabberwocky
Интересно, а нельзя девочку научить самой пользоваться стандартной формой запроса?
Можно. Мы и учим ее пользоваться СТАНДАРТНОЙ формой.
Цитата:
Сообщение от Jabberwocky
Вроде бы не квантовая физика, и не намного сложнее, чем вбивать те же циферки в Excel...
"циферки в Excel" у нее уже есть в виде столбика в том же Excel.
Ей нужно эти "циферки" переместить из Excel в SysQueryForm и желательно побыстрее.


(неужели я так путанно и неподробно расписал всё выше? )
Старый 08.09.2006, 11:29   #12  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Можно. Мы и учим ее пользоваться СТАНДАРТНОЙ формой.
А ведь возможно что нужно учить использовать другую форму?

Цитата:
Сообщение от Gustav
Повторяю еще раз - речь идет об эффективном при необходимости использовании СТАНДАРТНОГО ФУНКЦИОНАЛА!
Именно поэтому вы должны задуматься над тем, что происходит в "чёрном ящике", когда пользователи берут данные (инв номера и т.д) из Microsoft Axapta, и делают некие шаманские действия в MS Excel, затем им снова нужно выполнить функции в Axapta. Ваше решение "лечит" следствие проблемы.

А я хочу, чтобы вы занялись причиной проблемы
Какие такие шаманства они в Ёкселе производят? Их можно сделать стандартным функционалом? Какие доработки для этого потребуется?
И будет Вашей девушке счастье и загорятся её глазки

Последний раз редактировалось Vals; 08.09.2006 в 11:53.
Старый 08.09.2006, 11:43   #13  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Сообщение от Vals
И будет Вашей девушке счастье и загорятся её глазки
Не факт. Могут и уволить )) И вместо девушек будут дружно трудиться симпатичные роботы-обработчики ))
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 08.09.2006, 12:00   #14  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Дорогой Vals, мне кажется, мы с Вами изначально рассуждаем в несколько разных плоскостях, т.е. так... (очень грубая аналогия): я излагаю свою технологию замены перегоревшей лампочки, а Вы стараетесь направить меня на изучение причин ее перегорания. Я, в принципе, не против подобного знания, но тема-то затевалась как раз из-за технологии, а свершившийся факт перегорания - это как бы исходное условие задачки. Наверное, я выбрал не очень удачный пример с ОСами, а Вы за него прямо так и ухватились...

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

О! Пусть это будет, например, некий список сотрудников предприятия (подмножество таблицы EmplTable), попавших в медвытрезвитель (на всякий случай уточняю, что Axapta установлена на ликеро-водочном заводе) после очередной корпоративной вечеринки. Пусть по факту предоставленных этим медицинским учреждением услуг с каждого из этих сотрудников необходимо удержать из зарплаты некоторую сумму (для отражения чего в системе и будем формировать журнал). Считается, что список отличившихся поступает из милиции в виде столбца Excel.

Нормально так? Нейтрально? Не бросается тень на основные средства?
Цитата:
Сообщение от Vals
Можно было бы разобраться, что они там в экселе делают, чего не могут в аксапте?
Наверняка можно. Только как это можно было бы предвосхитить? Совершать ежедневные врачебные обходы с назойливо-грозным вопросом "Не делаете ли вы чего-нибудь такого в экселе, чего не можете в аксапте?" или как? Они профессионалы, они работают по своему плану, у них есть свое начальство. Я же работаю - по своему плану, в котором подобный "врачебный обход" не предусмотрен (во всяком случае, пока). Они пришли ко мне и поставили задачу - облегчить им процесс формирования журнала, исходя из имеющегося "случайного" набора карточек. Я задачу решил (и быстро!) таким способом, а возникшими в процессе решения технологическими мыслями поделился с вами.
Старый 08.09.2006, 12:08   #15  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Сообщение от Recoilme
Не факт. Могут и уволить )) И вместо девушек будут дружно трудиться симпатичные роботы-обработчики ))
И она найдёт более высооплачиваемую работу И всё равно будет счастье.
На той работе встретит принца на белом гелендвагене ну и пошло-поехало
Старый 08.09.2006, 12:18   #16  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Я не бросаю тень сомнения на ваше решение, поверьте
Вообще у Вас должен быть журнал (в любой форме) куда пользователи вносят замечания по эксплуатации системы
Старый 08.09.2006, 12:24   #17  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Средствами стандартного функционала Ваша задача не решается. Самое простое решение с минимумом модификаций, которое лежит на поверхности:
1. Создать пользовательскую таблицу из одного поля, в котором будут храниться коды строк журнала.
2. Сгенерировать шаблон Excel на эту таблицу.
3. Внести список кодов в шаблон и импортировать в Аксапту.
4. Создать запрос, с exists join журнала с созданной таблицей.

Работы на час разработчику...
__________________
You should use Bing before asking dumb questions.
Старый 08.09.2006, 12:28   #18  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Vals
Вообще у Вас должен быть журнал (в любой форме) куда пользователи вносят замечания по эксплуатации системы
хм... значит, даже вариант с вытрезвителем не устроил...

Ок. Тема пошла в офф-топик. Я останавливаюсь.
Спасибо всем поучаствовавшим

P.S.
Цитата:
Сообщение от Jabberwocky
Средствами стандартного функционала Ваша задача не решается.
Гы. "Опять 25". А я каким ее решил?

Последний раз редактировалось Gustav; 08.09.2006 в 12:34.
Старый 08.09.2006, 12:44   #19  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Цитата:
Сообщение от Gustav
Гы. "Опять 25". А я каким ее решил?
Вы её не решили, иначе бы не задавали здесь вопросов.
__________________
You should use Bing before asking dumb questions.
Старый 08.09.2006, 12:45   #20  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
С вытрезвителем жизненно: В результате Счастливого случая произошёл прорыв пивопровода...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пользовательский генератор строк-перечислений...- 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, время: 12:43.