Пример использования режима отложенных изменений

В следующем примере в текущей сессии userSession мы получаем данные карточки. Активировав режим отложенных изменений для карточки, мы проводим изменение секции MainInfo, после чего отключаем режим отложенных изменений.

CardData cardData = userSession.CardManager.GetCardData(new System.Guid("идентификатор_карточки")); (1)

if (!cardData.InUpdate) cardData.BeginUpdate(); (2)

try
{
    SectionData sectionData = cardData.Sections[card.Type.Sections["MainInfo"].Id]; (3)

    RowData rowData = sectionData.FirstRow; (4)

    rowData["Author"] = "Иванов";
    rowData["Number"] = 11;
    rowData["CreationDate"] = DateTime.Now; (5)

    cardData.EndUpdate(); (6)
}
catch(Exception ex)
{
   if (cardData.InUpdate) cardData.CancelUpdate(); (7)
}
1 Получение с сервера данных карточки с известным идентификатором.
2 Включение режима отложенных изменений.
3 Получение данных секции с именем MainInfo.
4 Получение первой строки секции, если строки нет — она будет создана.
5 Запись значений в поля.
6 Выключение режима отложенных изменений, передача всех изменений на сервер.
7 При возникновении ошибки — отмена всех изменений.