jueves, 12 de febrero de 2015

GRANT TABLES, VIEW and SP's

--GRANT TO TABLES
DECLARE CURSOR_GRANT CURSOR FOR
SELECT
'GRANT SELECT ON [dbo].['+NAME+'] TO [E8F575915A2E4897A517779C0DD7CE]',
'GRANT CONTROL ON [dbo].['+NAME+'] TO [MSDSL]'
FROM SYSOBJECTS WHERE NAME LIKE 'X%' AND TYPE = 'U'

DECLARE @SELECT AS VARCHAR(100)
DECLARE @CONTROL AS VARCHAR(100)
DECLARE @CONTADOR AS INT
SET @CONTADOR = 0

OPEN CURSOR_GRANT

FETCH NEXT FROM CURSOR_GRANT INTO @SELECT, @CONTROL

WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE(@SELECT)
EXECUTE(@CONTROL)
SET @CONTADOR = @CONTADOR + 1
FETCH NEXT FROM CURSOR_GRANT INTO @SELECT, @CONTROL
END

CLOSE CURSOR_GRANT
DEALLOCATE CURSOR_GRANT
PRINT @CONTADOR
GO

--GRANT TO VIEWS
DECLARE CURSOR_GRANT CURSOR FOR
SELECT
'GRANT SELECT ON [dbo].['+NAME+'] TO [E8F575915A2E4897A517779C0DD7CE]',
'GRANT CONTROL ON [dbo].['+NAME+'] TO [MSDSL]'
FROM SYSOBJECTS WHERE NAME LIKE 'X%' AND TYPE = 'V'

DECLARE @SELECT AS VARCHAR(100)
DECLARE @CONTROL AS VARCHAR(100)
DECLARE @CONTADOR AS INT
SET @CONTADOR = 0

OPEN CURSOR_GRANT

FETCH NEXT FROM CURSOR_GRANT INTO @SELECT, @CONTROL

WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE(@SELECT)
EXECUTE(@CONTROL)
SET @CONTADOR = @CONTADOR + 1
FETCH NEXT FROM CURSOR_GRANT INTO @SELECT, @CONTROL
END

CLOSE CURSOR_GRANT
DEALLOCATE CURSOR_GRANT
PRINT @CONTADOR
GO

--GRANT TO PROCEDURES
DECLARE CURSOR_GRANT CURSOR FOR
SELECT
'GRANT EXECUTE ON [dbo].['+NAME+'] TO [E8F575915A2E4897A517779C0DD7CE]',
'GRANT CONTROL ON [dbo].['+NAME+'] TO [MSDSL]'
FROM SYSOBJECTS WHERE NAME LIKE 'X%' AND TYPE = 'P'

DECLARE @EXECUTE AS VARCHAR(100)
DECLARE @CONTROL AS VARCHAR(100)
DECLARE @CONTADOR AS INT
SET @CONTADOR = 0

OPEN CURSOR_GRANT

FETCH NEXT FROM CURSOR_GRANT INTO @EXECUTE, @CONTROL

WHILE @@FETCH_STATUS = 0
BEGIN
EXECUTE(@EXECUTE)
EXECUTE(@CONTROL)
SET @CONTADOR = @CONTADOR + 1
FETCH NEXT FROM CURSOR_GRANT INTO @EXECUTE, @CONTROL
END

CLOSE CURSOR_GRANT
DEALLOCATE CURSOR_GRANT
PRINT @CONTADOR
GO

martes, 6 de enero de 2015

UTF8 encode and decode VB.Net


Public Function XUTF8_Decode(ByVal pStr As String) As String
Dim Buffer As String
Dim i As Integer
Dim vChar() As Char = pStr.ToCharArray()
Dim vutf8data(vChar.Length) As Byte
'vutf8data = Encoding.UTF8.GetBytes(pStr)
For i = 0 To (vChar.Length - 1)
vutf8data(i) = System.Convert.ToByte(vChar(i))
Next
Buffer = Encoding.UTF8.GetString(vutf8data)
'Return .
XUTF8_Decode = Buffer
End Function

Public Function XUTF8_Encode(ByVal pStr As String) As String
Dim vutf8Encoding As New System.Text.UTF8Encoding
Dim vencodedString() As Byte
Dim vStringRes As String

vencodedString = vutf8Encoding.GetBytes(pStr)
vStringRes = vutf8Encoding.GetString(vencodedString)
'Return
XUTF8_Encode = vStringRes
End Function

Obtener los días del mes en SQL

Para obtener los días del mes en SQL lo podemos hacer de la siguiente manera, espero les sea muy útil.

DECLARE @mydate DATETIME
SELECT @mydate = GETDATE()
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@mydate)),@mydate),101) ,
'Último día del mes anterior'
UNION
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@mydate)-1),@mydate),101) AS Date_Value,
'Primer día del mes corriente' AS Date_Type
UNION
SELECT CONVERT(VARCHAR(25),@mydate,101) AS Date_Value, 'Hoy' AS Date_Type
UNION
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@mydate))),DATEADD(mm,1,@mydate)),101) ,
'Último día del mes corriente'
UNION
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@mydate))-1),DATEADD(mm,1,@mydate)),101) ,
'Primer día del mes siguiente'
GO


jueves, 14 de agosto de 2014

Add VB Code Inspector VS 2008

Open up Visual Studio > Tools Menu > Options > Environment > Add-In/Macro Security > Add the path "C:\Program Files(86)\CommFiles\Microsoft Shared\DynamicsSL"
Restart Visual Studio and the add-in is listed!

miércoles, 2 de julio de 2014

Call WebService and Send params VB6

' (This is Visual Basic 6 code.)
Private Sub Form_Load()
   
    ' Create the SoapClient.
    Dim SoapClient As MSSOAPLib30.SoapClient30
    Set SoapClient = New MSSOAPLib30.SoapClient30
   
    ' Use the Init method to generate a proxy 
    Dim WSDLPath As String
    WSDLPath = "http://localhost/VBCookbookWebServices/Recipe16-2.asmx?WSDL"
    Call SoapClient.MSSoapInit(WSDLPath)
   
    ' Call the GetDate web method to retrieve some information.
    MsgBox("Server returned: " & SoapClient.GetDate())
   
End Sub
'Other Function 
Public Function XVALIDATEQR(ByVal pRfce As String, ByVal pRfcr As String, ByVal pMonto As Double, ByVal pUUID As String) As Integer
    Dim vSOAPcnt As New SoapClient30
    Dim vResult As String
    Set vSOAPcnt = New SoapClient30
    
    Call vSOAPcnt.MSSoapInit("http://urlService.asmx?wsdl")
    vResult = vSOAPcnt.ExpImpresa(txtrfce.Text, txtrfcr.Text, txtmonto.Text, txtUUID.Text)
    
    MsgBox ("Server returned: " & vResult)
                     
End Function

jueves, 6 de febrero de 2014

Validar UUID del SAT

WEbReference https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc

Codigo C#

ConsultaCFDI.ConsultaCFDIServiceClient oConsulta = new ConsultaCFDIServiceClient();
            ConsultaCFDI.Acuse oAcuse = new Acuse();

            oAcuse=oConsulta.Consulta("?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075");

            MessageBox.Show("Estatus " + oAcuse.CodigoEstatus + " Estado: " + oAcuse.Estado);

Si te interesa hacer algo mas, un desarrollo integración de CFDI o validador de facturas de proveedores -> josmisu_@hotmail.com