Вопрос

Деталь с множественным выбором

Друзья, такое дело. Создал деталь с редактируемым реестром с двумя полями, справочное - [Страна] и текстовое [Комментарий]. 

Потом решил ее апгрейднуть до детали с множественным выбором. Дописал миксин и методы, которые в статье на академии. 

Так вот. Я добавляю страны, пытаюсь сразу же внести в одну запись комментарий по определенной стране, но деталь немного "ломается". После обновления страницы все работает корректно, но если пытаюсь внести комментарий сразу же после добавления стран, то что-то не фурычит...

Изображение удалено.

Нравится

9 комментариев

Alex, опишите, пожалуйста, подробнее деталь: какой конкретно тип данных у колонки "Комментарий" (какой длины текст). Также какие колонки в объекте, по которому строится деталь.

Еще очень помог бы скриншот консоли во время того, как добавляется комментарий сразу после добавления страны, и деталь ломается.

Одеяненко Юлия,

Там 3 поля, [Контрагент], [Страна], [Комментарий]

Одеяненко Юлия,

вот консоль

Одеяненко Юлия,

А вот скопировал полностью, а то не скрине плохо видно. Как только становлюсь курсором в поле "Комментарий" - 

Uncaught TypeError: Cannot read property 'apply' of undefined

    at i.callModelMethod (all-combined.js:632)

    at i.<anonymous> (all-combined.js:627)

    at i.fire (all-combined.js:1)

    at i.continueFireEvent (all-combined.js:1)

    at i.fireEventArgs (all-combined.js:1)

    at i.fireEvent (all-combined.js:1)

    at i.changeValue (all-combined.js:1838)

    at i.setValue (all-combined.js:1838)

    at i.setControlPropertyValue (all-combined.js:625)

    at i.setControlInitialValue (all-combined.js:624)

callModelMethod @ all-combined.js:632

(anonymous) @ all-combined.js:627

fire @ all-combined.js:1

continueFireEvent @ all-combined.js:1

fireEventArgs @ all-combined.js:1

fireEvent @ all-combined.js:1

changeValue @ all-combined.js:1838

setValue @ all-combined.js:1838

setControlPropertyValue @ all-combined.js:625

setControlInitialValue @ all-combined.js:624

(anonymous) @ all-combined.js:621

Terrasoft.each @ all-combined.js:260

bind @ all-combined.js:621

bind @ all-combined.js:1305

(anonymous) @ all-combined.js:1329

each @ all-combined.js:1

bindItems @ all-combined.js:1329

bind @ all-combined.js:1329

(anonymous) @ all-combined.js:1329

each @ all-combined.js:1

bindItems @ all-combined.js:1329

bind @ all-combined.js:1329

(anonymous) @ all-combined.js:1329

each @ all-combined.js:1

bindItems @ all-combined.js:1329

bind @ all-combined.js:1329

(anonymous) @ ConfigurationGrid.js?hash=50bf895bc4ad4a7e901cd0780be229b6:612

Terrasoft.each @ all-combined.js:260

renderRowControls @ ConfigurationGrid.js?hash=50bf895bc4ad4a7e901cd0780be229b6:607

addRowControls @ ConfigurationGrid.js?hash=50bf895bc4ad4a7e901cd0780be229b6:96

activateRow @ ConfigurationGrid.js?hash=50bf895bc4ad4a7e901cd0780be229b6:84

setActiveRow @ ConfigurationGrid.js?hash=50bf895bc4ad4a7e901cd0780be229b6:635

onGridClick @ all-combined.js:1887

callParent @ all-combined.js:1

onGridClick @ ConfigurationGrid.js?hash=50bf895bc4ad4a7e901cd0780be229b6:511

(anonymous) @ VM850:6

k @ all-combined.js:1

core-base.js:656 user: Охрончук Алексей/7143f917-c81d-4f98-a35b-94ccb205a576

 file: https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…

 line: 632

 column: 174

 message: Uncaught TypeError: Cannot read property 'apply' of undefined 

 date: Mon Feb 26 2018 11:19:12 GMT+0200 (Финляндия (зима))

 stack: TypeError: Cannot read property 'apply' of undefined

    at i.callModelMethod (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.<anonymous> (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.fire (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.continueFireEvent (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.fireEventArgs (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.fireEvent (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.changeValue (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.setValue (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.setControlPropertyValue (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

    at i.setControlInitialValue (https://025837-crm-bundle.bpmonline.com/core/21d606e7a67e821666ee6eb571…)

Alex Zaslavsky пишет:

А вот скопировал полностью, а то не скрине плохо видно. Как только становлюсь курсором в поле "Комментарий"

 а теперь по пунктам.

1) Не стоит разбрасываться адресом вашей системы (я зашёл под супервизором, проставил себе права и вуаля, я в вашей системе)

2) Одним getMultiSelectLookupConfig вроде как не отделаешься, ибо  при вставке записи система "дозагружает" запись в реестр, а надо this.reloadGridData(). Можно переопределить handleAfterInserted или loadAddedRecords.

3) Про название детали я тактично промолчу....

Немного подумав - раз есть доступ, подправлю сам. теперь деталь работает

Варфоломеев Данила,

Ну, это демка, я просто практиковался, поэтому так разбрасываюсь скринами)) Спасибо за помощь, Данила, уже в который раз :)

Я на скрине название заменил, просто в субботу ночью пытался с этим разобраться, уже злой был)

Варфоломеев Данила. Підкажіть, будь ласка, як вирішили дану проблему.

Сухацький Роман Вікторович,

я думаю, что вряд ли Данила понимает мову :) Но я думаю, что он не будет против, если я поделюсь методом, который он дописал в мою схему.

loadAddedRecords: function(collection) {
            	this.reloadGridData();
            }

Показать все комментарии