Fórum
Ver pergunta

Eye Peak V10 – WebService SaveSKU – Familias e Sub-Familias   

42 visualizações
0
0

Boa tarde,

Temos uma tabela de Famílias de Artigo construída da seguinte forma:

Familia Código: 001 “MEDICAMENTOS”

Sub-Familia Código: 001001 Psicotrópicos

001002 – Citotóxicos

etc.

Ao colocarmos na abertura de um artigo com o método SaveSku os seguintes dados de família e sub-família:

<glob:Group>

<glob:Code>001</glob:Code>

<glob:Parent>

<glob:Code>002</glob:Code>

</glob:Parent>

</glob:Group>

O artigo em vez de ficar inserido na família 001, e subfamília 001002, fica 001.002 (com um ponto a separar), que não existindo na tabela de famílias/sub-familias cria uma nova, o que não está correcto.

Como se pode resolver este problema?

Obrigado

Faça login para poder traduzir
Integração
V10
Eye Peak
Marcado como spam
Criado há 6 anos e 4 meses miguelfaustino
m
miguelfaustino Iniciante
1 respostas
2
Resposta privada

Bom dia Miguel,

Para adicionar as famílias com as respetivas subfamílias é necessário evocar o web service Group, sendo que o objeto a enviar para o mesmo deverá ter o grupo e a propriedade Groups que é uma lista, deverá ter a lista de sub-familias. Exemplo:

            GroupRequest groupRequest = new GroupRequest();
            groupRequest.GroupCode = Entidade.Familia.Trim();
            groupRequest.Name = Entidade.Descricao;

            List<GroupRequest> groups = new List<GroupRequest>();
            foreach (BasBESubFamilia subFamilia in Entidade.SubFamilias)
            {
                GroupRequest group = new GroupRequest();
                group.GroupCode = subFamilia.SubFamilia.Trim();
                group.Name = subFamilia.Descricao;
                groups.Add(group);
            }

            groupRequest.Groups = groups.ToArray(); 

Passa associar as mesmas ao artigo, é necessário no método SaveSKU, colocar um objeto SKU_Group sendo o mesmo preenchido com a propriedade parent  para definir a sub-família. Exemplo:

            skuRequest.Group = new SKU_Group();
            if (!String.IsNullOrWhiteSpace(Entidade.SubFamilia))
            {
                skuRequest.Group.Code = Entidade.Familia.Trim();
                skuRequest.Group.Parent = new SKU_Group();
                skuRequest.Group.Parent.Code = Entidade.SubFamilia.Trim();
            }
            else
                skuRequest.Group.Code = Entidade.Familia.Trim();

 

Faça login para poder traduzir
Marcado como spam
Criado há 6 anos e 4 meses jorgesoares
j
jorgesoares Iniciante
    Comentários
    Bom dia Jorge, Obrigado pela sua resposta. Nós já estávamos a efectuar a associação do artigo da forma que descreve. A única diferença é que a tabela de familias e sub-familias não foi criada por webservice, foi criada manualmente e foi criada sem pontos a separar a familia da sub-familia. Assim, se criarmos as familias e sub-familias por webservice, como coloca um ponto entre estes dois grupos, a associação funciona bem, mas se não criarmos as familias e sub-familias por webservice, como foi o nosso caso, nunca conseguimos efectuar a associação pois coloca sempre um ponto. Creio que a solução será a de criarmos as familias por weservice pois assim tudo funciona bem. Cumprimentos,
    6 anos e 4 meses
    miguelfaustino