Страница 1 из 1

Как получить поле последней даты платежа?

Добавлено: 07 июн 2021, 15:18
OAndrey
Здравствуйте, подскажите есть сущность договора, они же кредитные с данными клиента и вложенная сущность Платежи, в котором вводятся платежи, дата платежа и сумма, и таких платежей много. Как мне получить в поле "Дата последнего" в родительской сущности, чтобы потом по формулам рассчитывать количество дней неоплаты и т.д. Заранее спасибо.

Re: Как получить поле последней даты платежа?

Добавлено: 07 июн 2021, 16:39
nruslan2
как вариант вычислять максимальный id записи или максимальную дату записи - как не крути ваш выход это просто поиск максимального значения)

Re: Как получить поле последней даты платежа?

Добавлено: 07 июн 2021, 18:14
OAndrey
nruslan2 писал(а): 07 июн 2021, 16:39 как вариант вычислять максимальный id записи или максимальную дату записи - как не крути ваш выход это просто поиск максимального значения)
Вопросов нет, а как сделать? Какое поле выбрать в настройках? Может через автоматизацию, но вроде простое действие.

Re: Как получить поле последней даты платежа?

Добавлено: 07 июн 2021, 19:15
support
Для всяких выборок есть специальное поле https://docs.rukovoditel.net.ru/index.php?p=24

Re: Как получить поле последней даты платежа?

Добавлено: 07 июн 2021, 20:52
OAndrey
support писал(а): 07 июн 2021, 19:15 Для всяких выборок есть специальное поле https://docs.rukovoditel.net.ru/index.php?p=24
Делаю выборку, по максимальному значению и получаю
Database Error: 1111 - Invalid use of group function
Query: select e.* ,IFNULL((select msq.field_270 from app_entity_29 msq where MAX(msq.field_270) limit 1),0) as field_274 from app_entity_25 e where e.id>0 limit 0, 10
Page: /index.php?module=items/listing
Вот такую ошибку, подозреваю что это потому что платежа ещё не было создано и во вложенной сущности нет записей, попробовал прописать условие If но оно работает наверно как выборка, а не проверка вообще наличия записей.

А вообще на заметку если что. Система и задумка просто бомба, конструируешь сам как хочешь, но навалено полей и функций так, что по факту не разберёшься, как происходит связь по факту, в чем разница между полями мускул формула и мускул запрос, замудрено. А любые формулы даже самые простые необходимо внедрять при помощи каких-то sql-запросов или же PHP формул, по факту самое важное в црм. В итоге всё равно приходится прибегать к помощи программиста, и самое даже простые вещи и взаимосвязи так легко не построить. Приведу пример, я пересмотрел видео, что мне нужно поля формула, чтобы связать с функциями, но в последней версии его уже нет, непонятно почему, ну и документация Я не особо помогает поскольку найти там что-то нереально она очень-очень бедна, не понятно много, вот бы расписать хотя бы основные алгоритмы построения формул, было бы просто супер. По факту можешь что-то делать с полями и записями и это очень удобно но в пределах одной сущности, когда начинаешь связывать с другими сущностями или вложенными сущностями и налаживать какие-то формулы и связи то всё здесь конец, я приобрёл 2 дополнения на 2 проекта и всё возишься с конструированием системы, хотя в том же самом Экселе это всё было сделано за один день, никаких сложных взаимосвязей просто какие-то формулы. Ну это так к слову, на заметку, что с проблемой? Как правильно задать условие?

Re: Как получить поле последней даты платежа?

Добавлено: 08 июн 2021, 09:59
OAndrey
Короче сделал пока так, создал функцию указал расчет максимального значения по полю http://joxi.ru/DmBJQLjig46jgm и после создал поле динамическая дата и там указал в формуле в скобках функцию, но конечно условие задать не удалось, буду создавать уже дополнительное поле в самой сущности с условием IF но это сложно как то. Получается буду плодить поля. Нельзя ли просто сквозное условие задать чтобы оно обращалось к любой таблице и любому полю в независимости от связей? Ну пока что работает.

Поправка создал условие в поле динамической даты типа IF({6}>0,{6},[218])
где {6} - функция
где [218] - поле в сущности
Для чего надо было, для того чтобы вести расчет количества дней без оплаты и менять статус если будет превышать определенное количество дней, и для нового договора условие в котором если нет платежей то дата с момента оформления договор, вдруг кому то поможет.

Но все равно большая прибольшая просьба снабдить мануал больше примерами работы с формулами, реально очень сложно сориентироваться.