Карточка детали Платежные реквизиты Контрагента - что было задумано?
Доброго времени суток, коллеги!
Занимаюсь разработкой конфигурации на BPMonline 7.1. По ТЗ задача - добавить пару полей в деталь "Платежные реквизиты" в разделе Контрагенты. Добавил, проверяю - создал запись, изменил ее - все ок, но вот когда попробовал нажать на просмотр - "Шеф! Все пропало!". Выпадает исключение "Uncaught Terrasoft.UnsupportedTypeException: null is unsuported type"
После N-го количества времени самобичевания за кривые руки (что ж тут сложного-то добавить поля в карточку детали) начал разбираться. Кучу раз перепроверил свой код - мало ли... Все верно. Закомментировал доработку - история не изменилась. Посмотрел в "коробку" - хм, то же самое. Полез в демку посмотреть - о ужас! И там так же...
Короче говоря, убил уйму времени и только тогда понял - надо же разобраться в чем дело.
Оказалось, что "собака зарыта" в переопределении функции getItemViewHeader
return {
columns: [
{
type: Terrasoft.ViewModelSchemaItem.ATTRIBUTE,
name: 'AccountBillingInfo',
columnPath: 'AccountBillingInfo',
viewVisible: true,
labelClass: 'campaign-campaignname'
}
]
};
};
Естественно, указанной выше колонки не существует, и начинаются проблемы.
Ну и, собственно, вопрос - а какой правильный вариант функции? Раз она добавлена, то в шапку карточки все же должна быть вынесена какая-то информация. Не хочется как-то тупо ставить заглушку и все
Нравится
Здравствуйте, Constantine!
Действительно была такая ошибка в ранних версиях 7.1.
По крайней мере, в 7.1.0.423 исправлено. Правильный код:
this.getItemViewHeader = function() { return { columns: [ { type: Terrasoft.ViewModelSchemaItem.ATTRIBUTE, name: 'Account', columnPath: 'Account', viewVisible: true, labelClass: 'account-accountname' } ] }; };