AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.09.2020, 16:08   #1  
Ion is offline
Ion
Участник
 
332 / 16 (1) ++
Регистрация: 19.12.2012
CRM V9 Homepage grid refresh
Ребята привет.

Версия срм-ки 2020 release wave 1 enabled Server version: 9.1.0000.22251 Client version: 1.4.1442-2008.3.

Суть задачи проста как мир, обновить грид после асинхронной операции.
Функцию зарегистрировал с CrmParemeter "SelectedControl" и вызываю после асинхронной операции, но грид не обновляется

X++:
    function rejectGridView(primaryControl) {
        initiateApprovaRequestFromGrid(primaryControl, 173030003);
    }

    function approveGridView(primaryControl) {
        initiateApprovaRequestFromGrid(primaryControl, 173030002);
    }

    function initiateApprovaRequestFromGrid(primaryControl, status) {
        var entityGuids = [];
        var rows = primaryControl.getGrid().getSelectedRows();
        rows.forEach(function (selectedRow, i) {
            var entity = selectedRow.getData().getEntity();
            entity.attributes.forEach(e => {
                if (e.getName() == "status" && e.getValue() == 173030001) {
                    entityGuids.push({ id: entity.getId() })
                }
            })
        });
        if (entityGuids.length > 0) {
            showApprovalDialog(primaryControl, entityGuids, status);
        }
    }

    function handleApprovalRequest(primaryControl, recordsToApprove, status, comment) {
        Xrm.Utility.showProgressIndicator("Please wait...");
        var last = recordsToApprove.length - 1;
        recordsToApprove.forEach((record, indx) => {
            var data =
            {
                "status": status,
                "approvalcomment": comment
            };
            Xrm.WebApi.updateRecord("landedcost", record.id, data).then(
                function success(result) {
                    if (length == indx) {
                        Xrm.Utility.closeProgressIndicator();
                        primaryControl.refresh();
                    }
                },
                function (error) {
                    console.log(error.message);
                }
            );
        })
    }

Последний раз редактировалось Ion; 23.09.2020 в 16:12.
Старый 23.09.2020, 16:13   #2  
Ion is offline
Ion
Участник
 
332 / 16 (1) ++
Регистрация: 19.12.2012
Цитата:
Сообщение от Ion Посмотреть сообщение
Ребята привет.

Версия срм-ки 2020 release wave 1 enabled Server version: 9.1.0000.22251 Client version: 1.4.1442-2008.3.

Суть задачи проста как мир, обновить грид после асинхронной операции.
Функцию зарегистрировал с CrmParemeter "SelectedControl" и вызываю после асинхронной операции, но грид не обновляется

X++:
    function rejectGridView(primaryControl) {
        initiateApprovaRequestFromGrid(primaryControl, 173030003);
    }

    function approveGridView(primaryControl) {
        initiateApprovaRequestFromGrid(primaryControl, 173030002);
    }

    function initiateApprovaRequestFromGrid(primaryControl, status) {
        var entityGuids = [];
        var rows = primaryControl.getGrid().getSelectedRows();
        rows.forEach(function (selectedRow, i) {
            var entity = selectedRow.getData().getEntity();
            entity.attributes.forEach(e => {
                if (e.getName() == "status" && e.getValue() == 173030001) {
                    entityGuids.push({ id: entity.getId() })
                }
            })
        });
        if (entityGuids.length > 0) {
            showApprovalDialog(primaryControl, entityGuids, status);
        }
    }

    function handleApprovalRequest(primaryControl, recordsToApprove, status, comment) {
        Xrm.Utility.showProgressIndicator("Please wait...");
        var last = recordsToApprove.length - 1;
        recordsToApprove.forEach((record, indx) => {
            var data =
            {
                "status": status,
                "approvalcomment": comment
            };
            Xrm.WebApi.updateRecord("landedcost", record.id, data).then(
                function success(result) {
                    if (length == indx) {
                        Xrm.Utility.closeProgressIndicator();
                        primaryControl.refresh();
                    }
                },
                function (error) {
                    console.log(error.message);
                }
            );
        })
    }
Отбой! Пока писал увидел что название переменной было неправильно написано
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 15 Blog bot Dynamics CRM: Blogs 1 10.02.2016 10:26
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 10.05.2014 06:30
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2013 Update Rollup 2 Blog bot Dynamics CRM: Blogs 0 15.04.2014 01:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 16 Blog bot Dynamics CRM: Blogs 0 23.01.2014 03:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 10 Blog bot Dynamics CRM: Blogs 0 17.08.2012 03:27

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:12.