Multilookup не работает

Здравствуйте, коллеги.

В карточке договора "отвалилось" поле, где можно было выбрать и Контакт и Контрагент.

При выборе вкладки контакта, карточка работает корректно, а при выборе вкладки Контрагент - ничего не выбирается, а в консоли пишет:

в самой карточке поля проставлены так:

diff: /**SCHEMA_DIFF*/[
...
  {
    "operation": "insert",
    "name": "Client",
    "values": {
      "layout": {
        "column": 0,
        "row": 5,
        "colSpan": 24,
        "rowSpan": 1
      },
      "tip": {
        "content": {
          "bindTo": "Resources.Strings.ClientCaption"
        }
      },
      "controlConfig": {
        "enableLeftIcon": true,
        "leftIconConfig": {
          "bindTo": "getMultiLookupIconConfig"
        }
      }
    },
    "parentName": "Header",
    "propertyName": "items",
    "index": 7
  },
...
],
attributes: {
...
  "Client": {
    "caption": {"bindTo": "Resources.Strings.ClientCaption"},
    "dataValueType": this.Terrasoft.DataValueType.LOOKUP,
    "multiLookupColumns": ["Contact", "Account"],
    "isRequired": true
  },
...
}

В объекте Договор эти поля есть.

Если поставить отдельно выбок Контакта и Контрагента - то они работают.

Нравится

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

Добрый день Евгений!!!

а какие доработки и с какими схемами выполняли за последнее время?

Так. С объектом Договор: удалил 2 неиспользуемых поля. (та добавили ранее лишнюю дату и лишний контакт, которые не нужны там)
С объектом Контрагент - снял аттрибут обязательного заполнения для одного поля.

Поля абсолютно с этим не связнаны, к тому же Contact и Account это наследуемые поля. С ними по моему и при желании ничего бы не получилось

Сейчас открыл Дефолтную конфигурацию BPMOnline, карточку редактирования Договоры, и там я не увидел MultiLookup поля Клиент. Данные поля есть на странице редактирования Заказы, Счета. Но в договорах данного поля нет. Я думаю чтобы разобраться вам Евгений, нужно посмотреть код к примеру схемы страницы редактирования Счета, как там идет формирование и вывод данного поля на экран, и сравнить со своим кодом. А вообще MultiLookup поле в Договоре и не требуется, так как Договор заключается с Контрагентом, у которого есть Контактное лицо по данному договору. Вот почему изначально данные поля не объеденили как это сделано в счете к примеру. Так как там логика что Счет можно выставить как на Контрагента, так и на Физическое лицо в виде Контакта.

К сожалению задача была поставлена так, чтобы иметь возможность выбора или Контакта или Контрагента (типа ФизЛицо и ЮрЛицо).

Михаил, Вы там и не найдете. Потому что я ее переносил сам, по моему из карточки заказа.

Открыл. Посмотрел. Кардинальных отличий не нашел.

Сделал ресерч в своей карте: поменял местами "Contact" и "Account" в аттрибуте.

Работать карта стала еще интереснее. Она выборку контрагентов производит. Но, если уйти на Контакт и вернуться на Контрагент - то опять валится с этой ошибкой.

Евгений день добрый!!!

так как я вашей базы глазами не вижу, то совет могу только дать один, нужно смотреть какие замещения схем Таблиц, Страниц редактирования, Деталей, особенно Модулей производилось. И особенно тщательно проанализировать все изменения. Просто так работало и раз перестало работать, так не бывает. Плюс я бы тщательно прошелся дебагером по всем Каллбекам чтобы увидеть где реально валиться программа и уже отсюда бы делал вывод.

Добрый день, Михаил.
Валится непосредственно на запросе к серверу. Чуть позже скину лог.

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