Sap B1 - создать новый документ

andrey_arj
Дата: 05.07.2011 16:40:47
Добрый день!
Кто-нибудь знает, как создавать новые документы в SAP B1, используя SDK DI API (VBA, VB, .Net).
Интересует конкретный пример (один любой) с кодом, задолбался читать примеры с официального сайта.
Что-нибудь типа вот такого кто-нибудь делал ?

http://www.youtube.com/watch?v=tWEnK4WUQ64

Спасибо!
andrey_arj
Дата: 06.07.2011 01:06:53
ОК, топик не имеет смысла, ответов нет и не будет, поскольку SAP b1 полное дерьмо:

/topic/610610&hl=sap%20business%20one

полностью согласен с автором.

Но я уверен, что тема актуальна для тех, кто пришел в компанию, где уже по факту выбрали и внедрили этот замечательный продукт. Идея в том, что SAP b1 не имеет внутреннего языка разработки, приходится докручивать велосипед, каким его дали. Единственная возможность что-то дописать без поддержки замечательной команды сторонних разработчиков SAP b1 (которые за add-on "Маршрутные листы" влепят такие сроки и цены, что мама не горюй), это SAP Api. Как им пользоваться - великая тайна, буду разбираться сам (а пока - посмотрите мои топики: репликация данных + Access + SSAS+ Excel - полный велосипедный набор).

Извините за минутку ненависти.
Roman V.
Дата: 08.07.2011 13:52:18
На установочном диске есть SDK. При его установке создается и папка примеров - не всегда рабочих, но легко поправить.
andrey_arj
Дата: 08.07.2011 19:16:00
Roman V.,
Да, я их видел. Не нашел создание новых документов там.
andrey_arj
Дата: 13.07.2011 11:12:07
Спросил на форуме SAP, дали ответ. Все не так плохо, оказывается (хотя у меня большая часть примеров не компилится).

http://forums.sdn.sap.com/thread.jspa?threadID=1993135

Рабочий код привожу ниже, может быть будет кому-нибудь полезен. Тема закрыта.

Dim oOrder As New SAPbobsCOM.Documents ' Order object
 
        Dim lRetCode As Integer ' Return Code
 
        ' New Order
        Set oOrder = oCompany.GetBusinessObject(SAPbobsCOM.oOrders)
 
        ' Fill Order details
        oOrder.CardCode = "C40000"
        oOrder.CardName = "Earthshaker Corporation"
        oOrder.HandWritten = SAPbobsCOM.BoYesNoEnum.tNO
        oOrder.DocDate = Now()
        oOrder.DocDueDate = Now()
        oOrder.DocCurrency = "USD"
 
        'Fill 2 lines in the order
        oOrder.Lines.ItemCode = "A00001"
        oOrder.Lines.ItemDescription = "IBM Inforprint 1312"
        oOrder.Lines.Quantity = 1
        oOrder.Lines.Price = 380
        oOrder.Lines.TaxCode = "0"
        oOrder.Lines.LineTotal = 380
 
        oOrder.Lines.Add
        
        oOrder.Lines.ItemCode = "A00002"
        oOrder.Lines.ItemDescription = "IBM Infoprint 1222"
        oOrder.Lines.Quantity = 1
        oOrder.Lines.Price = 380
        oOrder.Lines.TaxCode = "0"
        oOrder.Lines.LineTotal = 380
 
        ' Now we want to delete the second line in the Order
        oOrder.Lines.Delete
 
        ' The Order will be added without the second line
        lRetCode = oOrder.Add
        If lRetCode  0 Then
            oCompany.GetLastError lErrCode, sErrMsg
            MsgBox "Error ¹" & lRetCode & sErrMsg
        Else
            MsgBox "Norm"
        End If