Announcement

Collapse
No announcement yet.

вывести в pdf-отчёт количество записей в разделе

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • вывести в pdf-отчёт количество записей в разделе

    скажите, мне требуется вывести количество записей в pdf-форму из раздела + подсчитать сумму значений в одном из полей в разделе (там только цифры) как это можно сделать?

  • #2
    Добрый день, есть у вас скриншоты ?

    Comment


    • #3
      Скриншотов нет, но хотел бы через формулу понять. Раздел buildings считать буду по полю objectId

      Comment


      • #4
        здравствуйте.
        слишком мало информации.

        какие именно записи требуют выведения в pdf форму (связующая сущность или нет)?

        нужно понять что надо считать чтоб было ясно посильно ли это формулой сделать или нет.

        Comment


        • #5
          у меня есть раздел "контрагенты" к нему прицеплены и к нему зацеплены раздел "окс", раздел "зу", раздел "оцди" каждый из в отношениях "один-ко-многим". хотел бы в карточку контрагента вывести количество записей в каждом разделе в поле в режиме "для чтения" и отдельно в pdf-отчёт

          Comment


          • #6
            Ну раз имеется отношения типа "один-ко-многим" то можно сделать следующее:
            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


            • #7
              1. Сделано
              2. в ОКС пишу такую формулу (в ЗУ и ОЦДИ я так понимаю нужно делать по аналогии с ОКС)

              PHP Code:
              ifThen(
              accountId,
              record\update(
              Account,
              accountId,
              ColOks,
              entity\sumRelated(buildingss)
              )
              ); 
              Не мог ли бы Вы подробнее расписать как правильно? Я в приложении вставил скриншоты зависимостей и новых полей в контрагентах
              Attached Files

              Comment


              • #8

                Здравствуйте.
                Отношения Контрагента к другим сущьностям такие как надо (Один-ко-Многим).
                Обратите внимание на вашу формулу:
                1. ColOks. Ключ поля может быть только с маленькой буквы. Поэтому скорее всего должно быть так: 'сolOks'. Обратите внимание что значение взфто в кавычки.
                2. entity\sumRelated(buildingss). Название ссылки должно быть в кавычках: entity\sumRelated('buildingss')
                3. В ЗУ и ОЦДИ нужно делать по аналогии с ОКС.

                Comment


                • #9
                  Не работает

                  PHP Code:
                  ifThen(
                  accountId,
                  record\update(
                  Account,
                  accountId,
                  'colOks',
                  entity\sumRelated('buildingss')
                  )
                  ); 

                  Comment


                  • #10
                    Ок. Попытка №2.
                    1. Откройте Администрирование -> Управление объектами -> Контрагент -> Поля -> проверьте такой ли ключ colOks у интересующего нас поля.
                    2. В формуле напишите ключ поля без кавычек (нужно попробовать).
                    3. Как вариант можно в строке entity\sumRelated('buildingss') внести изменения типа entity\sumRelated('buildingss', 'id'). Но чесно на сколько я помню я делал это просто указав ключ Отношения.
                    4. Также после каждой неудачи заглядывайте в лог. Может написать типа ошибка синтаксиса, типа данных и т.п. Так быстрее сможете наладить функцию.

                    Comment


                    • #11
                      1. Верно
                      2. Попробовал без ковычек, но увы.
                      3. Попробовал, но нет
                      4. Логи ничего не показывают

                      Comment


                      • #12
                        Удалил логи старые. Перепроверил. Вот что выводится в лог после пересчета. Указано 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


                        • #13
                          > Кстати а для подсчёта количества записей разве нужно указываться entity\sumRelated а не entity\countRelated ?

                          Верно подмечено. для возврата количества записей вам нужно entity\countRelated а не entity\sumRelated Попробуйте его вставить в формулу вместо entity\sumRelated.

                          Comment


                          • #14
                            К сожалению не работает. В логах


                            [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


                            • #15
                              Вы имеете виду атрибут фильтра для формулы?

                              Если так то вы уже наверное могли прочитать, что фильтром являются:
                              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

                              Working...
                              X