Часто возникает задача импортировать журнал. Бывает, что эффективнее воспользоваться клавиатурным макросом, чтобы перенести данные из Excel, вместо того, чтобы программировать сложную процедуру.
Часто случается, что надо импортировать несколько сотен-тысяч строк в журналы. Как правило, это ввод остатков. Если программно создавать журналы, то программист должен следить за нумерацией, выполнять проверку, правильно инициализировать и вызывать классы. Программист должен ничего не забыть и обязательно протестировать свою программу. Как правило, в первый раз процедура импорта разрабатывается несколько дней, затем она работает несколько минут.
Как быстро и эффективно импортировать журналы? Предлагается следующий метод.
- Данные для импорта готовятся в Excel;
- Открываются две программы: Excel и Axapta;
- Курсор позицинируется в первой ячейке Excel и в первом поле Аксапты;
- Начинается запись клавиатурного макроса;
- Перемещение курсора выполняется при помощи клавиш Tab и Alt+Tab;
- Данные переносятся в Аксапту через буфер обмена (clipboard);
- В конце строки необходимо перенести в первую ячейку следующей строки, как в Excel, так и в Аксапте;
- Для остальных строчек, клавиатурный макрос повторяет записанные действия автоматически.
Должно получиться примерно так:

Режим обучения клавиатурного макроса
Советы:
- пользуйтесь только клавиатурой, не записывайте движения мыши;
- в конце макроса курсор и в Аксапте, и в Экселе должны находиться в той же позиции, что и в начале макроса. Только на строчку ниже;
- обязательно продумайте, как вы будете останавливать макрос. Обычно достаточно нажать Ctrl+Break. Посмотрите в руководство по программе останавливающую комбинацию клавиш;
- обязательно проверяйте перенесенные данные. Например, при помощи автоотчетов;
- сгруппируйте номенклатуру с различнымми складскими аналитиками и создайте для различных групп разные максросы. Таким образом, у вас получится макросы для ввода данных по номенклатуре с конфигурациями, с ГТД, со складами и т.п.;
- Расположите Аксапту и Эксель рядом на экране (Tile horizonally). Так система будет тратить гораздо меньше времени на перерисовку экранов.
Перенос при помощи клавиатурных макросов, как правило, требует участия человека. Даже в том случае, если вы поставили автоматический повтор макроса, все равно возможны предупреждения Аксапты, сообщения о недопустимых действиях, заблокированных складах и т.п. Поэтому по ходу работы макроса нужен контроль.
Клавиатурный макрос, как правило, позволяет существенно сократить общее время импорта. Да, сам импорт занимает несколько часов вместо нескольких минут в случае программирования. Но зато клавиатурный макрос создается за десять-пятнадцать минут, а программный импорт обычно создается за несколько дней. Таким образом, клавиатурный макрос позволяет вам гарантировано получить результат через несколько часов. Получите ли вы результат, если начнете программировать?
Примечание: Программы - клавиатурные макросы позволяют записывать нажатия клавиш, движения мыши, нажатия кнопко мыши в Windows. А затем программы-макросы позволяют автоматически повторять записанные действия. В зависимости от навороченности, программы-макросы позволяют реагировать на события системы, запускаться по таймеру, писать сложные скрипты и т.п. В данном совете рассматривается простейший способ использования подобны программ - запись нажатий на клавиши, а затем повторение этих нажатий.
Статьи о клавиатурных макросах:
Автоматизация по-малому
Ссылки на некоторые программы - клавиатурные макросы:
Automate
AutoIt
nnCron
Буду рад Вашим замечаниям и предложениям.
Мазуркин Сергей, mazzy@mazzy.ru