Ошибка при использовании MySQL формулы

Все вопросы/проблемы по установке и использовании.
Ответить
corduroy
Сообщения: 9
Зарегистрирован: 05 янв 2022, 00:00
Имя: corduroy
Откуда: Ukraine, Kiev
Организация: realauto
Контактная информация:

Ошибка при использовании MySQL формулы

Сообщение corduroy »

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

if([330]>0,([274]-[330]*get_value[314]),0)
Если поле 330 больше нуля, его сумма отнимается от суммы выполненных работ и умножается на сумму выработки (50,20 проц., выпадающий список), в противном случае (если 330 поле пустое), сумма выполненных работ просто умножается на выработку.
Выскакивает ошибка, с чем может быть связано?
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Ошибка при использовании MySQL формулы

Сообщение support »

Так как 330 - это строка и может быть пусть, нужно проверять длину поля или можно вот так:

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

if(([330]+0)>0,([274]-[330]*get_value[314]),0)
corduroy
Сообщения: 9
Зарегистрирован: 05 янв 2022, 00:00
Имя: corduroy
Откуда: Ukraine, Kiev
Организация: realauto
Контактная информация:

Re: Ошибка при использовании MySQL формулы

Сообщение corduroy »

support писал(а): 08 янв 2022, 08:36 Так как 330 - это строка и может быть пусть, нужно проверять длину поля или можно вот так:

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

if(([330]+0)>0,([274]-[330]*get_value[314]),0)
Прошу прощения, изначально предоставил не ту формулу, которая у меня, она выглядит так:

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

if([330]>0,([274]-[330]*get_value[314]),([274]*get_value[314]))
Если поле расходные материалы [330] больше нуля, его сумма отнимается от суммы выполненных работ[274] и умножается на сумму выработки[314] (50,20 проц., выпадающий список), в противном случае (если 330 поле пустое), сумма выполненных работ[274]просто умножается на выработку[314].
Поле расходные материалы [330] - mysql запрос, который подтягивает значение из сущности расходные материалы, может быть, я допустил ошибку в этом? Он выглядит вот так.
Изображение
[327] [332] - поле исполнителя работы и за кем закреплен расходный материал.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Ошибка при использовании MySQL формулы

Сообщение support »

Ну суть та же. Попробуйте заменить условие на ([330]+0)>0
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Ошибка при использовании MySQL формулы

Сообщение nruslan2 »

в самой ошибке обычно кстати и пишется что не так! так что скрин ошибки тоже бы опубликовать не мешало бы
corduroy
Сообщения: 9
Зарегистрирован: 05 янв 2022, 00:00
Имя: corduroy
Откуда: Ukraine, Kiev
Организация: realauto
Контактная информация:

Re: Ошибка при использовании MySQL формулы

Сообщение corduroy »

nruslan2 писал(а): 09 янв 2022, 12:08 в самой ошибке обычно кстати и пишется что не так! так что скрин ошибки тоже бы опубликовать не мешало бы
Прошу прощения, сразу не догадался
Изображение
corduroy
Сообщения: 9
Зарегистрирован: 05 янв 2022, 00:00
Имя: corduroy
Откуда: Ukraine, Kiev
Организация: realauto
Контактная информация:

Re: Ошибка при использовании MySQL формулы

Сообщение corduroy »

support писал(а): 09 янв 2022, 11:53 Ну суть та же. Попробуйте заменить условие на ([330]+0)>0
Теперь формула выглядит вот так

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

if(([330]+0)>0,(([274]-[330])*get_value[314]),[274]*get_value[314])
,
но ошибка не ушла.
Скриншот предоставил сообщением выше.
Аватара пользователя
support
Техническая поддержка
Сообщения: 7661
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Ошибка при использовании MySQL формулы

Сообщение support »

Скобки забыли get_value([314])
corduroy
Сообщения: 9
Зарегистрирован: 05 янв 2022, 00:00
Имя: corduroy
Откуда: Ukraine, Kiev
Организация: realauto
Контактная информация:

Re: Ошибка при использовании MySQL формулы

Сообщение corduroy »

support писал(а): 09 янв 2022, 16:03 Скобки забыли get_value([314])
В такие моменты я испытываю испанский стыд, но я искренне благодарен всем за помощь. Дело было в скобках, спасибо :D
Ответить