[ELMA3] Отображение в карточке контрагента документов
Рассмотрим пример, как сделать так, чтобы в карточке Контрагента отображались документы, в которых контрагент указан в качестве атрибута. В результате получим в карточке контрагента дополнительную вкладку с нужными документами.
Допустим у нас есть тип документа Договор (Dogovor) с атрибутом Контрагент (Kontragent).
- Для типа документа Договор нужно установить свойство Генерировать фильтр, для атрибута Контрагент – Участвует в поиске(фильтре).
- Скопировать форму просмотра юридического лица (файл c:\ELMA3-Standart\Web\Modules\EleWise.ELMA.CRM.Web\Views\ContractorLegal\TabView.cshtml ) в папку конфигурации\WebApplication\Modules\EleWise.ELMA.CRM.Web\Views\ContractorLegal. Если каких-то папок не хватает, то их нужно создать.
- Открыть скопированную форму в любом текстовом редакторе и дописать в конец:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var docFilterdog = new EleWise.ELMA.Documents.Models.DogovorFilter(); docFilterdog.Kontragent = Model.Entity; var docCount_dog = EntityManager<EleWise.ELMA.Documents.Models.Dogovor>.Instance.Count((EleWise.ELMA.Documents.Models.IDogovorFilter)docFilterdog); tabs.Add( new EleWise.ELMA.Web.Mvc.Models.Selectors.TabPanelItem { Text = SR.T( "Договоры ({0})" , docCount_dog), TabIndex = 5, Selected = seletedTab == 5 }).Content(@<text> <div> @Html.Action( "Grid" , "FilterDocumentFolder" , new RouteValueDictionary { { "id" , null }, { "area" , "EleWise.ELMA.Documents.Web" }, { "DocumentFilter.Types[0].TypeUid" , EleWise.ELMA.Model.Services.InterfaceActivator.UID<EleWise.ELMA.Documents.Models.Dogovor>().ToString()}, { "DocumentFilter.__TypeName" , "EleWise.ELMA.Documents.Models.DogovorFilter, EleWise.ELMA.DynamicModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" }, { "DocumentFilter.Kontragent.Id" , Model.Entity.Id }, { "enableChecked" , false }, { "mergeFilter" , false } }) </div> </text>); }).UseTabProvider( true ).Render()) |
В результате в карточке контрагента появится дополнительная вкладка Договоры со списком договоров контрагента.
Пример полной формы во вложении.