Sincronizar folhas no Libreoffice

0

Espero que alguém possa ajudar.

Eu tenho um site de dropship de comércio eletrônico no Woocommerce que atualizo via CSV usando o WPAllImport. No momento, faço o download de uma planilha CSV do meu fornecedor, que contém os preços atuais do produto e a quantidade em estoque. No momento, eu tenho que passar por essa planilha para encontrar os produtos que estou vendendo e transferir os dados da planilha de fornecedores para a minha própria planilha, o que é muito demorado. Preciso fazê-lo porque os IDs do produto usados pelo meu fornecedor são diferentes dos IDs do produto que o Woocommerce fornece para os meus produtos e não podem fazer o upload direto do CSV.

quando eu faço o download do arquivo CSV do fornecedor, sempre salvo como fornecedorstock.csv, para que cada nova atualização substitua / substitua qualquer versão anterior.

Existe alguma maneira que eu possa vincular minha planilha / banco de dados ao supplierstock.csv para que, quando os novos dados chegarem, minha planilha / banco de dados seja automaticamente atualizada e preenchida com os valores mais recentes?

O principal problema é que a planilha do fornecedor muda de aparência. O layout é o mesmo, mas onde os produtos estão nas alterações da planilha.

Posso vincular meu ID de produto ao ID do produto e vincular o código

correspondente?

estoque da planilha para a minha, para que eu faça o download da nova planilha. Meu banco de dados / planilha eletrônica reconhece o ID do produto da planilha de fornecedores e reconhece a célula de quantidade de estoque e atualiza minha planilha adequadamente?

Exemplo de dados:

Meu formulário

ID Parent ID Title Stock Price 00001 0 Product 1
00002 00001 Product 1 - Variant 1 10 £1.99 00003 0 Product 2
00004 00003 Product 2 - Variant 1 10 £1.99 00005 00003 Product 2 - Variant 2 10 £1.99

Formulário do fornecedor

ID Title Stock Price PROD1 Product 1 - Variant 1 20 £2.99
PROD2 Product 2 - Variant 1 20 £2.99 PROD3 Product 2 - Variant 2 20 £2.99

Então, eu gostaria de vincular:

00002 -> PROD1 00004 -> PROD2 00005 -> PROD3

E vincule o preço e as células de estoque associadas ao ID dos fornecedores às células próprias associadas a meus IDs vinculados.
de modo que, quando o estoque ou o preço do PROD1, 2 ou 3 for alterado, as células correspondentes do estoque ou do preço da minha folha serão alteradas, o estoque deve ser atualizado para 20 e os preços para £ 2,99.

Eu li sobre a vinculação de tabelas em bancos de dados, mas não tenho certeza sobre como exatamente fazê-lo ou se seria capaz de fazer o que estou procurando

Quando eu baixo minha planilha de Fornecedores, os cabeçalhos de célula permanecem constantes, mas os produtos podem aparecer em linhas diferentes, portanto, a vinculação por células não funcionaria. Aparentemente, vincular IDs deve tornar as coisas mais precisas?

    
por PaulMcF87 06.11.2017 / 17:40

1 resposta

1

Você não deve precisar da abordagem do Libreoffice se estiver usando o WP All Import. Esse plug-in permite mapear campos diretamente e definir acionadores de atualização automática.

Tudo o que você precisa fazer é criar um modelo de importação uma vez com o mapeamento adequado de colunas e, em seguida, definir o acionador no arquivo csv do fornecedor onde quer que você faça o upload.

Você pode ser ajudado consideravelmente adicionando o ID do fornecedor como sua SKU de variação ou como uma SKU alternativa usando atributos. Isso dará a você um mapeamento 1: 1 das variações entre as tabelas, que é tudo o que você está atualizando de qualquer maneira. Dessa forma, você pode ter títulos de produtos diferentes e, como normalmente, é um campo ruim para o caso de um fornecedor mudar de assunto.

Se você não estiver usando a versão premium desse plug-in que permite o acionamento automático, ainda é possível fazer isso sem a necessidade de LO como intermediário. (note que você não precisa do gatilho, apenas se você não quiser percorrer o processo de importação usando o modelo de mapeamento cada vez que o csv for alterado)

  1. Carregue o supplierstock.csv como sua própria tabela no banco de dados do WP usando o phpMyAdmin. (tenha cuidado, claro)

  2. Configure uma consulta UPDATE usando um JOIN entre a tabela wp_postmeta que contém as informações de estoque e preço para suas variações e a nova tabela supplierstock. Consulte este tópico para uma visão geral simples: link

Se você quiser automatizar isso, você pode configurar um ou mais gatilhos para disparar toda vez que você reimportar o supplierstock.csv nessa tabela. (não se esqueça de importar como uma atualização, não uma nova tabela separada) Você precisará de pelo menos um gatilho UPDATE para definir o estoque e o preço como você mencionou (bem como quaisquer outros campos modificáveis), mas você também pode querer um INSERT disparar para adicionar automaticamente novos produtos quando o fornecedor faz, e possivelmente um gatilho DELETE para remover itens descontinuados, ou para usar como uma forma de adicionar uma tag / atributo 'descontinuado' que também zera o estoque / marca o produto fora de estoque, mas não o exclui do seu banco de dados.

Você também pode realizar essa última parte, provavelmente de maneira mais segura usando o PHP. (para manipular a criação de produtos pai primeiro para novas adições)

Se você estiver usando o importador integrado do Woocommerce, eu ainda usaria a rota do phpMyAdmin com ou sem acionadores. Tentar usar o LO para processar um csv de importação especial primeiro é apenas um trabalho extra. Certamente, você não pode usar o Base em dois arquivos csv ou arquivos de planilhas diferentes, pois não é possível executar consultas em mais de uma tabela com esse tipo de origem de dados em LO. Você ficaria preso a algo como VLOOKUP e / ou algumas instruções MATCH complicadas com IFs aninhados. Além disso, o VLOOKUP requer colunas adjacentes. Se o fornecedor decide adicionar uma coluna entre as duas que você precisa, tudo quebra. A abordagem SQL não vai quebrar nesse caso.

Essencialmente, qualquer ferramenta de importação está fazendo algum tipo de função UPDATE JOIN, então por que se preocupar em fazer isso primeiro no LO apenas para fazer tudo de novo usando o Wordpress? Eu acabei de atualizar o JOIN uma vez diretamente usando o supplier.csv e minha tabela wp_postmeta.

    
por 28.01.2018 / 03:30