1b.app
Скопійоване посилання -

Сортування у шаблоні відвантажувального листа за значенням при читанні з масиву suborder

Раніше допомагали зі створенням шаблону відвантажувального листа через змінну suborder. https://crm-onebox.com/ru/support/documents/10402-peremennaya-suborder-v-dokumen...
Все працює! При великій кількості відвантажень потрібне сортування в таблиці за певною змінною, наприклад, по транспортній компанії: ТК {|$suborder.customOrder_transportnayakompaniya24|} . Сортування за промовчанням відбувається за номером підпроцесу.
Як при читанні з масиву suborder зробити сортування за певною змінною?
Шаблон відвантажувального листа: https://more-moto.crm-onebox.com/admin/shop/document/templates/37/control/
Процес Відвантаження для перевірки: https://more-moto.crm-onebox.com/admin/customorder/dostavka/5786/edit/
Оригінальне питання доступне на версії: ru

Відповіді:


Як при читанні з масиву suborder зробити сортування за певною змінною?

Не думаю, що в HTML ви можете подібним чином відсортувати масив.
Тут хіба що допрацьовувати якось безпосередньо в генерації документа, де глобально задавати сортироку - але це не дуже явно.
Чи потрібно це чисто для 1 БП і 1 шаблону?
06.09.2021, 17:52
Оригінальний коментар доступний на версії: ru

Знайшов приклад рішення сортування для багатовимірного масиву за допомогою функцій usort() та array_multisort()
https://world-hello.ru/php/how-to-php/otsortirovat-mnogomernyj-massiv.html
За ідеєю можна прочитати масив і вивести його назад із сортуванням за потрібним значенням. Але мені цього не розібратися.
Потрібно все це для створення списку замовлень для відвантаження. Для БП Відвантаження та шаблону Відвантажувальний лист.
За ідеєю це взагалі типове завдання кожного користувача Crm – створювати відвантажувальний лист і має бути перевірене рішення, як це зробити. Можливо рішення простіше, типу експорту в гугл таблицю. Але варіант із масивом зручніший. І воно вже готове, залишилося із сортуванням розібратися і сподіваюся все :)
07.09.2021, 22:51
Оригінальний коментар доступний на версії: ru

Вигадав, можна навіть простіше і зручніше без сортування. Вивести у шаблоні документа кілька таблиць поспіль під кожну транспортну компанію.
При читанні масиву зробити фільтр за значенням ТК транспортна компанія {|$suborder.customOrder_transportnayakompaniya24|}.
Якщо значення ТК = ПЕК виводити в таблицю тільки замовлення ПЕК, Якщо значення ТК = СДЭК виводити в наступну таблицю і т.д.
Як зробити фільтр?
08.09.2021, 07:45
Оригінальний коментар доступний на версії: ru


Знайшов приклад рішення сортування для багатовимірного масиву за допомогою функцій usort() та array_multisort()
https://world-hello.ru/php/how-to-php/otsortirovat-mnogomernyj-massiv.html
За ідеєю можна прочитати масив і вивести його назад із сортуванням за потрібним значенням. Але мені цього не розібратися.
Потрібно все це для створення списку замовлень для відвантаження. Для БП Відвантаження та шаблону Відвантажувальний лист.
За ідеєю це взагалі типове завдання кожного користувача Crm – створювати відвантажувальний лист і має бути перевірене рішення, як це зробити. Можливо рішення простіше, типу експорту в гугл таблицю. Але варіант із масивом зручніший. І воно вже готове, залишилося із сортуванням розібратися і сподіваюся все :)

Я знаю, як відсортувати масиви на стороні веб-сервера.
Але ви повинні розуміти, що це потрібно робити якоюсь настройкою для шаблону документа - за яким додатковим полем сортувати підпроцеси. Щоб таке зробити - це займе близько 4 год

Вигадав, можна навіть простіше і зручніше без сортування. Вивести у шаблоні документа кілька таблиць поспіль під кожну транспортну компанію.
При читанні масиву зробити фільтр за значенням ТК транспортна компанія {|$suborder.customOrder_transportnayakompaniya24|}.
Якщо значення ТК = ПЕК виводити в таблицю тільки замовлення ПЕК, Якщо значення ТК = СДЭК виводити в наступну таблицю і т.д.
Як зробити фільтр?

Не особливо це просто зробити на Smarty, адже у вас дані значення будуть не постійні і в різних кількостях.
Ну а взагалі ви можете if`ать умови на smarty - може щось і вийти)
09.09.2021, 17:22
Оригінальний коментар доступний на версії: ru

Будь ласка, приєднуйтесь до діалогу. Якщо вам є що сказати – будь ласка, напишіть коментар. Для входу потрібний мобільний телефон та смс-код для ідентифікації. Увійти та написати коментар