Integraciones: Documento de Errores
Índice de errores:
MENSAJE DE ERROR
ISSUE ASOCIADA
{"error":"Bad Request: Field EmpresaCodigo is required","status":400}
32. {"error":"Internal Server Error: Error genérico de BSuiteAgricola \n\tLa fecha del laboreo debe estar comprendida entre las fechas del Lote y Actividad en los items de Distribución.","status":500}
Mensaje 1: https://sima.atlassian.net/browse/SNWP-5550
“status500, errorteamplace error on “reports” API iInternal Server Error fafapp.base.exceptions.FuntionalException funcional genérica”
Solución: Javi envió mail a Finnegans.
Finnegans había aplicado corrección sobre sus instalaciones. Corrigieron ellos
Mensaje 2: https://sima.atlassian.net/browse/SNWP-5587
Órdenes enviadas a Finnegans, llegan con cantidades de insumos en cero “0”
Se envió e-mail a Finnegans con error recibido.
Lo solucionó Finnegans
Mensaje 3: https://sima.atlassian.net/browse/SNWP-5595
“{status500,errorteamplace error on 'reports/LABOREOEJECUTADOS' API Internal Server Error faf.app.base.exceptions.FunctionalException funcional genérica”
Se agregaron validaciones en formulario de edición de OTs para no permitir ingresar fechas de confirmaciones inválidas. A su vez, se debe correr un script para corregir las OTs con fechas mal formadas.
Motivo del error: se insertaban fechas inválidas en las confirmaciones. Como se ve en la imagen.
Mensaje 4: https://sima.atlassian.net/browse/SNWP-5600
“El argumento 1 pasado a Sima/SimaMicoService/Service/Society/SocietyConfigurationServiceCheckSocietyConfigurationValue() debe ser del tipo cadena, nulo dado, invocado en /var/www/monitoreoagricola/src/Kodear/ApiBundle/Service/AplicationOrderService.php en la linea 1379”
Se solucionó con un HOTFIX (consultar a Javi cuál era el origen del problema) @Angel Javier Larrosa
Mensaje 5: https://sima.atlassian.net/browse/SNWP-5621
“cURL error 18 transfer closed with outstanding read data remaining (see https//curl.haxx.se/libcurl/c/libcurl-errors.html)”
Fue resuelto del lado de Finnegans
Mensaje 6: https://sima.atlassian.net/browse/SNWP-5627
No trae semillas en las ordenes de siembra
Revisando el caso, se verificó que el tipo de insumo para Semilla y otros en el codigo_sima viene null en consecuencia todos los insumos con este tipo no se importaban.
Se envió mail a Albor para resolver esta situación. Adicionalmente en el sistema Albor no hay lugar donde se visualiza el codigo sima asociado al tipo de insumo.
Mensaje 7: https://sima.atlassian.net/browse/SNWP-5647
“errorInternal Server Error Error genérico del método prepareSaveFromSerialization de EntidadHLP. \tNo se encontró la Secondary Key asociada, con los valores Tabla BSALabor, campoPK LaborID, campoSk Codigo, valorSk Siembra Girasol Neumatica.,status500}
El cliente debe cambiar el “Tipo de Labor” ya que la actividad “(Siembra) Girasol Neumática”. No existe en Finnegans (probablemente haya sido eliminada previamente a la implementación del enpoint de eliminaciones).
Mensaje 8: https://sima.atlassian.net/browse/SNWP-5632
{errors[{Code404,MessageElemento no encontrado,Detailnull}]}
Se envió consulta a ALBOR por parte de Javi, la respuesta: “No está bien configurado, el ambiente de vista alegre. Puntualmente, no tienen bien configurado el parámetro que especifica el tipo de ot que se usa para la integración
Entiendo que deberían verlo o con soporte de albor o su implementador de albor”
Mensaje 9: https://sima.atlassian.net/browse/SNWP-5700
No se importan LABOREOS realizados en Finnegans
Respuesta de Gero que consultó a Finnegans: Acabo de reunirme con Finnegans y es una cuestión de configuraciones. En algún lado en configuraciones se definen 2 maneras de trabajar:
Con solapa de distribución: Este es el caso, se recomienda y se confirma una única dosis por insumo por lotes en la OT. Resulta que cuando viene a SIMA, no es compatible como lo esperamos en la sección de confirmaciones. SIMA espera confirmar una dosis por lotes haya en la OT. Nos llega 1 dosis para muchos lotes. Conclusión, no se importa.
Modo “permite distribución individual”. En este caso, cuando se genera el laboreo, se distribuye el insumo por cada lote que pertenece a la OT, tal como lo espera SIMA. De hecho, esta configuración la desarrollaron para la integración. Conclusión, con esta configuración se logra importar a SIMA.
Debemos hablar con el usuario e indicar que si quiere importar los laboreos a SIMA, debe indicar esta modalidad de trabajo en la configuración.
Mensaje 10: https://sima.atlassian.net/browse/SNWP-5699
MENSAJE EN ALBOR: “Los datos no se actualizaron correctamente. Ocurrió un error al momento de sincronizar con SIMA….”
Solucinó ALBOR: Para entender, es un error de conexión de su sistema y no sucede siempre es de vez en cuando, por lo que están analizando de su lado que lo produce o bien cambiar el mensaje para que no nos venga en forma de issue.
Mensaje 11: https://sima.atlassian.net/browse/SNWP-5701
“Error internal Sever Error Error genérico del método de preparateSaveFromSerialization de EntidadHLP /t No se encontró la secondary key asociada, con los valores tabla BSOganizacion, campoPK, organizacionID, campoSKcodigo, valor Sk 20 ……, status200”
Este caso, hicieron una edición sobre un código de aplicador. Cambiaron ‘20 20459527 6' por '20204595276’, supuestamente esta acción debería estar bloqueada (edición de código). A su vez, al no estar relacionado por id se pierde la referencia en SIMA.
Acción a realizar, voy a cambiar los ids de aplicadores en las OTs por el nuevo id generado. Eliminar el aplicador anterior y borrar referencia externa.
Nota: Identifiqué que existen aplicadores repetidos de “nombres“ lo que indica otros casos posibles de esta misma situación.
Mensaje 12: https://sima.atlassian.net/browse/SNWP-5737
“error” “internal server error: cuando da error en el constructor de una entidadVO clase hijo /n/tjava.sql.SQL EXCEPTION: THE insert ESTATEMENT conflicted with the FOREIGN key constraint /”FKBSALaboreoItem_BSALaboreotrabajo/”. The conflict ocurred in database “/FAF12_EJEMPLAR”/, table, “dbo.BSALaboreoTrabajo”. “Colum laboreoTrabajoID” “satus 500”
Se envió email a Finnegans con el tema en cuestión. (seguimos a la espera de respuesta!)
Mensaje 13: https://sima.atlassian.net/browse/SNWP-5752
“Error internal server error genérico del servicio de stock: No hay stock disponible a la fecha xx/xx/xx para el producto xxxx en el depósito xxxx para la partida xxxx. Status500”
En Finnegans hicieron una corrección de los stocks con lo cual se pudo enviar esta OT.
Siendo que en realidad si había stock:
Mensaje 14: https://sima.atlassian.net/browse/SNWP-5753
14. “Error internal server error Error Genéricode BSuite / Fecha no permitida.Status500”
Enviamos mail y Json de la OT.
Era una configuración en “Tipo de documento” en Finnegans. Estamos a la espera del instructivo.
👉 Se tuvo otro caso de este error con El Ganado” en donde la fecha estaba bien configurada en Finnegans. La repsuesta de Lorena fue: “Para este caso particular de Grupo El Ganado, se llegó a la conclusión de que es necesario cambiar el nombre de la transacción en SIMA a uno que aún no exista en Finnegans, esto solo en caso de presentar el inconveniente de "Fecha no permitida". De esta forma el sistema acepta la transacción proveniente de SIMA y ya no es necesario cambiar la "fecha de edición" en Finnegans”.
Mensaje 15: https://sima.atlassian.net/browse/SNWP-5760
“Status500. errorteamplace error on “reports” API Internal Server Error faf.app.base.esceptions.funcionalException funcional Generica”
innegans hizo cambios sobre el enpoint de asignaciones. Se aplican cambios en SIMA.
Mensaje 16: https://sima.atlassian.net/browse/SNWP-5774
Traíamos OTs con lotes/insumos duplicados
Se agregó código para aceptar ediciones sobre OTs que tengan repeticiones de confirmaciones, campañas, formulados.
Luego por sql acomodar ots con duplicados.
Mensaje 17: https://sima.atlassian.net/browse/SNWP-5825
No tienes permiso para acceder a este elemento
No hubo respuesta, la OT pudo ser enviada, el cliente no volvió a responder.
Mensaje 18: https://sima.atlassian.net/browse/SNWP-5813
“Error internal server error Se ha producido un error /t La identificación externa xxxx ya existe para otra transacción. Status500”
Se envio mail a Finnegans por un funcionamiento errático en los enpoints de listado de órdenes de laboreo con filtro de fecha.
Se realizó un fix momentaneo en api a la espera de resolución de finnegans de solución definitiva.
Mensaje 19: https://sima.atlassian.net/browse/SNWP-5929
“Error internal Sever Error Error genérico del método de preparateSaveFromSerialization de EntidadHLP /t No se encontró la secondary key asociada, con los valores tabla BSProducto, campoPK, PorductoID, campoSKcodigo, valor Sk 20 “xxxxx” , status500”
No esta implementado el endpoint de eliminación de productos para Finnegans por lo que la eliminación se debe hacer desde base de datos. Eliminar un insumo en Finnegans actualmente no impacta en SIMA.
El insumo fue eliminado por base de datos.
Mensaje 20: https://sima.atlassian.net/browse/SNWP-5934
“{errorInternal Server Error Error genérico del método prepareSaveFromSerialization de EntidadHLP. \tNo se encontró la Secondary Key asociada, con los valores Tabla BSALoteActividad, campoPK LoteActividadID, campoSk LoteActividadID, valorSk 394.,status500}”
Campañas duplicadas. Se cambió la campaña asiganada y envió la OT.
Posteriormente se limpiaron las campañas duplicadas.
Para el CS que intente corregir este error cambiando de campañas y asignar su duplicada. Pero le sigue dando error luego.
Tenes en cuenta este dato: no siempre la segunda campaña del listado desplegable es la más nueva y por ende la integrada. A veces no ocurre de esta forma.
La forma de saber cual es la correcta e integrada es consultando el listado de campañas.
Dejo un caso de ejemplo en el video:
Mensaje 21: https://sima.atlassian.net/browse/SNWP-5961
“exceptions.internal_error”
Mensaje 22: https://sima.atlassian.net/browse/SNWP-5972
“errorInternal Server Error Error generico de BSuite /tFecha no ermitida, status 500”
El cliente debe cambiar laa fecha indicada en un “Tipo de documento” dentro de las configuraciones de Finnegans, solo tiene acceso una persona que tenga un rol con permisos para acceder a esta parte de Finnegans. Estamos a la espera del instructivo.
Mensaje 23: https://sima.atlassian.net/browse/SNWP-6026
“La cantidad de has sembradas supera a la cantidad de has asignadas para la asignación soja de primera"
Se corrigieron las hectáreas en la órden o en la campaña, según corresponde. Y se envió la OT.
Mensaje 24: https://sima.atlassian.net/browse/SNWP-3922
POST https//go.finneg.com/api/1/teamplace/bridge/LaboreoOrden?access_token=41ea8049-b81d-40c2-b1d9-5e7661decb23` resulted in a `500 Internal Server Error` response {errorInternal Server Error Error genérico del método prepareSaveFromSerialization de EntidadHLP. \tNo se encon (truncated...)
Correr siguiente script en ambiente prod
SET FOREIGN_KEY_CHECKS=0;
UPDATE application_orders set warehouse_id = 3753, date_modified = NOw()
WHERE warehouse_id =1527;
UPDATE application_orders set warehouse_id = 3739, date_modified = NOw()
WHERE warehouse_id =1521;
UPDATE application_orders set warehouse_id = 3651, date_modified = NOw()
WHERE warehouse_id =2045;
UPDATE warehouses set modified_at = NOw(), deleted_at = NOw()
WHERE id IN (1527,1521,2045);
SET FOREIGN_KEY_CHECKS=1;
Mensaje 25: https://sima.atlassian.net/browse/SNWP-5522
{errorInternal Server Error Uno de los campos excede el límite de contenido,status500}
Se resuelve el tema limitando a 500 caracteres las observaciones enviadas. Esto implica un recorte en las observaciones aunque al menos la Ot se enviará igualmente. En forma adicional, se envio mail a Finnegans solicitando ampliar el tamaño del campo observaciones.
Mensaje 26: https://sima.atlassian.net/browse/SNWP-5632
{errors[{Code404,MessageElemento no encontrado,Detailnull}]}
Se envió consulta a ALBOR:
Respuesta Albor:
“No esta bien configurado, el ambiente de vista alegre. Puntualmente no tienen bien configurado el parámetro que especifica el tipo de ot que se usa para la integración
Entiendo que deberían verlo o con soporte de albor o su implementador de albor”
Mensaje 27: https://sima.atlassian.net/browse/SNWP-6040
“errorInternal Server Error Error Partámetro Obligatorio/ Debe especificar el precio para el producto Pulverizaciones”
Resuelto cambiando la configuración desde Finnegans, por el cliente.
Mensaje 28: {"error":"Internal Server Error: Se ha producido un error \n\tjava.lang.NullPointerException","status":500}
Mensaje 29: “Orden de trabajo no configurada con actividad externa”
Orden de trabajo no configurada con actividad externa
Se debe a que la orden no tiene especificada una labor.
Mensaje 31: “Error en Finnegans: Internal Server Error generico de BsuiteAgricola. El Laboreo no se encuentra valorizado. Mensaje recibido desde Finnegans…”
El problema viene por el nombre de la OT. Esta repetido. Se cambia el nombre y la misma se envia ok.
Mensaje 33: “Notice indirect modification of overloaded element of Doctrine\Common\Collections\ArrayCollection has no efect”
Notice indirect modification of overloaded element of Doctrine\Common\Collections\ArrayCollection has no efect
No se pudo reproducir. Más adelante la OT se envió a Sistema Externo sin inconvenientes.
Mensaje 34: “No se puede enviar Orden de Trabajo, el sistema externo no acepta área confirmada en con valor = 0”
“No se puede enviar Orden de Trabajo, el sistema externo no acepta área confirmada en con valor = 0”
Sucedía con todos los valores que comienzan con 0. Ya cuando colocabas 1 hectárea, la orden viajaba perfecto. Se corrigió y ahora permite enviar OT cuando la superficie es 0,5, por ejemplo.
Mensaje 35: “Error en Finnegans - Internal Server Error cuando da un error en el constructor de una EntidadVO clase hijo java.sql.SQLException. The INSERT statement conflicted with the FOREIGN KEY constraint 'FKBSALaboreItem_BSALaboreInsumo'. The conflict occurred in database FAF12_DesarrolloSima, table dbo.BSALaboreInsumo, column 'LaboreInsumoID'.”
“Error en Finnegans - Internal Server Error cuando da un error en el constructor de una EntidadVO clase hijo java.sql.SQLException. The INSERT statement conflicted with the FOREIGN KEY constraint 'FKBSALaboreItem_BSALaboreInsumo'. The conflict occurred in database FAF12_DesarrolloSima, table dbo.BSALaboreInsumo, column 'LaboreInsumoID'.”
Esta OT la creé en Finnegans (OT-DistINDI - 695), con 2 Lotes y 3 insumos. Importé en SIMA y:
Eliminé uno de los Lotes y agregué otro
Eliminé uno de los Insumos y agregué otro
Cambié un insumo por otro
También hice modificaciones en las superficies y dosis en recomendaciones y confirmaciones. Guardé los cambios y envíe a sistema externo y saltó el error.
Mensaje 36: “Se encontraron cero o mas de un depósito.”
“Se encontraron cero o mas de un depósito.”
Lo que sucedía en este caso es que el sistema integrado no nos estaba enviando la info cuando se eliminaba/archivaba un deposito, entonces el usuario seguía viendo depósitos que ya no estaban disponibles en el sistema externo. Para resolverlo se generaron los endpoints para consumir esta información de eliminación, y ahora no hay inconsistencias entre varios problemas, el detalle del proceso esta en la issue vinculada.
Mensaje 37: “Se encontraron cero o mas de un depósito.”
“{"errors":[{"Code":400,"Message":"Las órdenes de trabajo deben tener al menos un ítem de insumo","Detail":null}]}”
El error descripto en la imagen se da al generar una Orden de Cosecha con un tipo de labor que no se encuentra dentro de los parámetros del Sistema de Albor que lo identifica como de tipo Cosecha. Desde Albor para nuestro ambiente lo resolvieron agregando el tipo de labor en esos parámetros. Sección no accesible por los usuarios en primera instancia. Es una configuración a nivel de entorno.
Desde Albor esta sería la respuesta: “Por lo general, tengo entendido, que los tipos de labores no suele crearlo el cliente, es un implementador de albor que sabe que también tiene que agregarlo en ese parámetro”.
Mensaje 38: “Cannot use object of type stdClass as array”
“Cannot use object of type stdClass as array"
Se genera fix en salida de configurations desde el api.
Mensaje 39: “Too few arguments to function Sima\IntegrationBundle\Service\BaseExternalService::__construct(), 4 passed in /var/www/monitoreoagricola/app/cache/prod/appProdProjectContainer.php on line 5914 and exactly 5 expected”
“Too few arguments to function Sima\IntegrationBundle\Service\BaseExternalService::__construct(), 4 passed in /var/www/monitoreoagricola/app/cache/prod/appProdProjectContainer.php on line 5914 and exactly 5 expected”
Se agrega control de sistema de protocolo. En caso de no recibir en el header el parámetro requerido se genera una excepción del tipo EmptySystemHttpException.
Mensaje 40: “El tipo de labor seleccionada para enviar a Finnegans no se encuentra correctamente integrado. Es posible que no exista en Finnegans.”
“El tipo de labor seleccionada para enviar a Finnegans no se encuentra correctamente integrado. Es posible que no exista en Finnegans.”
Probablemente hayan modificado el código, con lo cual al querer enviar la OT, no encontró la referencia que tenía previamente. No hay mucho para hacer en este caso (siempre quedamos a la espera que Finnegans integre las OTs a través de IDs y no de los códigos, pendiente de su lado)
Puede pasar que al enviar una orden de trabajo al sistema externo, nos arroje un error como el siguiente ejemplo:
En este caso nos está indicando que el depósito que hemos seleccionado y con el cual queremos enviar la orden de trabajo, ya no existe o fue modificado en Finnegans. Dicho error ocurre debido a que se ha eliminado el deposito o se ha modificado su código.
Deberás hablar con tu consultor Finnegans para bloquear la edición de códigos de depósitos y de todas las entidades vinculadas con SIMA para que esto no se vuelva a repetir.
Para corregir esto, si se modifico el nombre del depósito, ahora en SIMA se va a tener un nuevo deposito con este nuevo nombre que se selecciono en el código. En el caso de haber eliminado el deposito, se lo va a tener que reemplazar en la orden de trabajo de SIMA por el nuevo deposito existente y avisar a tu agente de soporte de SIMA, que elimine el deposito que ya no existe en Finnegans.
2. Puede pasar que al enviar una orden de trabajo al sistema externo, nos arroje un error como el siguiente ejemplo:
Usuario reporta (Duahu): Este problema también lo tuvimos en junio con el insumo Breaker Max salida del dep Necochea que no pude seguirlo, cargue los partes directamente desde Finnegans no pude enviar a sistema externo en su momento, lo hable con Nacho en su momento y quedamos con Nacho que era un problema de Finnegans, stock había. En este caso ahora es para Flurocloridona salida del dep 43.
Creo que debe ser para todos los insumos. Son depósitos nuevos el de Necochea se cambio de nombre en junio y el 43 se creo en julio.
Paso el print de pantalla
La mandaron aprobada y siguieron por Finnegans, estamos esperando otro caso de el mismo error en ejecutada para encararlo.
3. Error status500
4. Error 504 Gateway…“cURL error 18 transfer closed with outstanding read data remaining (see https//curl.haxx.se/libcurl/c/libcurl-errors.html)”
Mensaje 32: {"error":"Internal Server Error: Error genérico de BSuiteAgricola \n\tLa fecha del laboreo debe estar comprendida entre las fechas del Lote y Actividad en los items de Distribución.","status":500}
{"error":"Internal Server Error: Error genérico de BSuiteAgricola \n\tLa fecha del laboreo debe estar comprendida entre las fechas del Lote y Actividad en los items de Distribución.","status":500}
Esto ocurre porque la OT tiene una Fecha de Confirmación posterior/anterior a la de Finalización/Comienzo de la Planificación