Fórum
Ver pergunta

ERP 10 Como adicionar quantidades nas contagens físicas do inventário?   

233 visualizações
1
0

Boa tarde,

No seguinte código como é que eu consigo adicionar a quantidade contada, que consta na variável qtdContada, à linha que foi adicionada pelo Primavera na criação da preparação?

 

InvBEInventario eInventario = null;
DataTable dt = null;
string sql = “SP_DaContagensImportar”;
string artigo = “”, localizacao = “”, lote = “”, numSerie = “”;
double qtdContada = 0.0;
try
{
if (PRIMAVERA.BSO == null || !PRIMAVERA.BSO.Contexto.EmpresaAberta) throw new Exception(“A empresa não está aberta!”);
eInventario = PRIMAVERA.BSO.Inventario.Inventarios.Edita(2019000009);
eInventario.EstadoDoc = (int)PRIMAVERA.Estados.Contagem;
dt = PRIMAVERA.BSO.ConsultaDataTable(sql);
if(dt!=null && dt.Rows.Count>0)
{
foreach (DataRow item in dt.Rows)
{
artigo = item[“artigo”].ToString();
localizacao = item[“localizacao”].ToString();
lote = item[“lote”].ToString();
numSerie = item[“numSerie”].ToString();
qtdContada = (double)item[“qtdContada”];

//Atualizar a quantidade contada para um artigo/Localização/lote/Número Série
}
}
PRIMAVERA.BSO.Inventario.Inventarios.Actualiza(eInventario);
MessageBox.Show(string.Concat(“Atualizado “, eInventario.NumDoc));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
eInventario = null;
dt = null;
}

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 6 anos e 5 meses ruialmeida
r
ruialmeida Iniciante
1 respostas
1
Resposta privada

Boa tarde,

O código que falta é mesmo de atribuir às linhas do inventário as quantidades contadas. Isto pode ser feito com um código parecido com este:

for (int i = 1; i <= eInventario.LinhasInventarios.NumItens; i++)
{
	if (eInventario.LinhasInventarios.GetEdita(i).Detalhes.NumItens > 0)
	{
		qtdContada = 0;

		for (int j = 1; j <= eInventario.LinhasInventarios.GetEdita(i).Detalhes.NumItens; j++)
		{   
			eInventario.LinhasInventarios.GetEdita(i).Detalhes.GetEdita(j).QtdStock = 1;
			qtdContada += 1;
		}
	}
	else
	{
		qtdContada = 1;
	}

	eInventario.LinhasInventarios.GetEdita(i).QtdStock = qtdContada;
}

 

Faça login para poder traduzir
Marcado como spam
Criado há 6 anos e 5 meses danielvieira-1
d
danielvieira-1 Responsiveness Member