Добрый день!
Может кто сталкивался с подобной задачей.
1) на нажатие кнопки необходимо открыть окно выбора контактов и/или контрагентов
2) выбрать несколько контактов и несколько контрагентов
3) обработать выбранные записи.
пункты 1 и 2 я сделала. с пунктом 3 проблема.
допустим, я выбираю двух контрагентов и трех контактов.
Справа указано "Выбрано записей:5". все корректно.
нажимаю Выбрать и вызывается callback функция. проблема в том, что в аргументах мне приходят только те объекты, находясь на странице которых я нажала кнопку выбрать.
Например,
если я нажала, когда была на вкладке контрагентов, то в args.selectedRows.getItems() 2 контрагента если нажала, когда была на странице контактов - то в аргументах вернуться 3 контакта.
Нравится
"Zaitova Liubov" написал:вопрос: как я могу получить все 5 выбранных записей?
Как и всегда - ломая стандартную логику:smile:
Вся проблема в LookupPageViewModelGenerator и методе selectButton. Он забирает 3 выбранные записи из грида текущей вкладки, в result складирует выбранные, в переменную notLoadedItems кладёт Id-шники тех 2-х, которые в соседней вкладке и дальше, тут феерия, делает esq запрос на выборку тех незагруженных элементов в entitySchema текущей вкладки.
Я вызывал мультивыбор так:
onButtonClick: function() { var config = { lookupPageName: "MultiLookupModule", multiLookupConfig: [{ entitySchemaName:"Contact", multiLookupColumnName: "Contact", multiSelect: true }, { entitySchemaName:"Account", multiLookupColumnName: "Account", multiSelect: true }] }; this.openLookup(config, this.onMyLookupResult, this); },
Соответственно фиксил бы в таком порядке:
1) Сделал свой модуль MultiLookupExtendedModule, наследуется от "Terrasoft.MultiLookupModule"
2) Заместил бы копипастой функцию selectButton, в нужном месте надо сравнить значение активной вкладки (this.get("ActiveLookupTabName")) и вообще всей коллекции вкладок (this.get("LookupTabsCollection")). Исключаем активную, в values неактивной валяется нужная entitySchema, ну и делать запрос в нужную схему.
3) По кнопке вызывал бы свой модуль.