Vill du även uppdatera ersättande/ersatt artikel

Skapad av Kenny Westermark, Ändrad den Wed, 24 Nov 2021 vid 09:06 AM efter Kenny Westermark

Koppla mot händelse: 'Före spara ändrad post'

function q_polr_artikel_Replace: boolean;
  var sCurrentErsattsAvArtnr, sCurrentErsatterArtNr, sSQL : string;

begin (* By Polr AB *)
  q_hz_artikel_Replace := True;

  // Ersatts Av Artnr
  sSQL := 'SELECT COUNT(1) FROM ar WHERE ar.ForetagKod = '+sy1.ForetagKod+' AND ar.ArtNr='+toSQL(ar.ArtNr)+' AND ISNULL(ar.ErsattsAvArtnr, "") <> ISNULL('+toSQL(ar.ErsattsAvArtnr) + ', "")';
  If (SQLGetInteger(sSQL) > 0) AND (ar.ErsattsAvArtnr <> '') Then
  Begin
    sSQL := 'SELECT ISNULL(ar.ErsatterArtNr, "<tomt>") FROM ar WHERE ar.ForetagKod = '+sy1.ForetagKod+' AND ar.ArtNr='+toSQL(ar.ErsattsAvArtnr)+'';

    If (YesNo('Vill du även uppdatera ersättande artikel "'+ar.ErsattsAvArtnr+'" med "Ersätter artikel" = '+ar.ArtNr+'? (Nuvarande värde: '+SQLGetString(sSQL)+')')) Then
    Begin
      sSQL := 'UPDATE ar SET ErsatterArtNr = '+ToSQL(ar.ArtNr)+', RowUpdatedDt = GETDATE(), RowUpdatedBy = '+ToSQL(sy2.PersSign)+', RowUpdatedCols="ErsatterArtNr" WHERE ForetagKod = '+sy1.ForetagKod+' AND ArtNr='+toSQL(ar.ErsattsAvArtnr)+'';
      SQLExecuteText(sSQL);
    End;

  End;

  // Ersatter ArtNr
  sSQL := 'SELECT COUNT(1) FROM ar WHERE ar.ForetagKod = '+sy1.ForetagKod+' AND ar.ArtNr='+toSQL(ar.ArtNr)+' AND ISNULL(ar.ErsatterArtNr, "") <> ISNULL('+toSQL(ar.ErsatterArtNr) + ', "")';
  If (SQLGetInteger(sSQL) > 0) AND (ar.ErsatterArtNr <> '') Then
  Begin
    sSQL := 'SELECT ISNULL(ar.ErsattsAvArtnr, "<tomt>") FROM ar WHERE ar.ForetagKod = '+sy1.ForetagKod+' AND ar.ArtNr='+toSQL(ar.ErsatterArtNr)+'';

    If (YesNo('Vill du även uppdatera ersatt artikel "'+ar.ErsatterArtNr+'" med "Ersätts av artikel" = '+ar.ArtNr+'? (Nuvarande värde: '+SQLGetString(sSQL)+')')) Then
    Begin
      sSQL := 'UPDATE ar SET ErsattsAvArtnr = '+ToSQL(ar.ArtNr)+', RowUpdatedDt = GETDATE(), RowUpdatedBy = '+ToSQL(sy2.PersSign)+', RowUpdatedCols="ErsattsAvArtnr" WHERE ForetagKod = '+sy1.ForetagKod+' AND ArtNr='+toSQL(ar.ErsatterArtNr)+'';
      SQLExecuteText(sSQL);
    End;

  End;

End;                         

Var artikeln till hjälp?

Toppen!

Tack för din feedback

Vi beklagar att det inte var till hjälp

Tack för din feedback

Berätta för oss hur vi kan förbättra den här artikeln!

Välj minst en av orsakerna

Feddback skickat

Vi uppskattar din feedback och uppdaterar artikeln vid behov