1С-бітрікс розробникам - account_number або граємо з подіями (для ледачих)
Доброго дня пані та панове.
Поточний функціонал генерації номера замовлення штука прикольна, але для тих кому лінь розбиратися і ще витратна на час.
Я вам зібрав події і як з ними можна поступати, щоб отримати те, що ви хочете.
Завдання: Генерація номера замовлення за шаблоном:
# Який то префікс # - # USER_ID # - # Номер замовлення користувача #
Для чого шаблон?
а) красиво
б) Хрін докопаєшся, тобто. чи не зібрати інфу по магазину (скільки замовлень на добу до них приходить, приблизну виручку і тд і тп)
в) Простіше шукати
г) Простіше запам'ятовувати
Чому саме Такий шаблон?
а) Генерація з випадкового набору штука складна і не цікава в тому плані, що користувач вам буде говорити Latinskie Simvoli, що не завжди є добре. згадується сайт "З як долар".
б) Ми з легкістю бачимо скільки замовлень було оформлено користувачем
в) Генерація по дню видає кількість замовлень на добу, навіть без елементарних арифметичних дій (фу яка гидота)
І тут у людей, які дивилися всі ці шаблони з'явиться думка: "Ти дурак? Це ж є в коробці!"
Так, в коробці це є, але воно ось в такому вигляді
Що потрапляє по "антіпункт" (а), воно не красиво
Перейдемо до практики
Н у по-перше потрібно подивитися, а як нам додати наш вибір в список? Для цього Панами з 1С-Бітрікс було додано подія на сторінку налаштувань модуля sale під назвою OnBuildAccountNumberTemplateList
На вхід якого приходить зовсім нічого, а на виході масив виду array ( 'CODE' => '# ваш код #', 'NAME' => 'Назва') Причому в подію можна додати тільки 1 тип. мда.
При виборі дані зберігаються в рядок настрек модуля, причому для кастомних типів використовується тільки рядок з кодом, а для вбудованих Бітрікс, ще зберігається набір даних (типу параметри генерації шаблону)
COption :: SetOptionString ( "sale", "account_number_template", "#CODE шаблону генерації #";
COption :: SetOptionString ( "sale", "account_number_data", # якесь значення #);
Отже, додаємо наш тип генерації шаблону наступним кодом: