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