====================================================================
CONFIRME A VERSÃO DO SISTEMA HIPER ANTES DE REALIZAR A MIGRAÇÃO
====================================================================
Neste passo a passo será ensinado como fazer a conversão do Banco de Dados do Sistema Hiper para o Etrade, é necessário que você se atente a versão do Hiper ( Legado ou WEB ) pois os comandos a serem utilizados são distintos.
É essencial que você já saiba como realizar a instalação do sistema ETrade antes de fazer o procedimento de conversão de Banco de Dados, para mais informações de como instalar o Sistema ETrade clique AQUI
1º Instale o SQL Management Studio, baixe AQUI caso ainda não tenha instalado, lembrando que você também pode usar qualquer outro utilitário de banco sql server para o processo porém o roteiro foi feito seguindo o SQL Management Studio 2014.
2º Com o Studio já instalado, crie uma pasta no diretório *C:* e jogue os dois arquivos do banco do hiper na pasta
3º Agora abra o Studio, clique na opção Banco de Dados com o botão direito e vá em anexar, encontre o diretório e anexe o banco de dados
Note abaixo que a instância é SQL2014 se colocar a instância do Hiper vai dar erro!
Note acima que a instância é SQL2014 se colocar a instância do Hiper vai dar erro!
1º Crie uma nova consulta no Hiper copie a query abaixo, cole na nova consulta gerada e vá em executar.
CREATE FUNCTION [dbo].[fncRemove_Acentuacao2](
@String VARCHAR(MAX)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
/****************************************************************************************************************/
/** RETIRA ACENTUAÇÃO DAS VOGAIS **/
/****************************************************************************************************************/
SET @String = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@String,'á','a'),'à','a'),'â','a'),'ã','a'),'ä','a')
SET @String = REPLACE(REPLACE(REPLACE(REPLACE(@String,'é','e'),'è','e'),'ê','e'),'ë','e')
SET @String = REPLACE(REPLACE(REPLACE(REPLACE(@String,'í','i'),'ì','i'),'î','i'),'ï','i')
SET @String = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@String,'ó','o'),'ò','o'),'ô','o'),'õ','o'),'ö','o')
SET @String = REPLACE(REPLACE(REPLACE(REPLACE(@String,'ú','u'),'ù','u'),'û','u'),'ü','u')
/****************************************************************************************************************/
/** RETIRA ACENTUAÇÃO DAS CONSOANTES **/
/****************************************************************************************************************/
SET @String = REPLACE(@String,'ý','y')
SET @String = REPLACE(@String,'ñ','n')
SET @String = REPLACE(@String,'ç','c')
RETURN UPPER(@String)
END
GO
1º Com a função já criada, crie uma nova consulta no studio para consultarmos os produtos a serem importados ATENÇÃO A VERSÃO DO HIPER
)
2º Caso o cliente possua mais de uma Filial ( ou estoque ) você pode alterar ( incrementando ) mais linhas na query de acordo com a quantidade de filiais e estoque que você precisa na conversão, você vai acrescentar como no exemplo abaixo que estamos trazendo o estoque relacionado a loja 3. Para outras filiais você vai substituir o número 3 na query ( em endereço estoque ) pelo número da filial que você quer migrar...lembrando que é necessário adicionar esse novo registro no final da query de consulta de produtos.
isnull(cast( (select se.quantidade from saldo_estoque se where se.id_produto=t1.id_produto and se.id_endereco_estoque=3) as numeric(7,0)),0) as "Estoque Filial 3"
VERSÃO WEB:
select
t1.codigo as "codigo",
upper([dbo].[fncRemove_Acentuacao2](t1.nome)) as "nome",
'N' as "tipo",
iif (t2.id_situacao_tributaria_simples_nacional=500,2,iif (t2.id_situacao_tributaria_simples_nacional=900,3,iif (t2.id_situacao_tributaria_simples_nacional=103,3,1))) as "Classe de Imposto",
(replace(t1.id_ncm,'.','')) as "NCM",
iif (t3.sigla='KG','KG',iif(t3.sigla='CX','CX',iif(t3.sigla='MT','M',iif(t3.sigla='PC','PC',iif(t3.sigla='LT','LITRO',iif(t3.sigla='JG','JOGO','UNID')))))) AS "UNIDADE",
CAST(t1.preco_custo AS MONEY) " Preço Custo",
CAST(t1.preco_venda AS MONEY) " Preço Venda",
ISNULL((select max(codigo_barras) from produto_sinonimo as tpr where tpr.id_produto=t1.id_produto and len(codigo_barras)<13),'') as "codigo fab1",
t1.referencia_interna_produto as "cod fab 2",
upper([dbo].[fncRemove_Acentuacao2](isnull(t4.nome,''))) as "classe",
isnull((select max(codigo_barras) from produto_sinonimo as tpr where tpr.id_produto=t1.id_produto and len(codigo_barras)=13 ),'') as "ean",
upper([dbo].[fncRemove_Acentuacao2](isnull(t5.nome,''))) as "Marca",
(select codigo_barras+',' as [text()] from produto_sinonimo as ps where ps.id_produto=t1.id_produto for xml path('')) as "Codigos Adicionais",
isnull(cast( (select se.quantidade from saldo_estoque se where se.id_produto=t1.id_produto and se.id_endereco_estoque=1) as numeric(7,0)),0) as "Estoque Filial 1",
isnull(cast( (select se.quantidade from saldo_estoque se where se.id_produto=t1.id_produto and se.id_endereco_estoque=2) as numeric(7,0)),0) as "Estoque Filial 2",
isnull(cast( (select se.quantidade from saldo_estoque se where se.id_produto=t1.id_produto and se.id_endereco_estoque=3) as numeric(7,0)),0) as "Estoque Filial 3"
from produto t1
left join regra_tributacao_icms_personalizada t2
on t1.id_produto=t2.id_produto
left join unidade_medida t3
on t1.id_unidade_medida=t3.id_unidade_medida
left join hierarquia_produto t4
on t1.id_hierarquia_produto=t4.id_hierarquia_produto
left join marca_produto t5
on t1.id_marca_produto=t5.id_marca_produto
order by codigo
VERSÃO LEGADO:
select
t1.id_produto as "codigo",
upper([dbo].[fncRemove_Acentuacao2](t1.nome)) as "nome",
'N' as "tipo",
iif (t6.codigo_situacao_operacao_simples_nacional=500,2,iif (t6.codigo_situacao_operacao_simples_nacional=900,3,iif (t6.codigo_situacao_operacao_simples_nacional=103,3,1))) as "Classe de Imposto",
(replace(t1.id_ncm,'.','')) as "NCM",
iif (t3.sigla='KG','KG',iif(t3.sigla='CX','CX',iif(t3.sigla='MT','M',iif(t3.sigla='PC','PC',iif(t3.sigla='LT','LITRO',iif(t3.sigla='JG','JOGO','UNID')))))) AS "UNIDADE",
CAST(t1.preco_custo AS MONEY) " Preço Custo",
CAST(t1.preco_venda AS MONEY) " Preço Venda",
ISNULL((select max(codigo_barras) from produto_sinonimo as tpr where tpr.id_produto=t1.id_produto and len(codigo_barras)<13),'') as "codigo fab1",
t1.referencia_interna_produto as "cod fab 2",
upper([dbo].[fncRemove_Acentuacao2](isnull(t4.nome,''))) as "classe",
isnull((select max(codigo_barras) from produto_sinonimo as tpr where tpr.id_produto=t1.id_produto and len(codigo_barras)=13 ),'') as "ean",
upper([dbo].[fncRemove_Acentuacao2](isnull(t5.nome,''))) as "Marca",
(select codigo_barras+',' as [text()] from produto_sinonimo as ps where ps.id_produto=t1.id_produto for xml path('')) as "Codigos Adicionais",
isnull(cast( (select se.quantidade from saldo_estoque se where se.id_produto=t1.id_produto and se.id_endereco_estoque=1) as numeric(7,0)),0) as "Estoque Filial 1",
isnull(cast( (select se.quantidade from saldo_estoque se where se.id_produto=t1.id_produto and se.id_endereco_estoque=2) as numeric(7,0)),0) as "Estoque Filial 2",
isnull(cast( (select se.quantidade from saldo_estoque se where se.id_produto=t1.id_produto and se.id_endereco_estoque=3) as numeric(7,0)),0) as "Estoque Filial 3"
from produto t1
inner join regra_tributacao_produto t2 on t1.id_produto = t2.id_produto
inner join situacao_tributaria_simples_nacional t6 on t2.id_situacao_tributaria_simples_nacional=t6.id_situacao_tributaria_simples_nacional
left join unidade_medida t3
on t1.id_unidade_medida=t3.id_unidade_medida
left join hierarquia_produto t4
on t1.id_hierarquia_produto=t4.id_hierarquia_produto
left join marca_produto t5
on t1.id_marca_produto=t5.id_marca_produto
order by codigo
3º Copie, cole e execute a consulta de produtos no Studio
4º Seleciona todos os registros ( com o cabeçalho ) e copie
5º Abra o excel transforme todo o excel em TEXTO
6º Cole os registros copiados no Excel
7º Salve o arquivo em .CSV
1º Crie uma nova consulta no studio para consultarmos os clientes/fornecedores a serem importados ATENÇÃO A VERSÃO DO HIPER
)
VERSÃO WEB:
SELECT
t1.codigo as "Codigo",
upper([dbo].[fncRemove_Acentuacao2](t1.nome)) as "Razao Social",
CONCAT(t2.cpf,t3.cnpj) AS 'CNPJ',
CONCAT(t2.rg,t3.ie) AS 'IE',
upper([dbo].[fncRemove_Acentuacao2](t1.logradouro)) as "Endereço",
t1.numero_endereco as "Numero",
upper(t1.complemento) as "Complemento",
upper([dbo].[fncRemove_Acentuacao2](t1.bairro)) as "Bairro",
isnull(upper([dbo].[fncRemove_Acentuacao2](t4.nome)),'') as "Cidade",
isnull(t4.uf,'') as "UF",
t1.cep as "Cep",
isnull(t1.fone_primario_ddd + t1.fone_primario_numero,'') as "tel 1",
isnull(t1.fone_secundario_ddd + t1.fone_secundario_numero,'') as "tel 2",
'' as "Aniversario",
IIF (t1.flag_cliente=1,'C','F') as "Cliente ou Fornecedor",
IIF (T1.TIPO_ENTIDADE=2,'J','F') as "Fisico ou Juridico",
isnull(upper(([dbo].[fncRemove_Acentuacao2](IIF(t3.nome_fantasia='',T1.NOME,T3.NOME_FANTASIA)))),'') as "Fantasia",
upper(t1.email) as "Email",
'' as "contato",
'' as "obs",
'' as "email nfe",
'' as "nome contador",
'' as "email contador",
'' as "limite de Credito"
FROM entidade t1
left join pessoa_fisica t2
on t1.id_entidade=t2.id_entidade
left join pessoa_juridica t3
on t1.id_entidade=t3.id_entidade
left join cidade t4
on t1.id_cidade=t4.id_cidade
order by t1.codigo
VERSÃO LEGADO:
SELECT
t1.id_entidade as "Codigo",
upper([dbo].[fncRemove_Acentuacao2](t1.nome)) as "Razao Social",
CONCAT(t2.cpf,t3.cnpj) AS 'CNPJ',
CONCAT(t2.rg,t3.ie) AS 'IE',
upper([dbo].[fncRemove_Acentuacao2](t1.logradouro)) as "Endereço",
t1.numero_endereco as "Numero",
upper(t1.complemento) as "Complemento",
upper([dbo].[fncRemove_Acentuacao2](t1.bairro)) as "Bairro",
isnull(upper([dbo].[fncRemove_Acentuacao2](t4.nome)),'') as "Cidade",
isnull(t4.uf,'') as "UF",
t1.cep as "Cep",
isnull(t1.fone_primario_ddd + t1.fone_primario_numero,'') as "tel 1",
isnull(t1.fone_secundario_ddd + t1.fone_secundario_numero,'') as "tel 2",
'' as "Aniversario",
IIF (t1.flag_cliente=1,'C','F') as "Cliente ou Fornecedor",
IIF (T1.TIPO_ENTIDADE=2,'J','F') as "Fisico ou Juridico",
isnull(upper(([dbo].[fncRemove_Acentuacao2](IIF(t3.nome_fantasia='',T1.NOME,T3.NOME_FANTASIA)))),'') as "Fantasia",
upper(t1.email) as "Email",
'' as "contato",
'' as "obs",
'' as "email nfe",
'' as "nome contador",
'' as "email contador",
'' as "limite de Credito"
FROM entidade t1
left join pessoa_fisica t2
on t1.id_entidade=t2.id_entidade
left join pessoa_juridica t3
on t1.id_entidade=t3.id_entidade
left join cidade t4
on t1.id_cidade=t4.id_cidade
order by t1.id_entidade
3º Copie, cole e execute a consulta de produtos no Studio
4º Seleciona todos os registros ( com o cabeçalho ) e copie
5º Abra o excel transforme todo o excel em TEXTO
6º Cole os registros copiados no Excel
7º Salve o arquivo em .CSV
disponível apenas para versão legado
1º Crie uma nova consulta no studio
CONTAS A RECEBER:
SELECT
'R' as "Tipo",
entidade.id_entidade as "cliente",
replace(convert(varchar,documento_receber.data_vencimento,104),'.','/') as "vencimento",
replace(documento_receber.saldo,'.',',') as "valor",
'' as "pagamento",
'' as "valor pago",
documento_receber.numero_documento_receber as "descricao",
'999' as "Plano de Conta"
FROM documento_receber INNER JOIN entidade ON documento_receber.id_entidade=entidade.id_entidade
where documento_receber.saldo<>'0.00'
order by data_vencimento
2º Copie, cole e execute a consulta de produtos no Studio
3º Seleciona todos os registros ( com o cabeçalho ) e copie
4º Abra o excel transforme todo o excel em TEXTO
5º Cole os registros copiados no Excel
6º Salve o arquivo em .CSV
7º Crie uma nova consulta no studio
CONTAS A PAGAR:
SELECT
'P' as "Tipo",
entidade.id_entidade as "Fornecedor",
replace(convert(varchar,documento_pagar.data_vencimento,104),'.','/') as "vencimento",
replace(documento_pagar.saldo,'.',',') as "valor",
'' as "pagamento",
'' as "valor pago",
documento_pagar.numero_documento_pagar as "descricao",
'998' as "Plano de Conta"
FROM documento_pagar INNER JOIN entidade ON documento_pagar.id_entidade=entidade.id_entidade
where documento_pagar.saldo<>'0.00'
order by data_vencimento
8º Copie, cole e execute a consulta de produtos no Studio
9º Seleciona todos os registros ( com o cabeçalho ) e copie
10º Abra o excel transforme todo o excel em TEXTO
11º Cole os registros copiados no Excel
12º Salve o arquivo em .CSV
1º Com o ETrade já instalado, vá em outros e abra o importararquivotexto
2º Selecione a primeira opção ( Produtos ).
3º Vá em localizar e importe o CSV
4º Com os produtos já importados, vá associando as colunas aos campos relacionados
5º Preste atenção para não associar campos errados.
6º Caso venha na query alguma coluna na qual você não queira importar ( como o estoque de outras filiais ) é só não associar a coluna ao campo relacionado que na importação a coluna será ignorada.
7º Após associar todos os campos e revisar, vá em importar para concluir a importação
8º É comum após a importação apresentar algumas mensagens de erro em algumas linhas, na maioria das vezes isso não impede a importação...verifique os produtos no Etrade ao concluir a importação
Quer saber mais sobre a tela de importação de produtos?
Configura no LINK
1º Em outros e abra o importararquivotexto
2º Selecione a segunda opção ( Clientes ).
3º Vá em localizar e importe o CSV
4º Confira no Etrade se os clientes e fornecedores foram importados corretamente
1º É necessário criar no Etrade o plano de conta que será associado tanto o contas a pagar como o contas a receber.
2º Abra o ETrade, vá Financeiro, Recebíveis, Abra o Plano de Conta Nível 1, e crie um plano de conta com código 999 e associado ao Plano de Conta 2 com código 2 ( Receita )
2º Crie um plano de conta com código 998 e associado ao Plano de Conta 2 com código 1 ( Despesa)
3 Em outros e abra o importararquivotexto
4 Seleciona a terceira opção ( Recebiveis/Contasapagar)
5 Certifique-se se os clientes e fornecedores já foram importados no sistema
6 Importe separadamente os dois arquivos gerados ( contas a pagar e a receber )