Когда мы начали продажи дисков Aardvark DVD на нашем веб-сайте, мы и не думали, что их упаковка и отправка будет так сложна.
Во-первых, мы не предполагали, что их будет так много, и, конечно, мы забыли про некоторые мелкие проблемы такие, как заполнение таможенных бланков, которые стали настоящим кошмаром.
Для первой партии, которую мы отправили, мы использовали очень специальные средства.
Я использовал функцию заполнения почтового адреса Mail Merge из Microsoft Word для того, чтобы отпечатать множество адресных листков; для заказов из других странах я написал небольшое приложение в Access, которое заполняло формы на веб-сайте USPS (прим. пер.: United States Postal Service, почтовая служба США), и так далее.
На самом деле рассылка купленных дисков была довольно сложной.
Только представьте, сколько головной боли могут причинить небольшие проблемы эргономики, когда вам надо разослать тысячи посылок в 60 разных стран.
Например, на формах заказов, генерируемых веб-сайтом USPS, нужно ставить подписи.
У нас была чёртова пропасть таких форм.
Мы пробовали "подписывать" их, прогоняя через лазерный принтер, который печатал пару изображений подписей на нужных местах.
Это отлично работало на одном принтере, но любой другой принтер в офисе отказывался печатать на бланке, который уже прошел через лазерный принтер.
Зачем это сделано?
В итоге, конечно, в принтере, который мог печатать подписи, кончился тонер.
И это был Dell.
Dell не позволяет обыкновенным магазинам офисных продуктов продавать их тонер.
Единственным способом получить тонер было заказать его в Dell и заплатить лишние деньги за срочную доставку.
По моей оценке на одно отправление требовалось около трех минут работы, и нам требовалось так мало времени только потому, что мы обрабатывали заказы пачками.
Хуже всего было то, что это требовало определенных навыков в SQL-запросах и Mail Merge для формирования адресов.
В прошлые выходные я подумал, что должен быть более простой способ.
Я потратил какое-то время на поиск в Интеренете средств облегчения этой работы, и в понедельник начал разрабатывать нашу новую Супер Пупер Систему Поставок, или FogShip, которая потребовала около трех дней на программирование, и отладку.
И вот как физически выглядит эта система.
Всем процессом управляет один компьютер, на котором работает Microsoft Access.
Сами данные о поставках живут в SQL Server.
Каждый день, когда я готовлюсь к поставкам, я нажимаю кнопку в Access, который печатает пачку упаковочных бланков.
Типичный бланк показан справа.
Почему Microsoft Access?
Я тоже сначала относился скептически.
Я никогда в жизни не использовал функцию "отчётов" Access; я всегда считал, что она предназначено для старомодных людей, которым нужно, чтобы их данные были отпечатаны для каких-то непонятных целей и они не хотят принимать идею поиска данных в компьютере.
Ну, оказалось, что отчеты Access прекрасно подходят для формирования упаковочных бланков.
Это прямо-таки то, для чего они предназначены.
Так как данные уже находятся в SQL Server, требуется не больше пары часов для того, чтобы
отчет был сформирован и создан точно в том виде, который мне нужен.
Две другие вещи, которые вам следует запомнить об упаковочных бланках, были подсказаны тяжелым опытом.
Вот первая из них: вместо того, чтобы печатать их на листах бумаги стандартного размера, мы печатаем на карточках размером 5х8 дюймов (12.5х20.3 см).
Это дает нам две большие выгоды.
Во-первых, они влазят в конверты, которые мы используем для большинства рассылаемых нами книг и CD и DVD дисков, без сгибания.
Это действительно имеет большое значение, если вы делаете огромное число отправлений.
Во-вторых, поскольку карточки немного жестче, чем бумага, их легче засовывать в конверт.
Вы также можете заметить штрих-код, отпечатанный в верхнем правом углу.
Есть множество различных схем печати штрих-кодов, но если вы печатаете свой собственный штрих-код, проще всего использовать схему штрих-кода, называемую Code 39.
Другие системы штрих-кодов требуют от вас добавления контрольной суммы в конце штрих-кода, и вам придется написать небольшой фрагмент кода, вычисляющего контрольную сумму.
Но Code 39 имеет встроенный в каждый символ протокол коррекции ошибок, и это означает, что вы можете взять фонт Code 39, и использовать его как любой другой обычный фонт, без написания какого-либо кода.
Когда вы готовитесь начать отправку, вы берете упаковочный бланк и сканируете его.
Я на самом деле не знаток, какой сканер штрих-кодов лучше купить, и сколько я ни старался, не смог найти в Интернете никаких обзоров сканеров штрих-кодов.
Я обнаружил, что тем видом сканеров, которые мне нужны, являются сканеры, втыкающиеся в порт USB и эмулирующие клавиатуру.
Это обозначает, что они имеют разъем USB, который делает их подсоединение очень простым, и ведут себя точно так же, как и клавиатура, пока ваш компьютер в этом заинтересован.
Я также обнаружил, что мне нужен лазерный сканер, а не сканер CCD, потому что он работает и на некотором расстоянии.
Я закончил покупкой сканера Wasp WLS-9000 вместе с подставкой, который вы можете увидеть на рисунке.
В дальнейшем он отлично зарекомендовал себя.
Установка сканера оказалась самой простой вещью в мире.
Воткните ее в порт USB, и все готово.
Он поставляется с целой книгой (которую вы можете выкинуть) различных образцов штрих-кодов, которые вы можете сканировать для настройки сканера так, чтобы он вел себя множеством самых разных способов.
Без настройки, когда вы сканируете штрих-код, ваш сканер просто введет символы, заданные штрих-кодом, как клавиатура, и нажмет Enter.
В FogShip сканирование штрих-кода запускает программу, написанную на VBA, которая делает три вещи.
Во-первых, она отмечает заказ как выполненный в нашей онлайн-базе данных, так что заказчик получает по электронной почте письмо, сообщающее, что его заказ был выслан.
Говоря техническим языком, более аккуратно сообщать заказчику, что его заказ отправлен, именно тогда,
когда почтовая служба получает заказ и отправляет его, но такое улучшение потребует большего программирования, так что с этим придется подождать.
Второй хорошей вещью, которую делает программа после сканирования штрих-кода, это отображение информации с упаковочного бланка на втором большом экране огромным шрифтом.
Таким образом, вы можете немедленно засунуть упаковочный бланк в пакет... вам не нужно держать его под
рукой, чтобы видеть, что вы должны упаковать.
Это было уроком, преподанным нам при отправке первой партии посылок, когда мы должны были держать упаковочный бланк вне конверта до самой последней минуты, для того, чтобы знать, что надо упаковать и как надо будет это отправлять; необходимость держать упаковочный бланк вне упаковки до последней
минуты была ещё одной раздражающей вещью, которая делала весь процесс менее гладким.
В-третьих, она печатает почтовую этикетку, и - для зарубежных отправлений - таможеный бланк.
Для печати почтовых этикеток USPS у вас реально есть только три пути. Вы можете использовать веб-сайт USPS ("Click'n'Ship"), но он рассчитан для домашнего пользования отправляющего одно или
два письма.
Он не расчитан на автоматизацию процесса, и всегда выводит кучу инструкций, которую вам приходится пропускать.
Поскольку он использует Adobe Acrobat Reader для печати, то процесс печати неуклюжий и работает не слишком хорошо, если только вы не печатаете дорогие этикетки формата A4 на лазерном принтере.
В любом случае, Click'n'Ship не является тем путем, по которому надо идти.
Другими двумя вариантами являются Stamps.com и Endicia.
Оба они позволяют программно печатать этикетки.
Endicia имеет пару преимуществ перед Stamps.com при использовании в ваших приложениях: приличный инструмент для формирования нужных пользователю форм и этикеток именно тем способом, который вам нужен, и на их веб-сайте выложена вся необходимая документация.
Stamps.com требует от вас зарегестироваться в программе для разработчиков, поэтому процесс получения необходимой для вас документацию занимает много времени, а нам всё нужно ещё вчера поэтому, мы просто выбирали Endicia.
Система для печати этикеток Endicia не может быть проще.
Вы создаете файл XML со всей информацией об отправке и запускаете их приложение с именем этого файла XML через командную строку.
Это приложение выплевывает этикетку и завершает работу, создав новый файл XML с информацией отслеживания и информацией статуса.
Система stamps.com, насколько мне известно, базируется на ActiveX, что дает возможность
вашим приложениям столь же хорошо с ней работать.
Итак... давайте поговорим о печати наклеек.
Если вы делаете более трёх-четырёх наклеек в день, вам потребуется принтер для их печати, и если вы хотите, чтобы процесс шел быстрее, вам потребуется по-настоящему быстрый принтер, а не просто лазерный принтер, который нуждается во времени для подогрева.
Все рекомендуют продукцию фирмы Zebra, которая делает высококлассные, промышленно надежные принтеры для этикеток.
Мы остановили свой выбор на Z4Mplus, который печатает этикетки размером 4х6 меньше чем за секунду.
Но не только это, он отклеивает для вас наклейку от подложки, если вы приобретете дополнительно отклеиватель (присоединяйтесь ко мне!).
Эта штука действительно, действительно крутая.
И если у вас наклейки Direct Thermal, вам не потребуется покупать ленту или чернила или тонер или еще
что-нибудь... он просто выжигает изображение на этикетке.
Следующая проблема: таможенные формы для зарубежных отправлений.
Таможенная форма может выглядеть, например, так:
Зеленый квадрат слева -- это липкая этикетка, которую вы должны отклеить от подложки и наклеить на конверт.
Белая часть -- это обычный лист бумаги, прикрепляемый перфорацией.
Вы должны заполнить все эти бланки такими подробностями, как цена, точное описание вложения, вес
отправления, и вы должны поставить подпись на обеих частях.
Заполнение всего этого - это настоящий геморрой.
Первая хитрость была в том, чтобы найти принтер, который может печатать на бумаге размером 4х7 дюймов для таможенных форм, не разрушая зону наклейки.
Он также должен печатать по самому краю листа, не требовать ручного выравнивания каждой формы, и он должен быть достаточно хорош, чтобы изображение подписи не очень напоминало подделку.
Он должен быть быстрым в работе и не требовать много времени для разогрева, иначе он будет тормозить весь процесс.
Найденным нами принтером, удовлетворяющим всем этим критериям, стал HP LaserJet 2420.
Мы купили два таких принтера (другой печатает упаковочные бланки).
В него можно загрузить одновременно около 100 пустых форм в лоток для конвертов... оказалось, что эти формы почти точно соответствуют конвертам Monarch, что является стандартным форматом для большинства
программ.
Но программа установки, поставляемая с этим принтером, ужасна и падает при попытке инсталляции на новый фирменный компьютер с Windows XP.
Потребовалось несколько часов возни с драйверами перед тем, как эта штука начала печатать так, как надо.
Тем временем, он печатал, но сверх-медленно, и мы не могли понять, почему.
Я был просто шокирован тем, что в XXI веке HP продолжает поставлять принтеры, которые просто не могут быть установлены обычными людьми.
Вернувшись в Microsoft Access, я создал отчет для таможенных форм.
Вооружившись линейкой, я осторожно отмерил положение каждого из полей на бумажной форме и установил соответственно поля в отчете в Access.
Это сработало великолепно, даже выведенное четкое факсимиле подписи оказалось на строке подписи!
Последним шагом в процессе было добавление всяких прочих кусков, таких как стикера Priority Mail и Airmail (прим. пер.: срочное письмо и авиапочта).
И, та-да-да! Все сделано.
Подготовка зарубежного отправления теперь занимает около 35 секунд, вместо 3 минут ранее, и это может сделать кто угодно, а не только тот, кто обладает навыками работы с SQL и Mail Merge.
Внутренние отправления подготавливаются даже еще быстрее, потому что не нужны никакие таможенные формы.