Ваш браузер устарел, не поддерживает современные веб-стандарты и представляет угрозу Вашей безопасности. Для комфортной работы с порталом, пожалуйста, установите современыый браузер.
Портал технической поддержки

Можно ли для контрола вида Card задать папку, которая будет открываться по-умолчанию

Комментарии

Комментариев: 7

  • Официальный комментарий

    https://docsvision.com/docs/DeveloperManual/index.html#DV_Class_libary/DocsVision/Platform/CardHost/ICardHost.SelectCard_1_MT.html

    Тут есть примеры вызова соответствующего диалога с позиционированием на папке.

     

    CardChooseBox этого, увы, не поддерживает, там можно задать только строковый CardsFilter для поискового запроса.

    Можно сделать свою кнопку для выбора карточки, которая вызовет SelectCard с параметром папки.

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


    string ItemID = new Guid("239AB1DA-5128-4C2A-B974-41B28891A749").ToString("B").ToUpperInvariant();

    Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefStaff.ID;

    string sectionID = DocsVision.BackOffice.CardLib.CardDefs.RefStaff.Group.ID.ToString("B").ToUpperInvariant();

    object activateParams = new object[] { sectionID, ItemID, System.Reflection.Missing.Value, false,

    System.Reflection.Missing.Value, false, false, false, 2, ItemID, true, true, 0 };

    Guid SelectedGroup = new Guid(CardControl.CardHost.SelectFromCard(cardID, "Выберите группу", activateParams).ToString());

    0
    Действия с комментариями Постоянная ссылка
  • В схеме небольшая путаница с названиями, секция для группы называется AlternateHierarchy.

     

    0
    Действия с комментариями Постоянная ссылка
  • Поменял Group на AlternateHierarchy, но выбирать группу по-прежнему не дает.

    0
    Действия с комментариями Постоянная ссылка
  • Сделайте меньше параметров.

    object activateParams = new object[] { RefStaff.AlternateHierarchy.ID, itemId };

    - вот это точно работает.

    И последняя строка, кстати, тоже не очень корректна.

    Если пользователь откажется от выбора, будет ошибка, лучше проверить, что там вернулось.

    0
    Действия с комментариями Постоянная ссылка
  • Евгений, вот так работает
     object activateParams = new object[] { RefStaff.AlternateHierarchy.ID, itemId };
    и так работает
     object activateParams = new object[] { RefStaff.Group.ID, itemId };
    Проблема в том, что нам нужно ограничить выбор групп. То есть нужно чтобы пользователь выбирал только группы, дочерние от группы "Группы рассылки".
    Это как раз ее ID:
    string ItemID = new Guid("239AB1DA-5128-4C2A-B974-41B28891A749").ToString("B").ToUpperInvariant();

    Если использовать  object activateParams = new object[] { RefStaff.Group.ID, itemId }; 
    то пользователь видит (и имеет возможность выбрать) и эту группу и еще несколько десятков других.  После того как я параметры сформировал в виде

    object activateParams = new object[] { sectionID, ItemID, System.Reflection.Missing.Value, false,

    System.Reflection.Missing.Value, false, false, false, 2, ItemID, true, true, 0 }

    видимость групп применилась так как нам и было нужно, но теперь галка выбора серая.

    0
    Действия с комментариями Постоянная ссылка
  • Понял, это уже ограничение реализованной функциональности.

    Можно выбрать сотрудника с ограничением по группам (все то же самое, но с выбором из RefStaff.Employees.ID), но группу с ограничением по группам выбрать нельзя, такой вариант просто не предусмотрели.

    0
    Действия с комментариями Постоянная ссылка

Войдите в службу, чтобы оставить комментарий.