В узле ОснПер формализованного первичного документа содержится информация о документе, на основании которого он сформирован. Эту информацию можно использовать для автоматического заполнения документа-основания в системе. Например, поля Договор в карточке передаточного документа или поля Документы-основания в карточке счета-фактуры.
Допустим, стороны договорились, что в атрибуте НаимОсн узла ОснПер передаваемых документов необходимо указывать слово Договор. Это означает, что при получении документа с таким значением атрибута необходимо заполнить поле Договор в его карточке.
Добавьте вычисления в функцию DFAFillFromXML:
// Заполнить договор на основании данных из XML-файла
Req = Doc.FindRequisite("Договор")
if Assigned(Req)
Node = XML.SelectSingleNode("//ОснПер")
BaseDocName = Node.GetAttribute("НаимОсн")
if BaseDocName == "Договор"
try
Ref = References.ДГВ.GetComponent
except
Ref = NULL
endexcept
if not VarIsClear(Ref)
AddWhere = CreateStringList()
Number = Node.GetAttribute("НомОсн")
if Assigned(Number)
Number = Replace(Number; "'"; "''")
AddWhere.Add("MBAnalit.Dop = '" & Number & "'")
endif
Date = Node.GetAttribute("ДатаОсн")
if Assigned(Date)
Date = Replace(Date; "'"; "''")
AddWhere.Add("MBAnalit.Date2 = '" & Date & "'")
endif
if AddWhere.Count > 0
AddWhere.Delimiter = ' and '
AddWhereID = Ref.AddWhere(AddWhere.DelimitedText)
Ref.Events.DisableAll
Ref.Open
if Ref.RecordCount > 0
Req.Value = Ref.SYSREQ_CODE
endif
Ref.Close
endif
endif
endif
endif
© Компания Directum, 2020 | Сообщество пользователей Directum |