Статическое, обновляемое числовое поле?

Все вопросы/проблемы по установке и использовании.
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Статическое, обновляемое числовое поле?

Сообщение meu3 »

В процессе построения своей системы учета возник вопрос по получению в некоей сущности,
скажем "Опт"
содержащей информацию об оптовых покупателях (контакты, адреса, условия работы),
данных из сущности "Продажи"
содержащих собственно продажи
в которых "Опт" присутствует в виде поля типа "сущность".
Проблема в том, что в "Продажах" итоговая сумма высчитывается с помощью всех доступных инструментов (функции, js, MySQL), что в итоге приводит к проблемам при вычислении итогового MySQL запроса для сущности "Опт". Что-то там, "у ей внутре", неправильно отрабатывает из-за разносортности данных и разности сущностей.
Вопрос 1: кто сталкивался с этим зоопарком и как решал проблему?
Вопрос 2: может из=за этих несовместимостей нужен новый, промежуточный тип поля, которое бы хранило результаты предыдущих вычислений? Наподобие "Статического текста по шаблону", только числовое? И чтобы обновлялось при изменении связанных с ним записей?
Или заморочиться и из "Статического текста по шаблону" получить число?
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Статическое, обновляемое числовое поле?

Сообщение meu3 »

"А что нам скажет начальник транспортного цеха?"
Уважаемый разработчик, может подскажете, как сделать поле аккумулятор вычислений в связи с некоторой несовместимостью при переносе данных между сущностями через запросы?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Статическое, обновляемое числовое поле?

Сообщение support »

Может проще разобраться что ни так с MySQL запросом?
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Статическое, обновляемое числовое поле?

Сообщение meu3 »

Database Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '16})) from app_entity_26 msq where e.id=msq.field_2011 limit 1),0) as field_2010' at line 1
Последний раз редактировалось meu3 19 мар 2020, 22:02, всего редактировалось 1 раз.
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Статическое, обновляемое числовое поле?

Сообщение meu3 »

В своих сущностях - все работает. А вот при попытке спросить из другой - проблема. Поле - аккумулятор могло бы решить вопрос.

Код: Выделить всё

SELECT e.* ,
         ( 
    (SELECT SUM(((if( 
        (SELECT SUM(func99.field_1944+0)
        FROM app_entity_122 func99
        WHERE func99.id>0
                AND func99.parent_item_id=func100.id ) , 
            (SELECT SUM(func99.field_1944+0)
            FROM app_entity_122 func99
            WHERE func99.id>0
                    AND func99.parent_item_id=func100.id ) ,0))-(( 
                (SELECT SUM(func99.field_1932+0)
                FROM app_entity_121 func99
                WHERE func99.id>0
                        AND func99.parent_item_id=func100.id ) )+func100.field_1934-func100.field_2002))+0)
                FROM app_entity_120 func100
                WHERE func100.id>0
                        AND func100.parent_item_id=e.id ) ) AS field_1951, ( 
                    (SELECT SUM(func100.field_1944+0)
                    FROM app_entity_122 func100
                    WHERE func100.id>0
                            AND func100.parent_item_id IN 
                        (SELECT func_120.id
                        FROM app_entity_120 func_120
                        WHERE func_120.parent_item_id IN (e.id))) ) AS field_2009,IFNULL(
                        (SELECT ({16})
                            FROM app_entity_26 msq
                            WHERE e.id=msq.field_2011 limit 1),0) AS field_2010
                        FROM app_entity_118 e
                    WHERE e.id>0
                ORDER BY  e.field_1894 ASC limit 0, 30
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Статическое, обновляемое числовое поле?

Сообщение meu3 »

support писал(а): 19 мар 2020, 13:36 Может проще разобраться что ни так с MySQL запросом?
Не понятно как можно разобраться с запросом без отладки.
Подозреваю, что во всем виноват запуск функции для сущности №2 из сущности №1. Но как увидеть результат выполнения запроса и функции - не представляю :cry:
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Статическое, обновляемое числовое поле?

Сообщение meu3 »

support писал(а): 19 мар 2020, 13:36 Может проще разобраться что ни так с MySQL запросом?
Может быть уважаемый :geek: разработчик намекнет как?
Насколько я понимаю - это системная проблема. Ошибка происходит в точке вызова функции, которая не относится к сущности ее вызывающей.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Статическое, обновляемое числовое поле?

Сообщение support »

Не запускается функция {16}, она не вставляется в запрос. Что это за функция?
Аватара пользователя
meu3
Сообщения: 398
Зарегистрирован: 28 сен 2018, 13:21
Имя: Юрий Трифонов
Откуда: Россия Севастополь
Организация: IDEA

Re: Статическое, обновляемое числовое поле?

Сообщение meu3 »

Сумма стоимости товара в заказе покупателя
SUM(стоимость товара)
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Статическое, обновляемое числовое поле?

Сообщение support »

Пока нет идей в чем причина.
Ответить