Comunidad de usuarios y profesionales en:
Microsoft Dynamics NAV (Navision) ®
Microsoft Dynamics Entrepreneur Solution ®

Dynamica Microsoft Dynamics NAV (Navision) & Entrepreneur Certified Business Partner
 Buscar
  ..:: Foro ::.. viernes, 29 de agosto de 2008     Registrarse    Entrar
         

         


Mensaje de Error: El Agregador de Noticias no está disponible en este momento. The operation has timed-out.




Mar, 24 Jul 2007
ExpandIT Backup Utility
TdB
Sab, 26 May 2007
Informacion de tablas
TdB
Lun, 4 Abr 2007
Microsoft Dynamics NAV 5 ES SP1 Demo
TdB
Lun, 6 Nov 2006
Copias de Navision automatizadas
TdB
Vie, 18 Ago 2006
ANSI a ASCII y viceversa
TdB
Lun, 17 Jul 2006
Mostrar solo la primera linea
TdB
Sab, 26 Abr 2006
SQL Server 2005 Report Pack for Microsoft Dynamics NAV 4.0
TdB
Jue, 20 Abr 2006
Herramienta de Renumeracion y Comparacion
TdB
Mar, 3 Ene 2006
Show Documentation v1.00
TdB
Sab, 24 Dic 2005
MultiStock v1.00
TdB
Mie, 26 Oct 2005
Diario oficial en Excel v1.00
TdB
Mie, 12 Oct 2005
Import. movs. tarjetas de credito v1.02
TdB
Sab, 1 Oct 2005
Vista Prov. / Prod. / Precio / Dto. v1.00
TdB
Lun, 19 Sep 2005
Mail with Word v1.02
TdB
Acceda a downloads



Mensaje de Error: El Agregador de Noticias no está disponible en este momento. The operation has timed-out.




En este foro hallará mensajes entre usuarios y profesionales de Navision ®
Para participar debe entrar y escribir su mensaje en el foro. Si todavía no es un usuario registrado, regístrese ahora.

 Foro Navision Minimizar
Search Forum Home 
    Discusiones  Técnico  Uso de tablas t... 
 
 Re: Uso de tablas temporales. 
 
 
crisnicolas
289 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 5:51 (Spain) 
  
Pues si la necesitas deberías crearla.
 
 
kitik
610 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 5:55 (Spain) 
  
Para ordenar se necesita la clave.

El problema es cuando la tabla es muy grande y crear más claves resulta costoso. Si ese es el caso, es cuando tienes que crear la tabla Buffer, que como nunca tiene registros reales, puedes crear tantas claves como quieras, que no pasa nada.

Al principio del proceso hay que copiar todos los registros que te interesen de la tabla, a la tabla buffer, y allí ordenar.

Salut!
 
 
PERIQUIN
126 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 5:58 (Spain) 
  
Hola Kitik, efectivamente eso es lo que quiero, me puedes concretar el procedimiento un poco más, con algo de código. Gracias.
 
 
kitik
610 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 6:25 (Spain) 
  
1. Crea la tabla buffer. Esta tabla puede ser muy generica, como propone vvilla o más específica, como hace NAV con las tablas Buffer. Al ser generica se va a poder reaprovechar en otros procesos, pero es mas dificil programar porque los campos no dicen nada, con lo que el código es más lioso de seguir. Si es mas especifica va a ser más fácil trabajar con ella, pero no se va a poder reaprovechar tanto. Valora tu caso.
Crea aquí todas las claves que necesites.

2. Crea una variable temporal que apunte a la tabla buffer.

3. Recorre la tabla inicial y copia los registros que te interesen en la variable temporal. La tabla buffer no tiene porque tener todos los campos de la tabla incial, solo los que necesites para el proceso.

  ItemLedEntry.SETFILTER(<campo>,<filtro>);
  IF ItemLedEntry.FINSET THEN
  REPEAT
    tmpBuffer.INIT;
    tmpBuffer.Campo1 := ItemLedEntry.<campo>;
    ...
    tmpBuffer.CampoN := ItemLedEntry.<campo>;
    tmpBuffer.INSERT;
  UNTIL ItemLedEntry.NEXT = 0;

4. Ahora en tmpBuffer tienes los registros. Puedes ordenar, situar el puntero en el primer registro y empezar a trabajar!
  tmpBuffer.SETCURRENTKEY(<campo1>,<campo2>,...)
  tmpBuffer.FINDSET;


Cuando utilices tablas temporales, tienes que tener muy en cuenta el ambito de la variable. Si llamas a otro proceso te quedas sin la variable, a no ser que se la pases... Si llamas a otra instancia del mismo objeto te pasa lo mismo.

Salut!
 
 
PERIQUIN
126 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 8:51 (N/A) 
  

Gracias Kitik por tu valiosa ayuda, pero ¿donde se crean las tablas Buffer?, ¿que ID utilizan?.

Saludos. Pedro

 
 
crisnicolas
289 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 9:00 (Spain) 
  
Una tabla temporal es una tabla normal y corriente, que se crea del mismo modo y en la misma numeración que las demás tablas.
Solo que para usarla como temporal, en tu proceso, cuando declares una variable de tipo record de esta tabla, en las propiedades de la variable pones Temporal a Si.
Eso significa que en cualquier momento puedes crearte una variable temporal de cualquier tabla de Navision, no solo de las tablas que hayas creado tu.
 
 
PERIQUIN
126 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 9:26 (N/A) 
  

Pues la verdad es que no lo veo claro.

Recuerdo que en el curso que nos dio nuestro partner nos comento que las tablas temporales no ocupaban licencia, o por lo menos eso es lo que yo entendí, en estos momentos voy bastante al límite en cuanto a ID'S para la creación de nuevas tablas.

 
 
crisnicolas
289 posts
Re: Uso de tablas temporales. 
Posted: 03 jun 08 9:41 (Spain) 
  
Si que ocupan licencia, si, porque son tablas normales y corrientes, aunque tu las uses como temporales.
De ahí la creación de una única tabla para estos fines, como comentaba vvilla. De este modo gastas una única tabla, y la puedes utilizar para lo que quieras, aunque seguramente la programación es un poco más liada, porque al tener nombres de campos genéricos, tienes que tener muy claro que datos estás metiendo en cada campo en cada momento....
 
 Previous 1 2 3 Next   
   Discusiones  Técnico  Uso de tablas t... 
   
   
   
Forum HomeSearch   

EXPANDIT

¿Deseas optimizar al máximo las licencias de usuario en Navision?

Descarga una versión de evaluación de ExpandIT Client Control

ExpandIT Client Manager Navision
EXPANDIT

¿Tienes necesidad de automatizar tareas recurrentes de forma eficaz en Navision?

Descarga una versión de evaluación de ExpandIT Launch

ExpandIT Launch process Navision
EXPANDIT

¿Debes generar archivos PDF y enviar emails o fax desde Navision?

Descarga una versión de evaluación de ExpandIT MailIT

ExpandIT email PDF fax Navision
EXPANDIT

¿Quieres optimizar el rendimiento y mantener la base de datos de Navision libre de errores?

Descarga una versión de evaluación de ExpandIT Table Optimizer

ExpandIT Table Optimizer Navision
EXPANDIT

¿Estas seguro que tus copias de Navision son fiables?

Descarga una versión de evaluación de ExpandIT Backup

ExpandIT Backup Navision
         
Copyright 2003-2008 Tips dBits   Términos de Uso  Declaración de Privacidad