Sobre o código deu um erro e fiz um typecast, sei que na PO existe o metodo get_ValueAsInt, mas aqui ta problema ele quer um int…mas então ficou assim:
int M_AttributeSetInstance_ID = (Integer)fromLines[i].get_Value(“M_AttributeSetInstance_ID”);
Mas vou citar um exemplo.
1º Faço uma venda de um celular XYZ com atributo de instância #147258369 " M_AttributeSetInstance_ID = 123456".
2º Aquele telefone volta para conserto e tenho que buscar o celular XYZ com atributo de instância #147258369 " M_AttributeSetInstance_ID = 123456", se eu criar um novo atributo de instância #147258369 " M_AttributeSetInstance_ID = 123457" não será o mesmo, pois vou ter dois atributos de instância #147258369 com " M_AttributeSetInstance_ID = 123456 e 123457" é isso que não acho certo.
Continuando na mesma linha de raciocino, se eu tivesse que movimentar o produto para outros setores da empresa por tipos diferentes de documento e contivesse esses dois M_AttributeSetInstance_ID para o mesmo produto não vai realizar movimentação entre os armazéns, movimento 123456 mas o 123457 ainda vai ficar no mesmo armazém.
Isso é apenas uma forma para agilizar o serviço, mesmo que a pessoa faça de forma manual buscando o atributo de instância ela vai poder alterar. Não é por conta de ter importado as linhas que vai da problema. Se eu soubesse como desabilitar na janela de atributo de instância o “campo editar” de acordo com a “configuração do sistema” eu o faria, criando uma variável Allow_EDIT_M_AttributeSetInstance= Y ou N;