Este es el código que guarda en una de las tablas en cuestion. En la que yo supongo que pueden estar escribiendo simultaneamete en el mismo registro dos PCs.
Código:
CDInsumosAplicados.First;
while not CDInsumosAplicados.Eof do
begin
CDStockInsumos.Locate('ARTICULO_ARC',CDInsumosAplicadosPRODUCTO_RRA.AsString,[loCaseInsensitive]);
if CDStockInsumosARTICULO_ARC.Value=CDInsumosAplicadosPRODUCTO_RRA.Value then
begin
CDStockInsumos.Edit;
CDStockInsumosSTOCK_STC.AsCurrency:=CDStockInsumosSTOCK_STC.AsCurrency
-(CDInsumosAplicadosCantidadusada_RRA.AsCurrency
*CDInsumosAplicadosIndiceunidad_ART.AsCurrency);
end;
{Sino Existe Relacion con el articulo}
{Fin-Sino Existe Relacion con el Articulo}
CDInsumosAplicados.Next;
end;
CDStockInsumos.ApplyUpdates(0);
CDStockInsumos.Refresh;
Perdón por insistir con lo mismo. ¿Estoy equivoado al pensar que el encargado de controlar la escritura en un mismo registro es del propio Firebird y no el codigo de la aplicación?
Si es necesario que diga cómo están parametrizado los controles que uso para acceder a los datos, me dicen.