Автоматический обмен для Суперокон

Работая в программе по расчету светопрозрачных конструкций Суперокна, приходилось периодически (раз в неделю) делать обмен данными с дилерами (их более 300). Изначально был выбран вариант через дискету, т.е. через файлы. Хотя есть автоматический  вариант через сервер, но там есть свои недостатки :

  • одновременно обмен ведется только с одним отделом и нужно строго определять время обмена для каждого отдела .
  • автоматически могут уйти ненужные данные в дилерские отделы, если настройка справочников ведется напрямую, без использования рабочих и новых настроек

Вернемся к обмену через файлы.Процедура следующая: программа выгружает файл с настройками для определенного контрагента в нужную папку и далее идет рассылка на почту. Процесс рассылки файлов из папок по почте был давно автоматизирован. А вот выгрузка самого файла выглядела приблизительно так:

  • Открываем основное меню
  • Выбираем пункт меню Обмен данными
  • Вводим номер отдела
  • Вводим папку соответствующую по номеру этому отделу
  • Нажимаем кнопку ‘Обмен’
  • Ждем окончания выгрузки

И снова весь этот круг – и так  более 300 раз.

После очередной такой процедуры длительностью свыше 3 часов, было принято решение написать программу, которая все эти действия будет делать за меня.

Писал на Delphi, по следующей схеме:

  • отлавливаю нужное окно;  SetForegroundWindow(findwindow(nil,’Суперокна 7′))
  • эмулируя, нажатия клавиш, выходим в меню; keybd_event(VK_MENU, MapvirtualKey(VK_MENU, 0), 0, 0); 
  • таким же образом вводим нужные значения в поля ‘Путь к диску’ и ‘Отдел’;
  • также эмуляцией жмем ‘Enter’; keybd_event(VK_RETURN, MapvirtualKey(VK_RETURN, 0), 0, 0);
  • ждем пока файл не появится в нужной папке

  • и повторяем круг с новым значением отдела.

В итоге программа готова – моё участие более не требуется и время обмена сократилось до 1 часа. Код и ссылка на скачивание архива с программой ниже (а также коды клавиш внутри кода):

 Скачать код программы botsw.pas

 Скачать архив всего проекта программы botforsw.zip (Delphi)  

Программа без красивостей и настроек(все в коде). Со временем добавлю опции  в виде списка отделов для обмена и возможно из нее же и сделаю рассылку почтой.

Поделиться ссылкой:

Похожие записи

Автоматический обмен для Суперокон

Добавить комментарий

Ваш адрес email не будет опубликован.