sexta-feira, 29 de novembro de 2019

Instalação TSS 3.0 + TAF

TSS - Atualizações do TSS Totvs Sped Service - Release 12.1.25 | 12.1.27



Procedimentos de instalação do TSS para utilizar no REINF por exemplo.

Instalando e configurando TSS

1) Criar banco TSS Collation: Latin1_General_BIN

2) Criar conexão ODBC, ex: banco TSS_V12

3) Apontar para odbc criado.

4) Subir Serviço DBAccess / Configurar odbc criado no dbMonitor

5) Na central de Downloads, pesquise por TSS
Itens a serem atualizados: AppServer, Repositório, Pacote Acumulado ( patch ), Arquivo de Urls e schemas.

6) Copiar certificado para C:\\ Configurar TSS no TAF

SIGATAF\ Atualizações\Configs. TAF\Wizard Config. TSS
(2 = pré produção )
data início e-social > 01/01/2018

Campos importantes no sigamat
M0_NOMECOM: 
M0_TPINSC:        
M0_CGC:             
M0_INSC:            
M0_ESTENT:       
M0_CODMUN:   
M0_ESTCOB:

Dados \ Informações Software House


quarta-feira, 27 de novembro de 2019

Drop Table Sequence Oracle

Abaixo os comandos utilizados para limpar o BD oracle.

SELECT 'DROP TABLE ' || TABLE_NAME || ';' || ' COMMIT;'
   FROM ALL_SEQUE
   WHERE TABLESPACE_NAME = 'FIS175'
     AND TABLE_NAME IN(SELECT TABLE_NAME
                       FROM ALL_TABLES
                       WHERE TABLESPACE_NAME = 'FIS175')

select   DISTINCT 'DROP SEQUENCE '||SEQUENCE_OWNER||'."'||SEQUENCE_NAME||'";'
from     dba_sequences
where    sequence_owner = upper('FIS175')

REF:
https://www.dirceuresende.com/blog/apagando-todos-os-objetos-de-um-owner-no-oracle-database/

quinta-feira, 31 de outubro de 2019

� encondig query advpl protheus

Por Default no Visual Code(VS), em desenvolvimento ADVPL, utilizamos o encondig Windows1252.

Se utilizarmos outra ferramenta (notepad++ / excel) para identar ou codificar uma parte do código ".prw", depois colar no visual code e se essa ferramenta estiver com outro encondig configurado, poderemos ter alguns problemas no fonte.

Poderá ficar com alguns caracteres especiais ( ¿½ , � ) ou até mesmo não visíveis
em alguns encondigs e ocasionar erro na execução de algum programa.

Para verificar se está tudo ok, faça:

1- Na barra inferior, clicar em Windows 1252;



2- Reopen With Encondig UTF-8;

























3- Corrigir o problema do caracter, acentuação ou espaçamento indevido no fonte;
4- Salvar o fonte;
5- Clicar no Encondig UTF-8;
6- Selecionar SAVE With Encoding com a opção Western (Windows 1252);



segunda-feira, 20 de maio de 2019

Patch Protheus Lista Prw

No visual code (1.24.1), é possível gerar uma patch, através de uma relação de fontes.

1° Conectar em um ambiente que possua os fontes compilados;
2° Configurar no user.settings um diretório com o arquivo txt 
(que contenha uma lista de fontes .prw);

Ex: "advpl.pathPatchBuild""C:\\TOTVS\\patch\\"

3° Abrir o folder que contenha um arquivo txt com a lista de fontes;

4° Selecionar o arquivo txt e com o botão direito, clicar em Advpl, Patch Build - 
Cria um patch Patch(PTM) da lista de arquivo.

5° Será apresentado a seguinte mensagem no output
AdvPL Iniciado
Patch successful built! It's saved in:C:\TOTVS\patch\

6° Ao verificar o diretório, constará o arquivo gerado: tttp120.ptm;









sexta-feira, 28 de dezembro de 2018

json protheus visual code

Abaixo, modelo Json ( user settings ), utilizado no Visual Code Versão 1.24.1.




{ "editor.fontFamily": "Consolas, 'MS Linedraw', monospace", "files.encoding": "windows1252", "advpl.selectedEnvironment": "PROT14DB2", "advpl.environments": [ { "smartClientPath": "C:\\protheus\\PROT14DB2\\bin\\smartclient\\", "environment": "PROT14DB2", "serverVersion": "131227A", "server": "XXX9999", "port": "5089", "user": "admin", "passwordCipher": "MHNLNG5pRzhsOUcyMjNid0xvS3B4NDJBQTJSeHF3eXRJWXZtU0hDcTBxK21Kamk1NThjbHJhaTh4Ti9uM0VabnNQa3AxeFd1VDNtSklJR1Z6MlU2RGkxWG9Cc3FFZEhsdk1DQ1NDdTZ6Q1A1Wk92Q0dnR05PMHZndHRqaVIwMUM=", "includeList": "C:\\protheus\\INCLUDES\\PROTHEUS\\", "language": "PORTUGUESE", "rpoType": "TOP" }, { "smartClientPath": "C:\\protheus\\P11V1\\protheus\\bin\\smartclient\\", "environment": "PROTP11", "serverVersion": "131227A", "server": "XXX9999", "port": "5090", "user": "admin", "passwordCipher": "MHNLNG5pRzhsOUcyMjNid0xvS3B4NDJBQTJSeHF3eXRJWXZtU0hDcTBxK21Kamk1NThjbHJhaTh4Ti9uM0VabnNQa3AxeFd1VDNtSklJR1Z6MlU2RGkxWG9Cc3FFZEhsdk1DQ1NDdTZ6Q1A1Wk92Q0dnR05PMHZndHRqaVIwMUM=", "includeList": "C:\\protheus\\INCLUDES\\PROTHEUS\\", "language": "PORTUGUESE", "rpoType": "TOP" } , { "smartClientPath": "C:\\protheus\\P12Mnt-PROT\\bin\\smartclient\\", "environment": "P12117MNTPROTDB", "serverVersion": "170117A", "server": "XXX9999", "port": "5091", "user": "admin", "passwordCipher": "WTJBcStTdWd0ekYwWDk4ZjB6VGJ1dnVHOEdkT094QlZyRE0vL3M2Zm51WTNBWWxnclVHZ2dlakF2SUIrZ1QvQXV1aHBVSEN6ZEEyOXk1cmRFWlZPWGQrU1VBY0pGNmg3K3ZORDRVRWplN3IwRHJ1LzBzbi9hSmEwdkFEak9sbUM=", "includeList": "C:\\protheus\\INCLUDES\\PROTHEUS\\", "language": "PORTUGUESE", "rpoType": "TOP" } , { "smartClientPath": "C:\\protheus\\EXTRATORSQL\\bin\\smartclient\\", "environment": "EXTRATORSQL", "serverVersion": "131227A", "server": "XXX9999", "port": "5092", "user": "admin", "passwordCipher": "d2kvM2FGNzkxQmI3Z0E0SHUwaFdHNW5CNzZjWm51by9yTUoyZHVkby96Nm5CaWk4eGU1Zjlhc3dQVmhpMjNSUFVOaHIxTERKSGRXc1dxNkg5OThlbzlURjVLU0lONldyUnZwdjczVG9nVlM5WTA4Szc4Sm5kVXJYdTNnTGlnT0Q=", "includeList": "C:\\protheus\\INCLUDES\\PROTHEUS\\", "language": "PORTUGUESE", "rpoType": "TOP" } ], "advpl.startProgram": "SIGAFAT", "advpl.authorization_generation": "20180101", "advpl.authorization_validation": "20190101", "advpl.authorization_permission": "1", "advpl.authorization_code": "XXXXXXXXXXXXXXXXXXXXXXXXX", "advpl.compileFolderRegex": ".*\\.(prw|prx|apw|aph|tres|png|bmp|tres)", "advpl.pathPatchBuild": "C:\\protheus\\patch\\", "advpl.debug_multiThread": false, "advpl.debug_ignoreSourceNotFound": true, "advpl.debug_showTables": true, "advpl.debug_showPrivates": true, "advpl.debug_showPublic": true, "advpl.debug_showStatics": true, "workbench.colorTheme": "Visual Studio Dark", "mssql.connections": [ { "server": "XXX9999", "database": "XXXXXXX", "authenticationType": "Integrated", "profileName": "sa", "password": "XXX" } ], "git.ignoreMissingGitWarning": true, "explorer.confirmDelete": false }


quarta-feira, 12 de dezembro de 2018

execAuto Documento Entrada MATA103

Abaixo um exemplo de fonte execAuto Documento Entrada MATA103
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

/* execAuto Doc Entrada */

User Function ExecAu103()

Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local aColsCC := {}
Local aCodRet := {}
Local nX := 0
Local nY := 0
Local cDoc := ""
Local lOk := .T.
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.

//| Abertura do ambiente
ConOut(Repl("-",80))
ConOut(PadC("Teste de Inclusao de 1000 documentos de entrada com 20 itens cada",80))

//| Verificacao do ambiente para teste
dbSelectArea("SB1")
dbSetOrder(1)
If !SB1->(MsSeek(xFilial("SB1")+"000000000000003")) //Verificar a exist?cia do produto
lOk := .F.
ConOut("Cadastrar produto: 000000000000003")
EndIf

//dbSelectArea("SF4")
//dbSetOrder(1)
//If !SF4->(MsSeek(xFilial("SF4")+"001")) //Verificar a exist?cia do tes
// lOk := .F.
// ConOut("Cadastrar TES: 001")
//EndIf

//dbSelectArea("SE4")
//dbSetOrder(1)
//If !SE4->(MsSeek(xFilial("SE4")+"001")) //Verificar a exist?cia do condi?o de pagamento
// lOk := .F.
//ConOut("Cadastrar condicao de pagamento: 001")
//EndIf

dbSelectArea("SA2")
dbSetOrder(1)
If !SA2->(MsSeek(xFilial("SA2")+"00000201")) //Verificar a exist?cia do fornecedor
lOk := .F.
ConOut("Cadastrar fornecedor: 00000201 ")
EndIf

If lOk
ConOut("Inicio: "+Time())
//????????????????????????????????
//| Verifica o ?timo documento valido para um fornecedor |
//????????????????????????????????
//dbSelectArea("SF1")
//dbSetOrder(2)
//MsSeek(xFilial("SF1")+"0000001Z",.T.)
//dbSkip(-1)
cDoc := "000001000"//SF1->F1_DOC

For nY := 1 To 3000 //Altere para a quantidade desejada
aCabec := {}
aItens := {}

If Empty(cDoc)
cDoc := StrZero(1,Len(SD1->D1_DOC))
Else
cDoc := Soma1(cDoc)
EndIf

//ExpA1 - Array contendo os dados do cabe?lho da Nota Fiscal de Entrada.
aadd(aCabec,{"F1_TIPO" , "N" , Nil})
aadd(aCabec,{"F1_FORMUL" , " " , Nil})
aadd(aCabec,{"F1_DOC" , cDoc , Nil})
aadd(aCabec,{"F1_SERIE" , "001" , Nil})
aadd(aCabec,{"F1_EMISSAO" , stod('20181206') , Nil})
aadd(aCabec,{"F1_DESPESA" , 0 , Nil})
aadd(aCabec,{"F1_FORNECE" , "000001" , Nil})
aadd(aCabec,{"F1_LOJA" , '01', Nil})
aadd(aCabec,{"F1_ESPECIE" , "SPED" , Nil})
aadd(aCabec,{"F1_COND" , "001" , Nil})
aadd(aCabec,{"F1_DESCONT" , 0 , Nil})
aadd(aCabec,{"F1_SEGURO" , 0 , Nil})
aadd(aCabec,{"F1_FRETE" , 0 , Nil})
aadd(aCabec,{"F1_VALMERC" , 100 , Nil})
aadd(aCabec,{"F1_VALBRUT" , 100 , Nil})
aadd(aCabec,{"F1_MOEDA" , 1 , Nil})
aadd(aCabec,{"F1_TXMOEDA" , 0 , Nil})
aadd(aCabec,{"F1_STATUS" , "A" , Nil})

//ExpA2- Array contendo os itens da Nota Fiscal de Entrada.
For nX := 1 To 1 //Altere para a quantidade desejada
aLinha := {}
aadd(aLinha,{"D1_COD" , "000000000000003" , Nil})
aadd(aLinha,{"D1_UM" , "CX" , Nil})
aadd(aLinha,{"D1_QUANT" , 1 , Nil})
aadd(aLinha,{"D1_VUNIT" , 5000 , Nil})
aadd(aLinha,{"D1_TOTAL" , 5000 , Nil})
aadd(aLinha,{"D1_TES" , "001" , Nil})
aadd(aLinha,{"D1_SEGURO" , 0 , Nil})
aadd(aLinha,{"D1_VALFRE" , 0 , Nil})
aadd(aLinha,{"D1_DESPESA" , 0 , Nil})
aadd(aLinha,{"AUTDELETA" , "N" , Nil}) // Incluir sempre no ?timo elemento do array de cada item

aadd(aItens,aLinha)
Next nX

MATA103(aCabec,aItens,3,,,,,/*aColsCC*/,,,/*aCodRet*/) //ExpN1 - Op?o desejada: 3-Inclus?; 4-Altera?o ; 5-Exclus?

If !lMsErroAuto
ConOut("Incluido com sucesso! "+cDoc)
Else
MostraErro()
ConOut("Erro na inclusao!")
EndIf
Next nY
ConOut("Fim : "+Time())
EndIf

Return

quarta-feira, 20 de junho de 2018

Log TSS


[JOB_WS]
TYPE=WEBEX
ENVIRONMENT=SPED
INSTANCES=1,4,1,1
SIGAWEB=WS
INSTANCENAME=WS
ONSTART=__WSSTART
ONCONNECT=__WSCONNECT
XMLSAVEALL=1

;XMLSAVEALL=1 - Permite que seja gravado na Pasta WSLOGXML, todos os XMLs de comunicação dos Métodos do TSS com a aplicação chamadora.
;Esta chave deve ser habilitada somente para ajudar na análise de inconsistências, pois gera um grande número de XMLs.
;Mais detalhes de uso consulte :http://tdn.totvs.com/pages/viewpage.action?pageId=223165574

sábado, 2 de junho de 2018

Configuração Server REST Protheus + TAF

1) Configurar as seções:

[HTTPJOB], [HTTPV11],[HTTPREST],[HTTPURI],[TAF_CFGJOB],[OnStart]

Exemplo de configuração do ini no Release 23:

[P1223REST]
SourcePath=C:\TOTVS\P1223REINF20\apo
RootPath=C:\TOTVS\P1223REINF20\protheus_data
StartPath=\system\
RpoDb=top
RpoLanguage=portuguese
RpoVersion=120
TopMemoMega=1
dbserver=localhost
dbdatabase=MSSQL
dbalias=P1223REINF20
dbport=ZZZZ
startsysindb=1

[Drivers]
Active=TCP

[TCP]
TYPE=TCPIP
Port=5XXX

[General]
InstallPath=C:\
Segmento=ZZZZZZ
Serie===ZZ
MAXSTRINGSIZE=30
MAXQUERYSIZE=31960

[LICENSECLIENT]
SERVER=ZZ.YYY.XX.WWW
PORT=XXXX

[TDS]
ALLOWAPPLYPATCH=*
ALLOWEDIT=*

[OnStart]
JOBS=HTTPJOB,TAF_CFGJOB
RefreshRate=120

[HTTPV11]
Enable=1
Sockets=HTTPREST

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=P1223REST

[HTTPREST]
Port=8081
URIs=HTTPURI
Security=0

[HTTPURI]
URL=/rest
Instances=1,2
CORSEnable=1
AllowOrigin=*

[TAF_CFGJOB]
Main=TAF_CFGJOB
Instances=5,5,1,1
PrepareIn=99
nRefreshRate=50
ENVIRONMENT=P1223REST

;[HTTP]
ENABLE=1
PORT=8081

2) Subir o serviço;



3) Acessar a URL, ex: http://localhost:8081/rest



4) Para realizar trace, seguir os procedimentos:

1.1) Excluir console.log appserver do REST;.
1.2) Incluir no ini do REST, na sessão do enviroment, a chave FWTRACELOG=1;
( http://tdn.totvs.com/display/PROT/DT_Logs_de_Sistema )
1.3) Incluir no ini do REST, na sessão GENERAL a chave CONSOLELOG=1;
1.4) Parar e subir o serviço do REST.

domingo, 27 de maio de 2018

Gpe - Transferência Estorno

Para retornar um funcionário da legenda rosa para verde, atualize os campos:

RA_GRINRAI = ''
RA_RESCRAI = ''
RA_AFASFGT = 'N1' (ou outro);
RA_DEMISSA = ''
RA_SITFOLH = ''