Карточка - Contact
Поле этой карточки - ITNumber
При нажатии на ОК пишу:
var length = Contact.ITNumber.ToString().Length;
if (length >10)
{
//то здесь выводится сообщение пользователю, и к закрытию карточки процесс не идет
}
else
{
//то здесь продолжается процесс закрытия карточки
}
правильно ли?
Нравится
Нет.
Посмотрите в любой карточке, как правильно получать значение поля.
Татьяна, зачем Вы пишете:
var number = (Guid)Page.ITNumberEdit.Value;
У Вас номер типа Guid?
точно, мне не нужно определение идентификатора. ITNumber- это обычное поле (целочисленное), к-ое заполняется (а не выбирается из справочника) пользователем.
Page.DataSource.ActiveRow.GetTypedColumnValue("ITNumber") - это значение поля.
string str = ?
int length = str.Length;
далее сравниваю кол-во символов if (length <>10)....else
Это значит, что ошибка в написанном Вами коде.
Посмотрите в других местах, как правильно работать с этой функцией.
вот так сработало без ошибок:
string str = Page.ITNumberEdit.Value.ToString();
int length = str.Length;
if ((Page.ITNumberEdit.Value != null)&&(length != 10))
{
Page.BaseMessagePanel.AddMessage(Warning, "Количество символов в поле Внутр.инвент.номер (ИТ) должно быть равно 10.", MessageType.Warning);
Page.ITNumberEdit.Clear();
Page.ITNumberEdit.SetRequired(true);
return false;
}
else
{
....