скажите, мне требуется вывести количество записей в pdf-форму из раздела + подсчитать сумму значений в одном из полей в разделе (там только цифры) как это можно сделать?
Announcement
Collapse
No announcement yet.
вывести в pdf-отчёт количество записей в разделе
Collapse
X
-
у меня есть раздел "контрагенты" к нему прицеплены и к нему зацеплены раздел "окс", раздел "зу", раздел "оцди" каждый из в отношениях "один-ко-многим". хотел бы в карточку контрагента вывести количество записей в каждом разделе в поле в режиме "для чтения" и отдельно в pdf-отчёт
Comment
-
Ну раз имеется отношения типа "один-ко-многим" то можно сделать следующее:
1. В сущность Контрагенты добавляем 3 поля типа Integer (простое число) по одному для каждой связующей сущности для хранения количества записей.
2. Для каждой из связующих сущьностей ("окс", "зу", "оцди") пишем формулу типа: если поле AccountId не пусто, то обновить связующий
Code:ifThen( accountId, record\update( 'Account', accountId, 'your-int-type-field', entity\sumRelated('your-link-with-entity') ) );
- https://docs.espocrm.com/administrat.../#recordupdate
- https://docs.espocrm.com/administrat...titysumrelated
После установки формулы запустите пересчет формулы для всех записей сущьностей "окс", "зу" и "оцди".
3. В шаблон PDF просто добавляете поля которые содержат количество связующих сущьностей.
P.S. Почему я определил формулу не для Контрагента, а для каждой из "окс", "зу" и "оцди". Дело в том, что когда создается связующая запись в "окс", "зу" и "оцди", формула Контрагента не запускается, поскольку это не входит в перечень изменений самого Контрагента. Поэтому правильно это делать способом указанным выше.
Comment
-
1. Сделано
2. в ОКС пишу такую формулу (в ЗУ и ОЦДИ я так понимаю нужно делать по аналогии с ОКС)
PHP Code:ifThen(
accountId,
record\update(
Account,
accountId,
ColOks,
entity\sumRelated(buildingss)
)
);
Comment
-
Здравствуйте.
Отношения Контрагента к другим сущьностям такие как надо (Один-ко-Многим).
Обратите внимание на вашу формулу:
1. ColOks. Ключ поля может быть только с маленькой буквы. Поэтому скорее всего должно быть так: 'сolOks'. Обратите внимание что значение взфто в кавычки.
2. entity\sumRelated(buildingss). Название ссылки должно быть в кавычках: entity\sumRelated('buildingss')
3. В ЗУ и ОЦДИ нужно делать по аналогии с ОКС.
Comment
-
Ок. Попытка №2.
1. Откройте Администрирование -> Управление объектами -> Контрагент -> Поля -> проверьте такой ли ключ colOks у интересующего нас поля.
2. В формуле напишите ключ поля без кавычек (нужно попробовать).
3. Как вариант можно в строке entity\sumRelated('buildingss') внести изменения типа entity\sumRelated('buildingss', 'id'). Но чесно на сколько я помню я делал это просто указав ключ Отношения.
4. Также после каждой неудачи заглядывайте в лог. Может написать типа ошибка синтаксиса, типа данных и т.п. Так быстрее сможете наладить функцию.
Comment
-
Удалил логи старые. Перепроверил. Вот что выводится в лог после пересчета. Указано entity\sumRelated('buildingss')
[2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ERROR: Formula failed: sumRelated: Too few arguments. [] [] [2021-03-21 09:54:48] ......
а при entity\sumRelated('buildingss', 'id')
[2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] [] [2021-03-21 09:57:34] ERROR: Formula failed: [] []
Кстати а для подсчёта количества записей разве нужно указываться entity\sumRelated а не entity\countRelated ?Last edited by Sab0tajue; 03-21-2021, 10:13 AM.
Comment
-
> Кстати а для подсчёта количества записей разве нужно указываться entity\sumRelated а не entity\countRelated ?
Верно подмечено. для возврата количества записей вам нужно entity\countRelated а не entity\sumRelated Попробуйте его вставить в формулу вместо entity\sumRelated.
Comment
-
К сожалению не работает. В логах
[2021-03-23 08:04:59] ERROR: Formula failed: [] []
Количество посчитал простой формулой colOks = record\count('Buildings', 'open') и планирую вывести это поле уже в PDF, но как увязать фильтр по контрагентам? Чтобы можно было бы отсеивать информацию по каждому контрагенту.Last edited by Sab0tajue; 03-23-2021, 08:49 AM.
Comment
-
Вы имеете виду атрибут фильтра для формулы?
Если так то вы уже наверное могли прочитать, что фильтром являются:
1. Встроенные системные фильтры типа "Won", и т.п. для Opportunity, и так далее.
2. Добавленные вручную через код https://docs.espocrm.com/development...select-manager
3. При наличии Advanced Pack реализовать через Report filter:
- https://docs.espocrm.com/user-guide/...report-filters
- https://docs.espocrm.com/administration/formula/#filter
Таким образом вы можете создать свой фильтр.
Comment
Comment