none
Помогите плиз разобраться во фрагменте кода ? RRS feed

  • Вопрос

  • Добрый день.

    У меня есть некий процесс согласования написанный не мной. Этот процесс согласования привязан к библиотеке документов.

    Если открыть элемент библиотеки документов, то открывается кастомная Web-часть c прицепленным HTML файлом. Тот HTML в свою очередь, подгружает JS-скрипт, в котором вызывается функция получения истории согласования договора.

    Вот код:

        var requestUri = window._spPageContextInfo.webAbsoluteUrl + "/_api/web/lists(guid'" + listId + "')/items?$select=ConsolidatedNotes&$filter=ID eq " + itemId + " &$top=1";
    	
        $.ajax({
            type: 'GET',
            headers: { 'accept': 'application/json;odata=verbose' },
            url: requestUri,
            success: function (data) {
                if (data.d.results) {
                    if (data.d.results[0].ConsolidatedNotes) {
                        var html = [];
                        var historyLines = data.d.results[0].ConsolidatedNotes.split("\n");
                        for (var i = 0; i < historyLines.length; i++) {
                            html.push(historyLines[i] + "</br>");
                        }
    
                        $('#workflowHistory-text').html(html.join(''));
                    } else {
                        $('#workflowHistory-text').html("Нет записей");
                    }
    
                }
            }
        });

    Я так понимаю, что в requestUri дёргается какая то функция получения истории согласования. Потом этот URI передается AJAX запросу и тот возвращает сами строки истории согласования.

    Всё бы хорошо, только есть елементы в списке библиотеки, для которых этой истории нет. Мне нужно её туда занести.

    Вопрос: КУДА надо записать строки каментов, чтобы этот код возвращал их на форму, как для всех остальных "нормальных" строк?

    25 августа 2017 г. 10:36

Ответы

  • как я понял в форме поле скрыто...

    вариантов несколько:

    1. попробовать открыть свойства документа через стандартную форму

    2. через "Быстрое редактирование" представление списка

    3. MS access


    мой блог не много о SharePoint

    • Помечено в качестве ответа VARD32 25 августа 2017 г. 11:42
    25 августа 2017 г. 10:51
    Модератор

Все ответы

  • Добрый день

    как я понял:

    1. происходит фильтрация по ID элемента списка. (на выходе может быть один элемент)

    2. так же идет получение одного свойства элемента ConsolidatedNotes. 

    3. в поле ConsolidatedNotes перечислены элементы истории которые в итоге отображаются в форме. судя по всему, данные хранятся как текст, и переносы заменяют </br> что бы был перенос строк в форме пользователя


    мой блог не много о SharePoint


    25 августа 2017 г. 10:42
    Модератор
  • Да, да, всё верно!

    А как мне в ConsolidatedNotes затолкать элементы истории??

    25 августа 2017 г. 10:47
  • как я понял в форме поле скрыто...

    вариантов несколько:

    1. попробовать открыть свойства документа через стандартную форму

    2. через "Быстрое редактирование" представление списка

    3. MS access


    мой блог не много о SharePoint

    • Помечено в качестве ответа VARD32 25 августа 2017 г. 11:42
    25 августа 2017 г. 10:51
    Модератор
  • а поле так и должно называться "ConsolidatedNotes"? Т.е. это поле списка?

    Я к тому, что сейчас открыл список в SharePoint Manager-е (наверняка знаете что это за штука) Там показаны все поля даже тех что нет ни на форме ни видимых в списке. Так вот ConsolidatedNotes там нет ((

    Я просто...

    хотя я сделал вот так:

    Write-Host 'ConsolidatedNotes:' $item['ConsolidatedNotes'];

    и сработало!!!

    Теперь попробую запись.... отпишусь!

    25 августа 2017 г. 11:01
  • Да, работает!!! История записывается!

    Спасибо огромное!

    25 августа 2017 г. 11:13