Se ha declarado PaymentTerm, pero no se extiende de ninguna clase. Cada tipo de ítem debe extenderse con una superclase.
Avalados por :
Hola,
Acabo de crear los siguientes tipos:
<collectiontype elementtype="PaymentTerm"
code="PaymentTermList" autocreate="true" type="list" />
<itemtype code="PaymentTerm" extends="GenericItem"
autocreate="true" generate="true">
<deployment table="PaymentTerms" typecode="22111" />
<attributes>
<attribute type="java.lang.String" qualifier="code">
<persistence type="property" />
<description>Código</description>
</attribute>
<attribute type="localized:java.lang.String" qualifier="description">
<persistence type="property" />
<description>Descripción</description>
</attribute>
</attributes>
</itemtype>
<itemtype code="PaymentTermsGroup" extends="UserGroup" autocreate="true"
generate="true">
<deployment table="paymenttermsgroups" typecode="22434" />
<attributes>
<attribute type="PaymentTermList" qualifier="paymentTerms">
<modifiers unique="true" optional="false" />
<persistence type="property" />
</attribute>
<attribute type="B2BUnit" qualifier="salesOffice">
<modifiers unique="true" optional="false" />
<persistence type="property" />
</attribute>
</attributes>
</itemtype>
Sin embargo, cuando intento crear una instancia de PaymentTermsGroup con 2 PaymentTerms (no obtuve el error con 1 PaymentTerm), obtengo un extraño error de SQL:
INFO | jvm 1 | main | 2015/07/09 12:49:13.897 | Causado por: de.hybris.platform.jalo.flexiblesearch.FlexibleSearchException: error de búsqueda SQL : El operando debe contener 1 columna(s) consulta = 'SELECT item_t0.PK FROM paymenttermsgroups item_t0 WHERE (( item_t0.uniqueid = ? AND item_t0.p_paymentterms = (?,?) AND item_t0.p_salesoffice = ? )) AND (item_t0.TypePkString=? )', valores = [sbx_nl_pmt, PropertyValue:8796093306463, PropertyValue:8796093273695, PropertyValue:8796093939717, 8796136538194][HY-0]
INFO | jvm 1 |
Se ha declarado PaymentTerm, pero no se extiende de ninguna clase. Cada tipo de ítem debe extenderse con una superclase.
No sé cómo se ve la consulta flexibleSearch actual, no lo dice en el registro. Creo que es generada por UniqueAttributesInterceptor, pero no he cambiado nada en ese interceptor.
Usar una relación en lugar de un tipo de colección es una buena sugerencia, de hecho, lo intentaré, gracias.
El problema es que estás intentando usar el operador = con una lista. item_t0.p_paymentterms = (?,?)
¿Cómo se ve tu consulta de flexibleSearch actualmente? Recomendaría (y creo que también lo hace Hybris) que no uses tipos de colección, sino relaciones en su lugar. Eso hará que las consultas sean mucho más simples. Y Vinay, hay un extends en la definición de los elementos. Aunque genericItem no siempre es el mejor, para elementos totalmente nuevos es una buena idea. GenricItem se extiende por defecto.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute