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

Як заповнити параметри процесу автоматично?

У мене є фільтри, які впливають на ціну товару, для кожного товару це може бути різний фільтр.
Замовлення прилітає з cs-cart - заповнюється додаткове поле продукту процесу. Я налаштував, щоб виводилися всі додаткові поля, які пов'язані з фільтром (таких штук 50) + прибрав відображення незаповнених.
Для ручного створення - вирішує поле "Опції процесу" + воно заповнює через роздільник всі опції в додатковому полі процесу.
Тепер у мене завдання таке:
Є документ, який потрібно вивести опції товару. Я можу заповнити їх з додаткового поля, але це тільки при ручному створенні, оскільки коли замовлення прилітає з сайту, то заповнені лише додаткові поля, а налаштування не заповнюються.
Так ось, питання в тому, як заповнити опції, якщо замовлення прийшло з сайту?
Оригінальне питання доступне на версії: ru

Відповіді:

У них потрібно записати фільтр: значення по кожному з нового рядка начебто?
Можна дію зробити, яке візьме список вибраних додаткових полів і на їх основі (за тим, де є значення) - запише все в опції.
17.09.2021, 14:40
Оригінальний коментар доступний на версії: ru

Суханіцький Андрій ВАНБОКС КОРП
OneBox Corp - Інтегратор
Іменна ліцензія

Тиндик Максим Вадимович
OneBox production
Адміністратор писав/ла:
У них потрібно записати фільтр: значення по кожному з нового рядка начебто?
Можна дію зробити, яка візьме список вибраних додаткових полів і на їх основі (за тим, де є значення) - запише все в опції.

варіант підходить, тільки я не знаю як бути з ціною, тобто, брати з націнки або не міняти, так як ціна вже записана ... Тут потрібно подумати над логікою, можливо передбачити просто 2 варіанти або брати з націнки, або не міняти то що вже вписано
17.09.2021, 17:45
Оригінальний коментар доступний на версії: ru

Суханіцький Андрій ВАНБОКС КОРП
OneBox Corp - Інтегратор
Іменна ліцензія

Суханицький Андрій
Інтегратор
Клієнт
Integrator CRM написав:

Тиндик Максим Вадимович
OneBox production
Адміністратор писав/ла:
У них потрібно записати фільтр: значення по кожному з нового рядка начебто?
Можна дію зробити, яке візьме список вибраних додаткових полів і на їх основі (за тим, де є значення) - запише все в опції.

варіант підходить, тільки я не знаю як бути з ціною, тобто, брати з націнки або не міняти, так як ціна вже записана ... Тут потрібно подумати над логікою, можливо передбачити просто 2 варіанти або брати з націнки, або не міняти то що вже вписано

Сьогодні виявив проблему з опціями:
Вони на сайті заповнюються двома мовами, відповідно при імпорті замовлення https://crm.stylesalon.com.ua/admin/customorder/order/32778/edit/ додається нове доп поле та фільтр

Ось поле, яке створилося https://crm.stylesalon.com.ua/admin/shop/orderproductfield/132/
А ось поле, яке потрібно заповнювати https://crm.stylesalon.com.ua/admin/shop/orderproductfield/9/
Також є 2 фільтри:
https://crm.stylesalon.com.ua/admin/shop/products/filters/889/control/ - Палітра
https://crm.stylesalon.com.ua/admin/shop/products/filters/34/control/ - Палітра фарб
Якщо правильно зрозумів, то назви на укр бере тільки з імпорту замовлень, тому що в отриманні опцій товару лише російська назва.
Чи можемо отримувати назву параметра не із замовлення, а з option_id ?
По option_id віддає назву на рус так як вони віддаються при запиті по продуктах, таким чином не будуть розмножуватися дублі різними мовами і дія, яку ми зробимо, буде правильно ставити опцію, бо в поточному прикладі воно не спрацює.
19.09.2021, 23:15
Оригінальний коментар доступний на версії: ru


варіант підходить, тільки я не знаю як бути з ціною, тобто, брати з націнки або не міняти, так як ціна вже записана ... Тут потрібно подумати над логікою, можливо передбачити просто 2 варіанти або брати з націнки, або не міняти то що вже вписано

Самостійно вирішіть, як вам потрібно.

Сьогодні виявив проблему з опціями:
Вони на сайті заповнюються двома мовами, відповідно при імпорті замовлення https://crm.stylesalon.com.ua/admin/customorder/order/32778/edit/ додається нове доп поле та фільтр
Ось поле, яке створилося https://crm.stylesalon.com.ua/admin/shop/orderproductfield/132/
А ось поле, яке потрібно заповнювати https://crm.stylesalon.com.ua/admin/shop/orderproductfield/9/
Також є 2 фільтри:
https://crm.stylesalon.com.ua/admin/shop/products/filters/889/control/ - Палітра
https://crm.stylesalon.com.ua/admin/shop/products/filters/34/control/ - Палітра фарб
Якщо правильно зрозумів, то назви на укр бере тільки з імпорту замовлень, тому що в отриманні опцій товару лише російська назва.
Чи можемо отримувати назву параметра не із замовлення, а по option_id?
По option_id віддає назву на русо так як вони віддаються при запиті по продуктах, таким чином не будуть розмножуватися дублі різними мовами і дія, яку ми зробимо, буде правильно ставити опцію, бо в поточному прикладі вона не спрацює.

Ми їх і так отримуємо з API опцій продукту https://docs.cs-cart.com/latest/developer_guide/api/entities/options.html, після чого заповнюємо товар
Ну а після вже збирається на підставі замовлення - масив відповідних додаткових полів та заповнюється у продукті процесу
20.09.2021, 09:18
Оригінальний коментар доступний на версії: ru

Суханіцький Андрій ВАНБОКС КОРП
OneBox Corp - Інтегратор
Іменна ліцензія

Тиндик Максим Вадимович
OneBox production
Адміністратор писав/ла:
Ми їх і так отримуємо з API опцій продукту https://docs.cs-cart.com/latest/developer_guide/api/entities/options.html, після чого заповнюємо товар
Ну а після вже збирається на підставі замовлення - масив відповідних додаткових полів та заповнюється у продукті процесу

Тоді звідки береться назва укр? При запиті опцій продукту там лише рус назви

Тиндик Максим Вадимович
OneBox production
Адміністратор писав/ла:
варіант підходить, тільки я не знаю як бути з ціною, тобто, брати з націнки або не міняти, так як ціна вже записана ... Тут потрібно подумати над логікою, можливо передбачити просто 2 варіанти або брати з націнки, або не міняти то що вже вписано
Самостійно вирішіть, як вам потрібно.

А яка оцінка?
20.09.2021, 10:38
Оригінальний коментар доступний на версії: ru


Тоді звідки береться назва укр? При запиті опцій продукту там лише рус назви

Без поняття, може, раніше якось заімпортували?

А яка оцінка?

Оцінка чого? Я не бачу в тій твоїй фразі якусь логіку - тільки міркування, що ти сам не знаєш як тобі і що потрібно зробити)
21.09.2021, 16:23
Оригінальний коментар доступний на версії: ru

Суханіцький Андрій ВАНБОКС КОРП
OneBox Corp - Інтегратор
Іменна ліцензія

Тиндик Максим Вадимович
OneBox production
Адміністратор писав/ла:
Оцінка чого? Я не бачу в тій твоїй фразі якусь логіку - тільки міркування, що ти сам не знаєш як тобі і що потрібно зробити)

Зробити дію, яка візьме список вибраних додаткових полів та на їх основі (за тим, де є значення) - запише все в опції.
+ налаштування змінювати ціну продажу та вхідну ціну (без налаштування - ціну не змінює)
+ Записувати опції в додатковому полі продукту процесу аналогічно налаштуванню в блоці товарів таблицею

Суханицький Андрій
Інтегратор
Клієнт
Integrator CRM написав:
Тиндик Максим Вадимович
OneBox production
Адміністратор писав/ла:
Ми їх і так отримуємо з API опцій продукту https://docs.cs-cart.com/latest/developer_guide/api/entities/options.html, після чого заповнюємо товар
Ну а після вже збирається на підставі замовлення - масив відповідних додаткових полів та заповнюється у продукті процесу
Тоді звідки береться назва укр? При запиті опцій продукту там лише рус назви

Це досить свіже замовлення. Ми ж говорив про заповнення додаткових полів при створенні нового замовлення, а не імпорті продуктів (там з опціями все ок)
Тут точно береться назва додаткового поля для продукту процесу та створення фільтра під нього із замовлення - тільки там вказано назву на укр. Якби при створенні замовлення та додаванні до нього товарів система брала назву за ID опції, то було б поле "Палітра фарб".
Чи можеш це перевірити?
Якщо працює так, то потрібно переробити, щоб брало назву опції при створенні товару з продукту, тобто отримуємо замовлення, в ньому товар, товар вказано "option_id": "8617"
Робимо додатковий запит у вигляді https://stylesalon.com.ua/api/2.0/options/8617, отримуємо "option_name": "Палітра фарб", шукаємо таке додаткове поле продукту процесу в боксі, далі працювати має як зараз - якщо є заповнюємо значенням (додаємо варіант у список, що випадає), якщо ні - створюємо під нього поле. Щодо створення полів та запису значень, не впевнений, що працює так як я написав, але зараз все правильно, тільки саме поле бере інше.
21.09.2021, 17:05
Оригінальний коментар доступний на версії: ru


Зробити дію, яка візьме список вибраних додаткових полів та на їх основі (за тим, де є значення) - запише все в опції.
+ налаштування змінювати ціну продажу та вхідну ціну (без налаштування - ціну не змінює)
+ Записувати опції в додатковому полі продукту процесу аналогічно налаштуванню в блоці продуктів таблицею

5год

Це досить свіже замовлення. Ми ж говорив про заповнення додаткових полів при створенні нового замовлення, а не імпорті продуктів (там з опціями все ок)
Тут точно береться назва додаткового поля для продукту процесу та створення фільтра під нього із замовлення - тільки там вказано назву на укр. Якби при створенні замовлення та додаванні до нього товарів система брала назву за ID опції, то було б поле "Палітра фарб".

аа, ну так там на підставі даних замовлення по продукту $itemProduct['extra']['product_options_value'] створює/шукає фільтр/додаткове поле за назвою option_name та значення variant_name
ну якою мовою прийшло - на тому і шукало / створювало
22.09.2021, 15:44
Оригінальний коментар доступний на версії: ru

Суханіцький Андрій ВАНБОКС КОРП
OneBox Corp - Інтегратор
Іменна ліцензія

Тиндик Максим Вадимович
OneBox production
Адміністратор писав/ла:
аа, ну так там на підставі даних замовлення по продукту $itemProduct['extra']['product_options_value'] створює/шукає фільтр/додаткове поле за назвою option_name та значення variant_name
ну якою мовою прийшло - на тому і шукало / створювало

Так ось, питання в тому, чи можемо ми шукати не по масиву замовлення, а відправляти по кожному продукту замовлення додатковий запит і діставати звідти option_name і variant_name? Бо у нас зараз х2 фільтрів та опцій, які не сходяться з фактичними опціями продукту, що не дасть нам можливості закрити питання повністю, бо при отриманні замовлення мовою ми не зможемо заповнити опції
22.09.2021, 16:10
Оригінальний коментар доступний на версії: ru


Так ось, питання в тому, чи можемо ми шукати не по масиву замовлення, а відправляти по кожному продукту замовлення додатковий запит і діставати звідти option_name і variant_name? Бо у нас зараз х2 фільтрів та опцій, які не сходяться з фактичними опціями продукту, що не дасть нам можливості закрити питання повністю, бо при отриманні замовлення мовою ми не зможемо заповнити опції

Тобто ти хочеш на підставі цієї видачі:
[product_options_value] => Array
(
[0] => Array
(
[option_id] => 18294
[product_id] => 119351
[company_id] => 1
[option_type] => S
[inventory] => N
[regexp] =>
[required] => N
[multiupload] => N
[allowed_extensions] =>
[max_file_size] => 0
[missing_variants_handling] => M
[status] => A
[position] => 0
[value] => 52163
[google_export_name_option] => not_option
[yml2_type_options] =>
[yml2_option_param] =>
[option_name] => Тон
[option_text] =>
[description] =>
[inner_hint] =>
[incorrect_message] =>
[internal_option_name] => Тон
[modifier] => 0
[modifier_type] => A
[variant_name] => Honey (Медовий)
[cost_price] => 0.00
)
[1] => Array
(
[option_id] => 18295
[product_id] => 119351
[company_id] => 1
[option_type] => S
[inventory] => N
[regexp] =>
[required] => N
[multiupload] => N
[allowed_extensions] =>
[max_file_size] => 0
[missing_variants_handling] => M
[status] => A
[position] => 0
[value] => 52165
[google_export_name_option] => not_option
[yml2_type_options] =>
[yml2_option_param] =>
[option_name] => Об'єм
[option_text] =>
[description] =>
[inner_hint] =>
[incorrect_message] =>
[internal_option_name] => Об'єм
[modifier] => 0
[modifier_type] => A
[variant_name] => 40 мл
[cost_price] => 0.00
)
)
брати не option_name - а робити стукіт у https://docs.cs-cart.com/latest/developer_guide/api/entities/options.html#get-a-... - а значення вже яке в замовленні приходить variant_name?
якщо так - то можна зробити налаштування в імпорті замовлень, займе 2ч
22.09.2021, 16:45
Оригінальний коментар доступний на версії: ru

Суханіцький Андрій ВАНБОКС КОРП
OneBox Corp - Інтегратор
Іменна ліцензія
Якщо брати товар з прикладу, то за цим запитом https://stylesalon.com.ua/api/2.0/options/8617
Буде у видачі
{
"option_id": "8617",
"product_id": "67328",
"company_id": "1",
"option_type": "S",
"inventory": "N",
"regexp": "",
"required": "N",
"multiupload": "N",
"allowed_extensions": "",
"max_file_size": "0",
"missing_variants_handling": "M",
"status": "A",
"position": "0",
"value": "",
"google_export_name_option": "not_option",
"yml2_type_options": "",
"yml2_option_param": "",
"option_name": "Палітра фарб",
"internal_option_name": "Палітра фарб",
"option_text": "",
"description": "<p></p>\r\n<script>// <!--[CDATA[\r\n// ]]--></script>\r\n<p> </p>",
"inner_hint": "",
"incorrect_message": "",
"comment": "",
"Variants": {
22.09.2021, 16:52
Оригінальний коментар доступний на версії: ru

Ну, тобто я тебе зрозумів правильно? Якщо так - оцінка по обох пунктах дана
22.09.2021, 17:06
Оригінальний коментар доступний на версії: ru

Суханіцький Андрій ВАНБОКС КОРП
OneBox Corp - Інтегратор
Іменна ліцензія
Окей Дякую
22.09.2021, 18:40
Оригінальний коментар доступний на версії: ru

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