Уважаемый Виктор и Сообщество!
Думаю стоит внести ясность в некоторые понятия и термины которые обсуждались в теме смены № счёта и которые я использую здесь. Это очень важно при адаптации PrestaShop к российским условиям.
1. № заказа. В PrestaShop их два!
Первый, это порядковый номер в системе. Номер который хранится в поле id_order таблицы ps_orders. Это поле является индексным. С точки зрения Управленческого Учёта поле бесполезное и нигде не используемое.
Второй, это так называемый "код заказа". он хранится в поле reference и представляет собой сгенерированную комбинацию символов. Поле не является индексным и вероятно нигде не проходит контроль уникальности. (Кстати вероятнее всего смена метода генерации с чисел на буквы произошла именно из-за появления повторов в этом поле). Это поле имеет крайне важное значение как для движка, так и для управленческого учёта. Этот номер используется как для службы поддержки магазина, так и для контроля за состоянием заказа самим покупателем в его личном кабинете.
Исходя из вышеописанного следует понимать под термином "№ заказа" именно значение поля "reference"!
Принимая во внимание что многие компании используют различные системы бухгалтерского учёта, управленческого учёта и CRM, в которых есть необходимость вести упорядоченный учёт заказов клиентов, механизм формирования этого самого № заказа в PrestaShop, не устроит. (Я как раз из этих
)
2. Счёт(Счёт-фактура), Товарно-транспортная накладная.
С точки зрения опять-таки управленческого и бухгалтерского учёта в PrestaShop только один документ представляет интерес: "Счёт" Правда по умолчанию в русском переводе он обзывается как "счёт-фактура" что есть в корне неправильно. Нумерацию счетов можно задавать просто и в принципе удовлетворит 99%. Правда требуется серьёзная переделка формы формирующей данный документ чтобы он был хоть на что-то вменяемое похож, но это думаю отдельная большая тема.
Товарно-транспортная накладная в том виде в котором её знают бухгалтера, в PrestaShop в принципе не существует. Есть некий доставочный лист, который подойдёт для службы курьерской доставки, опять-таки с переделками самого бланка.
3. Логин клиента и его ID.
Логином клиента в PrestaShop является адрес электронной почты. ID - это номер в таблице MySQL PrestaShop. Производить манипуляции с ID клиента (так же как и с ID заказа) не следует так как это служебные поля имеющие значение для самого движка.
ИТОГО:
Для того чтобы формировать корректный № заказа (reference) нужно либо копировать в него значение поля id_order добавляя какой-либо префикс по аналогии со счетами (счетами-фактурами), либо изобретать свой "велосипед" внедряя изменения в код PrestaShop.
В моём случае, необходимо взять персональный ID из моей внутренней базы клиентов и сохранить его в профиле PrestaShop. Добавить поле для хранения номера последнего заказа. Взять эти два номера и объединив, записать в поле reference очередного заказа клиента.
Надеюсь не утомил.....