Как составить номер заказа

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

Ответы на эти вопросы я постараюсь дать в этой статье.

Packing

Когда может возникнуть такой вопрос

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

Если же вы работаете с множеством заказов или множеством заказчиков, и когда эти заказы осуществляются одновременно, либо когда вы общаетесь одновременно с несколькими заказчиками, то возникает необходимость каким-то образом отличать один заказ от другого.

Если самих заказчиков можно отличать друг от друга по их названиям (если это компании), или паспортным данным (если это физические лица), то вопрос идентификации нескольких заказов одного заказчика таким образом не решить.

Итак, когда мы задаемся вопросом «как идентифицировать заказы»?

  1. На старте бизнеса. Продумывая процесс работы с заказчиками, вы можете придумать тот или иной способ идентификации заказов.
  2. В момент внедрения информационной системы. Любая информационная система, связанная с обслуживанием клиентов, будет требовать нумеровать или другим образом присваивать идентификаторы заказам.
  3. В момент изменения масштабов бизнеса. Например, вы столкнулись с необходимостью расширить розничный бизнес и открыть второй магазин. Чтобы отличать заказы первого магазина от заказов второго, нужно придумать, как идентифицировать их так, чтобы обозначения не повторялись. И возможно, отличались бы от заказов потенциального будущего третьего магазина, и так далее.
  4. В момент изменения логики бизнеса. Например, раньше вы не делили заказчиков на важных и не особо важных. А теперь решили, что заказам важных клиентов нужно уделять особое внимание. В этом случае хочется, чтобы эти заказы идентифицировались каким-то особым образом.

Зачем?

Частично ответ на вопрос «зачем?» приходит из ситуации, в которой вы озадачились вопросом идентификации заказов.

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

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

Система передачи информации

То, как передается информация о заказах, оказывает существенное влияние на способы идентификации самих заказов.

Если заказов немного и вы передаете информацию о них устно, то достаточно придумать простую систему звучных названий. Сами названия клиентов могут стать основой такой системы.

В некоторых информационных системах уже заложены определенные способы нумерации заказов. Например, в 1С:Битрикс используются следующие варианты нумерации:

  • Не используется, что на самом деле означает порядковую нумерацию с номера 1.
  • Нумерация с определенного числа, тоже порядковая нумерация, но уже с произвольного числа.
  • Префикс перед номером, например, это ls-001
  • Случайный уникальный номер, и тогда это может быть нечто вроде 6gye34fd3
  • Идентификатор и номер заказа пользователя, и тогда это может быть заказ «Валерий Казарин_7»
  • Нумерация за определенный период, и тогда в номер добавляется код периода времени — обозначение конкретного дня, месяца или года, например, 14082016/5.

1

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

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

Прозрачность процессов

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

В этом случае нумерация заказов позволяет быстрее давать ответ на вопрос «о каком заказе идет речь» в коммуникациях между участниками процесса.

Согласитесь, по сравнению с формулировкой «найди январский заказ этого толстого розовощёкого мужика на семь коробок большого формата» проще и яснее будет звучать формулировка «найди заказ 17387».

what

Что нужно учитывать при выборе системы нумерации

Главное и основное правило — любые правила нумерации должны предполагать уникальность каждого отдельного заказа.

Второе, вспомогательное правило — нумерация должна давать информацию о ключевых параметрах заказа, если это необходимо и возможно организовать.

Ниже приведу примеры таких ключевых параметров.

Порядок поступления заказов

Самое простое бизнес правило «в каком порядке мы получаем заказы, в таком мы их и выполняем» легко реализовать, если ввести сквозную порядковую нумерацию заказов. Тогда вы просто не приступаете к выполнению заказа номер N+1 на каждом из этапов процесса исполнения заказов до тех пор, пока не закончили работу с заказом номер N.

queue_alive

К сожалению, крайне мало бизнесов придерживается принципа «общей очереди» и способно поддерживать единственную очередь выполнения заказов. Реальный мир влияет на наше представление о том, каким должен быть идеальный бизнес-процесс, и нам приходится под них подстраиваться.

Идентификация особых клиентов

Предположим, у вас есть группа VIP-клиентов, для которых вы решили организовать особые условия обслуживания. Например, пропускать их заказы вне очереди. Если есть такое бизнес-правило, то было бы логично выделить их заказы из общей очереди. Почему бы в таком случае не придумать такую систему нумерации, которая явным образом выделяла бы заказы VIP-клиентов?

Например, обычные заказы могут обозначаться S-0001, S-0002, S-0003 и так далее, а заказы VIP-клиентов — V-0001, V-0002,V-0003 и так далее.

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

vip-queue

Идентификация особых заказов

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

sber-queue

Например, на заводе «ЗЭиМ» на котором я работал более 10 лет тому назад, в системе планирования производства использовали несколько способов нумерации заказов. Основная, в которой заказы обозначались порядковыми номерами, формировалась из заказов, поступающих от отдела продаж. Вторая группа заказов была «безымянной» и определяла заказы на ходовую продукцию, которая производилась по принципу «на склад». Отделяя эти заказы от заказов реальных клиентов мы могли менять порядок выполнения заказов, предоставляя приоритет заказам клиентов, а не тем, которые в итоге (пусть и временно) оседали на складе. Третья группа заказов поступала от инженерного центра, это были заказы на изготовление образцов продукции, необходимых для проведения испытаний и добровольной сертификации. Их также обозначали особым образом. Следующая группа заказов включала заказы на изготовление всего остального, например, заказы на изготовление запасных частей для гарантийного ремонта, оснастки и приспособлений, которые выполнялись на основном оборудовании, и так далее.

Идентификация ключевой информации для нужд разных исполнителей

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

Какую информацию можно включить в номер заказа?

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

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

Поэтому прежде чем включать эту информацию в нумерацию заказов, следует подумать раз семь, а лучше — дважды по семь.

Но граничные ситуации обозначить очень просто:

Самый простой способ — порядковая нумерация заказов, но при таком способе для правильной обработки заказа вам нужно дополнять номер заказа другой информацией — устно, в бумажных документах или в информационной системе.

trafaret

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

Правильный для вас способ скорее всего находится где-то посередине между этими граничными точками.

Когда нужно менять систему нумерации заказов

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

И это происходит практически в тех же случаях, когда вы создаете систему нумерации:

  1. В момент перехода на новую информационную систему
  2. В момент изменения масштабов бизнеса
  3. В момент существенного изменения процесса исполнения заказов.

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

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

К сожалению сами исполнители мало задумываются о том, как система нумерации заказов влияет на их работу, потому что для каждого из нас нумерация заказов наших клиентов в 99,999% случаев — это данность.

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

Сформулируйте несколько вариантов нумераций заказов, обсудите их с исполнителями, задайте каждому два вопроса:

  1. Какие преимущества в работе тебе дает такой вид нумерации.
  2. С какими проблемами ты столкнешься в своей работе при таком виде нумерации.

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

Фото взяты здесь:

http://www.hellotrade.com/marmonil-egypt/wooden-crates.html,
http://nikolian.livejournal.com/316309.html,
https://dev.1c-bitrix.ru/community/blogs/product_features/orders_numeration.php,
https://starwiki.org/rowan-atkinson/photo/men-rowan-atkinson-mr-beans-holiday,
https://pikabu.ru/story/yekh_zhili_zhe_lyudi_chast_pervaya_5296282,
http://biznesclass.ru/transaero.html,
https://34374.info/2012/03/elektronnaya-ochered/,
https://tr.ru/articles/648-v-2016-godu-marshrutok-v-moskve-stanet-menshe-no-polnostyu-oni-ne-ischeznut.

Кому это может быть интересно

PressFoto_5959641-MediumPressFoto_1251001-MediumPressFoto_725833-Medium

Узнать, кто эти люди…

Сегодня мы поговорим о нумерации заказов в интернет-магазине БУС. Казалось бы, что может быть проще. Открывая интернет-магазин, мы в меньшей степени задумываемся об этом вопросе. Однако, случаются стартапы, когда наименование заказов принципиальна. В этом отношении Битрикс подготовлен на все 100%. Или где-то около того.

Публикацию на эту тему можно найти в официальном сообществе.

Начиная с версии 12.5.4 модулей Торговый каталог и Интернет-магазин появился уникальный функционал нумерации заказов. Настройка опции производится в настройках модуля Интернет-магазин:

Уникальность данного функционала состоит в том, что он позволяет не только установить собственную нумерацию, но и изменить ее в любой момент времени. Это значит, что этот функционал можно воспроизвести как в новом, так и в уже существующем интернет-магазине. Решение абсолютно универсально. Прежний шаблон нумерации заказов останется. Новый шаблон дополнит/продолжит уже существующий.

Рассмотрим шаблоны генерации шаблонов.

Шаблон не используется

Используется стандартная нумерация, при которой номер заказа равен уникальному идентификатору (ID) заказа. Номер заказ начинается с №1 и увеличивается на единицу при каждом новом заказе.

Нумерация с определенного числа

Всегда можно начать нумерацию заказов с нуля. Благодаря данной опции можно задать любое число, с которого и будет начата нумерация заказов. Данное число может содержать от 1 до 7 цифр.

Выставив число 100 000, мы получим первый заказ под аналогичным номером.

Префикс перед номером

Данный шаблон позволяет задать префикс от 1 до 7 символов: латинские буквы, цифры, тире, знак нижнего подчеркивания.

Например, мы можем задать префикс «number». В итоге, номер нашего заказа будет выглядеть как «number22».

Случайный уникальный номер

При данном сценарии номер заказа генерируется случайным образом из цифр и букв латинского алфавита.

Допустимое количество символов: от 5 до 10. Данный шаблон сводит к нулю возможность отследить количество заказов. Шаблон используется несколькими крупными интернет-ритейлерами.

Идентификатор и номер заказа пользователя

Использование данного шаблона приведет номер заказа в следующий вид: «ID пользователя» «нижнее подчеркивание» «номер заказа».

Например: 123_2, где:

123 — идентификатор (ID) пользователя, сделавшего заказ,

2 — номер заказа пользователя (цифра два говорит о том, что это второй заказ пользователя).

Нумерация за определенный период

Самый замысловатый шаблон.

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

Личном мне довелось применять данный подход в сфере оптовых продаж.

Опции подразумевают нумерацию в пределах дня/месяца/года.

Примеры:

  • в пределах дня: 15112015 / 2 (второй заказ от 15 ноября 2915 года)
  • в пределах месяца: 112015 / 7 (седьмой заказ за ноябрь 2015 года)
  • в пределах года: 2015 / 9 (девятый заказ за 2015 год)

Настройка административной части

В админ-панели необходимо добавить новое поле в список заказов:

Корректировки публичной части

Здесь все весьма индивидуально.

Если Вы использовали стандартное решение с дефолтным шаблоном, то ничего делать не потребуется.

Если же ваш шаблон был кастомизирован, то стоит перепроверить вывод нумерации в почтовых шаблонах, личном кабинете пользователя, интеграция со сторонними сервисами (например, платежные системы, службы доставки и т.д.).

Вот в общем-то и все. Успешных продаж!

Если у вас несколько интернет-магазинов работают под управлением БУС на многосайтовости, то возникает вопрос как разметить номера заказов для менеджеров. Для этого добавим в файл /bitrix/modules/sale/init.php код:


<?
$eventManager = BitrixMainEventManager::getInstance();

$eventManager->addEventHandlerCompatible('sale', 'OnBeforeOrderAccountNumberSet',
    function ($orderId, $type){
        if($type == 'siteid_orderid' && $orderId > 0){
            $arOrder = CSaleOrder::GetByID($orderId);
            $num = $arOrder['ID']; // получаем номер заказа
            if($arOrder['LID'] == "s1") {
                $vdOrder = $num."- Рога и копыта";
            } elseif ($arOrder['LID'] == "s2") {
                $vdOrder = $num."- Попкорн и печеньки";
            } else {
                $vdOrder = $num."- Мемы и кеки"; // сайт по умолчанию, если вдруг мы не получили идентификатор
            }
            return $vdOrder;
        }
        return false;
    });

//ФОРМИРУЕМ САМ ФОРМАТ ВЫВОДА НОМЕРА ЗАКАЗ
$eventManager->addEventHandlerCompatible('sale', 'OnBuildAccountNumberTemplateList',
    function (){
        return array(
            'CODE' => 'siteid_orderid', 
            'NAME' => 'SITE_ID: ORDER_ID/DATE'); //формат вывода    
});
?>

Теперь представим ситуацию: у вас есть 3 сайта на мультисайтовости Битрикс (едина админка). Допустим сайты называются так:

  • Рога и копыта (ID = s1);
  • Попкорн и печеньки (ID=s2);
  • Мемы и кеки (ID=s3).

Допустим заказ №1000 приходит от сайта «Рога и копыта», заказ №1001 от «Попкорн и печеньки», заказ №1002 от «Мемы и кеки».

При стандартных настройках Битрикса вы бы никак не смогли понять откуда же пришел заказ, так как нельзя указать в номере заказа ID сайта.

При наших настройках Номера заказов, попадаемые на почту будут выглядеть так: «Поступил новый заказ №1000-Рога и копыта», «Поступил новый заказ №1001-Попкорн и печеньки», «Поступил новый заказ №1001-Мемы и кеки».

В нашем случае мы использовали только 'NAME' => 'SITE_ID: ORDER_ID/DATE'. Вот несколько полезных свойств, которые вы можете использовать для массива в eventManager:

  • [ID] — уникальный идентификатор заказа
  • [LID] — идентификатор сайта с которого был заказ
  • [DATE_INSERT] => 2021-05-22 12:34:42
  • [PERSON_TYPE_ID] => 1 (физ лицо)
  • [USER_ID] — идентификатор покупателя
  • [DATE_INSERT_FORMAT] в формате 05/22/2021

Устанавливается новый формат в настройках модуля Настройки — Модули — «Интернет-магазин». При этом кастомный формат нельзя комбинировать с другими базовыми. Он просто не будет работать

Кастомный формат заказа

Небольшая ремарка: для Битрикс-24 (допустим в случае модели Заказ+Сделка на лицензии Интернет-магазин+CRM) эта настройка работать не будет, там будет просто прилетать обычный номер заказа.

Как сделать номер заказа у формы связи?

Доброго.
Ребят подскажите. Пока чисто теоретически))
Самый простой способ.

Есть форма связи. У меня она сделана на jquery. Как реализовать систему номеров в этой форме? Допустим на почту приходит заказ номер 1, 2 и тд.

Наверно на стороне обработчика это лучше сделать. И далее передать его на почтовый шаблон. Но чет до конца не додумаю


  • Вопрос задан

    более двух лет назад

  • 61 просмотр

В почтовом шаблоне пишешь типа Ваш заказ номер #ORDER_ID# и потом делаешь реплейс на ID элемента инфоблока

а если хочу с порядковым номером то ?

Сделай свойство в инфоблоке, перед добавлением нового элемента получай последний элемент и значение этого свойства, +1 и готово, потом по схеме описанной выше.
Просто по логике номер заявки должен предполагать уникальное значение, а это ID элемента или тогда добавляй обработчик чтобы вручную нельзя было менять значение этого свойства, а только при добавлении нового элемента

Пригласить эксперта


  • Показать ещё
    Загружается…

27 мая 2023, в 23:03

10000 руб./за проект

27 мая 2023, в 22:55

1000 руб./за проект

27 мая 2023, в 22:42

500000 руб./за проект

Минуточку внимания

Первый способ сгенерировать уникальный номер заказа в PHP

PHP-код

$str = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
/**Bird and fish blog */
echo $str;

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

Код

$str = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
 /**Bird and fish blog */
 echo $str;

Пояснение: этот метод похож на первый, но он более сложный, чем первый

Третий способ сгенерировать номер заказа в PHP

 Code
//Generate 24 digit unique order number, format: YYYY-MMDD-HHII-SS-NNNN,NNNN-CC,
 //Where: YYYY = year, MM = month, DD = date, HH=24 format hour, II = minute, SS = second, nnnnnn = random number, CC = check code 
//Bird and fish blog
@date_default_timezone_set("PRC"); 
while(true){ 
//subscription date
$order_date = date('Y-m-d'); 
//Order number subject (YYYYMMDDHHIISSNNNNNNNN)
$order_id_main = date('YmdHis') . rand(10000000,99999999); 
//Order number body length
$order_id_len = strlen($order_id_main);
$order_id_sum = 0; 
for($i=0; $i<$order_id_len; $i++){    
    $order_id_sum += (int)(substr($order_id_main,$i,1));
}
//Unique order number (YYYYMMDDHHIISSNNNNNNNNCC)
$order_id = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',STR_PAD_LEFT);

Примечание: выглядит ли этот код очень сложным? Однако код этой схемы подходит для использования на некоторых крупных сайтах электронной коммерции. Он может обрабатывать малозаметный номер заказа без повторения.

Четвертый способ

Этот четвертый метод очень интересен. Когда я увидел этот код, я был удивлен человеком, который его написал.

Код

$yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');
$orderSn = $yCode[intval(date('Y')) - 2011] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));

Примечание: в этом методе используются английские буквы, дата, временная метка Unix, микросекунды и случайные числа. Вероятность повторения значительно снижается, что очень хорошо. Использование букв очень репрезентативно. Буква соответствует году, всего 16 цифр, не так много, не так много.

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

Оригинал: “https://programmer.help/blogs/php-method-of-generating-order-number.html”


  • Метки


    method, order, time, way

Понравилась статья? Поделить с друзьями:
  • Как найти парня для своей бывшей
  • Как найти анну рублевскую
  • Как найти комментарий в инстаграме под постом
  • Карма пьющий муж как исправить
  • Как найти предел интегрирования двойного интеграла