Importação Manual Atualmente NÃO temos a integração que permite que o busca preço da Tanca faça a consulta diretamente no banco de dados do ETrade. Recorremos então à importação manual destes produtos no aplicativo da Tanca.

O que precisamos fazer?

Basicamente precisamos exportar um arquivo TXT do banco de dados do Etrade para que seja importado no aplicativo da Tanca. Este arquivo contém algumas limitações, por exemplo:

    1. Os campos são separados por pipeline ( | );
    2. O tamanho máximo do código exportado é 13 dígitos;
    3. O tamanho máximo do nome do produto é de 19 dígitos, sendo o 20º dígito um espaço;
    4. Os nomes dos produtos não podem conter caracteres especiais e nem acentos;
    5. O preço dos produtos é um campo exclusivamente numérico, sem separações por vírgulas ou pontos. O arquivo considera os 2 últimos dígitos como decimais, sendo um campo decimal (18,2) exclusivamente numérico. Por exemplo, 00000000000000001000 será considerado como R$10,00;
    5.1 Caso queira remover os caracteres especiais consultar o post: Removendo caracteres especiais da descrição

O processo de exportação e importação pode ser bastante demorado dependendo da quantidade de produtos do cliente. Toda vez que houver uma alteração de preço, é preciso exportar o arquivo e importar novamente no aplicativo da Tanca.


EXPORTAÇÃO DOS PRODUTOS

Não há uma maneira de exportar os arquivos diretamente do Etrade. Vamos precisar recorrer ao SSMS para fazer a exportação. Abaixo seguem as querys utilizadas.


QUERYS

    QUERY COM CODIGO EAN

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo_EAN) < 13 THEN REPLICATE('0',13-LEN(Codigo_EAN))+RTRIM(Codigo_EAN) WHEN LEN(Codigo_EAN) >= 13 THEN SUBSTRING(Codigo_EAN,1,13) ELSE Codigo_EAN END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_EAN <> ''


    QUERY COM CODIGO PRINCIPAL (PK)

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo) < 13 THEN REPLICATE('0',13-LEN(Codigo))+RTRIM(Codigo) WHEN LEN(Codigo) >= 13 THEN SUBSTRING(Codigo,1,13) ELSE Codigo END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1


    QUERY COM CODIGO FABRICANTE 1

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante1) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante1))+RTRIM(Codigo_Fabricante1) WHEN LEN(Codigo_Fabricante1) >= 13 THEN SUBSTRING(Codigo_Fabricante1,1,13) ELSE Codigo_Fabricante1 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante1 <> ''


    QUERY COM CODIGO FABRICANTE 2

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante2) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante2))+RTRIM(Codigo_Fabricante2) WHEN LEN(Codigo_Fabricante2) >= 13 THEN SUBSTRING(Codigo_Fabricante2,1,13) ELSE Codigo_Fabricante2 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante2 <> ''


OBS.: SEMPRE lembrar de trocar o nome da tabela no declare para o nome da tabela desejada. O nome deve ser digitado IGUAL ao nome da tabela no ETrade. No exemplo está a mais utilizada que é Preco1, porém pode sofrer alteração de acordo com o cliente.

Após rodar as querys é necessário copiar os resultados para um TXT e salvar no caminho que irá utilizar para importar no aplicativo da Tanca.



Após fazer a exportação, basta importar no aplicativo da Tanca. Em caso de dúvidas, consultar o suporte técnico da Tanca. NÃO NOS RESPONSABILIZAMOS POR QUAISQUER ALTERAÇÕES FEITAS PELO APLICATIVO DE TERCEIROS.

ATUALIZAÇÃO DE PREÇOS

Até aqui o processo refere-se à primeira importação dos produtos. Porém, para não precisar importar todos os produtos todas as vezes em que houver uma alteração de preço, foram criadas as querys abaixo que puxam somente os produtos que tiveram alteração de preço NO DIA.


QUERYS


    QUERY COM CODIGO EAN

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo_EAN) < 13 THEN REPLICATE('0',13-LEN(Codigo_EAN))+RTRIM(Codigo_EAN) WHEN LEN(Codigo_EAN) >= 13 THEN SUBSTRING(Codigo_EAN,1,13) ELSE Codigo_EAN END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_EAN <> '' and convert(date,pp.DataAlteracao) = convert(date,getdate())


    QUERY COM CODIGO PRINCIPAL (PK)

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo) < 13 THEN REPLICATE('0',13-LEN(Codigo))+RTRIM(Codigo) WHEN LEN(Codigo) >= 13 THEN SUBSTRING(Codigo,1,13) ELSE Codigo END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and convert(date,pp.DataAlteracao) = convert(date,getdate())


    QUERY COM CODIGO FABRICANTE 1

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante1) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante1))+RTRIM(Codigo_Fabricante1) WHEN LEN(Codigo_Fabricante1) >= 13 THEN SUBSTRING(Codigo_Fabricante1,1,13) ELSE Codigo_Fabricante1 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante1 <> '' and convert(date,pp.DataAlteracao) = convert(date,getdate())


    QUERY COM CODIGO FABRICANTE 2

    DECLARE @TABELAPRECO VARCHAR(30) = 'Preco1';

    SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante2) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante2))+RTRIM(Codigo_Fabricante2) WHEN LEN(Codigo_Fabricante2) >= 13 THEN SUBSTRING(Codigo_Fabricante2,1,13) ELSE Codigo_Fabricante2 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )

    FROM PRODUTO p, ProdutoPreco pp

    where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante2 <> '' and convert(date,pp.DataAlteracao) = convert(date,getdate())


OBS.: SEMPRE lembrar de trocar o nome da tabela no declare para o nome da tabela desejada. O nome deve ser digitado IGUAL ao nome da tabela no ETrade. No exemplo está a mais utilizada que é Preco1, porém pode sofrer alteração de acordo com o cliente.

O processo de importação no aplicativo Tanca é o mesmo da primeira importação porém, em caso de dúvidas, favor consultar o suporte técnico da Tanca. NÃO NOS RESPONSABILIZAMOS POR QUAISQUER ALTERAÇÕES FEITAS PELO APLICATIVO DE TERCEIROS
Yancriado em 19 mai 2023 alterado em 06 dez 2023

Manual Configurações Manual

2045 | 102