Etiquetado: Business Central, Extensiones VS Code, GitHub
- Este debate tiene 15 respuestas, 5 mensajes y ha sido actualizado por última vez el hace 5 años, 4 meses por Cristina Nicolàs.
Dudas de trabajo con extensiones VS Code
-
Jaume EscribàParticipanteJaume EscribàHola y felicidades por los cursos.
He estado siguiendo los cursos de las extensiones con VS Code y me surgen dudas.¿Se pueden utilizar campos, funciones, … creadas en una extensión des de otra extensión?
Por ejemplo, si creo un campo en la tabla de cliente des de una extensión, este mismo campo, lo puedo ver / utilizar desde otra extensión si la tengo instalada en la misma instancia de Nav 2018?
¿Puedo ver / utilizar campos, funciones,.. creadas des de una extensión des del entorno de desarrollo de Nav?¿Si somos dos programadores, podemos trabajar en la misma extensión a la vez?
¿La extensión se puede instalar en una versión diferente a la desarrollo?
Por ejempplo, ¿una extensión creada con Nav 17 se puede instalar en Nav 18?17 abril 2018 a las 17:35 #5421
Laura NicolàsSuperadministradorLaura NicolàsHola @Jaume,
Muchas gracias por los comentarios 🙂
Voy respondiento a tus preguntas
[quote quote=5421]¿Se pueden utilizar campos, funciones, … creadas en una extensión des de otra extensión?[/quote]
Sí. Se puede.
- En la segunda extensión, tienes que indicar que hay una dependencia con la primera.
Se indica en el fichero app.json. - La segunda extensión necesita los símbolos de la primera.
Hay que añadir el .app de la primera en la carpeta .alpackages de la segunda.
Es un tema interesante. Me lo anoto para hacer un curso sobre extensiones dependientes, y así lo vemos todo en detalle.
Salut!
Laura Nicolàs18 abril 2018 a las 08:14 #5422
Laura NicolàsSuperadministradorLaura Nicolàs[quote quote=5421]¿Puedo ver / utilizar campos, funciones,.. creadas des de una extensión des del entorno de desarrollo de Nav?[/quote]
No. No se puede.
Todo lo que hagas en VSCode no tiene visibilidad en C/SIDE.
Al revés sí > Si creas un campo/función/objeto en C/SIDE, lo puedes usar en VSCode.
Salut!
Laura Nicolàs18 abril 2018 a las 08:14 #5423
Laura NicolàsSuperadministradorLaura Nicolàs[quote quote=5421]¿Si somos dos programadores, podemos trabajar en la misma extensión a la vez?[/quote]
Sí. Se puede.
Tienes varias opciones para conseguirlo:
- El proyecto está en una carpeta compartida, ya sea porque accedéis al mismo servidor, o porque lo tenéis en un Dropbox o similar.
Dos personas abrís el mismo proyecto y vais trabajando en el proyecto.
Cuando guardas los cambios en un fichero, la otra persona ve los cambios al momento.
Si los dos estáis modificando el mismo fichero al mismo momento, cuando la segunda persona va a guardar el sistema avisa que hay cambios, y te pide que hagas un merge al momento. - Utilizas un sistema tipo Git. Cada uno trabaja en una copia “local” del proyecto. Cuando has terminado con tu parte, o cuando lo consideras relevante, subes los cambios. Se tiene que hacer un Merge. Herramientas como GitHub o similar ofrecen muchas ayudas para gestionar los Merge, las versiones y las contribuciones.
Creo que un sistema tipo Git es lo ideal y nos tenemos que acostumbrar a usarlo. Nosotras todavía no nos hemos puesto.
Sobre la primera parte, Cristina y yo hemos hecho algunas pruebas y va bien. En breve grabamos un vídeo para enseñarlo.
Salut!
Laura Nicolàs18 abril 2018 a las 08:54 #5424
Laura NicolàsSuperadministradorLaura Nicolàs[quote quote=5421]¿La extensión se puede instalar en una versión diferente a la desarrollo?
Por ejempplo, ¿una extensión creada con Nav 17 se puede instalar en Nav 18?[/quote]En NAV2017 solo podías crear extensiones v1, las que se creaban desde C/SIDE. Sí, puedes coger esa extensión e instalarla en NAV2018.
Las extensiones v2 (creadas desde VSCode) no se pueden instalar en NAV2017. Pero sí se puedan instalar en DBC (Dynamics 365 Business Central) y se podrán instalar en futuras versiones.
Salut!
Laura Nicolàs18 abril 2018 a las 08:58 #5425
Laura NicolàsSuperadministradorLaura Nicolàs[quote quote=5424]
¿Si somos dos programadores, podemos trabajar en la misma extensión a la vez?
Sí. Se puede.
[/quote]Hemos publicado un artículo en el blog con un video muy interesante sobre como gestiona Visual Studio Code el trabajo colaborativo.
Lo puedes ver aquí: https://clipdynamics.com/extensiones-vscode-trabajar-colaborativamente/
Salut!
Laura Nicolàs10 mayo 2018 a las 09:24 #5654
cherrandoParticipantecherrandoHola Laura,
aprovecho el hilo de extensiones para añadir una pregunta relacionada, aunque si crees que es mejor sacarla me dices.He leido que la versión Dynamics 365 Business Central ya no incorpora NAV Development Environment, no sé si es correcto.
En este caso, ¿cómo se podría modificar una codeunit estándar que está funcionando mal a través de extensiones v2?. La única forma que habría aparentemente es añadir código a través de suscripciones a eventos, pero ¿cómo hacemos para corregir un bug si no hay evento en el punto donde se produce?, ¿se podrá depurar código estándar en esta nueva versión?Y otra pregunta, ¿tenéis pensado hacer algún video como el del trabajo colaborativo, pero utilizando GitHub enlazado con VSCode?
Muchas Gracias!
10 mayo 2018 a las 11:41 #5662
Laura NicolàsSuperadministradorLaura NicolàsHola!
Intento responder a tus preguntas:
[quote quote=5662]He leido que la versión Dynamics 365 Business Central ya no incorpora NAV Development Environment, no sé si es correcto.[/quote]
En la versión cloud es así. Ya no hay posibilidad de usar el NAV Development Environment.
En la versión on-premise, que saldrá en Octubre/Noviembre, no lo se. Yo creo que en implantaciones on-premise será posible desarrollar desde C/SIDE durante algunas versiones más. Pero en algún momento lo quitarán.[quote quote=5662]¿cómo se podría modificar una codeunit estándar que está funcionando mal a través de extensiones v2?. La única forma que habría aparentemente es añadir código a través de suscripciones a eventos, pero ¿cómo hacemos para corregir un bug si no hay evento en el punto donde se produce?[/quote]
En este caso, la forma de operar tendría que ser esta:
- En ocasiones tendrás que volverte un poco “creativo” para ver como solucionar el problema. Quizá dejar que la funcionalidad estándard haga lo que tenga que hacer, aunque esté mal, y luego poner código propio que “revierta” la situación, o algo así. Es una solución poco elegante, pero en ocasiones no tendremos otra.
En el curso Dynamics ScaleUp vamos a mostrar un par de ejemplos, de casos reales en los que nos hemos tenido que volver creativas, en las extensiones que hemos hecho para nuestros clientes. - Solicitar un nuevo evento.
- Reportar el bug a Microsoft.
- Side-by-side Development.
Si no existe el evento… puedes solicitarlo en el foro de Github. Los ingenieros de Microsoft están respondiendo muy rápido a estas solicitudes y normalmente en el siguiente Cumulative Update ya lo tienes disponible.
Si se trata de un bug, lo mejor es que Microsoft lo solucione y que la solución forme parte del estándar. Puedes reportar el bug desde la PartnerSource (https://mbs2.microsoft.com/Support/SupportRequestStep1.aspx)
En las implantaciones on-premise C/SIDE va a seguir disponible durante un tiempo y es posible hacer modificaciones tanto en C/SIDE como en VSCode y que las dos coexistan.
Hasta el momento estábamos muy acostumbrados al yo me lo guiso, yo me lo como. Encontrábamos un bug, y lo corregiamos. Simple. Rápido.
Ahora, si no queremos perjudicar a nuestro cliente, tendremos que actuar de forma distinta. Tenemos que acostumbrarnos a reportar las incidencias y quizá esperar un mes o dos a que se solucionen. No es fácil, lo se, porque estamos acostumbrados a ser bastante auto-suficientes. A mi me pasa. Pero no hay otra.
Siempre te queda la opción del Side-by-side development. Vas mas rápido. Pero mucho cuidado, porque podemos estar perjudicando a nuestros clientes.
Las transiciones siempre son complejas, pero nos tenemos que adaptar.
Es posible que este tema genere controversia y debate… ¿nos lo ponen más fácil o más difícil? ¿tú que opinas?
Salut!
Laura Nicolàs10 mayo 2018 a las 12:21 #5664
Laura NicolàsSuperadministradorLaura Nicolàs[quote quote=5662]Y otra pregunta, ¿tenéis pensado hacer algún video como el del trabajo colaborativo, pero utilizando GitHub enlazado con VSCode?[/quote]
Por el momento no tenemos experiencia con GitHub. No lo hemos probado.
Es un tema interesante y me gustaría probarlo, pero no creo que sea a corto plazo.De todas formas si alguien quiere/puede hacer el video, yo estaré encantada de colgarlo en el blog, o de poner un enlace al blog del autor 🙂
Salut!
Laura Nicolàs10 mayo 2018 a las 12:23 #5666
cherrandoParticipantecherrandoMuchas gracias Laura por tu rápida y muy completa respuesta.
Era un poco lo que nos temíamos, pero si dices que desde Microsoft son rápidos a la hora de meter nuevos eventos y corregir bugs entonces por lo menos tenemos una salida.
Aunque imagina que el bug hace que se registre un impuesto con un importe erróneo…esperar un mes no es viable. Cruzaremos los dedos para que no pase.
Quizá si se corrige rápido se pueda descargar desde GitHub la extension correspondiente que ha realizado Microsoft para no tener que esperar al mes siguiente cuando salga el CU.
Tengo otra pregunta que quizá se solucione probando pero aún no he sacado el tiempo para hacerlo. Tu creas una extensión con una tabla 50000 para una determinada funcionalidad y otra persona crea otra extensión distinta que también trae una tabla nueva con el mismo número 50000 aunque con distinta estructura. Al instalar las dos extensiones, ¿qué ocurre?, ¿falla?, ¿funciona?. Estoy pensando en descargar extensiones a “ciegas” por ejemplo de repositorios publicos. Si hay objetos con numeraciones coincidentes, ¿NAV funciona bien y en la instalacion les da una numeración unica para que todo funcione?
Gracias de nuevo!
10 mayo 2018 a las 12:42 #5670
Laura NicolàsSuperadministradorLaura Nicolàs[quote quote=5670]Tengo otra pregunta que quizá se solucione probando pero aún no he sacado el tiempo para hacerlo. Tu creas una extensión con una tabla 50000 para una determinada funcionalidad y otra persona crea otra extensión distinta que también trae una tabla nueva con el mismo número 50000 aunque con distinta estructura. Al instalar las dos extensiones, ¿qué ocurre?, ¿falla?, ¿funciona?. Estoy pensando en descargar extensiones a “ciegas” por ejemplo de repositorios publicos. Si hay objetos con numeraciones coincidentes, ¿NAV funciona bien y en la instalacion les da una numeración unica para que todo funcione?[/quote]
En este caso ocurre lo siguiente:
– La primera extensión se instala sin problemas y funciona de forma normal.
– La segunda extensión da error al instalar. No te deja instalar hasta que no se soluciones la colisión de numeración.Ahora mismo es muy sencillo pedir un rango de numeración reservada, por lo que si vas a hacer extensiones… lo mejor es que pidas numeración. (Explicamos el proceso en este hilo del blog)
De todas formas yo creo que en algún momento quitarán los IDs y todo irá por nombres. Por lo menos así es como funcionan otros sistemas, por ejemplo WordPress, que es el CMS que usamos para la web.
Es mucho más improbable que haya colisión de nombres. Si además usas un prefijo o un sufijo, la probabilidad disminuye todavía más.
Microsoft ya te deja reservar prefijos/sufijos… lo que me hace pensar que en algún momento todo irá por nombres, y los IDs ya no tendrán sentido.
Salut!
Laura Nicolàs10 mayo 2018 a las 13:36 #5671
Jaume EscribàParticipanteJaume EscribàHola Laura,
Aunque voy a trabajar con extensiones, puede que tenga que crear campos en tablas estandarts, tablas y CU propias
¿Como puedo cargar los objetos (Campos, Tablas, CU,…) creados directamente en NAV al entorno de Visual Code?
Por defecto solo carga los símbolos estandarts.Gracias
28 mayo 2018 a las 15:24 #5832
Jaume EscribàParticipante28 mayo 2018 a las 16:59 #5834
Lucero OrtegaParticipante7 diciembre 2018 a las 19:15 #7342 - En la segunda extensión, tienes que indicar que hay una dependencia con la primera.
Debe iniciar sesión para responder a este tema.