...

Добавление новой вкладки у сделки.

Тема в разделе "Разработчикам", создана пользователем alexfuse, 2 фев 2018.

  1. alexfuse

    alexfuse Member

    Добавил вкладку, это не проблема. Нужно отображать список контрагентов у текущей сделки как у поступлений (скрин 2) в виде таблицы, с кнопками редактирования и добавления. Как это сделать?

    Пробовал выводить как у поступлений
    Код:
    @Html.Action("Inpayments", "Inpayment", new { SaleId = Model.Entity.Id })
    так же пробовал вариант как у взаимоотношения
    Код:
    @Html.Action("Grid", "Relationship", new { SaleId = Model.Entity.Id, GridId = "SaleRelationships_" + Model.Entity.Id })
    в итоге выводится стандартная таблица контрагента (скрин 3)
     

    Вложения:

  2. pushkarev

    pushkarev Active Member

    Правильно ли я понимаю, что у вас создано дополнительное поле для контрагентов (список заявителей), т.к. стандартное поле контрагент у сделки - единичное?
    Если так, то к сожалению в ELMA нет табличного представления полей типа многие ко многим, если я правильно я понял, то у вас используется оно. Есть только стандартный элемент выбора контрагентов и возможность создания через плюс и доступен он только в режиме редактирования объекта (в вашем случае при редактировании сделки. Если рассматривать работу с поступлениями на сделке, то для них в платформе реализован специальный контроллер по добавлению, удалению и изменению связанных со сделкой поступлений и разработан ряд представлений. В части реализации работы формы поступлений по сделке можете посмотреть как реализовано в папке: {ELMA}\Web\Modules\EleWise.ELMA.CRM.Web\Views\Inpayment\SaleInpayments\ там 2 представления используется, может поможет с идей для создания добавления контрагентов, но задача трудоемкая.
    Я бы ограничился обычным полем добавления контрагентов в режиме редактирования сделки, и на форме просмотра вывел бы список связанных объектов с контрагентами по данной сделке в редакторе форм.
     
  3. alexfuse

    alexfuse Member

    Все верно.

    Появился еще один вопрос
    При запросе взаимоотношений через "API/REST/Entity/Query?type=bed7fd63-a906-44ea-929a-2b085c8edfc9&q="
    Elma выдает ошибку.

    {"InnerException":null,"Message":"System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.\u000d\u000a в System.Object.GetType()\u000d\u000a в EleWise.ELMA.Common.Models.WebData..ctor(IEnumerable`1 dicObj)\u000d\u000a в EleWise.ELMA.Common.Models.WebData.CreateFromEntity(IEntity entity, Func`2 propertyFilter, Func`2 tablePartFilter)\u000d\u000a в EleWise.ELMA.Web.Service.v1.EntityService.b__1(IEntity entity)\u000d\u000a в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\u000d\u000a в System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)\u000d\u000a в System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)\u000d\u000a в EleWise.ELMA.Web.Service.v1.EntityService.Query(String typeuid, String eqlQuery, String sort, Int32 limit, Int32 offset, String filterProviderUid, String filterProviderData, String filter)","StatusCode":500}

    С чем это может быть связано?
     
  4. pushkarev

    pushkarev Active Member

    По поводу запроса к web API:
    У вас на сколько я вижу неверный uid типа взаимоотношения, у взаимоотношения uid: f868288c-d4a4-4760-a214-382d1e000cf2 (можно посмотреть тут)
    Ну и я бы рекомендовал в запросе указывать все параметры:
    {адрес elma}/API/REST/Entity/Query?type=f868288c-d4a4-4760-a214-382d1e000cf2&q=&limit=200&offset=0&sort&filterProviderUid&filterProviderData&filter
    Обращаю внимание, что данный запрос загружает первые 200 записей (параметр limit), если нужно больше, то можно лимо увеличить лимит, либо загружать постранично в несколько запросов.
     
  5. alexfuse

    alexfuse Member

    Пробовал разные типы получить(письмо, звонок, встреча)

    Выполнил данный запрос, в итоге ошибка.

    Ошибка: Undescribed error Код ошибки: 0
     
  6. pushkarev

    pushkarev Active Member

    Странно, я проверял этот запрос, он на моем сервере выдал правильные данные.
    А работают ли другие запросы к webAPI, работали ли ранее запросы Entity/Query к другим типам объектов?
    Есть ли права доступа у пользователя, под которым выполняется запрос к взаимоотношениям?
    Какие параметры запроса: Content-Type и webdata-version указываются при вызове, используется get или post запрос?
     
  7. alexfuse

    alexfuse Member

    Остальные запросы работают, система работает стабильно. Проверяли на других объектах, все нормально. Проблемы именно с взаимоотношениями, раньше не было задачи работать с ними через запросы. Также при попытке создания взаимоотношения (через Insert) пишет что не переданы данные, хотя в запросе все передается.

    Точный ответ смогу дать уже завтра
     
  8. alexfuse

    alexfuse Member

    'Content-Type: application/json;odata=verbose'
    get и post запрос определяются автоматически, т.е. если передаются данные то используется post запрос, если данных нет то get

    А вот если сделать запрос Count то он выдает число без ошибок
     
    Последнее редактирование: 9 фев 2018
  9. pushkarev

    pushkarev Active Member

    Очень странно, получается с другими объектами запрос проходит нормально, запрос количества проходит нормально, но запрос именно взаимоотношений приводит к ошибке. Я бы проверил нормально ли работают взаимоотношения через фильтрацию объектов (это в разделе администрирование - система - фильтрация объектов). Ну и проверил бы лог ошибок после запроса, может быть там есть более подробная информация. И если ничего не помогает, то написал бы в поддержку.
     

Поделиться: