01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Função:AnexosInspecaoQualidadeAPI
País:Brasil

02. DESCRIÇÃO

Atualmente, o cliente não possui mecanismo para customizar quais arquivos serão exibidos no APP Minha Produção, ajustando ou filtrando o conjunto retornado pelo processo padrão.

03. LOCALIZAÇÃO

Fonte: AnexosInspecaoQualidadeAPI.prw
Endpoint: qualityinspectionattachments/api/qip/v1/listfiles/{ProductID}/{Version}/{OperationRoutines}/{OperationID}/{TestID}

04. PARAMETROS

Nome

Tipo

Descrição

ParamIXB[1] - cProdutoCaracter

Código do Produto relacionado na Inspeção

ParamIXB[2] - cRevisaoCaracter

Revisão da especificação relacionada a inspeção

ParamIXB[3] - aArquivosArray

Relação de arquivos para exibição no Aplicativo, cada registro é um objeto JSON com as propriedades a seguir:

CampoTipoDescrição
uidString (GUID)Identificador único do arquivo na tabela QQN.
mimeTypeStringTipo MIME do arquivo (ex.: text/plain, image/png, application/pdf). Indica o formato do conteúdo.
branchqqoStringIdentificação filial da entidade relacionada.
entityStringEntidade relacionada ao registro (ex.: QP6, QE6 e QQC).
originalNameStringNome original do arquivo.
originStringIndicação da origem do documento (ex.: 1 = arquivo físico, 2 = URL).
viewModeStringDefine como o arquivo será exibido no aplicativo. Ex.: 1 - Download | 2 - Visualização (suportado apenas para arquivos de áudios, imagem e vídeo com origin = 1 - arquivo físico).
descriptionStringDescrição textual do arquivo que será exibida no aplicativo.
urlStringEndereço da URL para abertura no aplicativo. 
recnoNúmeroNúmero sequencial do arquivo na QQN.
recnoqqoNúmeroNúmero sequencial do arquivo na QQO.
sizeNúmeroTamanho do arquivo em KB.



05. RETORNO

Retorna array aArquivos com os arquivos a serem exibidos. (Consulte a sintaxe no exemplo abaixo e na documentação de parâmetros acima)

06. EXEMPLO DE UTILIZAÇÃO

#INCLUDE "TOTVS.CH"

User Function QQOFIPEM()
	
	Local aArquivos := ParamIXB[3]
	Local cProduto  := ParamIXB[1]
	Local cRevisao  := ParamIXB[2]
	Local oNovo     := JsonObject():New()

	If Len(aArquivos) > 1
		//aArquivos[1]["entity"] 	// Exemplo de entidade relacionada ao arquivo no Protheus (QE6, QP6, QQC)
		//aArquivos[1]["branchqqo"] // Exemplo de filial da entidade relacionada ao arquivo no Protheus.
		//aArquivos[1]["recno"] 	// Exemplo de RECNO do registro na tabela QQN.
		//aArquivos[1]["recnoqqo"]  // Exemplo de RECNO do registro na tabela QQO.
	EndIf

	//Exemplo de como remover itens dos arquivos recebidos.
	If Len(aArquivos) > 1
		aDel(aArquivos, 1)
		aSize(aArquivos, Len(aArquivos) - 1)
	EndIf

	//Exemplo de como adicionar  arquivo do tipo URL
	oNovo["origin"]      := "2"								 // 1 - Fisico | 2 - URL 
	oNovo["description"] := "Minha descrição do arquivo URL" // Descrição exibida no App
	oNovo["url"]         := "www.google.com.br" 	         // URL do arquivo
	AAdd(aArquivos, oNovo)

	//Exemplo de como adicionar  arquivo do tipo Fisico
	oNovo 		           := JsonObject():New()
	oNovo["recno"]         := 3 				  				  // O recno do registro na tabela QQN para a consulta do arquivo fisico
	oNovo["mimeType"]      := "text/plain" 		  				  // Tipo MIME do arquivo utilizado para o Android identificar o aplicativo padrão de abertura do arquivo.
	oNovo["originalName"]  := "meuorinalName.txt" 				  // Nome original do arquivo
	oNovo["origin"]   	   := "1" 								  // 1 - Fisico | 2 - URL 
	oNovo["viewMode"] 	   := "2" 								  // 1 - Download | 2 - Visualização (suportado apenas para arquivos de audios, imagem e video com origin = 1 - fisico).
	oNovo["description"]   := "minha descrição do arquivo Fisico" // Descrição exibida no App
	oNovo["size"] 		   := 2 								  //Tamanho do arquvo em Kb para a exibição no App
	AAdd(aArquivos, oNovo)


Return aArquivos