sábado, 27 de diciembre de 2014

Base de datos de paises, provincias y localidades de todo el mundo

  Parámetros muy útiles en el desarrollo de aplicaciones, disponer de tablas relacionadas con países, provincias y localidades...
  La siguiente base de datos esta para mysql, pero funcionaria perfectamente en Oracle, Postgres, Sql Server y demás, esta trimiada (termino vulgar para decir libre de basura), en Español y muy sencilla de entender. Recuerden setear las tablas a UTF8 en vuestro motorcico de base de datos para intepretar acento y eñe.
  La DDL seria algo así (localidades con 2 fk por el tema de cascada en alguno motores):

##paises
paiscod *pk
paisnom

##provincias
provincod*pk
provinnom
paiscod*fk

##localidades
localidcod*pk
localidnom
provincod*fk
paiscod*fk















 Link de descarga

domingo, 14 de diciembre de 2014

Sistema para PyMES gratis

 Sistema bastante completo para ventas, gestión y control de stock, unas de sus principales bondades es que corre perfectamente en computadoras de bajo costo y moderadas prestaciones (probado en pc con 256 de ram, amd sempron 1.8ghz, disco de 40gb y windows xp light ).
 Algunas de las bondades del sistema son:

-Proveedores.
-Clientes.
-Control de caja.
-Reportes.
-IVA compras.
-Manejo de código de barras para los artículos.
-Control de stock e inventarios.
-Control de cajas.
-Manejo de compras y ventas.
-Pagos.
-Control de tarjetas de crédito.
-Cuentas corriente.
-Imputaciones y ajustes.
-Notas de crédito.
-Notas de débito.
-Control detallado de saldos y movimientos.
-Facturación.
-Devoluciones de mercadería.
-Manejo de perfiles/jerarquía de usuarios.
-Centros de costo.
-Listas de precio.
-Señas/adelanto por productos.

  Instrucciones:

    Descomprimir y copiar la carpeta a C:\ el sistema tiene tres archivos ejecutables (compras, caja, stock) hacer acceso directo de c/u al escritorio. El usuario y pass del administrador estan en el archivo de texto. En el caso de que una compu este solo para facturar,  realizar el acceso directo del ejecutable caja.exe y....sale con frita.  











Link de descarga


martes, 9 de diciembre de 2014

Base de datos de marcas y modelos de autos

  Hace varios días que vengo atrasado con una migración y no tuve tiempo de postear nada, en ese proceso encontré una base de datos (sql) de marca y modelos de autos, es de este año así que resulta bastante útil para diferentes usos.
















     Link de descarga

viernes, 5 de diciembre de 2014

Enviar mail desde Linux usando Gmail

   Actualmente estoy usando un servidor Cloud (servidor de nube tipo dropbox pero corriendo localmente y open source...en algún momento voy a compartir un how-to al respecto)  y tenia la necesidad de configurar el servicio smtp en Linux(debian), por lo que voy a compartir como quedo parametrizado:

##instalamos exim
 sudo apt-get install exim4

## seteamos ip estática
sudo nano /etc/network/interfaces

##debera quedar de la siguiente manera
iface eth0 inet static
        address 192.168.10.10
        netmask 255.255.255.0
        network 192.168.10.0
        gateway 192.168.10.1

##declaramos la ip y nombre del servidor en /etc/hosts
##debera ser igual al que tenemos en /etc/hostname
127.0.0.1   localhost
192.168.10.10   servidor03.midominio.local    servidor03

## ahora hay que configurar exim para que envie correos a través de internet
sudo dpkg-reconfigure exim4-config

#Nos aparece un menu, vamos a seleccionar la segunda opcion smarthost

#En nombre del sistema de correo poner el mismo nombre configurado en /etc/hostname

#En Direccion IP de las conexiones entrantes SMTP poner  127.0.0.1

#En la opción Otros Destinos para que acepten correo, dejar en blanco.

#En la opción maquinas para reenviar correo, dejar en blanco

#En Direccion IP o nombre del smarthost poner: smtp.gmail.com::587  (asi tal cual con ::)

#En la opción ocultar el nombre de correo local para mensajes salientes, poner No

#En la opción limitar nro de consultas de DNS, poner No.

#Para el mecanismo de entrega de correo local, elegir /var/mail

#En la opción dividir la configuración en pequeños ficheros, elegir Si.

#Editar el archivo /etc/exim4/passwd.client donde se agregaran estas lineas:
##obviamente con el usuario y password de tu cuenta de mail
gmail-smtp.l.google.com:pepito@gmail.com:p4ssw0rd
*.google.com:pepito@gmail.com:p4ssw0rd
smtp.gmail.com:pepito@gmail.com:p4ssw0rd

##reiniciar exim
sudo service exim restart

#Los logs se podrán consultar en /var/log/exim4/

#Para controlar los mails que hayan quedado en cola:
sudo exim –bp

#Para borrar los mails en cola
sudo exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash

#Enviamos un mail de prueba
mail -s "Esto es una prueba" jaimito@gmail.com

LISTO! ya tenemos funcionando nuestro servicio de mailing desde Linux con una cuenta de gmail, lo cual es bueno ya que nos aseguramos de que lleguen a la bandeja de entrada ;)





miércoles, 3 de diciembre de 2014

Manuales Oracle

 Esta vida que te vuelve mercenario (entiéndase este termino por trabajar con cuestiones comerciales...como lo es Oracle) me llevo a relacionarme con este muy buen motor de base de datos y tuve la suerte de disponer de material de estudio a mas no poder!.
 Varios de estos documentos provienen de Metalink (departamento técnico oficial del soporte Oracle). En este archivo comprimido contiene material sobre:

-Conceptos básicos sobre Oracle database.
-Administración de base de datos Oracle.
-Scripting.
-Tunning(mejorar performance).
-RAC (alta disponibilidad).
-Seguridad en Oracle.
-RMAN(ackup&restore).
-SQL.
-PL/SQL.
-Datawarehouse.
-Datamining.
-Oracle en Linux.
-Dataguard(recuperación de desastres, contingencias).
-Tips para ser un buen DBA Oracle.
-Exámenes Oracle DBA.




















Link ->

martes, 2 de diciembre de 2014

Lenguaje Python para niños

Que geek no soñó con formar un hijo desde pequeño en algo bueno y sustentable como python!. Comparto un manual muy bueno escrito por Jason Briggs y traducido por Jose Miguel Gonzalez














Link manual


Maquina virtual con licencias full de Genexus

Probando un dork en google encontre esto.... una maquina virtual con winxp, genexus 8, 9 evo 1, evo 2 y las licencias full instaladas...
Very cool eh? aqui se ven los license manager de todas las versiones












Impresora Fiscal Hasar con php

  Me llama un flaco (supuesto novio de una prima) de los que piensan que los informáticos somos una especie de chaman que todo lo puede y me cuenta que compro un sistema de gestión + facturación (un afano! mas de 50k le cobraron por un sistema sin terminar...) y el programador nunca pudo hacer andar las impresiones en fiscal Hasar SMH/P 715F.
  Buscando un poco en los foros me doy con que, a simple vista, con hacer un declare IF_WRITE y declarando el puerto ya sale funcionando, en mi opinión se olvidaron de especificar algunas cuestiones, al menos para las impresoras Hasar...
 A continuación los requisitos:

  - Primero que nada la versión de php, la que sin dudas funciona con la librería Hasar es: php version 5.2.1. 

  - Luego copiar la librería php_H715v52ts.dll (mas abajo comparto el link con librería y un ejemplo .php).

  - Reiniciar servicio apache.

  - Asegurarse que la impresora fiscal este conectada al puerto que voy a declarar en mi código php.

Ejemplo:

<?php
  require 'H715PhpApi.php';  
  $port = IF_OPEN("COM8",9600);
  if ( $port == -1) 
  {   echo "impresora ocupada";   return;  }
  $nError = IF_WRITE("@OpenFiscalReceipt|T|T");  
// Argumentos: 
// strVar1 Texto descripción del item (max 20 bytes)
// dblVar2 Cantidad (nnnn.nnnnnnnnnn)
// dblVar3 Precio unitario (nnnnnnn.nn)
// strVar4 Porcentaje IVA (nn.nn)/(**.**) (max 5 bytes)
// byVar5 Calificador de la operación {Mm}
// strVar6 Impuestos internos
// byVar7 Parámetro display {012}
// byVar8 Calificador de monto {TB}
  
  // repetir esta linea sacando del detalle de la venta.
  $nError = IF_WRITE("@PrintLineItem|Mouse Genius XScrol|1.0|1|10.50|M|0.0|0|B");  
  $nError = IF_WRITE("@Subtotal|P|Subtotal|0");  
  // con cuanto paga
  $nError = IF_WRITE("@TotalTender|Efectivo|20.00|T|0");
  $nError = IF_WRITE("@CloseFiscalReceipt");
  $nTiquet = IF_READ(3);
  $err =IF_CLOSE();
?>













Link -> ejemplo + libreria



lunes, 1 de diciembre de 2014

Hola Mundo

  Desde hace un tiempo que tenia la intención de publicar un blog, sin tener en claro cual seria el perfil del mismo.
 Veremos que sale.....