Programación meter datos en el campo RDR1.TEXT

Tengo un bucle For Each en VB.net o C# me da igual, que dentro recorre todos las lineas que tengo que meter por Codigo, unas 1750 lineas de media.

Pero necesite meter datos en el campo Text de Pedidos de Venta Lineas con la orden siguiente, pero me dice que… La propiedad ‘Text’ es ‘ReadOnly’.
Me dice que es una propiedad y realmente es un campo de linea ???

oOrder.Lines.Text = row.Field(Of String)(“Descripcion”).Trim()

Puedo cambiar esa propiedad en algún sitio, o temporalmente para introducir los datos y devolverla a su estado. Podéis sugerirme alguna solución.

Si estás tratando de actualizar el campo “Text” en las líneas de pedidos de venta en SAP Business One a través de código en C# o VB.NET y te está dando un error de “La propiedad ‘Text’ es ‘ReadOnly’”, es importante tener en cuenta que algunos campos en SAP Business One pueden estar marcados como de solo lectura y no se pueden modificar directamente a través del objeto de negocio.

Para lo que deseas, te sugiero que utilices el campo “UserFields.Fields” en lugar de intentar modificar directamente el campo “Text” en las líneas de pedido. Aquí tienes un ejemplo de cómo puedes hacerlo en C#:

1
2
3
4

foreach (var line in order.Lines) { line.UserFields.Fields.Item(“NombreCampo”).Value = row.Field(“Descripcion”).Trim(); }

En este caso, “NombreCampo” representa el nombre del campo de usuario al que deseas asignar el valor de la descripción del pedido. Al hacer esto, estarás actualizando correctamente los datos en las líneas de pedidos de venta sin intentar modificar directamente un campo de solo lectura.

Además, en caso de que necesites temporizar la modificación de la propiedad ‘Text’, podrías intentar guardar los valores en una estructura de datos temporal y aplicar los cambios en un momento posterior.

1 me gusta

Gracias por la respuesta, pero no he sido capaz de implementar codigo con el codigo que me cuentas.

Pero he seguido indagando a raíz de tu escrito y he encontrado que existe una propiedad que nos da este dato y nos deja escribir codigo a pesar de las restricciones. Se llama itemDetails(). Con esto lo permite.

oOrder.Lines.ItemDetails() = row.Field(Of String)(“Descripcion”).Trim()

ItemDetails Property body {visibility: hidden} div#pagetop,div#pagetop span,table#pagetoptable1 a,table#pagetoptable2 a {background-color: #C0C8FF; color: }

Description: Sets or returns the item details in the marketing document line.
Field name: Text.
Length: 16 characters.
Property type: Read-write property
Syntax: Visual Basic → Public Property ItemDetails() As String

Esta probado y funciona. Así que probando una cosa me he encontrado con otra. Gracias por el aporte y cerramos el caso…

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.