Ошибка MySQL формула

Все вопросы/проблемы по установке и использовании.
Ответить
Vladislav Naumov
Сообщения: 6
Зарегистрирован: 29 ноя 2022, 11:00
Имя: Vladislav Naumov
Откуда: Волгоград
Организация: FitLab

Ошибка MySQL формула

Сообщение Vladislav Naumov »

Здравствуйте. Формула имеет такой вид. Если поле 372 - расходные материалы имеет значение, то поле 274 - сумма работ минус расходные материалы и умножается на значение выработки (50% или 20%), в противном случае просто сумма работ умножаетя на выработку.

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

if(([372]+0)>0,(([274]-[372])*get_value([371]),[274]*get_value([371])
Ошибка выглядит так:
Изображение
Lozhkinda
Сообщения: 61
Зарегистрирован: 11 янв 2023, 11:15
Имя: Дмитрий
Откуда: Мурманск

Re: Ошибка MySQL формула

Сообщение Lozhkinda »

а где ( закрытия if
Lozhkinda
Сообщения: 61
Зарегистрирован: 11 янв 2023, 11:15
Имя: Дмитрий
Откуда: Мурманск

Re: Ошибка MySQL формула

Сообщение Lozhkinda »

Vladislav Naumov писал(а): 28 авг 2023, 10:20 Здравствуйте. Формула имеет такой вид. Если поле 372 - расходные материалы имеет значение, то поле 274 - сумма работ минус расходные материалы и умножается на значение выработки (50% или 20%), в противном случае просто сумма работ умножаетя на выработку.

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

if(([372]+0)>0,(([274]-[372])*get_value([371]),[274]*get_value([371])
Ошибка выглядит так:
Изображение
Попробуйте разбить запрос на составные и выполнить по очереди
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1197
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Ошибка MySQL формула

Сообщение Fait »

Vladislav Naumov писал(а): 28 авг 2023, 10:20 Здравствуйте. Формула имеет такой вид. Если поле 372 - расходные материалы имеет значение, то поле 274 - сумма работ минус расходные материалы и умножается на значение выработки (50% или 20%), в противном случае просто сумма работ умножаетя на выработку.

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

if(([372]+0)>0,(([274]-[372])*get_value([371]),[274]*get_value([371])
Ошибка выглядит так:
Изображение
В вашем коде ошибка в синтаксисе.
Попробуйте следующий код:

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

if(([372]+0)>0,(([274]-[372])*get_value([371])),([274]*get_value([371])))
Я бы ещё добавил IFNULL на значения.
Вот так:

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

IF(IFNULL([372],0)>0,((IFNULL([274],0)-IFNULL([372],0))*get_value([371])),(IFNULL([274],0)*get_value([371])))
Vladislav Naumov
Сообщения: 6
Зарегистрирован: 29 ноя 2022, 11:00
Имя: Vladislav Naumov
Откуда: Волгоград
Организация: FitLab

Re: Ошибка MySQL формула

Сообщение Vladislav Naumov »

Здравствуйте.
В принципе перестало что-либо отображаться в этом поле что с одним кодом, что со вторым. В чём может быть проблема?
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1197
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Ошибка MySQL формула

Сообщение Fait »

А какие типы полей 371, 372 и 374?
Vladislav Naumov
Сообщения: 6
Зарегистрирован: 29 ноя 2022, 11:00
Имя: Vladislav Naumov
Откуда: Волгоград
Организация: FitLab

Re: Ошибка MySQL формула

Сообщение Vladislav Naumov »

372 - mysql запрос (подтягивает значение из другой подсущности)
371 - сущность (выпадающий список с выбором значений 20 или 50)
274 - mysql формула , сумма работ
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1197
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Ошибка MySQL формула

Сообщение Fait »

Vladislav Naumov писал(а): 01 сен 2023, 15:10 372 - mysql запрос (подтягивает значение из другой подсущности)
371 - сущность (выпадающий список с выбором значений 20 или 50)
274 - mysql формула , сумма работ
Тогда проблема может быть в том, что поля 372 и 274 - динамические.
Тогда расчёт потенциально может выдавать 0 по причине вложенности запросов.

Выход есть, можно заставить это поле работать.
Просто запрос будет сложнее в этом случае...
Vladislav Naumov
Сообщения: 6
Зарегистрирован: 29 ноя 2022, 11:00
Имя: Vladislav Naumov
Откуда: Волгоград
Организация: FitLab

Re: Ошибка MySQL формула

Сообщение Vladislav Naumov »

Fait писал(а): 01 сен 2023, 20:37
Vladislav Naumov писал(а): 01 сен 2023, 15:10 372 - mysql запрос (подтягивает значение из другой подсущности)
371 - сущность (выпадающий список с выбором значений 20 или 50)
274 - mysql формула , сумма работ
Тогда проблема может быть в том, что поля 372 и 274 - динамические.
Тогда расчёт потенциально может выдавать 0 по причине вложенности запросов.

Выход есть, можно заставить это поле работать.
Просто запрос будет сложнее в этом случае...
Как именно лучше это реализовать посоветуете?
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1197
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Ошибка MySQL формула

Сообщение Fait »

Vladislav Naumov писал(а): 14 сен 2023, 15:33
Fait писал(а): 01 сен 2023, 20:37
Vladislav Naumov писал(а): 01 сен 2023, 15:10 372 - mysql запрос (подтягивает значение из другой подсущности)
371 - сущность (выпадающий список с выбором значений 20 или 50)
274 - mysql формула , сумма работ
Тогда проблема может быть в том, что поля 372 и 274 - динамические.
Тогда расчёт потенциально может выдавать 0 по причине вложенности запросов.

Выход есть, можно заставить это поле работать.
Просто запрос будет сложнее в этом случае...
Как именно лучше это реализовать посоветуете?
Здесь в теме я это точно не подскажу, не хватает исходных данных.
Надо смотреть вашу систему, и тогда понятно будет.
Если готовы, то обратитесь в ЛС, сделаю вам всё
Ответить