Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Заполнение документа-основания в карточке первичного документа

В узле ОснПер формализованного первичного документа содержится информация о документе, на основании которого он сформирован. Эту информацию можно использовать для автоматического заполнения документа-основания в системе. Например, поля Договор в карточке передаточного документа или поля Документы-основания в карточке счета-фактуры.

Допустим, стороны договорились, что в атрибуте НаимОсн узла ОснПер передаваемых документов необходимо указывать слово Договор. Это означает, что при получении документа с таким значением атрибута необходимо заполнить поле Договор в его карточке.

Добавьте вычисления в функцию 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
.navbar > a:hover { background: #FFD73B; }