Добрый день.
Запускаю БП из действия раздела:
var selectedRows = this.get("SelectedRows"); var accounts = selectedRows.join(); var processName = "UsrChangeAccountOwnerProcess"; var params = { AccountIds: accounts }; ProcessModuleUtilities.runProcess(processName, params);
При запуске БП по выделенным записям (более 50 записей) возвращается ошибка:
https://yadi.sk/i/k7KXj5VE3PTDoj
Предположительно ошибка связана с длиной строки с идентификаторами выделенных записей, которая передаётся в параметр процесса. Т.к. если выделено до 50 записей, то БП запускается.
Вопросы:
Как снять ограничение на длину параметра?
Можно ли запустить БП с использованием callService, передав параметры в виде jsonData, а не в url?
Нравится
Добрый день. Передать параметры в виде JSON строки, к сожалению, не выйдет. Вам стоит смотреть в сторону передачи фильтров, по которым можно будет выбрать данные записи. Пример можно глянуть в реализации мультиделита. Серверный код дисериализации находится в GridUtilitiesService DeleteRecordsAsync.
Терещук Сергей,
А с чем связана описанная мной проблема?
Коновалов Игорь,
Я думаю, что это вызвано ограничениями, которые прописаны для WCF сервиса, который вызывается. В частности,
maxReceivedMessageSize. Но я могу и ошибаться.