domingo, 6 de janeiro de 2013

Como criar funções "Stored Functions" no MySql usando o Navicat.

Vamos criar uma função que vai retirar todos os tipos de acentuação das strings.

Abra o Navicat, escolha o banco de dados e clique na aba Functions. 

Clique no ícone New Functions e escolha o tipo, clicando em functions.

Clique em finish. Deverá aparecer a seguinte tela:


Prencha exatamente como está nesta tela depois clique na aba Advanced  para configurar mais tres parâmetros. Security: Definer  |  Definer: root@localhost  | Data Access: CONTAINS SQL  | Clique na caixa DETERMINISTIC. 

Salve sua função com o nome f_remove_acentos.

Nota: Caso a opção NO SQL seja escolhida a opção DETERMINISTIC poderá ficar desmarcada.

Agora podemos criar uma consulta na através da  aba query como esta:

SELECT f_remove_acentos(`description`) from tabela; // description é o nome do campo da tabela que contém as strings que devem ser submetidas a função para retiradas da  acentuação.

Esta função não retira de fato os acentos, apenas oculta-os. Para a retirada deve se usar UPDATE. 

No próximo colocarei um post sobre Procedimento Armazenado - Stored Procedures, que modificam de fato a base de dados com comandos Updates, usando também o Navicat.

terça-feira, 1 de janeiro de 2013

Magmi - Importador em massa para Magento

O que é o Magmi.

Ninguém melhor que a documentação pra defini-lo, mas para uma idéia geral trata-se de um importador em Massa para lojas Magento. É um pragrama livre regido pelas leis MIT OSL License. Seu criador é Sebastien Bracquemont e
 o cara manda muito bem.

Obtenção.
Pode ser baixado emhttp://sourceforge.net/projects/magmi/files/. Para baixar os extras e utilitárioshttp://sourceforge.net/projects/magmi/files/magmi-0.7/plugins/packages/.

Instalação

Em a sua loja instalada bonitinha, será colocado dentro do diretório magento o diretório do Magmi. Se você baixou os plugins extras e os utilitários, esses arquivos devem ficar dentro da pasta plugins do Magmi.

Pronto.

Acesse o arquivo magmi.php. Esse é o cara que vai dar todas as opções e executar a importação.

Até a próxima...

segunda-feira, 31 de dezembro de 2012

Retirar valores duplicados em linha de um campo do MySql com Php


Imagine que você tenha um campo no seu banco de dados com o nome Cor.
Esse campo possui várias cores, porém algumas estão duplicadas.
Exemplo: Branco, Preto, Azul, Azul, Amarelo, Preto, branco.
Se você não deseja essa duplicação, veja como deve proceder.

Primeiramente lembrando que o PHP é case-sensitive, ou seja, Branco e branco são diferentes. Então devemos atualizar esse campo usando a função do MySql UPPER, para deixá-los em maiúsculo e ficarem iguais. Update 'Tabela_Cor' set cor=  UPPER(cor). Agora sim vamos ao procedimento.

<?php require_once('../../Connections/conn_cor_c.php');//Conexão com o BD
mysql_select_db($database_conn_cor_c, $conn_cor_c);

$query_cor = "SELECT id, color FROM project_1 where color<>'' ";//Seleciona a tabela que tem o campo cor

$cor = mysql_query($query_cor, $conn_cor_c) or die(mysql_error());
$row_cor = mysql_fetch_array($cor);

 do {
$id=$row_cor['id'];
$prt1=explode(',',$row_cor['color']);// Essa função desmembra a string em um array
$res=array_unique($prt1);// Essa função Remove valores duplicados desse array
$res_final=implode(',',$res);//Essa função transforma o array sem valores duplicados em string novamente

$sql_update = "Update project_1 set color='$res_final' where id ='$id'";// Essa instrução atualiza o campo color no BD sem os valores duplicados
 $exe_update = mysql_query($sql_update, $conn_cor_c) or die (mysql_error());

/*echo "<pre>";
print_r($res_final);
echo "</pre>";*/

} while ($row_cor = mysql_fetch_array($cor));

mysql_free_result($cor);

?>

É isso aí, e adeus duplicados !!!

segunda-feira, 10 de dezembro de 2012

Programa de Compras e Cotações Online

Teste Gratuíto - Experimente Agora !!!
1.     Descrição Geral - www.transsender.com.br

2.     Instruções Passo a Passo.
2.1            Clientes.
2.2            Fornecedores.

3.     Termo de Adesão (Funciona como um pré-pago, não havendo portanto contrato, a desistência se presume pela falta do pagamento da licença mensal - Forma de pagamento - Depósito bancário.).

Descrição Geral – O Transsender é um programa gerenciador de compras e cotação e funciona online através de uma conexão ativa à internet.
         O objetivo do programa é otimizar os processos que envolvem as compras, reduzindo tempo, mão de obra, custos com telefonia, materiais de escritório, combustível, etc, além de ser muito seguro porque não trabalha com nenhuma informação sigilosa do cliente.
         O sistema foi desenvolvido em duas plataformas; A Cliente e a Fornecedor.
         A plataforma cliente, é acessada através de login e senha de acesso, onde o cliente tem acesso a sua base de dados, que pode ser, sua própria base ou concedida pela TS. Após o login de acesso o cliente pode usar todos  os recursos disponíveis no sistema como, formar cotação, fechar cotação, autorizar fornecedores a participar da cotação, emitir pedidos, salvar arquivos, imprimir página de pedidos, acompanhar em tempo real o andamento da cotação, incluir novos produtos, editar produtos e etc.
         A plataforma fornecedor também é acessada através de login de acesso e senha, dos fornecedores que foram previamente cadastrados no sistema e que confirmaram seu cadastro clicando no link de ativação anti-fraude, garantindo o ingresso de fornecedores idôneos no sistema. Os recursos disponíveis para os fornecedores são: Solicitação de permissão para clientes, envio de preços e ofertas para clientes que autorizarem seu ingresso em suas cotações.
         A dinâmica do programa é simples e objetiva; o cliente solicita o preço aos fornecedores e o Transsender retorna o menor preço do produto entre os fornecedores, ou permite que o cliente escolha o preço e o fornecedor deseja comprar.

Manual de Instruções

         Clientes
         A partir do momento em que o cliente concorda com o Termo de Adesão, é criada uma conta de acesso com um nome de usuário e uma senha provisória para acesso ao sistema.
         O endereço do site é www.transsender.com.br e o cliente fará o login de acesso no campo destinado “Login Cliente ” na parte superior esquerda da página, digitando seu nome de usuário e sua senha. Feita a validação do login o cliente é direcionado para o seu “Painel de Controle”, onde se encontram todos os links responsáveis pelo gerenciamento da cotação. A saber; Apagar Cotação -> Ao clicar sobre esse link é apagada completamente a cotação anterior, permitindo assim que se forme uma nova cotação.
Editar Senha-> Este link permite ao cliente trocar sua senha provisória e alterá-la sempre que julgar necessário.
Fechar Cotação-> O link Fechar cotação é o modo automático de fechamento da cotação cujo critério é o de menor preço. Ao clicar neste link  os produtos são enfileirados em ordem alfabética com o menor preço cotado e informando seu respectivo fornecedor, além de um campo para colocar a quantidade que o cliente deseja comprar do produto existem também outros parâmetros que ajudam na tomada de decisão na hora da compra como; UC ->Ultimo custo do produto; Coef->Avalia em porcentagem quanto o produto está acima ou abaixo do último custo (aqui além da porcentagem positiva ou negativa a cor da porcentagem pode estar azul ou vermelha indicando visualmente), e também informações de estoque e estoque mínimo caso haja controle. Caso o preço do produto vencedor esteja errado ou não seja interessante comprá-lo, o cliente pode escolher o segundo preço ou terceiro preço, sucessivamente, bastando marcar qual de qual fornecedor deseja comprar.

Comprar Ofertas-> Este link permite que se compre os produtos em ofertas que foram sugeridos pelos fornecedores e que não entraram na cotação. Lembrando que UV é Unidade de Venda ou seja, a quantidade mínima comercializável pelo fornecedor.

Formar Cotação-> Este link é o responsável pela montagem de uma nova cotação. Ao clicar neste link aparece uma mensagem de alerta que diz “Aviso ! para formar nova cotação você deverá apagar a cotação anterior”, caso não haja interesse em apagar a cotação anterior clique em ok, e todos os produtos escolhidos serão anexados aos escolhidos da cotação anterior. Após a decisão de apagar ou não a cotação anterior o cliente pode escolher os produtos que deseja para sua cotação, bastando digitar o nome do produto ou parte do nome do produto, a qual o sistema fará uma busca ao banco de dados, retonando os produtos relacionados com o critério escolhido.
         Os produtos retornados possuem um código(cod) pelo qual podem ser editados, simplesmente clicando sobre ele, e uma caixa de controle para marcar ou desmarcar o produto que se está escolhendo para a cotação. Ao final da página após marcar os produtos que deseja, o cliente clica no botão “Inserir”, no qual insere os produtos escolhidos e retorna  para a página de pesquisa, de modo a continuar a escolha dos produtos que desja cotar. Após definir todos os produtos que farão parte da sua cotação o cliente deve definir os parâmetros de “Início” e “Término” da cotação clicando no link “Inicio e Término” e informando nos campos o inicio, término horários e observações, e por fim clicar no botão finalizar, estando a partir deste momento a cotação liberada para os fornecedores colocarem seus preços.
        
Incluir Produtos-> Novos produtos que não estão incluidos na base de dados do cliente podem ser acrescentados bastando clicar no botão “Incluir”. *Obs* ->UC = Último Custo e CAC = Custo Atual Cotado(caso saiba).

Painel de Controle-> Retorna ao Painel de Controle com todos os links disponíveis.

Página Inicial-> Retorna a primeira página (index) onde é feito o login de acesso.

Pedidos-> Neste link se tem uma panorâmica total do pedido assim como os totais pedidos para cada fornecedor, bastando para isso escolher o fornecedor e clicar no botão “Separar”. É possível corrigir as quantidades dos produtos comprados clicando em “Corrigir Quantidades”.

Produtos Não Cotados->Este link informa ao cliente os produtos que nenhum fornecedor informou preço.

Fornecedores-> Relação dos fornecedores que estão cadastrados no sistema com informações úteis relacionadas a cada fornecedor.

Visualizar Cotação-> A qualquer momento o cliente pode verificar o andamento da cotação visualizando todos os produtos e fornecedores que cotaram até o momento.

         Existe um quadro de informações ao lado esquerdo do painel de controle que traz informações resumidas da cotação atual. Ao lado da palavra “Solicitações” existe um número linkado que mostra quantos fornecedores desejam participar da cotação. Ao clicar neste link o cliente vê o nome do fornecedor solicitante, o nome do representante, a data e a partir desse momento o cliente pode autorizar ou negar o acesso a cotação para esse fornecedor, bastando escolher a opção desejada e clicando no botão “Despachar”. Ao lado da palavra “Ofertas” existe um número linkado que indica o número de ofertas deixadas pelos fornecedores com produtos que não entraram na cotação. É possível comprá-las a partir deste link bastando colocar a quantidade desejada no campo QTD e clicar em comprar. “QTD produtos Escolhidos” é um número linkado que mostra a relação dos produtos escolhidos da cotação atual. “Fornecedores Participantes” é um número linkado que mostra toda cotaçao e esse número é o de fornecedores participantes até esse momento. É o mesmo link de “Visualizar Cotação”. “Início” é a data do início da cotação definida anteriormente no link “Início e Término”. “Término” Idem.

Vídeo Ilustrativo ---> Vídeo

Plugins Magmi - Principal Tela Web de Configuração - Parte 3

Feito e configurado como mostrado em posts anteriores, agora é possível escolher os plugins que deseja usar nas importações. São vários com finalidades diversas. 



Um breve comentário sobre a função de cada um, mas no site http://sourceforge.net/apps/mediawiki/magmi/index.php?title=Main_Page#Magmi_Integration você pode estudá-los com maior detalhamento.


Tipos de Plugins:
Comuns

Relatório de Importação e notificação de Mail Notifier v1.0.0
Este plugin pode ser usado para enviar um relatório de e-mail para a importação
ele usa PHP recurso de correio.

  Importação Magmi Url UI v1.0.3
Este plugin fornece um textarea que dá a linha de comando wget ou curl (ou apenas url se você quiser) que será executado com a documentação de configuração atual.

  Magmi Optimizer v1.0.5 - automático

  Magmi Reindexer Magento v1.0.5
Este plugin reindexa magento via chamado php cli - configurável

Processadores de Itens
  Criador de categorias / importador v0.1.7
Este plugin permite criar categorias.

  Imagem atributos Processador de atributos de imagem v1.0.22
Importador de Imagens. Para usar esse plugin deve-se criar duas pastas. Dentro da pasta media criar catalog/product.

  Produto Deleter v0.0.1
 Este plugins deve ser usado para excluir a documentação de produtos existentes
Pré-processador de dados de entrada

Entrada de dados para processamento.

  Coluna mapper v0.0.3
Este plugin permite alterar os nomes das colunas da fonte de dados antes que elas sejam manipuladas pela programação Magmi.

  SKU do Finder v0.0.1
Este plugin pode ser usado no modo de atualização para encontrar sku da coluna personalizada na interface datasource da documentação.

  Valores padrão setter v0.0.5
 Este permite definir alguns valores de item padrão que não foram encontrados na documentação fonte de entrada.

  Magmi Importação Limiter Informações v0.0.5
 Este plugin é feito para limitar a importação magmi a intervalos de registros selecionando ou criando correspondência de valores na documentação.

  Genéricos mapper Informações v0.0.6a
 Este plugin fornece mapeamento de valor para colunas csv antes de serem submetidas ao magmi, normalmente,  'visibilidade' e 'page_layout' precisam de mapeamento para que o magmi possa processá-los corretamente.

Importação de produtos e tipos

  Processador de produtos agrupados v1.0.1
Este plugins lida com a documentação de importação de produtos agrupados.

  Processador de produtos configuráveis v1.3.7
Esta plugins lida com a importação de produtos configuráveis.Relaciona os produtos simples ao configurável correspondente.

Produtos Relacionados
  Cross / Upsell Importador v1.0.3 ver documentação.
  Produto Relator v1.0.3 ver documentação.

Se desejarem colaborar com a comunidade, escrevam em www.magmibrasil.com.br  - www.facebook.com/magmibrasil suas soluções e dúvidas.

Para consultoria escrevam para magmibrasil@transsender.com.br.

sábado, 8 de dezembro de 2012

UI Magmi - Principal Tela Web de Configuração - Parte 2

Nesse post vamos configurar o tipo de arquivo importado. Magmi permite que sejam importados arquivos CSV e também permite que sejam importados dados que se encontram dentro de uma base de dados.


Para que a importação seja feita de uma base de dados SQL, em Datasouces(fonte de dados), selecionamos o recurso Generic SQL Datasourcev1.0.2 ou versão atual correspondente. É necessário informar o tipo de banco de dados em Input DB Type, o servidor (host), em Input DB Host, o nome do banco e a senha. Em SQL file deve conter a instrução select que lista os campos do banco de dados que serão importados. Essa instrução não deve ter (ou melhor que não tenha) o ";" ponto-e-vírgula no final da instrução select para não gerar alguma incompatibilidade, e salva com a extensão .sql dentro do diretório requests que fica dentro do dir Magmi como no exemplo acima mostrado na imagem. Outra observação importante é que esse arquivo deve ser salvo com a codificação UTF-8 para evitar mensagens como  "No Records returned by datasource"). Existe um outro post meu com as 5 causas prováveis para o aparecimento dessa mensagem. Procure salvar a tabela e todos os seus campos em UTF-8. Evidentemente a tabela com os dados de importação deverá estar disponível no servidor no qual está hospedado sua loja Magento. Após configurar corretamente os dados para importação, escolhe-se o modo de importação como na imagem abaixo e clica em Run Import para iniciar a importação.

Pronto essa é a forma de importação via SQL. Não entrarei no mérito dos cabeçalhos CSV ou SQL nem nas formas de configuração da loja para aceitar corretamente a importação por esse post se tratar do Magmi e que pressupõe conhecimento de administração de lojas Magento.

É possível a importação via CSV. Veja a imagem abaixo:

Agora selecionamos o recurso CSV Datasourcev1.2 ou versão correspondente para importação.
É necessário caso não haja, a criação da pasta "import" dentro do diretório "var" que por sua vez está dentro do diretório "magmi". É dentro do diretório "import" que deverão ficar os arquivos CSV que serão importados com seus headers obrigatórios para a importação correta. Abaixo existem as opções CSV que são opcionais. Isso posto já é possível a importação standart, ou seja sem a especificação de plugins, como o de criação de categorias, imagens, produtos configuráveis e etc. Caso precisem de consultoria favor enviar email para magmibrasil@transsender.com.br. No próximo post falaremos sobre os plugins de importação. Até !!!

Vejam esse link, pode ajudar --->http://go.magento.com/support/kb/entry/name/working-with-product-csv-files.