on 09-05-2008 5:31 PM
Estimados
Tengo la siguiente situacion. Quiero crear asientos masivos donde se imputen clientes pero a una cuenta asociada distinta. Por ejemplo
Rut Cliente (Usando cuenta asociada distinta a la deudores) 100
Ingresos 100
Esto en sap se hace en el registro en el diario seleccionando la cuenta asociada distinta requerida.
Esto ultimo se puede hacer via SDK?
Porque si al campo shortname le coloco el codigo del socio de negocio me asume la cuenta Deudores por defecto y no otra cuenta asociada. Y si le coloco ademas del dato en el shortname en el campo account me reclama que la cuenta no coincide.
Como puedo hacer esto
Necesito urgente hacerlo.
Algun aporte bievenido
Hola Claudio,
Usa el campo ShortName para colocar el codigo del SN de la cuenta asociada. Usa AccountCode para colocar la cuenta asociada (del plan de cuentas). Si no le colocas nada en ese campo, usara la cuenta asociada principal del SN.
Saludos,
Ian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ian, gracias por la respuesta, pero eso mismo que me dices habia hecho y no me funciona me reclama que la cuenta es incorrecta
Estoy con SAP 2007A
oJournal.Lines.ShortName = FormatoCodigoBP(strCodigoCuenta, "C") ' Cliente
oJournal.Lines.AccountCode = drFila.Item("CuentaAsociada")
Estas dos lineas son parte del codigo que ocupo
Alguna idea?
Gracias
Hola Claudio,
Este codigo me funciona:
Dim oJE As SAPbobsCOM.JournalEntries
Dim errMsg As String = ""
Dim errNum As Integer
oJE = vCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries)
oJE.Lines.AccountCode = "1210001"
oJE.Lines.ShortName = "C0001"
oJE.Lines.Credit= 1000
oJE.Lines.Add()
oJE.Lines.AccountCode = "1010001"
oJE.Lines.Debit = 1000
If (oJE.Add <> 0) Then
vCompany.GetLastError(errNum, errMsg)
oSBOApplication.MessageBox(errNum & " - " & errMsg)
End If
" If drFila.Item("Tipo") = "C" Then
'The Recordset retrieves the value of the key (for example, sStr = _SYS00000000010).
vRs = vBOB.GetObjectKeyBySingleValue(SAPbobsCOM.BoObjectTypes.oChartOfAccounts, "FormatCode", strCodigoCuenta, SAPbobsCOM.BoQueryConditions.bqc_Equal)
If vRs.EoF = False Then
sStr = vRs.Fields.Item(0).Value
oJournal.Lines.AccountCode = sStr
oCuenta = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oChartOfAccounts)
oCuenta.GetByKey(sStr)
If oCuenta.Name = vbNullString Then
oCuenta = Nothing
AgregaError(strCodigoCuenta, "Cuenta incorrecta [" & strCodigoCuenta & "] Linea:" & intRow + 2, strArchivo)
objMdi.Mensaje(mdiPrincipal.ESTBTipoMensajes.estbtmError, newval:="Cuenta incorrecta [" & strCodigoCuenta & "] Linea:" & intRow)
End If
oCuenta = Nothing
Else
objMdi.Mensaje(mdiPrincipal.ESTBTipoMensajes.estbtmError, newval:="Cuenta incorrecta [" & strCodigoCuenta & "] Linea:" & intRow)
Exit Sub
End If
Else
strCodigoCuenta = FormatoCodigoBP(strCodigoCuenta, "C") ' Cliente
oJournal.Lines.AccountCode = drFila.Item("CuentaAsociada")
oJournal.Lines.ShortName = strCodigoCuenta
oBP = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners)
oBP.GetByKey(strCodigoCuenta)
If oBP.CardName = vbNullString Then
oBP = Nothing
AgregaError(strCodigoCuenta, "Socio de Negocio incorrecto [" & strCodigoCuenta & "] Linea:" & intRow + 2, strArchivo)
objMdi.Mensaje(mdiPrincipal.ESTBTipoMensajes.estbtmError, newval:="Socio de Negocio incorrecto [" & strCodigoCuenta & "] Linea:" & intRow + 2)
End If
oBP = Nothing
End If
If IsDBNull(drFila.Item("Debe")) = False And drFila.Item("Debe") <> 0 Then 'Debito
oJournal.Lines.Debit = CDbl(drFila.Item("Debe"))
Else
oJournal.Lines.Credit = CDbl(drFila.Item("Haber"))
End If
If IsDBNull(drFila.Item("FecVen")) = False Then 'Fecha Vencimiento
If RTrim(LTrim(drFila.Item("FecVen"))) <> vbNullString Then
oJournal.Lines.DueDate = CStr(drFila.Item("FecVen"))
End If
End If
If IsDBNull(drFila.Item("UNegocio")) = False Then 'Unidad Negocio
If RTrim(LTrim(drFila.Item("UNegocio"))) <> vbNullString Then
oJournal.Lines.ProjectCode = CStr(drFila.Item("UNegocio"))
End If
End If
If IsDBNull(drFila.Item("CC")) = False Then 'Centro Costo
If RTrim(LTrim(drFila.Item("CC"))) <> vbNullString Then
oJournal.Lines.CostingCode = CStr(drFila.Item("CC"))
End If
End If
If IsDBNull(drFila.Item("NumPers")) = False Then 'NumPers
If RTrim(LTrim(drFila.Item("NumPers"))) <> vbNullString Then
oJournal.Lines.UserFields.Fields.Item("U_MMM_NumPers").Value = Mid(CStr(FormatoCodigoBP(drFila.Item("NumPers"), "")), 1, 😎
End If
End If
If IsDBNull(drFila.Item("Ref1")) = False Then 'Ref1
oJournal.Lines.Reference1 = CStr(drFila.Item("Ref1"))
End If
If IsDBNull(drFila.Item("Ref1")) = False Then 'Ref2
oJournal.Lines.Reference2 = CStr(drFila.Item("Ref2"))
End If
If IsDBNull(drFila.Item("Ref3")) = False Then 'Ref3
oJournal.Lines.AdditionalReference = CStr(drFila.Item("Ref3"))
End If
If IsDBNull(drFila.Item("Comentarios")) = False Then 'Comentario
oJournal.Lines.LineMemo = CStr(drFila.Item("Comentarios"))
End If
If intRow + 1 <= dsAsientos.Tables(0).Rows.Count Then
oJournal.Lines.Add()
End If
intRow = intRow + 1
objMdi.Mensaje(mdiPrincipal.ESTBTipoMensajes.estbtmAviso, newval:=intRow)
Next
lRetCode = oJournal.Add
"
Ese es mi codigo y cuando lo ejecuto me sale este error, a pesar de que la cuenta existe y esta asignada a las cuentas asociadas de deudas pendientes (linea 6) del SN
-5002 Código no válido [line: 18] , '11601004'
La linea 18 es justamente el primer cliente que se asigna
Favor alquien me ayude
Gracias Former Member, ese codigo me funcionó perfectamente.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.