No onScriptInit crie algumas variáveis globais:
[var_empresa] = ‘emp_’. str_pad([usu_id_empresa], 4, 0, STR_PAD_LEFT);
[var_filial] = ‘fil_’. str_pad({id_filial}, 3, 0, STR_PAD_LEFT);
[var_pasta] = {tx_pasta}; //configura de acordo com seus dados
no campo upload, caminho do upload
/[var_empresa]/[var_filial]/[var_pasta]
criar subdiretório = SIM
Jean boa tarde,
estou olhandooteu videomas nao entendi como voce faz o upload do xml para uma pasta definida por voce?
Rodrigo,
uma duvida no seu exemplo quando eu publicar e definir o diretorio padrao este sera usado para todos os documentos do meu sistema?
por que no meu caso eu tenho uma pasta definida somente para esta rotina de XML…
$emit->getElementsByTagName(“xLgr”)->item(0)->nodeValue)
Esta éo objeto XML gerado para fazer a leitura assim voce consegue ler tudo que esta abaxio de um node…
a outra é para trocar os caracteres especiais pelos normais
e a outra e uma funcao php para transformar em maiuscula
Obrigado por compartilhar, tenho um sistema que faz isso e está bem parecido.
Também importo tudo que está em um diretótio específico. No final da importação renomeio o arquivo xml com “-” antes do nome e faço um foreach lendo todo diretório com opendir pegando apenas o que for extensão xml e que o nome do arquivo não inicie com “-”, assim o usuário importa diversos xmls ao mesmo tempo.
Rodrigo,
obrigado…
mas pelo jeito o seu esta mlhor que o meu se tiver como compartilhar esta aplicação seria legal…
por que todos precisamos de algo muito parecido com o que eu fiz e o que voce fez…
Tenho uma pergunta pra todos aqui…nao sei como definir isso pra que fique automatico:
Na minha tabela tenho muitos campos defido como moeda e decimal, mas no SC eu tenho que ir campo a campo pra informar:
==> Tipo Moeda
==> Tamanho do Campo…
==> Casa Decimal
==> Completa com zero
Existe alguma forma de fazer isso automático… pra que todos os campos ja venham em uma definição que eu coloque?
Bom o que fiz é quase igual ao seu porém com o início para ler tudo que está no diretório:
Vou passar o resumo como fiz para não ficar confuso e cada um pode fazer de acordo com a necessidade.
$diretorioup = "C:/Program Files (x86)/NetMake/v8/wwwroot/xml";
// Verificando se a pasta é valida
if (is_dir($diretorioup))
{
//Abrindo a pasta selecionada
if ($dh = opendir($diretorioup))
{
//Percorrendo todos os arquivos da pasta selecionada
while (($file = readdir($dh)) !== false)
{
if(substr($file,0,2) != "--" && trim($file) != "." && trim($file)!=".." && (substr(trim($file),-3)=='xml' || substr(trim($file),-3)=='XML'))
{
//Obtendo caminho completo até o arquivo
$xmlUrl = $diretorioup."/".$file;
//Transformando o XML em array
$arrXml = simplexml_load_file($xmlUrl);
----------------------- daqui para baixo pego as tags assim:
$varcnpj_temp = trim($nfe->infNFe->dest->CNPJ); //outras linhas devem ser geradas igual essa com o caminho das tags
//Obtendo dos itens da NF
$docDom = new DomDocument;
$docDom->Load($xmlUrl);
$items = $docDom->getElementsByTagName('prod');
for ($i=0; $i < $items->length; $i++)
{
--------------daqui para baixo pego as tags com o DOM
$D1_CF = (isset($items->item($i)->getElementsByTagName('CFOP')->item(0)->nodeValue))? $items->item($i)->getElementsByTagName('CFOP')->item(0)->nodeValue : ""; //outras linhas devem ser geradas igual essa com o caminho das tags (dessa maneira irá percorrer todos os itens
nessa parte que faço o insert na tabela de itens
}
nessa parte faço o insert na tabela de cabeçalho
também renomeio para não pegar o arquivo novamente
rename($diretorioup."/".$file,$diretorioup."/--importado--".$file);
}
}
}
}
Fatal error: Call to undefined function url_amigavel() in C:\Program Files (x86)\NetMake\v8\wwwroot\scriptcase\app\MAM_Gestao_ISO_PBQPH\control_grava_nfe\control_grava_nfe_apl.php on line 2337