Пример:Функция расчета для добавления должностей в справочник:

CreateNewDoljn(name, okpdtr, facets)
{
    // создаем объект справочника должностей
    var doljnlist=CreateObject("DoljnList");

    // если должность с наименованием name уже есть - то не будем ее добавлять
    var doljn=GetDoljnFromSpravByName(static_cast_to_string(name));
    if (doljn.IsEmpty()) 
    {                    
       //.. а если не нашли - то добавим                       vvvv это означает, что справочник надо сохранить
       doljn=doljnlist.AddNewDoljn(static_cast_to_string(name),true); 
       if (IsNothing(doljn))
       {
           //добавление не прошло, скорее всего из-за блокировки справочника
           AmbaMessageBox("Создание должностей будет прервано из-за блокировки справочника другим пользователем",
                          "Внимание!",MB_OK|MB_ICONWARNING,0);
           throw 0;           
       }
    }

    // установим код ОКПДТР 
    doljn.SetOKPDTRCode(static_cast_to_long(okpdtr),false,false);
    // и фасеты (если они не пусты)
    string s_facets=static_cast_to_string(facets);
    if (strlen(s_facets)) doljn.SetFacets(s_facets);   

    // возвращается ID созданной должности
    return doljn.GetID();
}