Доброго времени суток, коллеги!

Занимаюсь разработкой конфигурации на BPMonline 7.1. По ТЗ задача - добавить пару полей в деталь "Платежные реквизиты" в разделе Контрагенты. Добавил, проверяю - создал запись, изменил ее - все ок, но вот когда попробовал нажать на просмотр - "Шеф! Все пропало!". Выпадает исключение "Uncaught Terrasoft.UnsupportedTypeException: null is unsuported type"
После N-го количества времени самобичевания за кривые руки (что ж тут сложного-то добавить поля в карточку детали) начал разбираться. Кучу раз перепроверил свой код - мало ли... Все верно. Закомментировал доработку - история не изменилась. Посмотрел в "коробку" - хм, то же самое. Полез в демку посмотреть - о ужас! И там так же...

Короче говоря, убил уйму времени и только тогда понял - надо же разобраться в чем дело.

Оказалось, что "собака зарыта" в переопределении функции getItemViewHeader

this.getItemViewHeader = function() {
  return {
    columns: [
      {
        type: Terrasoft.ViewModelSchemaItem.ATTRIBUTE,
        name: 'AccountBillingInfo',
        columnPath: 'AccountBillingInfo',
        viewVisible: true,
        labelClass: 'campaign-campaignname'
      }
    ]
  };
};

Естественно, указанной выше колонки не существует, и начинаются проблемы.
Ну и, собственно, вопрос - а какой правильный вариант функции? Раз она добавлена, то в шапку карточки все же должна быть вынесена какая-то информация. Не хочется как-то тупо ставить заглушку и все

Нравится

1 комментарий

Здравствуйте, 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'
						}
					]
				};
			};
Показать все комментарии

В детали платежные реквизиты есть поле Страна, при выборе страны некоторые пользовательские поля отображаются или скрываются.
Подскажите где найти это событие?
Так как в датасете окна и просто датасета это нигде не прописано.

Нравится

2 комментария

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

Помогло, спасибо.

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

Здравствуйте, подскажите по проблеме.

В конфигурации CRM в детали Платежные реквизиты для страны Украина не отображаются поля реквизитов (ИНН, ЕГРПОУ, № свидетельства и т.д.); появляется только поле Банк. Для России и Казахстана все нормально.

Пользователь внес еще одну запись Украина в справочник стран, но я не думаю, что это привело к данной проблеме.

Заранее благодарен за помощь.

Нравится

1 комментарий

Проблему решили

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

Всем добрый день.

В разделе Контрагент есть деталь "Платежные реквизиты".
Изначально на детали в системе отражались только колонки Банк, МФО, Адрес, Номер счета и описание.
Но было важно видеть и дату изменения платежных реквизитов.
Эта дата всегда есть в соответсвующей таблице (в данном случае в tbl_ccountBillingInfo).
Я сама в Администраторе настроила выборку этого поля сначала в запрос sql_AccountBillingInfo, а потом и в ds_AccountBillingInfo. После этого изменила wnd_AccountBillingInfoGridArea , чтобы там отражалась дата изменения (ModifiedOn).
Все получилось. Дата отражается.
Но оказалось , что в этом поле хранится не дата изменения, а дата создания . Те при изменении детали поле своего значения не меняет.
Получается, что поле ModifiedOn = полю CreatedOn.
Что явно не правильно.
В каком месте в скрипте происходит сохранение даты изменения?
А ведь по-идее это вообще стандартная фукнция по сохранению даты изменения в таблицу.

Нравится

2 комментария

Виктория, проверьте, пожалуйста, из какой таблицы Вы выбираете поле ModifiedOn в запросе sq_AccountBillingInfo: из таблицы tbl_AccountBillingInfo или из tbl_Bank. В конфигурации Вашей компании, которая на данный момент есть у нас, я вижу, что выбор происходит именно из tbl_Bank. Попробуйте изменить на tbl_AccountBillingInfo.

Огромное спасибо, действительно ошиблась с таблицей.:smile:
Теперь все работает правильно

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