Описание
Пришел тут ко мне на днях несмышленый юнленг и попросил изготовить скрипт VBS, складывающий две строки. Смешно конечно, но на то они и дети...

Скрипт лучше вешать на кнопку или любое другое событие, кроме "Изменение значения свойства" - надеюсь понятно почему.

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

Тело

'Формирование пути

Option Explicit
    Function DoEvent(UserSession, CardFrame, CardData, ActivateFlags, ModeID, FolderID, PropValue)

    DoEvent = 2
    Dim Stroka, Stroka2, FolderFS1, FolderFS2, Simbol

    Stroka = GetProp(CardData, "Строка", 0)
    Simbol = "\"

    FolderFS1 = GetProp(CardData, "Папка 1", 0) & Simbol & Stroka
    FolderFS2 = GetProp(CardData, "Папка 2", 0) & Simbol & Stroka
    SetProp CardData, "Папка 1", FolderFS1, CStr(FolderFS1)
    SetProp CardData, "Папка 2", FolderFS2, CStr(FolderFS2)

End Function

' Получение карточки папок
Function FolderCard(UserSession)
    Set FolderCard = UserSession.CardManager.Dictionary("{DA86FABF-4DD7-4A86-B6FF-C58C24D12DE2}")
End Function

' Копирование значения свойства2
Sub CopyProp2(SrcCardData, DestCardData, PropName)
    CopyProp SrcCardData, PropName, DestCardData, PropName
End Sub

' Копирование значения свойства
Sub CopyProp(SrcCardData, SrcPropName, DestCardData, DestPropName)
    Dim SrcProp
    Set SrcProp = Prop(SrcCardData, SrcPropName)
    SetProp DestCardData, DestPropName, SrcProp.Value("Value"), SrcProp.Value("DisplayValue")
End Sub

' Получение секции карточки по имени
Function Sect(CardData, Alias)
    Set Sect = CardData.Sections(CardData.Type.AllSections.GetByAlias(Alias).ID)
End Function

' Получение подчиненной секции по имени
Function SubSect(RowData, Alias)
    Set SubSect = RowData.ChildSections(RowData.Section.Type.ChildSections.GetByAlias(Alias).ID)
End Function

' Нулевая строка секции MainInfo
Function MainInfo(CardData)
    Set MainInfo = Sect(CardData, "MainInfo").FirstRow
End Function

' Строка свойства
Function Prop(CardData, Alias)
    Set Prop = Nothing
    Dim Row: For Each Row In Sect(CardData, "Properties").Rows
        If Row.Value("Name") = Alias Then
            Set Prop = Row
            Exit Function
        End If
    Next
End Function

' Получение значения свойства
Function GetProp(CardData, Alias, DefaultValue)
    Dim Row: Set Row = Prop(CardData, Alias)
    If Row Is Nothing Then
        GetProp = DefaultValue
    Else
        GetProp = Row.Value("Value")
        If IsNull(GetProp) Then GetProp = DefaultValue
    End If
End Function

' Установка значения свойства
Sub SetProp(CardData, Alias, Value, DisplayValue)
    Prop(CardData, Alias).Value("Value") = Value
    Prop(CardData, Alias).Value("DisplayValue") = DisplayValue
End Sub

' Вывести предупреждение
Sub ReportWarning(Msg)
    MsgBox Msg, vbExclamation Or vbOKOnly, "Предупреждение"
End Sub

' Добавление ссылки
Sub AddCardReference(CardData, UserSession, Link, LinkDesc)
    Dim Refs, Row
    Set Refs = Sect(CardData, "CardReferences")
    Set Row = Refs.CreateRow
    Row.Value("Link") = Link
    Row.Value("CreationDate") = Now
    Row.Value("CreatedBy") = StaffObject(UserSession).GetCurrentUserID
    Row.Value("LinkDesc") = LinkDesc
End Sub

' Получение StaffObject
Function StaffObject(UserSession)
    Set StaffObject = CreateObject("TOHelperObjects.StaffObject")
    Set StaffObject.UserSession = UserSession
End Function