bpm 5.4 on-site
не присваивается идентификатор полю в карточке
В Карточке Есть поле "Контрагент". В объекте системы это соответствует "Account", в базе "AccountID".
Пишу код
Page.DataSource.ActiveRow.SetColumnValue("AccountID", firma);
либо
Page.DataSource.ActiveRow.SetColumnValue("Account", firma);
получаю следующую ошибку:
Exception Message: Значение с именем "AccountID" не найдено
Exception Type: Terrasoft.Common.ItemNotFoundException
Exception Source: Terrasoft.Core
Exception Type: Terrasoft.Common.ItemNotFoundException
Exception Source: Terrasoft.Core
Подскажите, пожалуйста, как исправить ошибку.
Нравится
3 комментария
24 июня 2014 11:31
Здравствуйте, Илья!
Название справочного поля в БД формируется как название поля в объекте + постфикс "Id". Именно "Id", а не "ID". То есть, правильно писать так:
Page.DataSource.ActiveRow.SetColumnValue("AccountId", firma);
если в объекте поле называется "Account".
26 июня 2014 10:14
Здравствуйте, Илья!
Как Вы поняли, что функция не работает? Если Вы ожидаете, что на странице изменится значение справочного поля, то Вы этого не увидите, так как Id меняется, но отображаетмое значение остается старое, новое нужно подгружать вручную, например так:
Page.DataSource.ActiveRow.SetColumnValue("AccountId", new Guid("8F2E3098-932C-49A8-8D06-B40462DA98CD")); Page.DataSource.ActiveRow.LoadLookupDisplayValues("Account");
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать