<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:media="http://search.yahoo.com/mrss/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>código archivos - Itop</title>
	<atom:link href="https://itop.es/tag/codigo/feed/" rel="self" type="application/rss+xml" />
	<link>https://itop.es/tag/codigo/</link>
	<description>Consultora tecnológica en Tenerife</description>
	<lastBuildDate>Tue, 30 Jun 2026 11:18:06 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://itop.es/wp-content/uploads/2023/01/itop-favicon-web.svg</url>
	<title>código archivos - Itop</title>
	<link>https://itop.es/tag/codigo/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Qué es Chat GPT y cómo puede ayudarte en tu día a día</title>
		<link>https://itop.es/blog/item/chat-gpt.html</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 31 Jan 2023 13:18:39 +0000</pubDate>
				<category><![CDATA[Información de interés]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[digitalización]]></category>
		<category><![CDATA[gestión de las relaciones con los clientes]]></category>
		<category><![CDATA[Inteligencia Artificial (IA)]]></category>
		<category><![CDATA[Itop Consulting]]></category>
		<category><![CDATA[tecnología]]></category>
		<category><![CDATA[transformación digital]]></category>
		<guid isPermaLink="false">https://migracion.itop.es/chat-gpt/</guid>

					<description><![CDATA[<p>Es posible que en los últimos meses hayas oído hablar de Chat GPT. Muchos dicen que es una tecnología revolucionaria, incluso la comparan con Google. Otros comentan que haciendo una analogía con el pasado, va a suponer la misma revolución que ocurrió con la calculadora. Las personas que estén leyendo este artículo se acordarán que en clase solo se permitía la calculadora en momentos puntuales, porque lo importante era saber hacer las cuestiones de forma manual, solo se iba a considerar como un elemento de ayuda para reducir los tiempos.</p>
<p>La entrada <a href="https://itop.es/blog/item/chat-gpt.html">Qué es Chat GPT y cómo puede ayudarte en tu día a día</a> se publicó primero en <a href="https://itop.es">Itop</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Pero, para que podamos saber si tiene este mismo alcance, en este artículo vamos a tratar de explicarte cómo funciona, qué es en realidad y cómo puede ayudarte esta tecnología en tu día a día.&nbsp;</p>



<h3 class="wp-block-heading"><b>¿Qué es Chat GPT?</b></h3>



<p class="wp-block-paragraph">Chat GPT es un chatbot desarrollado por la empresa de investigación en inteligencia artificial OpenAI, o también podríamos decir que es un sistema de chat basado en el modelo de lenguaje por Inteligencia Artificial GPT-3, y tiene una serie de funciones que la hacen diferenciarse del resto. Es un modelo que cuenta con más de 175 millones de parámetros, y se ha entrenado con grandes cantidades de texto para realizar tareas relacionadas con el lenguaje. Puede responder preguntas, resolver ecuaciones matemáticas, escribir textos, depurar y corregir código, traducir entre idiomas, crear resúmenes de texto, hacer recomendaciones, clasificar cosas y explicar lo que hace algo, como un bloque de código. En otras palabras, tiene un amplio abanico de funciones que nos vienen a simplificar nuestra vida cotidiana.</p>



<p class="wp-block-paragraph">La razón por la que se ha descrito como una alternativa a Google, es que es capaz de proporcionar muchas de las mismas funciones que Google ofrece actualmente a los usuarios. También tiene potencial para realizar tareas como <a href="https://itop.es/blog/item/la-web-3-0-y-el-metaverso.html">generar contenidos de calidad para sitios web</a> y responder a las consultas de los clientes. </p>



<h3 class="wp-block-heading"><b>¿Cómo puede o podría ayudarte en tu día a día?</b></h3>



<p class="wp-block-paragraph"><b>Chat GPT</b> y sus posibles casos de uso, entre otros:</p>



<ul class="wp-block-list">
<li>Agentes virtuales, para la <a href="https://www.curieplatform.com/que-es-curie-platform">atención al cliente</a>: Las empresas podrían utilizar Chat GPT para crear sus propios agentes virtuales. Que éstos puedan responder a las preguntas de los clientes, y ayudarles a resolver cualquier inconveniente que se les presente. Estos agentes podrían integrarse en sitios web, aplicaciones móviles u otras plataformas, proporcionando a los clientes una forma cómoda de obtener la información que necesitan en cada momento.</li>



<li>Asistentes personales:  se podría utilizar Chat GPT para crear asistentes personales que puedan responder preguntas, programar citas y realizar otras tareas. Dichos asistentes personales virtuales podrían integrarse en aplicaciones móviles, o acceder  a ellos a través de plataformas de voz como pueden ser Amazon Alexa o Google Assistant.</li>



<li>Traducciones: Chat GPT podría utilizarse para ayudar a mejorar la precisión de los sistemas de traducción automática, lo que permitiría a las personas comunicarse de una manera más fluida, eliminando muchas de las barreras que nos encontramos actualmente a la hora de la comprensión entre idiomas.</li>



<li>Generar código fuente de software: es un modelo de lenguaje natural que se entrena en el proceso de lectura y escritura, aunque no está diseñado específicamente para generar código fuente de software. Sin embargo, podrás utilizar dicho modelo para generar ideas, o para proporcionar apoyo durante el proceso de diseño y desarrollo de un software.</li>



<li><a href="https://itop.academy/curso/introduccion-a-sql-server-y-a-la-administracion-de-sistemas-en-sap-business-one">Crear consultas en SQL</a>: como hemos comentado anteriormente, es un modelo de lenguaje natural, aunque no está diseñado en este caso para crear consultas en SQL, pero puedes utilizar el modelo para generar ideas o para proporcionar apoyo tanto durante el proceso de diseño, como en la ejecución de consultas de SQL.</li>



<li>Moderación en redes sociales: Chat GPT podría utilizarse para ayudar a moderar las comunidades online, detectando y marcando automáticamente el contenido irrelevante o inapropiado en cada caso.</li>



<li>Generación de contratos o documentos legales: podrás utilizar el modelo para generar contratos o documentos legales a partir de un conjunto de requisitos o condiciones. Una vez que has proporcionado al modelo información sobre las partes involucradas en el contrato, los términos y condiciones y las obligaciones de cada parte, puedes pedirle a esta herramienta que genere un contrato o documento legal totalmente coherente y completo.</li>
</ul>



<p class="wp-block-paragraph">Esto es solo el principio…</p>



<h3 class="wp-block-heading"><b>¿Cómo funciona internamente Chat GPT?</b></h3>



<p class="wp-block-paragraph">Chat GPT, a nivel interno, utiliza una combinación de algoritmos de aprendizaje automático y técnicas de aprendizaje profundo para procesar y generar respuestas de texto. Cuando un usuario introduce un mensaje en el chat, el sistema primero que hace es tokenizar el texto, lo que implica descomponer las palabras y frases en unidades individuales. Tras esta descomposición, los tokens pasan por una serie de capas, que incluyen las capas de codificación y decodificación, para generar una respuesta.</p>



<p class="wp-block-paragraph">Esto está muy bien, pero muchas veces nos encontramos textos que al ser interpretados por una máquina, carecen de ese sentido “humano” que se adquiere en una conversación. Uno de los principales detalles técnicos clave de la arquitectura interna de Chat GPT es el uso de “mecanismos de atención”. Estos mecanismos de atención, permiten al modelo centrarse en partes específicas del texto de entrada, lo que le ayuda a generar respuestas más pertinentes y precisas desde el punto de vista contextual. Como decíamos, esto es especialmente relevante en el contexto de una conversación, donde hay que tener en cuenta los mensajes anteriores, a la hora de generar una respuesta.</p>



<p class="wp-block-paragraph">Un segundo detalle técnico de la arquitectura interna de Chat GPT es el uso de “módulos de memoria”, éstos permiten al modelo conservar información de mensajes anteriores, lo que le ayuda a generar respuestas más coherentes, siendo especialmente útil en conversaciones largas en las que el modelo necesita mantener un sentido de contexto y coherencia, entre toda la información contenida.</p>



<p class="wp-block-paragraph">Con todo lo expuesto, podemos afirmar que esta tecnología tendrá el potencial de revolucionar la forma en que interactuamos con chatbots y/o asistentes virtuales, proporcionando experiencias conversacionales de una forma más natural, y especialmente similar a las conversaciones entre humanos.</p>



<p class="wp-block-paragraph">Si te ha resultado interesante este post, y quieres empezar a mantener conversaciones con esta inteligencia artificial es muy sencillo, solo tienes que acceder a <a href="https://chat.openai.com">su web oficial</a>. La primera vez que accedas, tendrás que crearte una cuenta gratuita en la web de OpenAI. Una vez inicies sesión, entrarás en el chat y abajo del todo, tendrás la barra donde escribirás lo que quieras. Al empezar verás algunos ejemplos en inglés, pero recuerda que también podrás hacerle preguntas en Español, y pedirle que te hable en español, o en cualquier otro idioma que prefieras.</p>
<p>La entrada <a href="https://itop.es/blog/item/chat-gpt.html">Qué es Chat GPT y cómo puede ayudarte en tu día a día</a> se publicó primero en <a href="https://itop.es">Itop</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Búsqueda eficiente en Control «matrix»</title>
		<link>https://itop.es/blog/item/busqueda-eficiente-control-matrix-sap-business-one.html</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 26 May 2011 00:00:00 +0000</pubDate>
				<category><![CDATA[ERP]]></category>
		<category><![CDATA[Canarias]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[control matrix]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[sap business one]]></category>
		<category><![CDATA[SAPB1]]></category>
		<category><![CDATA[SAPB1-Desarrollo]]></category>
		<guid isPermaLink="false">https://migracion.itop.es/?p=716</guid>

					<description><![CDATA[<p>Entre mis pruebas usando el SDK de SAP Business One, he estado intentando averiguar la forma más eficiente para buscar y seleccionar dentro de un control “matrix” (cargado usando dbdatasources) una fila que cumple un criterio específico.</p>
<p> La idea era replicar el formulario de Listas de precios del estándar añadiendo dos columnas para vincular a los artículos, además de los precios, dos descuentos que se usarán a nivel de línea en los documentos.</p>
<p>La entrada <a href="https://itop.es/blog/item/busqueda-eficiente-control-matrix-sap-business-one.html">Búsqueda eficiente en Control «matrix»</a> se publicó primero en <a href="https://itop.es">Itop</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Es decir, tenemos una matriz con información de precios de artículos (replicando el formulario del estándar para las listas de precios), tenemos un edittext para hacer búsquedas en la matriz (al igual que el estándar), introducimos un código de artículo en el edittext y pulsamos en un botón de buscar para realizar una búsqueda del código de artículo en la matriz de forma eficiente.</p>
<p> En mi caso estaba tratando con cerca de 2400 registros que se cargan velozmente usando el método del control Matrix: ”loadfromdatasource”. A continuación expongo mis experiencias:</p>
<ul>
<li>El óptimo sería usar el dbdatasource de la columna por la que queremos buscar para hacer un query(conditions) con el valor que tenemos y seleccionar en la matriz la fila que se corresponde con el valor seleccionado en el dbdatasource. Pude comprobar que el query(conditions) tarda un tiempo despreciable para encontrar cuál es la línea del dbdatasource adecuada.
<p> El problema es que una vez encontrada la línea del dbdatasource que se está buscando no hay forma de saber con qué línea del control Matrix se corresponde. Por lo tanto, para poder saber la línea de la matrix que debía marcar, me dispuse a cargar en el dbdatasource la información de índice de cada fila. Esto lo hice de dos maneras:</li>
</ul>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Con un datatable de los de ado .net: Tardaba 44 segundos en cargar el formulario después de haber ejecutado el loadfromdatasource.
</li>
<li>Usar arraylist cargado en el momento del form también retrasa la carga demasiado (en comparación con loadfromdatasource):</li>
</ul>
</li>
</ul>
<p>Código usado:</p>
<pre lang="csharp">Form f = kernel.cargarForm("XML\ITOP_PRECIOS.xml", "ITOP_PRECIOS" + FormUID);
   inicializarFormItopDtos(f, lista);
   DateTime antes = DateTime.Now;
   ArrayList listaAux = new ArrayList();
   for (int i = 0; i &lt; f.DataSources.DBDataSources.Item("ITM1").Size; i++) {
      listaAux.Add(i);
   }
   TimeSpan tarda = DateTime.Now - antes;
   kernel.Application.MessageBox("Tarda: " + tarda.TotalSeconds.ToString(), 0, "", "", "");</pre>
<p>Resultado carga form rellenando arraylist:</p>
<p>Rellenando un userdatasoure y usando mtx.addRow() en lugar de loadfromdatasource: Tardaba 74 segundos en cargar el formulario.</p>
<ul>
<li>Después de los resultados anteriores (Carga de formulario demasiado lenta) me planteé desechar la búsqueda con Query(conditions), por lo que llegué a estas dos alternativas:</li>
</ul>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Búsqueda por ui api en la matrix…. Opción demasiado lenta.</li>
<li>Búsqueda en los datasources: Lo mejor que he encontrado. Haciendo una búsqueda secuencial en la columna que corresponda del dabdatasource adecuado se obtienen unos resultados muy buenos con los 2400 registros:
<ul>
<li>Último registro (empieza por f)</li>
<li>Registro no existente</li>
<li>Registro intermedio.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>El código usado es el siguiente:</p>
<pre lang="csharp">private void seleccionarFila(Matrix mtx, DBDataSource dbds, string columna, string codigoABuscar, string celdaFocoDestino) {
   int i = 0;
   DateTime antes = DateTime.Now;
   while ((i &lt; dbds.Size) &amp;&amp; (!dbds.GetValue(columna, i).Trim().StartsWith(codigoABuscar)))
   i++;
   if (i &lt; dbds.Size) {
      mtx.SelectRow(i + 1, true, false);
      mtx.Columns.Item(celdaFocoDestino).Cells.Item(i + 1).Click(BoCellClickType.ct_Regular, 0);
   }
   else
   kernel.Application.MessageBox("Código: " + codigoABuscar + " no encontrado", 1, "", "", "");
   TimeSpan tarda = DateTime.Now - antes;
   kernel.Application.MessageBox("Tarda: " + tarda.TotalSeconds.ToString(), 0, "", "", "");
}</pre>
<p>La entrada <a href="https://itop.es/blog/item/busqueda-eficiente-control-matrix-sap-business-one.html">Búsqueda eficiente en Control «matrix»</a> se publicó primero en <a href="https://itop.es">Itop</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
