Para pasar una función como parámetro en javascript hice una entrada hace tiempo, en donde explico como javascript no permite mandar funciones como parámetros de otras funciones. Pero que pasa si deseamos enviar parámetros para esas mismas funciones anónimas que son en si, también un parámetro en otra función.
Abajo te muestro con un ejemplo como es posible lograrlo:
//función que realiza recibe una función y 2 parametros
function Muestra(funcion,mensaje1,mensaje2){
//de esta manera aplicamos los 2 parametros
funcion(mensaje1,mensaje2);
}
//creamos un objeto, esto para darle mas calidad al asunto nada mas.
var objeto = new Object();
//asignamos la función a nuestro atributo función
objeto.funcion=Muestra;
//de esta manera enviamos la función y a su vez 2 parámetros para la función
objeto.funcion(function(m,n){
console.log(m+n)
},"hola"," mundo");
Para contratar el servicio de timbrado comunícate al siguiente teléfono (33) 36581329 o al correo electrónico[email protected]. Y si deseas un DESCUENTO diles que viste los videos de Héctor de León o hdeleon.
En este video te mostrare como timbrar el xml que en los videos anteriores construimos y sellamos.
Gratuitamente te enseñare como puedes crear tu factura electrónica con los siguientes videos, te aseguro que después de ver los videos podrás entender a la perfección como realizar el cfdi 3.3 que tanto martirio tiene a todos los contribuyentes en México.
Te invito a que te suscribas a mi canal de youtube para mas videos interesantes sobre programación.
1.- ¿Cómo convertir archivos XSD a clases de C# .Net? cfdi 3.3
En este primer video te muestro como generar automáticamente las clase a partir de los archivos xsd del SAT.
2.- ¿Cómo crear el XML para cfdi 3.3 facturación electrónica C# .Net? – Limpiando código
Una vez que creaste las clases de manera automatica, es momento de optimizarlas, y a continuación te muestro como hacerlo.
3.- ¿Cómo crear el XML para cfdi 3.3 facturación electrónica C# .Net? – implementando anexo 20
Ya por fin que tenemos nuestras clases adecuadas para crear el archivo XML, es momento de ir llenandolo conforme el anexo 20 del SAT, para ello te explico los campos del SAT para que son y como llenarlos de la forma correcta.
4.- ¿Cómo sellar el XML para cfdi 3.3 facturación electrónica C# .Net? – utf8, obtener número de Certificado
Ya que tenemos el xml listo, es momento comenzar el sellado, y te diré como obtener el numero del certificado; tambien te enseñare como cambiar la codificación de tu xml a utf8.
5.- ¿Cómo sellar el XML para cfdi 3.3 facturación electrónica C# .Net? – Sellar con key
Ya por fin vamos a sellar nuestro xml con nuestro archivo key, al igual te mostrare como arreglar el problema con los campos FieldSpecified que se generaron al crear nuestras clases en el primer video, agregar los namespace adecuados del SAT, y a obtener la cadena original por medio del archivo xslt necesaria para el sellado.
6.- ¿Cómo timbrar el XML para cfdi 3.3 facturación electrónica C# .Net? – conectandonos al PAC
Ya por fin en este vide veras como realizar el mitico timbrado de la factura, con lo cual tu factura ya sera valida para el SAT.
Para contratar el servicio de timbrado comunícate al siguiente teléfono (33) 36581329 o al correo electrónico[email protected]. Y si deseas un DESCUENTO diles que viste los videos de Héctor de León.
Si eres un perezoso o te urge hacer la facturación electrónica, te dejo el enlace al código del proyecto, espero te sirva: Código del proyecto
Dudas y comentarios pueden hacérmelos llegar en los comentarios abajo.
En este video te mostrare como contrarrestar los campos FieldSpecified creados en el primer video, poner el formato correcto de fecha, obtener la cadena original, obtener el campo certificado, poner los namespaces al xml, y por ultimo como sellar el xml con tu key.
Comparto la siguiente clase la cual sirve para crear el xml para la facturación electrónica, igual les recomiendo que vean los videos que se encuentran abajo para que sepan cómo utilizarla.
Es posible ejecutar una url desde SQL Server, esto es útil si quieres realizar algunas tareas programadas por medio de SQL Agent, tareas que inicien por una Url de tu pagina o sistema.
A continuación te muestro cómo es posible ejecutar una URL desde Sql Server.
-- declaramos una variable cadena y ponemos la url a invocar
Declare @url varchar(max)='https://hdeleon.net/'
-- declaramos una variable entero, para guardar el id del objeto OLE que crearemos
Declare @Object as Int;
-- Una variable cadena para la respuesta
Declare @ResponseText as Varchar(8000);
-- creamos un objeto OLE
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
-- Ejecutamos la url por medio de post
Exec sp_OAMethod @Object, 'open', NULL, 'post',@url,'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
-- imprimimos resultado
Select @ResponseText
--eliminamos nuestro id de objeto OLE
Exec sp_OADestroy @Object
Con esto ya puedes ejecutar cualquier URL desde Sql Server.
Para ponerle el formato correcto para un xml que será timbrado con las reglas de cfdi 3.3, vamos a aplicar el formato a un DateTime de la siguiente forma:
//teniendo el dato en un DateTime en una variable llamada Fecha
string sFechaSAT= Fecha.ToString("yyyy-MM-ddTHH:mm:ss");
Así tu fecha tendrá el formato correcto para el timbrado.
Para que nuestra conexión a un archivo de SQLite sea relativa y funcione en cualquier equipo solo basta con agregar “.\” al inicio de la ruta en nuestra cadena de conexión (AppConfig o WebConfig).
Por ejemplo si nuestra base de datos está en una carpeta de nombre Data y el archivo se llama MiData.db, quedaría de la siguiente manera:
data source=.\Data\MiData.db
Recuerda que el archivo de la base de datos tenga en su propiedad la opción “Copiar siempre”, para que este en la carpeta Debug o Release según corresponda.