Программное открытие справочников

Во всех следующих примерах, описывающих методы открытия различных видов справочников:
  • selectionMode — определяет метод открытия записи и соответствует значению из перечисления DocsVision.BackOffice.WinForms.Controls.ItemSelectionMode приведенному к System.Int32.

    Допустимые значения:
    • 0 — позиционирование на записи.

    • 1 — открытие записи для редактирования.

    • 2 — открытие записи для чтения.

  • multiselect — возможность выбора нескольких записей, соответствует типу System.Boolean.

    Значение true(множественный выбор разрешён) допустимо при selectionMode установленном в 0, иначе должно быть false .

Методы в примере вызываются из некого скрипта, привязанного с кнопке в Конструкторе разметок. В компоненте карточки, унаследованном от DocsVision.Platform.WinForms.CardControl или BaseCardControl, код будет выглядеть аналогично. Единственное отличие в том, что параметр CardHost будет доступен уже из базового класса.

Открытие записи из "Справочника категорий" в режиме редактирования

private void RefCategories_Click(object sender, EventArgs e)
{
 string categoryID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (1)
 int selectionMode = 1;
 bool multiselect = false;

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefCategories.ID; (2)

 object activateParams = new object[] { System.Reflection.Missing.Value, categoryID, multiselect, System.Reflection.Missing.Value,
     selectionMode }; (3)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (4)
}
1 Идентификатор выбираемой категории в Справочнике категорий.
2 Идентификатор Справочника категорий.
3 Параметры активации.
4 Вызов метода отображения карточки в режиме редактирования.

Открытие записи из "Справочника ссылок" в режиме редактирования

private void RefLinks_Click(object sender, EventArgs e)
{
 string linkID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (1)
 int selectionMode = 1;
 bool multiselect = false;

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefLinks.ID; (2)

 object activateParams = new object[] { System.Reflection.Missing.Value, linkID, multiselect, System.Reflection.Missing.Value,
     System.Reflection.Missing.Value, selectionMode }; (3)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (4)
}
1 Идентификатор выбираемой ссылки в Справочнике ссылок.
2 Идентификатор Справочника ссылок.
3 Параметры активации.
4 Вызов метода показа карточки в режиме редактирования.

Открытие записи сотрудника из "Справочника сотрудников" в режиме редактирования

private void RefStaffEmployees_Click(object sender, EventArgs e)
{
 string employeeID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (1)
 int selectionMode = 1;
 bool multiselect = false;

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefStaff.ID; (2)

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

 object activateParams = new object[] { sectionID, employeeID, System.Reflection.Missing.Value, System.Reflection.Missing.Value,
     System.Reflection.Missing.Value, multiselect, false, false, 0, System.Reflection.Missing.Value, true, true, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams);
}
1 Идентификатор выбираемого сотрудника.
2 Идентификатор Справочника сотрудников.
3 Идентификатор выбираемой секции справочника — сотрудники.
4 Параметры активации.

Открытие записи группы из "Справочника сотрудников" в режиме редактирования

private void RefStaffGroups_Click(object sender, EventArgs e)
{
 string groupID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant();
 int selectionMode = 1;
 bool multiselect = false; (1)

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

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefStaff.ID; (3)

 object activateParams = new object[] { sectionID, groupID, System.Reflection.Missing.Value, System.Reflection.Missing.Value,
     System.Reflection.Missing.Value, multiselect, false, false, 0, System.Reflection.Missing.Value, true, true, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (5)
}
1 Идентификатор выбираемой группы.
2 Идентификатор выбираемой секции справочника — группы.
3 Идентификатор Справочника Сотрудников.
4 Параметры активации.

Открытие записи организации из "Справочника сотрудников" в режиме редактирования

private void RefStaffUnits_Click(object sender, EventArgs e)
{
 string unitID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant();
 int selectionMode = 1;
 bool multiselect = false; (1)

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

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefStaff.ID; (3)

 object activateParams = new object[] { sectionID, unitID, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value,
     multiselect, false, false, 0, System.Reflection.Missing.Value, true, true, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (5)
}
1 Идентификатор выбираемой организации.
2 Идентификатор выбираемой секции справочника — организации.
3 Идентификатор Справочника Сотрудников.
4 Параметры активации.
5 Вызов метода показа карточки в режиме редактирования.

Открытие записи сотрудника из "Справочника контрагентов" в режиме редактирования

private void RefPartnersEmployees_Click(object sender, EventArgs e)
{
 string employeeID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant();
 int selectionMode = 1; (1)
 bool multiselect = false;

 string sectionID = DocsVision.BackOffice.CardLib.CardDefs.RefPartners.Employees.ID.ToString("B").ToUpperInvariant(); (2)

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefPartners.ID; (3)

 object activateParams = new object[] { sectionID, employeeID, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value,
     multiselect, System.Reflection.Missing.Value, false, true, true, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (5)
}
1 Идентификатор выбираемого сотрудника.
2 Идентификатор выбираемой секции справочника — сотрудники.
3 Идентификатор Справочника контрагентов.
4 Параметры активации.
5 Вызов метода показа карточки в режиме редактирования.

Открытие записи группы из "Справочника контрагентов" в режиме редактирования

private void RefPartnersGroups_Click(object sender, EventArgs e)
{
 string groupID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant();
 int selectionMode = 1; (1)
 bool multiselect = false;

 string sectionID = DocsVision.BackOffice.CardLib.CardDefs.RefPartners.Groups.ID.ToString("B").ToUpperInvariant(); (2)

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefPartners.ID; (3)

 object activateParams = new object[] { sectionID, groupID, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value,
     multiselect, System.Reflection.Missing.Value, false, true, true, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (5)
}
1 Идентификатор выбираемой группы.
2 Идентификатор выбираемой секции справочника — группы.
3 Идентификатор Справочника контрагентов.
4 Параметры активации.
5 Вызов метода показа карточки в режиме редактирования.

Открытие записи организации из "Справочника контрагентов" в режиме редактирования

private void RefPartnersCompanies_Click(object sender, EventArgs e)
{
 string unitID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant();
 int selectionMode = 1; (1)
 bool multiselect = false;

 string sectionID = DocsVision.BackOffice.CardLib.CardDefs.RefPartners.Companies.ID.ToString("B").ToUpperInvariant(); (2)

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefPartners.ID; (3)

 object activateParams = new object[] { sectionID, unitID, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value,
     multiselect, System.Reflection.Missing.Value, false, true, true, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (5)
}
1 Идентификатор выбираемой организации.
2 Идентификатор выбираемой секции справочника — организации.
3 Идентификатор Справочника контрагентов.
4 Параметры активации.
5 Вызов метода показа карточки в режиме редактирования.

Открытие записи из "Справочника видов карточек" в режиме позиционирования

private void RefKindsCompanies_Click(object sender, EventArgs e)
{
 string rootKindID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (1)

 string kindID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (2)

 string sectionID = DocsVision.BackOffice.CardLib.CardDefs.RefKinds.CardKinds.ID.ToString("B").ToUpperInvariant(); (3)

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefKinds.ID; (4)

 object activateParams = new object[] { sectionID, rootKindID, System.Reflection.Missing.Value, true, System.Reflection.Missing.Value, kindID,
     System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value };

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams);
}
1 Идентификатор типа карточки (например, Документ).
2 Идентификатор выбираемого вида карточки (например, Внутренний).
3 Идентификатор выбираемой секции справочника.
4 Идентификатор Справочника видов карточек.

Справочник видов карточек поддерживает исключительно позиционирование на записи.

Открытие записи узла из "Конструктора справочников" в режиме редактирования

private void RefBaseUniversalNode_Click(object sender, EventArgs e)
{
 string nodeID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (1)
 int selectionMode = 1;

 string sectionID = new Guid("A1DCE6C1-DB96-4666-B418-5A075CDB02C9").ToString("B").ToUpperInvariant(); (2)

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefBaseUniversal.ID; (3)

 object activateParams = new object[] { sectionID, nodeID, System.Reflection.Missing.Value, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (5)
}
1 Идентификатор выбираемого узла.
2 Идентификатор выбираемой секции справочника — Узлы справочника.
3 Идентификатор Конструктора справочников.
4 Параметры активации.
5 Вызов метода показа карточки в режиме редактирования.

Открытие записи строки из "Конструктора справочников" в режиме редактирования

Пример открытия на редактирование строки "Вид ОРД / Приказ":
private void RefBaseUniversalString_Click(object sender, EventArgs e)
{
 Guid stringID = new Guid("285A31D9-2433-415A-AEC7-BAD45E705389");
 int selectionMode = 1; (1)

 Guid nodeID = new Guid("B8B58477-CCC3-4213-8190-EFC66FEF86C1"); (2)

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefBaseUniversal.ID; (3)

 object activateParams = new object[] { RefBaseUniversal.Items.ID, stringID, nodeID, selectionMode }; (4)

 base.CardControl.CardHost.ShowCard(RefBaseUniversal.ID, Guid.Empty, ActivateMode.Edit, ActivateFlags.None, activateParams); (5)
}
1 Идентификатор выбираемой строки.
2 Идентификатор узла содержащего выбираемую строку.
3 Идентификатор Конструктора справочников.
4 Параметры активации.
5 Вызов метода показа карточки в режиме редактирования.

Открытие записи из "Справочника серверов" в режиме редактирования

private void RefBaseUniversalString_Click(object sender, EventArgs e)
{
 string serverID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (1)
 int selectionMode = 1;

 Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefServers.ID; (2)

 object activateParams = new object[] { System.Reflection.Missing.Value, serverID, selectionMode }; (3)

 base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, DocsVision.Platform.CardHost.ActivateMode.Edit, DocsVision.Platform.CardHost.ActivateFlags.None,
     activateParams); (4)
}
1 Идентификатор выбираемого сервера.
2 Идентификатор Справочника серверов.
3 Параметры активации.
4 Вызов метода показа карточки в режиме редактирования.