{"id":375,"date":"2022-06-30T17:36:07","date_gmt":"2022-06-30T23:36:07","guid":{"rendered":"https:\/\/fbedolla.com\/?p=375"},"modified":"2022-07-06T08:57:02","modified_gmt":"2022-07-06T14:57:02","slug":"usuario-de-dynamics-nav-20xx-seguimos-revisando-la-migracion-reimplementacion","status":"publish","type":"post","link":"https:\/\/fbedolla.com\/index.php\/2022\/06\/30\/usuario-de-dynamics-nav-20xx-seguimos-revisando-la-migracion-reimplementacion\/","title":{"rendered":"Usuario de Dynamics NAV 20xx &#8211; Seguimos revisando la migraci\u00f3n\/reimplementaci\u00f3n"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"766\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/008-1024x766.jpg\" alt=\"\" class=\"wp-image-397\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/008-1024x766.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/008-300x225.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/008-768x575.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/008-816x611.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/008.jpg 1145w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Sigamos con el tema de la migraci\u00f3n de 20xx a Business Central.<\/p>\n\n\n\n<p>Si quieres ver el articulo previo, da clic <a href=\"https:\/\/fbedolla.com\/index.php\/2022\/06\/16\/usuario-de-dynamics-nav-20xx-un-analisis-sobre-un-caso-real-y-en-desarrollo\/\">aqu\u00ed<\/a><\/p>\n\n\n\n<p><br>Una de las primeras tareas debe ser la revisi\u00f3n de c\u00f3digo actual para evaluar cual o cuales escenarios ser\u00e1n factibles y de ah\u00ed, definir el mejor acorde a la estrategia de crecimiento.<br>L\u00f3gicamente, tambi\u00e9n se deben revisar los procesos actuales, validar cuales se mantienen desde 2013 y porque, cuales cambiaron y porque, cuales se pueden mejorar con las nuevas funcionalidades y cuales procesos nuevos se integrar\u00e1n en esta reimplementaci\u00f3n.<\/p>\n\n\n\n<p><strong><em>Spoiler Alert, en esta ocasi\u00f3n, me enfocar\u00e9 en la parte t\u00e9cnica por lo que hablar\u00e9 mucho de c\u00f3digo y herramientas en lugar de procesos de negocio.<\/em><\/strong><\/p>\n\n\n\n<p>Actualmente se cuenta con cierta cantidad de tablas modificadas y\/o creadas para dar soporte a la operaci\u00f3n; as\u00ed mismo tablas, codeunits, etc.<br>En el nuevo esquema de programaci\u00f3n, los objetos del BaseApp se \u201cextienden\u201d por lo que hablamos de tablas y extensiones de tablas lo que implica incrementar el n\u00famero de objetos a crear\/modificar.<br>De inicio, debemos pensar en los escenarios posibles sobre el On-premise:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Modificar el BaseApp \u2013 Esto permite \u201cahorrar\u201d en objetos y mantener el dise\u00f1o original de 20xx facilitando as\u00ed la migraci\u00f3n y puesta en marcha ya que todo esta funcionando. Esto tambi\u00e9n condena a Business Central y al cliente a \u201cseguir atado al pasado\u201d y continuar manejando estructuras antiguas dejando de lado la posibilidad de ir actualizando su backoffice.<\/li><li>Extender \u2013 Esto implica invertir en redefinir todo a trav\u00e9s de extensiones de objetos lo que implica que se est\u00e1 adhiriendo a un esquema PTE a\u00fan en On-premise. Esta arquitectura deber\u00e1 cumplir con las reglas de Microsoft para funcionar tanto en On-premise como en SaaS lo que implica crear y mantener una plataforma privada estilo Azure para que, en un futuro y si es factible econ\u00f3micamente, migrar a la nube p\u00fablica desde la nube privada.<\/li><\/ul>\n\n\n\n<p>Hay que tomar en cuenta que mi enfoque es el de extender pensando en habilitar un crecimiento futuro por lo que desde este punto descarto la primera opci\u00f3n.<br>Este segundo escenario implica analizar los cambios originales y transferirlos a extensiones pero no solo es copy&amp;paste, se debe analizar cuales campos si y cu\u00e1les no.<br>Ejemplo, tabla cliente<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Se tiene un campo llamado \u201cPartner Type\u201d con id 50013 que es un option y coincide con el campo 132 con el mismo nombre y mismas opciones, pero tipo enum lo que es mas correcto para la aplicaci\u00f3n.<\/li><li>Se tienen los campos 50033 UsoCFDI y 50040 RegimeFiscal mismos que Microsoft agreg\u00f3 en una versi\u00f3n posterior con los campos 27000 y 27002.<\/li><li>Tiene campos para direcci\u00f3n de entrega que yo eliminar\u00eda y utilizar\u00eda la tabla Ship-to Address.<\/li><\/ul>\n\n\n\n<p>Este an\u00e1lisis debe realizarse por cada tabla modificada en conjunto con el equipo de programadores del cliente para asegurarnos que hablamos el mismo lenguaje y que los cambios en las estructuras de las tablas de Business Central sean tomados en cuenta en el redise\u00f1o de el punto de venta para que la integraci\u00f3n sea m\u00e1s correcta.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"544\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/vscode1-1024x544.jpg\" alt=\"\" class=\"wp-image-383\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/vscode1-1024x544.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/vscode1-300x159.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/vscode1-768x408.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/vscode1-1536x816.jpg 1536w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/vscode1-816x434.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/vscode1.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora bien, se debe ir revisando el c\u00f3digo que toca tanto los objetos de NAV como los objetos que no son de NAV e ir &#8220;definiendo y agrupando&#8221; las funcionalidades para irlas separando por \u00e1reas funcionales o por extensiones de manera que sea una construcci\u00f3n manejable y con vistas a permitir una extensi\u00f3n posterior. <\/p>\n\n\n\n<p>\u00bfA que me refiero con esto?<\/p>\n\n\n\n<p>Los desarrollos del cliente se pueden agrupar en:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Integraci\u00f3n de POS  que incluye temas de clientes, productos, almacenes, cobros, ventas, etc.<\/li><li>Reembolsos.<\/li><li>Compras.<\/li><li>Facturaci\u00f3n electr\u00f3nica.<\/li><li>Contabilidad electr\u00f3nica.<\/li><\/ul>\n\n\n\n<p>En lugar de hacer una extensi\u00f3n monol\u00edtica, ser\u00e1 mas conveniente separarla en varias extensiones de manera que cada una pueda ir creciendo acorde a sus propias necesidades y tambi\u00e9n permitir definir cuales ya no se migrar\u00e1n.<\/p>\n\n\n\n<p>La integraci\u00f3n con el POS se divide en:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Contratos Corporativos.<\/li><li>Contratos personales, Ventas de accesorios y equipos con cobro.<\/li><li>CRM.<\/li><\/ul>\n\n\n\n<p>Entonces convendr\u00eda descomponer la integraci\u00f3n en al menos esos temas que podr\u00edan ser manejados por separado.<\/p>\n\n\n\n<p>Temas importantes son detectar las modificaciones en los objetos de la aplicaci\u00f3n en NAV2013 y determinar como realizarlos en Business Central, recordemos que no podemos extender una codeunit as\u00ed que se debe buscar el cambio, comparar contra la nueva versi\u00f3n de la codeunit y buscar el evento que se ajuste para poder suscribirse al mismo y obtener el resultado buscado.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/001-1024x571.jpg\" alt=\"\" class=\"wp-image-387\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/001-1024x571.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/001-300x167.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/001-768x428.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/001-816x455.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/001.jpg 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1018\" height=\"576\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/002.jpg\" alt=\"\" class=\"wp-image-388\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/002.jpg 1018w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/002-300x170.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/002-768x435.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/002-816x462.jpg 816w\" sizes=\"auto, (max-width: 1018px) 100vw, 1018px\" \/><\/figure>\n\n\n\n<p>En otros casos, se realizaron cambios en las acciones de las paginas mismos que deben replicarse o, cambiar a suscripciones a eventos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"569\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/003-1024x569.jpg\" alt=\"\" class=\"wp-image-389\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/003-1024x569.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/003-300x167.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/003-768x427.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/003-816x453.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/003.jpg 1364w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"507\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/004-1024x507.jpg\" alt=\"\" class=\"wp-image-390\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/004-1024x507.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/004-300x149.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/004-768x380.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/004-816x404.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/004.jpg 1218w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Estas ultimas dos im\u00e1genes, tienen que ver con un registro autom\u00e1tico de transferencias. esto podr\u00eda ser una extensi\u00f3n por si misma dado que es una funcionalidad especifica, acotada y se puede encapsular.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"439\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a-1024x439.jpg\" alt=\"\" class=\"wp-image-393\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a-1024x439.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a-300x129.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a-768x329.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a-1536x658.jpg 1536w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a-1400x600.jpg 1400w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a-816x350.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/005a.jpg 1552w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"389\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/006-1024x389.jpg\" alt=\"\" class=\"wp-image-391\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/006-1024x389.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/006-300x114.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/006-768x292.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/006-816x310.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/006.jpg 1204w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Despu\u00e9s de agregar campos a una tabla y pagina, terminamos con lo siguiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"437\" src=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/007-1024x437.jpg\" alt=\"\" class=\"wp-image-395\" srcset=\"https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/007-1024x437.jpg 1024w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/007-300x128.jpg 300w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/007-768x328.jpg 768w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/007-1536x656.jpg 1536w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/007-816x349.jpg 816w, https:\/\/fbedolla.com\/wp-content\/uploads\/2022\/06\/007.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora bien, falta poner la traducci\u00f3n a es-MX, la seguridad y probar todo antes de pasarlo a productivo.<\/p>\n\n\n\n<p>Tenemos que realizar este tipo de trabajo por cada cambio detectado<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Buscar los cambios.<\/li><li>Aislar el cambio y ver porque es el cambio.<\/li><li>Revisar si la funcionalidad es requerida a\u00fan.<\/li><li>Revisar si hay algo en la nueva aplicaci\u00f3n que realice este comportamiento.<\/li><li>Si ya hay algo, validar con el usuario si es viable utilizarlo y da el mismo resultado.<\/li><li>Si no hay funcionalidad est\u00e1ndar, entonces revisar como se integrar\u00e1 al sistema la extensi\u00f3n determinando como y donde se realizara la suscripci\u00f3n al evento correspondiente y\/o<\/li><li>Extender tablas, paginas, reportes, etc.<\/li><li>Agregar permisos, traducciones (las normas establecidas por Microsoft y la comunidad es programar todo en INGLES y luego agregar la traducci\u00f3n).<\/li><li>Probar, probar, probar y ya una vez probado, publicar la extensi\u00f3n.  <\/li><\/ol>\n\n\n\n<p>Si lo que buscamos es darle al cliente una extensi\u00f3n que, inicialmente se use en on-premise y permita en un futuro ir a SaaS, debemos de respetar las normas, hay partners que no cuidan lo del lenguaje y cuando se quiere publicar en SaaS se encuentran errores o faltantes de etiquetas, seamos proactivos y veamos a futuro.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sigamos con el tema de la migraci\u00f3n de 20xx a Business Central. Si quieres ver el articulo previo, da clic aqu\u00ed Una de las primeras tareas debe ser la revisi\u00f3n de c\u00f3digo actual para evaluar cual o cuales escenarios ser\u00e1n factibles y de ah\u00ed, definir el mejor acorde a la estrategia de crecimiento.L\u00f3gicamente, tambi\u00e9n se [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,7],"tags":[],"class_list":["post-375","post","type-post","status-publish","format-standard","hentry","category-general","category-ideas"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/posts\/375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/comments?post=375"}],"version-history":[{"count":10,"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/posts\/375\/revisions"}],"predecessor-version":[{"id":401,"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/posts\/375\/revisions\/401"}],"wp:attachment":[{"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/media?parent=375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/categories?post=375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fbedolla.com\/index.php\/wp-json\/wp\/v2\/tags?post=375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}