Never really understood the motivation for using string as a boolean. I would
have used the intBoolean prototype :)
Is that possible for you to try?
On 29/11/2011, at 5:08 AM, Miguel Angel Torres Avila wrote:
> Hi list,
>
> We have a table named OrdenServicio in which we have a field named
> cxp_generado_cargos_corresponsal_paga defined as varchar(5) (Postgresql)
> We are using Prototypes and this is the configuration in EOModeler
>
>
> <Captura de pantalla 2011-11-28 a la(s) 11.44.43.png>
>
>
> Everything works great but now we need to use raw rows to show some reports.
> If we load information directly from the OrdenServicio table we have no
> problems.
>
> public static NSArray
> reporteOrdenesDeServicioConDistinctRawRows(EOEditingContext ec, NSArray
> filtros){
> EOAndQualifier andQual = new EOAndQualifier(filtros);
> EOFetchSpecification fs = new
> EOFetchSpecification(ENTITY_NAME,andQual,
> new NSArray(new Object[]{
>
> EOSortOrdering.sortOrderingWithKey(NUMERO_ORDEN_KEY,
> EOSortOrdering.CompareAscending)
> }), true, true, null);
> fs.setRefreshesRefetchedObjects(true);
> fs.setFetchesRawRows(true);
> fs.setRawRowKeyPaths(new NSArray<String>(NUMERO_ORDEN_KEY,
> CLIENTE_RAZON_SOCIAL_KEY, FECHA_CREACION_KEY, ESTATUS_KEY,
> CARGOS_CORRESPONSAL_PAGA_KEY,
> CXP_GENERADO_CARGOS_CORRESPONSAL_PAGA_KEY,
> FEE_PAGADERO_A_CORRESPONSAL_KEY,
> CXP_GENERADO_FEE_PAGADERO_A_CORRESPONSAL_KEY,
>
> CARGOS_COBRADOS_INTERMODAL_NOMBRE_CORRESPONSAL_KEY,
> CXP_GENERADO_CARGOS_COBRADOS_INTERMODAL_NOM_CORR_KEY));
> return ec.objectsWithFetchSpecification(fs);
> }
>
> But, we need to load that info accessing from another table, here are de
> relationships between tables:
>
> OrdenServicio < ------ >> OsServicioTipo <---------->> OsServicio
>
> We need a OsServicio's list but want to show the content of the
> cxp_generado_cargos_corresponsal_paga field that is on the OrdenServicio
> table. Here is the code of the method:
>
> public static NSArray serviciosParaListaRawRows(EOEditingContext ec,
> EOQualifier qualifier, NSArray<EOSortOrdering> sortOrderings) {
> EOFetchSpecification fs = new EOFetchSpecification(ENTITY_NAME,
> qualifier, sortOrderings);
> fs.setRefreshesRefetchedObjects(true);
> fs.setFetchesRawRows(true);
> fs.setRawRowKeyPaths(
> new
> NSArray<String>(OS_TIPO_SERVICIO_KEY+"."+OsTipoServicio.ORDEN_SERVICIO_KEY+"."+OrdenServicio.NUMERO_ORDEN_KEY,
>
> OS_TIPO_SERVICIO_KEY+"."+OsTipoServicio.SERVICIO_TIPO_KEY+"."+ServicioTipo.NOMBRE_KEY,
> PROVEEDOR_KEY+"."+
> SocioNegocios.RAZON_SOCIAL_KEY,
>
> ENCARGADO_KEY+"."+Usuario.USUARIO_KEY,
> MONEDA_SIGNO_KEY, TARIFA_KEY,
> MONEDA_NOMBRE_KEY, ESTATUS_KEY, PARTIDA_KEY, ESTATUS_COBRO_KEY,
> CXP_GENERADO_COSTO_KEY,
>
> OS_TIPO_SERVICIO_KEY+"."+OsTipoServicio.PARTIDA_KEY,
>
> OS_TIPO_SERVICIO_KEY+"."+OsTipoServicio.ORDEN_SERVICIO_KEY+"."+OrdenServicio.CXP_GENERADO_CARGOS_CORRESPONSAL_PAGA_KEY
> ));
> return ec.objectsWithFetchSpecification(fs);
>
> }
> In red the line to access the field. When we run the app get the following
> error:
>
>
> ERROR [WorkerThread15] - Super Administrador del Sistema::sysAdmin +
> com.toracom.app.components.util.ServicePendingList::filter::java.lang.IllegalStateException:
> value type S of attribute
> osTipoServicio.ordenServicio.cxpGeneradoCargosCorresponsalPaga of entity
> OsServicio is invalid.
> at
> com.webobjects.jdbcadaptor.JDBCColumn._fetchCorrectObject(JDBCColumn.java:321)
>
>
> We have no problem accessing field on the OrdenServicio table because we are
> getting the Order Number
> (OS_TIPO_SERVICIO_KEY+"."+OsTipoServicio.ORDEN_SERVICIO_KEY+"."+OrdenServicio.NUMERO_ORDEN_KEY).
> So we think the problem is the Prototype booelan because it converts from
> varchar to boolean when it loads to the OrdenServicio Entity but in this case
> we are loading data from OsServicio and there is no rule that indicates how
> to transform that value.
>
> I think we'll have to create a view on the database and create an entity just
> for this report.
>
> Any hints will be appreciated, also if you think I am right to think what is
> happening.
>
> Best Regards.
>
> Miguel Angel Torres.
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/lachlan.deck%40gmail.com
>
> This email sent to [email protected]
Lachlan Deck
[email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]