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

Добавить файл в карточку Задание

Комментарии

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

  • В задание файлы напрямую не добавляются, к нему привязывается документ вида файл (стандартно это документ с единственным файлом). А уже список файлов в задании настроен таким образом, что отображает только документы такого типа.

    Т.е., в коде мы делаем примерно так:
    1. Находим вид документа "Файл", н-р, по названию
    2. Создаем новую карточку документа этого вида с файлом - в текущей версии это можно сделать одним вызовом IDocumentService / CreateDocument(filePath, kind)
    3. В задании получаем список ссылок task.MainInfo.ReferenceList
    4. Через IReferenceListService добавляем документ в этот список вызовом CreateReference.

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

    string kindTaskGuid = "{AB801854-70AF-4B6C-AB48-1B59B5D11AA9}";
    string employeeGuid = "{261B6C5C-8F25-4014-94F9-7B649B7EC082}";
    string kindFileGuid = "{F9A8D158-9884-4765-859D-31C4EFCA149D}";

    ObjectContext objectContext = CreateContext(getUserSession());
    ITaskService taskService = objectContext.GetService<ITaskService>();
    KindsCardKind kindTask =
    objectContext.GetObject<KindsCardKind>(new Guid(kindTaskGuid));

    KindsCardKind kindFile =
    objectContext.GetObject<KindsCardKind>(new Guid(kindFileGuid));

    IStaffService staffService = objectContext.GetService<IStaffService>();
    StaffEmployee empl = staffService.GetCurrentEmployee();
    StaffEmployee employee = staffService.Get(new Guid(employeeGuid));


    IDocumentService documentService = objectContext.GetService<IDocumentService>();

    Document doc = documentService.CreateDocument(@"C:\Users\Администратор\Desktop\Text.txt", kindFile);
    objectContext.SaveObject<Document>(doc);

    IReferenceListService serviceReference = objectContext.GetService<IReferenceListService>();
    ReferenceList refList = serviceReference.CreateReferenceList();
    ReferenceListReference reference = serviceReference.CreateReference(refList, null, doc, null, true);

    objectContext.SaveObject<ReferenceList>(refList);

    Task task2 = taskService.CreateTask(kindTask);
    task2.Description = "Diagest23";
    task2.MainInfo.Content = "Content";
    task2.MainInfo.Name = "Name";
    task2.MainInfo.Author = employee;
    task2.MainInfo.ReferenceList = refList;

    objectContext.SaveObject<Task>(task2);

     

    Созданное Задание в Навигаторе не показывает прикрепленный файл, но фактически Задание имеет ReferenceList, который ссылается на Файл. В чем может быть причина?

    0
    Действия с комментариями Постоянная ссылка
  • Проще всего сравнить XML от задания, где файл добавлен стандартно и от подобного.

    Скорее всего, нужно все-таки задать вид связи (н-р, "КЗ_ДополненияФайлы"), а не просто добавлять с null.

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

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