Foi declarado PaymentTerm, mas não estende de nenhuma classe. Cada tipo de item deve ser estendido por uma superclasse.
Avalados por :
Olá,
Acabei de criar os seguintes 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>Descrição</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>
No entanto, ao tentar criar uma instância de PaymentTermsGroup com 2 PaymentTerms (não obtive erro com 1 PaymentTerm), recebo um erro estranho 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 : O operando deve conter 1 coluna(s) na 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 |
Foi declarado PaymentTerm, mas não estende de nenhuma classe. Cada tipo de item deve ser estendido por uma superclasse.
Não sei como a consulta flexibleSearch atual se parece, não está registrado. Acho que é gerada pelo UniqueAttributesInterceptor, mas não alterei nada nesse interceptor.
Usar um relacionamento em vez de um tipo de coleção é uma boa sugestão, de fato, vou tentar, obrigado.
O problema é que você está tentando usar o operador = com uma lista. item_t0.p_paymentterms = (?,?)
Como está sua consulta de flexibleSearch atualmente? Eu recomendaria (e acredito que também o faz o Hybris) que você não use tipos de coleção, mas sim relacionamentos no lugar. Isso tornará as consultas muito mais simples. E Vinay, há um extends na definição dos elementos. Embora genericItem nem sempre seja o melhor, para elementos totalmente novos é uma boa ideia. GenericItem é estendido por padrão.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute