Как бы вы начали автоматизировать мою работу?

На моей новой работе мы продаем импортные вещи. Чтобы иметь возможность продавать этот материал, в настоящее время для каждой входящей партии необходимо выполнить следующее:

  • Счет-фактура поступает в виде вложения электронной почты, таблицы Excel
  • Обезьяна открывает счет-фактуру, копирует соответствующую часть из трех столбцов в соответствующие части шаблона электронной таблицы, где происходят чрезвычайно сложные вычисления, например =B2*550
  • Обезьяна отправляет эту новую таблицу в босс (по электронной почте, если повезет, принтер в противном случае), который устанавливает розничную цену
  • Обезьяна открывает ответ, затем переходит к вводу данных в производственную базу данных с помощью клиентской программы, которая непригодна для использования на стольких уровнях, что даже не стоит детализировать
  • Обезьяна запускает HyperTerminal, тип в "AT", отключает
  • Monkey отправляет текстовые сообщения и электронные письма клиентам, используя другую часть ужасной клиентской программы, по одному за раз

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

Здесь мой необразованный список желаний:

  • Обезьяна спрашивает Thunderbird (возможно, почтовый сервер?) для вложения
  • Обезьяна сообщает Excel о том, чтобы выгрузить таблицу в более удобный для пользователя формат, например CSV или что-то.
  • Обезьяна анализирует вывод, выполняются ли сложные вычисления
  • Обезьяна отправляет ссылку на босса с помощью веб-формы, где он может установить цены
  • Monkey подключается к базе данных, вставляет данные
  • Обезьяны спам-клиентов

Все ли это возможно? Если да, то где я начинаю читать? Как бы вы его улучшили? Какой язык/структура, по вашему мнению, идеально подходит для этого? Что бы вы сделали с боссом?

Ответы

Ответ 1

Существует множество инструментов, которые вы можете применить здесь, включая макросы Python, Excel, VB Script и т.д.

В этом случае PowerShell кажется отличным выбором, так как он, естественно, сочетает COM-доступ с Office,.NET и скриптами, и является всеобъемлющим. Если вы уже знаете подходящую технологию, вы получите работу быстрее всего, что вы знаете. Othewise, PowerShell.

(С# 4.0 также является разумным, хотя более ранние версии сосут при взаимодействии с интерфейсами Office COM.)

Не увлекайтесь, пытаясь решить всю проблему сразу. Начните с выбора маленькой, легкой части, которая сразу же получит вам большую ценность. Вы, скорее всего, добьетесь этого. (Чтобы ваш босс согласился, вам нужен успех быстро. Если вы не говорите своему боссу, вам нужен успех еще быстрее!). Как только вы это сделаете, вы можете использовать свое новое свободное время (может быть, всего несколько минут в день), чтобы расширить свои инструменты и навыки до следующего размера кусочка. Успех ускорит успех.

Со временем вы замените обезьяну кодом и либо получите повышение или отбросьте отвращение, и получите лучшую работу.

Ответ 2

Большие части - это Excel и электронная почта. Excel можно обрабатывать либо с помощью COM, либо с каким-то взаимодействием с OpenOffice.org. Электронная почта, ну, есть десятки способов сделать это. Моим молотом выбора является Python, а также pywin32 или PyUNO и poplib и smtplib.

Босс... всегда будет боссом. Не всегда очень много можно сделать о нехорошем wetware вещи.

Ответ 3

Сначала я задал себе следующие вопросы.

  • Должен ли счет-фактуру поступать по электронной почте или может быть веб-форма, в которой пользователи могут вводить данные? Существует простой способ разместить форму в документах Google, чтобы вы могли загрузить ответ в формате Excel в общем формате, установленном вами. Я уверен, что есть и лучшие способы.
  • Нужно ли боссу создавать новую таблицу, вы можете предоставить ему приложение для базы данных, где он может просматривать вашу форму, вводить цену, проверять "одобренный" и иметь этот огонь из процесса, который помещает его в производственную базу данных?
  • Можно ли работать интерфейс с клиентской программой? Можете ли вы, чтобы другое приложение вызывало клиента
  • Можно ли отправить текст конечному пользователю, а не клиентское приложение? Если да, то автоматизируйте эту часть.

Только некоторые мысли.

Ответ 4

Одним из решений для # 1 является отправка электронной почты на сервер Unix (вместо Exchange) и использование procmail для выпадающих вложений (см. http://gimpel.ath.cx/howto_fetch_proc_metamail.html для примера того, как)

Что касается босса, у вас есть хорошая веб-страница, на которую вы можете отправить ему ссылку. И отправьте ему короткое электронное письмо (3 строки или меньше), в котором сообщается, что использование этой страницы позволит сэкономить 30 минут работы в течение месяца, а вы - 2 часа работы в месяц. Просто будьте готовы создать резервную копию #s.

Тем не менее, очень высокий уровень, и в меньшей степени вы готовы делать всю автоматизацию в свое время, лучше иметь возможность продать своего босса, что общая экономия времени x6 месяцев меньше времени для его разработки. потому что зарплата monkey в его глазах достаточно низкая, что стоимость программного обеспечения просто не стоит того, и, к сожалению, он просто прав, в зависимости от того, насколько сложным является пуленепробиваемое надежное решение.

Ответ 5

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