Поиск блогу

среда, 9 февраля 2011 г.

Скрипт из мануала.

для того, чтобы при открытии карточки,ей присваивался регистрационный номер автоматически, существует след скрипт:
отыскиваете в событиях карточки событие AfterActivate, жмете три точки и открывается скрипт,первая строка генерится автоматически,а далее копируем скрипт)

private void cardControl_AfterActivate(System.Object sender, System.EventArgs e)
{ 
var numeratorProperty = GetCardProperty("Нумератор"); //здесь в скобках идет настоящее имя вашего регистратора, у меня "нумератор"

if (numeratorProperty.Value != null)
{   
return;
}

var ruleAttribute = numeratorProperty.Description.GetAttribute("Rule"); //обратите внимание,что в этом месте как раз идет НЕ настояшее имя вашего правила для регистратора,а стандартное название Rule

Guid? ruleId = (Guid?)ruleAttribute.Value;

var numeratorMapper = new DocsVision.BackOffice.Model.CardProperties.DataAccess.NumeratorNumberMapper(Session, CardData.Id, DomainObject.NumbersSectionId.Value);

var number = numeratorMapper.Create(ruleId.Value);

numeratorProperty.Value = number;
PropertyController.RefreshControls();

}

private CardProperty GetCardProperty(string propertyName)
{
foreach (CardProperty property in PropertyController.CardProperties)
{
if (property.Name == propertyName)
return property;
}
return null;
}

1 коммент.:

Илья Осташков комментирует...

Свет, подредактируй пожалуйста свое сообщение, как в FAQ рекомендовано, чтобы красивее смотрелся код:)

Отправить комментарий