Professional Documents
Culture Documents
1.
2.
Introduccin.................................................................................................... 3
3.
Objetivo general.............................................................................................. 3
4.
Objetivos especficos........................................................................................ 3
5.
Antecedentes.................................................................................................. 4
6.
Marco terico.................................................................................................. 5
6.1.
Google Docs............................................................................................. 5
6.2.
Google Spreadsheets................................................................................. 5
6.3.
Google drive............................................................................................. 5
6.4.
Hojas de clculo........................................................................................ 5
6.5.
6.6.
6.7.
JavaScript................................................................................................ 6
6.8.
Base de datos........................................................................................... 7
6.9.
Servidores................................................................................................ 7
Nube.................................................................................................... 7
6.10.
7.
Justificacin.................................................................................................... 8
8.
9.
9.2.
9.3.
9.4.
9.5.
9.6.
Registros almacenados............................................................................ 13
9.7.
Formato condicional................................................................................. 14
10.
Resultados................................................................................................ 16
11.
11.1.
Mdulo de logueo.............................................................................. 17
11.2.
11.3.
11.3.1.
Tabla de proveedor.........................................................................20
11.3.2.
11.3.3.
12.
Bibliografa.......................................................................................................... 28
2. Introduccin
En esta memoria se hablara sobra la creacin de aplicaciones en google con conexin a
ERP que son reportes creados en las hojas de clculo de google con una conexin de
base de datos con SQL Server mediante lenguaje JavaScript, el motivo de esto es migrar
todos los procesos que se realizan en la empresa CAJAPLAX S.A de C.V. a la nube, as
poder tener acceso en cualquier momento y en cualquier lugar siempre con conexin a
internet y sobre todo una manera de poder trabajar distintos usuarios en un mismo reporte
a la vez.
3. Objetivo general
Desarrollar reportes mediante la hoja de clculo de Google Spreadsheet con conexin a
ERP usando el lenguaje JavaScript, con la finalidad de contar con informacin actualizada
para la toma de decisiones.
Objetivos especficos
Conectar base de datos SQL Server que se encuentra en un servidor para poder
obtener los datos en tiempo real
Utilizacin de complementos para poder dar una mejor estructura a los reportes
configuracin con Google Spreadsheet
4. Antecedentes
En la empresa CAJAPLAX S.A. DE C.V. Ubicada en Apan Hidalgo, generaba sus reportes
con lenguaje PHP y al finalizar la publicaba en su INTRAPLAX para que los empleado que
tienen permisos pudieran consultarla y descargarla en hojas de clculo Excel, Hoy han
decidido migrar todo a la nube con la tecnologa de google.
Con dicha tecnologa se podrn realizar reportes donde todos los usuarios permitidos
podrn modificar y observar la informacin detallada segn pedida por diferentes reas,
tambin podrn trabajar desde sus dispositivos mviles y lo ms importante podr realizar
trabajos con ms de una personal en tiempo real siempre con conexin a internet.
5. Marco terico
5.1.
Google Docs
5.2.
Google Spreadsheets
Google Docs and Spreadsheets es una aplicacin que 'vive' en internet y permite a sus
usuarios disponer de un sencillo editor de textos y hojas de clculo (Avedillo, 2007).
5.3.
Google drive
5.4.
Hojas de clculo
Hojas de clculo de Google es una aplicacin de hojas de clculo online que te permite
crear y dar formato a hojas de clculo, adems de colaborar simultneamente con otras
personas (MATT, Google, 2015).
Una hoja de clculo es una aplicacin que nos permite realizar clculos con nmeros
organizados en una cuadrcula (S.L., aulaClic, 2010).
5.5.
5.6.
Mientras las macros de Excel se escriben en Visual Basic, basado en BASIC, las
secuencias de comando de Google se escriben en Google Apps Script, que est basado
en javascript, el lenguaje estndar de las pginas web, y el ms popular del mundo
(Silvestri, 2013).
Un sistema basado en javascript, al que se le han aadido varios objetos para poder
interactuar con nuestras hojas de datos. Este sistema tiene acceso a todas las funciones
internas de Google Spreadsheets y adems nos permite controlar perfectamente las
acciones que realizamos (Huerta, 2013).
5.7.
JavaScript
Es un lenguaje que puede ser utilizado por profesionales y para quienes se inician en el
desarrollo y diseo de sitios web. No requiere de compilacin ya que el lenguaje funciona
del lado del cliente, los navegadores son los encargados de interpretar estos cdigos
(Valds, MAESTRO DEL WEB, 2007).
5.8.
Base de datos
Una base de datos es un almacn que nos permite guardar grandes cantidades de
informacin de forma organizada para que luego podamos encontrar y utilizar fcilmente
(Valds, MAESTRO DEL WEB, 2007).
5.9.
Servidores
5.10.
Nube
6. Justificacin
La problemtica que se tiene en la empresa CAJAPLAX S.A de C.V que al observar los
reportes creados anteriormente por estudiantes, se encuentran en una Intraplax la cual
cada personal tiene acceso mediante una cuenta. Pretenden migrar todo los reportes a la
Nube para poder trabajarlos en tiempo real y realizar al mismo tiempo modificaciones
tambin compartirlo entre distintas personas mediante la tecnologa de Google Docs, lo
cual es una gran ventaja ya que se puede trabajar en equipo en tiempo real en cualquier
lugar, con conexin a internet. Es necesario tener una cuenta de correo para poder
utilizarlo.
Se pretende comenzar a crear los nuevos reportes requeridos por distintas reas para as
poder migrar poco a poco y seguir manteniendo la informacin actualizada ya con la
tecnologa de Google.
La labor que tengo es crear el primer reporte en hoja de clculo de Google utilizando el
editor de secuencia de comandos con sintaxis parecida a JavaScript para poder realizar la
consulta a un servidor que contiene la base de datos as mismo poder mostrar los
resultados en la tablas en tiempo real. Sin tener experiencia en la creacin de reportes en
hojas de clculo de Google, navegando por internet utilizando la informacin necesaria
para su creacin.
con distintas personas mediante conexin a internet y solo con una cuenta de correo
electrnico.
La creacin del primer reporte se llevara a cabo mediante investigaciones en internet,
obteniendo la informacin ms valiosa para poder realizar nuestro objetivo.
8.1.
Para poder generar o utilizar la hoja de clculo de Google se debe tener una cuenta de
correo electrnico (Gmail), en el cual se podr almacenar dicho archivo, se podr abrir
cuando usted desee, compartir y trabajar en equipo en el mismo y en tiempo real, siempre
con conexin a internet
8.2.
8.3.
Figura 2. Consulta
8.4.
Despus de haber realizado dicha consulta se tiene que ingresar la consulta al editor de
comandos para posteriormente este la ejecute y obtenga los datos requeridos.
8.5.
Para poder acomodar de una mejor forma los registros se tiene que posicionar las
columnas, ya que si una columna no est posicionada no se mostrara los registros de
dicha columna. En este caso estoy utilizando 16 columnas para la creacin del reporte.
8.6.
Registros almacenados
Figura 5. Registros
8.7.
Formato condicional
Tambin se ocup para hacer semforos de manera fcil y rpida, ya que se pintara de
color distinto dependiendo de una condicin. De esta manera se podrn dar cuenta
cuando tienen exceso de producto, falta producto o est el producto estable y no hace
falta producir ms producto.
9. Resultados
Figura 8.resultado
Identificara los proveedores del lote que ya han sido agregados a un archivo de
texto anteriormente para evitar se pueda realizar un pago dos veces.
Figura 9. Logueo
Los campos estn validados, si el usuario no ingresa nada en alguno de ellos, al dar clic
en el botn Aceptar, se mostrara un mensaje indicando que deber de llenar todos los
campos. Esta accin se realiza dentro del botn aceptar.
10.2.
A este mdulo solo podr acceder el administrador y podr editar los campos que se
guardaran en la base de datos. Este mdulo estar restringido debido a que estos datos
son propios de la empresa y si algn otro usuario llegara a equivocarse, sera pagar una
suma de dinero muy alta.
10.3.
conn.Open()
Dim da As New SqlDataAdapter("select distinct NOMBREPROVEEDOR AS [NOMBRE
BENEFICIARIO], SUBSTRING(CLABE ,1,3) as [BANCO RECEPTOR], CLABE AS [CUENTA
ABONO], CONVERT(varchar(20), SUM(CANTDOCTO) over(partition by nombreproveedor)) as
[IMPORTE PAGO], IDPROVEEDOR AS [CLAVE BENEFICIARIO], CORREO AS [MAIL DETALLE]
FROM cxDispersion WHERE lote = '" & prov & "' ORDER BY [NOMBRE BENEFICIARIO]", conn)
Dim ds As New DataSet
da.Fill(ds)
Form1.DGProv.DataSource = ds.Tables(0)
Form1.DGProv.Columns(0).Width
Form1.DGProv.Columns(1).Width
Form1.DGProv.Columns(2).Width
Form1.DGProv.Columns(3).Width
Form1.DGProv.Columns(4).Width
Form1.DGProv.Columns(5).Width
Form1.DGProv.Columns(6).Width
=
=
=
=
=
=
=
120
120
300
80
130
130
130
Form1.DGProv.Columns(0).HeaderCell.Style.Alignment
DataGridViewContentAlignment.MiddleCenter
Form1.DGProv.Columns(1).HeaderCell.Style.Alignment
DataGridViewContentAlignment.MiddleCenter
Form1.DGProv.Columns(2).HeaderCell.Style.Alignment
DataGridViewContentAlignment.MiddleCenter
Form1.DGProv.Columns(3).HeaderCell.Style.Alignment
DataGridViewContentAlignment.MiddleCenter
Form1.DGProv.Columns(4).HeaderCell.Style.Alignment
DataGridViewContentAlignment.MiddleCenter
Form1.DGProv.Columns(5).HeaderCell.Style.Alignment
DataGridViewContentAlignment.MiddleCenter
Form1.DGProv.Columns(6).HeaderCell.Style.Alignment
DataGridViewContentAlignment.MiddleCenter
Form1.DGProv.Columns(0).HeaderCell.Style.Font
FontStyle.Bold, GraphicsUnit.Point)
Form1.DGProv.Columns(1).HeaderCell.Style.Font
FontStyle.Bold, GraphicsUnit.Point)
Form1.DGProv.Columns(2).HeaderCell.Style.Font
FontStyle.Bold, GraphicsUnit.Point)
Form1.DGProv.Columns(3).HeaderCell.Style.Font
FontStyle.Bold, GraphicsUnit.Point)
Form1.DGProv.Columns(4).HeaderCell.Style.Font
FontStyle.Bold, GraphicsUnit.Point)
Form1.DGProv.Columns(5).HeaderCell.Style.Font
FontStyle.Bold, GraphicsUnit.Point)
Form1.DGProv.Columns(6).HeaderCell.Style.Font
FontStyle.Bold, GraphicsUnit.Point)
Catch ex As Exception
Finally
conn.Close()
End Try
End Sub
=
=
=
=
=
=
=
= New Drawing.Font("Tahoma", 8,
= New Drawing.Font("Tahoma", 8,
= New Drawing.Font("Tahoma", 8,
= New Drawing.Font("Tahoma", 8,
= New Drawing.Font("Tahoma", 8,
= New Drawing.Font("Tahoma", 8,
= New Drawing.Font("Tahoma", 8,
ImporteTotal1 = "00000000000000000"
ImporteTotal2 = Mid(ImporteTotal2, 1, Len(ImporteTotal2) - 3)
ImporteTotal2 = Replace(ImporteTotal2, ".", "")
If ImporteTotal2.Length < 17 Then
ImporteTotal2 = ImporteTotal2.PadLeft(17, "0"c)
End If
End If
Dim fs As FileStream = File.Create(GuardarArchivo.FileName)
Dim Contenido As Byte() = New
UTF8Encoding(True).GetBytes(conectar.CodigoTipoA(cmbTA.SelectedItem) & "HA" &
conectar.NumCont() & SecuenciaArchivo & New String("0"c, 27) & New String(" "c, 332) &
vbNewLine & conectar.CodigoTipoA(cmbTA.SelectedItem) & "HB" &
cmbMoneda.SelectedItem & New String("0"c, 4) & conectar.Cuenta() & "00" &
fechaMas.ToString("ddMMyyyy") & New String("0"c, 3) & New String(" "c, 336) &
vbNewLine & conectar.RecorreGrid &
conectar.CodigoTipoA(cmbTA.SelectedItem) & "TB" & movimientos1 & ImporteTotal1 &
movimientos2 & ImporteTotal2 & New String("0"c, 219) & New String(" "c, 123) &
vbNewLine & conectar.CodigoTipoA(cmbTA.SelectedItem) & "TA" & movimientos1 &
ImporteTotal1 & movimientos2 & ImporteTotal2 & New String("0"c, 219) & New String(" "c,
123))
fs.Write(Contenido, 0, Contenido.Length)
fs.Close()
MessageBox.Show("Archivo de texto creado exitosamente")
End Sub
-- Nmero de voucher
-- Id de Proveedor
Script
@DOCDATE DATETIME,
@DOCNUMBR CHAR(21),
@DOCAMNT NUMERIC(19, 5),
@TRXSORCE CHAR(13),
@TRXDSCRN CHAR(31),
@POSTEDDT DATETIME,
@PTDUSRID CHAR(15),
@MODIFDT DATETIME,
@MDFUSRID CHAR(15),
@CURNCYID CHAR(15)
-- Variables
DECLARE
@VENDNAME
@VADDCDPR
@ACNMVNDR
@TXRGNNUM
@COMMENT1
@COMMENT2
-----------
-------
-- Informacion de Internet
DECLARE
@Master_Type CHAR(3),
@Master_ID CHAR(31),
@ADRSCODE CHAR(15),
@INET1 CHAR(201),
@INET2 CHAR(201),
@INET3 CHAR(201),
@INET4 CHAR(201),
@INET5 CHAR(201),
@INET6 CHAR(201),
@INET7 CHAR(201),
@INET8 CHAR(201),
@DEX_ROW_TS DATETIME
-- Informacion de Lote
DECLARE
@NUMOFTRX INT,
@BCHCOMNT CHAR(61)
-- Informacin de ejecucin
-- Agregado 16/12/2014 por LMP
DECLARE
@FLAG BIT,
@VECES INT
SELECT @NUMOFTRX = NUMOFTRX, @BCHCOMNT = BCHCOMNT
FROM PM80100
WHERE BACHNUMB = @BACHNUMB
--Declara el cursor externo para consultar datos de pago
DECLARE curVoucher CURSOR FOR
SELECT VENDORID, VCHRNMBR, DOCDATE, DOCNUMBR, DOCAMNT, TRXSORCE,
TRXDSCRN, POSTEDDT, PTDUSRID, MODIFDT, MDFUSRID
FROM PM30200
WHERE BACHNUMB = @BACHNUMB AND DOCTYPE = 6
OPEN curVoucher
FETCH NEXT FROM curVoucher INTO @VENDORID, @VCHRNMBR, @DOCDATE,
@DOCNUMBR, @DOCAMNT, @TRXSORCE, @TRXDSCRN, @POSTEDDT, @PTDUSRID,
@MODIFDT, @MDFUSRID
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE curVendor CURSOR FOR
SELECT VENDNAME, VADDCDPR, ACNMVNDR, TXRGNNUM, COMMENT1,
COMMENT2
FROM PM00200
WHERE VENDORID = @VENDORID
OPEN curVendor
FETCH NEXT FROM curVendor INTO @VENDNAME, @VADDCDPR, @ACNMVNDR,
@TXRGNNUM, @COMMENT1, @COMMENT2
-- Cursor Interno Busqueda de datos de proveedor
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE curInet CURSOR FOR
SELECT INET1
FROM SY01200
WHERE Master_Type = 'VEN' AND Master_ID = @VENDORID
AND ADRSCODE = @VADDCDPR
OPEN curInet
FETCH curInet INTO @INET1
WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM curInet INTO
@INET1
END
CLOSE curInet
DEALLOCATE curInet
FETCH NEXT FROM curVendor INTO @VENDNAME, @VADDCDPR, @ACNMVNDR,
@TXRGNNUM, @COMMENT1, @COMMENT2
END
CLOSE curVendor
DEALLOCATE curVendor
SET @DEX_ROW_TS = GETDATE()
SET
SET
SET
SET
SET
@INET2
@INET3
@INET4
@INET5
@INET6
=
=
=
=
=
''
''
''
''
''
END
-- Inserta registros en la tabla de dispersiones
Bibliografa
Arce, N. (3 de Diciembre de 2012). blogspot.mx. Obtenido de blogspot.mx:
http://narce90.blogspot.mx/2012/12/empezando-con-google-appsscript.html
Avedillo, J. M. (26 de Febrero de 2007). OBSERVATORIO TECNOLOGICO.
Obtenido de OBSERVATORIO TECNOLOGICO:
http://recursostic.educacion.es/observatorio/web/en/internet/recursosonline/438-javier-martinez-avedillo
Castro, L. (s.f.). About.com. Obtenido de About.com:
http://aprenderinternet.about.com/od/ConceptosBasico/a/compartirarchivos-google-drive.htm
gazabon, k. e. (05 de Mayo de 2014). Academia.edu. Obtenido de
Academia.edu:
http://www.academia.edu/7770035/GOOGLE_DRIVE_DEFINICION_Y_CARA
CTERISTICAS
Gonzlez, E. (2006). aprenderaprogramar.com. Obtenido de
aprenderaprogramar.com: http://aprenderaprogramar.com/index.php?
option=com_content&view=article&id=590:ique-es-y-para-que-sirvejavascript-embeber-javascript-en-html-ejercicio-ejemplo-basicocu00731b&catid=69:tutorial-basico-programador-web-html-desdecero&Itemid=192
Huerta, I. (07 de Febrero de 2013). blog ikhuerta. Obtenido de ikhuerta:
http://blog.ikhuerta.com/sincronizar-datos-entre-archivos-en-googlespreadsheets-de-google-drive