Вставка элемента в список sharepoint, имеющий столбец поиска - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь вставить элемент в список sharepoint, который имеет два столбца поиска. После выполнения кода, показанного ниже, я успешно вставил элемент в список, но столбцы поиска не содержат никакого значения. Я удостоверился, что идентификатор элемента поиска очень хорошо существует во втором списке, и если я добавлю случайный идентификатор, я получу исключение, которое говорит мне, что элемент вообще не может быть вставлен. Таким образом, проблема не связана с проблемой идентификатора. это скриншот моего списка: https://imagizer.imageshack.com/img921/3483/J08viH.png

Мой код:

function ajout_table_double() {
    var nom_local=document.getElementById('localField').value;
    if (idSanByOrder.length>=1) {
        for(var i = 0;i < idSanByOrder.length;i++){
            clientContext = new SP.ClientContext();
            var oList = clientContext.get_web().get_lists().getByTitle('Plat_FastFood');
            var itemCreateInfo = new SP.ListItemCreationInformation();
            this.oListItem = oList.addItem(itemCreateInfo);

            var lookupSingle = new SP.FieldLookupValue();  
            var lookupSingle2 = new SP.FieldLookupValue();  
            lookupSingle.set_lookupId(idSanByOrder[i]); // i've tried putting directly the id's value directly, but same problem occured
            lookupSingle2.set_lookupId(local_tab[0]);

            oListItem.set_item('fast_food_column', lookupSingle);  
            oListItem.set_item('plat_column', lookupSingle2);  
            oListItem.set_item('Title', 'local: '+nom_local);

            oListItem.update();

            clientContext.load(oListItem);
            clientContext.executeQueryAsync(
                Function.createDelegate(this, this.onQueryDoubleSucc), 
                Function.createDelegate(this, this.onQueryDoubleFail)
            );
        }
    }
}

1 Ответ

0 голосов
/ 07 мая 2019

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

Мой проверенный сценарий.

function InsertItem() {
            var clientContext = new SP.ClientContext.get_current();            
            var oList = clientContext.get_web().get_lists().getByTitle("MyList2");
            var itemCreateInfo = new SP.ListItemCreationInformation();
            var oListItem = oList.addItem(itemCreateInfo);
            var lookupSingle = new SP.FieldLookupValue();            
            lookupSingle.set_lookupId(9);            
            oListItem.set_item('Title', 'testInsert');
            oListItem.set_item('plat_column', lookupSingle);
            oListItem.update();
            clientContext.load(oListItem);
            clientContext.executeQueryAsync(
                Function.createDelegate(this,
                    function () {
                        ItemIDCache = oListItem.get_id();
                        alert('Item created: ' + oListItem.get_id());
                    }),
                Function.createDelegate(this,
                    function (sender, args) {
                        console.log(args);
                    }));

        }
...