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

Система не фіксує в історію зміни продукту якщо додали спереду 0 або прибрали в полі артикул

Ось історія зміни по товару
За товаром робили зміну поля артикул
Артикул був спочатку "785641001" додали "0" ось так "0785641001"
В історії система цього не зафіксувала
Коли додали "0785641001+" в артикул історію зберегло
Прошу виправити помилку, або описати чому система собі так веде
Оригінальне питання доступне на версії: ru

Відповіді:

при записі історії змін використовується не суворе порівняння старого та нового значень
https://www.php.net/manual/ru/language.operators.comparison.php - власне при порівнянні "785641001" = "0785641001" так як вважає обидва рядки рівнозначними числами
19.11.2021, 16:18
Оригінальний коментар доступний на версії: ru

Куприян Владислав Валерьевич
Baza.cn.ua / Integrator (FOP Kupriyan)

Тиндик Максим Вадимович
OneBox production написав:
при записі історії змін використовується не суворе порівняння старого та нового значень
https://www.php.net/manual/ru/language.operators.comparison.php - власне при порівнянні "785641001" = "0785641001" так як вважає обидва рядки рівнозначними числами

У вас помилка в коді, ви використовуєте "Порівняння типів", а треба порівнювати не "число" зі "рядком", а треба порівнювати "строку" зі "рядком" і тоді ці значення будуть не рівнозначними, виправте помилку або напишіть чому ви наводите артикул до числового типу, якщо це "рядок"
19.11.2021, 16:58
Оригінальний коментар доступний на версії: ru


У вас помилка в коді, ви використовуєте "Порівняння типів", а треба порівнювати не "число" зі "рядком", а треба порівнювати "строку" зі "рядком" і тоді ці значення будуть не рівнозначними, виправте помилку або напишіть чому ви наводите артикул до числового типу, якщо це "рядок"

Ще раз - використовується не суворе порівняння - у такому разі мова дані 2 значення рівнозначні як числа. Це зроблено спеціально, щоб не засмічувати історію порівняння на кшталт "0 = 0.00", "1.1 = 1.10" і т.д.
Якщо вас подібне не влаштовує – без проблем, ми можемо для вас доопрацювати налаштування, щоб у вас було суворе порівняння – це займе 3 години (продукти/процеси/контакти). Відповідальність за "сміття" в історії (за прикладом вищезгаданого) залишається за вами.
PS: якщо Ви стверджуєте про помилку, що щось має працювати інакше – аргументуйте це якоюсь технічною документацією (як мінімум технічним завданням на розробку функціоналу). В іншому випадку ваша "логіка" є не більшою, ніж вашою потребою.
22.11.2021, 12:30
Оригінальний коментар доступний на версії: ru

Куприян Владислав Валерьевич
Baza.cn.ua / Integrator (FOP Kupriyan)
Ви можете пояснити чому ви використовуєте логіку для числових полів у рядкових полях і чому ми тоді не використовуєте цю логіку у фільтрах?
Якось просто виходити нелогічно, артикул це "рядок" не "число", для чого використовувати тут порівняння для числових полів незрозуміло
24.11.2021, 12:04
Оригінальний коментар доступний на версії: ru


Ви можете пояснити чому ви використовуєте логіку для числових полів у рядкових полях і чому ми тоді не використовуєте цю логіку у фільтрах?

Я вже вказав, як працює функціонал.

Якось просто виходити нелогічно, артикул це "рядок" не "число", для чого використовувати тут порівняння для числових полів незрозуміло

Логіка - абстрактне поняття, яке у більшості випадків ґрунтується лише на сприйнятті конкретної індивідууму тієї чи іншої ситуації.
Вище я запропонував вам рішення, вказавши на можливі наслідки - ви маєте право піти шляхом його реалізації чи ні.
PS: у вас коробкова версія продукту (за моделлю AS IS) - і те, що вам здається "не логічним" не означає, що працює не правильно або має працювати інакше.
24.11.2021, 15:35
Оригінальний коментар доступний на версії: ru

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