Announcement

Collapse
No announcement yet.

Отображения в календаре

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

  • #16
    в Activities.php

    HTML Code:
      $selectManager = $this->getSelectManagerFactory()->create('Meeting');
    
            $baseSelectParams = array(
                'select' => [
                    'id',
                    'name',
                    ['dateStart', 'dateStart'],
                    ['dateEnd', 'dateEnd'],
                    ['VALUE:Meeting', '_scope'],
                    'assignedUserId',
                    'assignedUserName',
                    'parentType',
                    'parentId',
                    'parentName', добавил
                    'status',
                    'createdAt',
                    ['VALUE:', 'hasAttachment']
                ],
                'whereClause' => array(),
                'customJoin' => ''
            );
    Далее меняю /client/modules/crm/src/views/calendar/calendar.js

    HTML Code:
            },
    
            convertToFcEvent: function (o) {
                var event = {
                    title: o.parentName, заменил name на другое поле
                    scope: o.scope,
                    id: o.scope + '-' + o.id,
                    recordId: o.id,
                    dateStart: o.dateStart,
                    dateEnd: o.dateEnd,
                    dateStartDate: o.dateStartDate,
                    dateEndDate: o.dateEndDate,
                    status: o.status
                };
    По идеи должно отображаться имя клиента, контакта, контрагента но к сожалению нечего нет(пустая ячейка)

    Поле же прогружается, значит оно должно отображаться в ячейке календаря, но нет

    П.С, Кэш очищал

    Comment


    • #17
      Такое поле parentName существует же?)

      Comment


      • #18
        Как добавить parentName в loadAdditionalFields

        Comment


        • #19
          Просто суть такова что когда создаешь запись в календарь все хорошо, а после обновления страницы сбрасывается (пустой квадрат)

          Просто хочу что бы в место поле name отображалось Имя контакта
          Last edited by nebraska8th; 08-22-2018, 12:25 PM.

          Comment


          • #20
            Нужно куда то еще добавлять что бы поле parentName погрузилось, т.к. Activities.php не совсем то. Заменял parentTyre на parentName результата не дало


            Вот метод загрузки встречи
            HTML Code:
              protected function getCalendarMeetingQuery($userId, $from, $to)
                {
                    $selectManager = $this->getSelectManagerFactory()->create('Meeting');
            
                    $selectParams = array(
                        'select' => [
                            ['VALUE:Meeting', 'scope'],
                            'id',
                            'name',
                            'parentName',
                            ['dateStart', 'dateStart'],
                            ['dateEnd', 'dateEnd'],
                            'status',
                            ['VALUE:', 'dateStartDate'],
                            ['VALUE:', 'dateEndDate'],
                            'parentType',
                            'parentId',
                            'createdAt'
                        ],
                        'leftJoins' => ['users'],
                        'whereClause' => array(
                            'usersMiddle.userId' => $userId,
                            array(
                                'OR' => array(
                                    array(
                                        'dateStart>=' => $from,
                                        'dateStart<' => $to
                                    ),
                                    array(
                                        'dateEnd>=' => $from,
                                        'dateEnd<' => $to
                                    ),
                                    array(
                                        'dateStart<=' => $from,
                                        'dateEnd>=' => $to
                                    )
                                )
                            ),
                            'usersMiddle.status!=' => 'Declined'
                        ),
                        'customJoin' => ''
                    );
            Last edited by nebraska8th; 08-22-2018, 04:58 PM.

            Comment


            • #21
              1 - не забывайте, что у вас UNION
              2 - у вас нет джойнов на parent
              3 - календарь не грузит сущности (объекты), результат есть масивом масивов, потому loadAdditionalFields не сработает
              4 - хотите костыль, грузите значения здесь https://github.com/espocrm/espocrm/b...ties.php#L1142

              Comment


              • #22
                Не могу реализовать данный вариант, но есть идея Можно поменять тип поля name что бы он автоматически брал значения parent (то есть имя и фамилию)

                Значение меняется в метадате? Можно ли так делать или лучше не стоит?

                Comment


                • #23
                  /application/Espo/Modules/Crm/Resources/metadata/entityDefs/Meeting.json находим поле name и надо прописать что бы оно брало значения parent

                  Comment


                  • #24
                    /custom/Espo/Custom/Resources/metadata/entityDefs/Meeting.json вот этот файл за все отвечает
                    Мне удалось сделать что бы он отображал фамилию ответственного
                    37 стока

                    "name": { -само поле
                    "readOnly": true, - ????
                    "type": "foreign", - тип поля
                    "link": "assignedUser", - ссылка откуда брать
                    "field": "lastName", - с какого поля брать
                    "view": "views/fields/foreign-varchar", - как показывать
                    "tooltip": false, - ???
                    "isCustom": true - ???
                    },

                    Теперь надо как то сделать запрос на Имя привязанного контакта. У кого есть идеи???
                    Last edited by nebraska8th; 08-23-2018, 04:05 PM.

                    Comment


                    • #25
                      Делаю выводить name с контрагентов все работает
                      "readOnly": true,
                      "type": "foreign",
                      "link": "account",
                      "field": "name",
                      "view": "views/fields/foreign-varchar",
                      "tooltip": false,
                      "isCustom": true
                      },
                      А с контактами так не получается

                      Comment


                      • #26
                        не загружает contacts

                        "name": {
                        "readOnly": true,
                        "type": "foreign",
                        "link": "contacts",
                        "field": "familichar",
                        "view": "views/fields/foreign-varchar",
                        "tooltip": false,
                        "isCustom": true
                        },

                        Comment


                        • #27
                          Уже все перепробовал и через встречи грузить и так и сяк, пожалуйста помогите, я просто устал уже. КАК заставить грузить имя из контакта

                          'contactName' =>
                          array (
                          'type' => 'foreign',
                          'notStorable' => false,
                          'relation' => 'contact',
                          'foreign' =>
                          array (
                          0 => 'firstName',
                          1 => ' ',
                          2 => 'lastName',
                          ),
                          ),
                          Данные из кэша, но он не хочет блин
                          Last edited by nebraska8th; 08-23-2018, 05:06 PM.

                          Comment


                          • #28
                            'relation' => 'contact',
                            У вас есть такой рилейшн с таким именем?

                            Не лучшее решение, но рабочее

                            foreach ($rows as $id => $row) {
                            if (!empty($row['parentId'])) {
                            $parent = $this->getEntityManager()->getEntity($row['parentType'], $row['parentId']);
                            if ($parent) {
                            $rows[$id]['parentName] = $parent->get('name');
                            }
                            }
                            }

                            Comment


                            • #29
                              Подскажите как в календаре добавить поле контакта и контрагента

                              Comment

                              Working...
                              X