Skocz do zawartości

Błąd podczas synchronizacji kolektora

Polecane posty

Witam,

podczas synchronizacji asortymentu występuje poniższy błąd. Kolektor zdaje się działać normalnie, lecz nie chciałbym mieć problemów przy zbliżającej się inwentaryzacji. Dziwi mnie to, gdyż program nie pozwala zapisać towaru z powtarzającym się kodem kreskowym lub kodem PLU. Czy jest jakiś sposób aby zlokalizować zduplikowany kod?

1627342799_Bd.jpg.3f603397c53acf7fa00d47e0926c76c7.jpg

Link to postu
W dniu 23.11.2021 o 08:14, Andrzej Kubik napisał:

Wydaje mi się że tylko raport własny (o ile to PRO) albo wyszukanie SELECT em bezpośrednio w bazie (czyli to samo tylko bez użycia Subiekta)

Dokładnie tak. Trzeba pamiętać, że towar może mieć wiele jednostek, a każda jednostka wiele kodów kreskowych.

  • Dziękuję 1
Link to postu

Dziękuję za odpowiedzi. Niestety w temacie SQL jestem kompletnie zielony. Znalazłem w innym temacie na forum zapytanie SQL mające pokazać pozycje, w których pole kodu kreskowego jest puste lub wypełnione spacjami: 

 

SELECT    _kk.Id, _jma.Id, _jm.Symbol, _jm.Nazwa, _kk.Kod, _aso.Symbol, _aso.Nazwa
FROM    ModelDanychContainer.KodyKreskowe _kk
        inner join
        ModelDanychContainer.JednostkiMiarAsortymentow _jma
        on _kk.JednostkaMiaryAsortymentu_Id = _jma.Id
        inner join
        ModelDanychContainer.Asortymenty _aso
        on _aso.Id = _jma.Asortyment_Id
        inner join
        ModelDanychContainer.JednostkiMiar _jm
        on _jm.Id = _jma.JednostkaMiary_Id
WHERE    Kod IS NOT NULL AND LTRIM(RTRIM(Kod)) = '';

 

Czy dałoby radę jakoś je zmodyfikować aby pokazało mi pozycje, które się duplikują. Czy bylibyście panowie w stanie pomóc? Z góry dziękuję. 

Link to postu

Same duplikaty kodów można znaleźć najszybciej takim zapytaniem:

select Kod, count(Kod) 'Powtórzenia' from ModelDanychContainer.KodyKreskowe
group by Kod
HAVING COUNT(Kod)> 1

Później wyniki polecam już obrabiać w samym Subiekcie, czyli wyszukiwać te kody i usuwać, jeśli np. w kolumnie powtórzenia będzie cyfra 3 to znaczy, że co najmniej 2 trzeba usunąć. W efekcie po usunięciu duplikatów wykonanie tego select'a ma nie zwrócić żadnych wyników poza nagłówkiem.

 

  • Dziękuję 1
Link to postu
W dniu 23.11.2021 o 22:30, Janusz Siudek napisał:

Same duplikaty kodów można znaleźć najszybciej takim zapytaniem:

select Kod, count(Kod) 'Powtórzenia' from ModelDanychContainer.KodyKreskowe
group by Kod
HAVING COUNT(Kod)> 1

Później wyniki polecam już obrabiać w samym Subiekcie, czyli wyszukiwać te kody i usuwać, jeśli np. w kolumnie powtórzenia będzie cyfra 3 to znaczy, że co najmniej 2 trzeba usunąć. W efekcie po usunięciu duplikatów wykonanie tego select'a ma nie zwrócić żadnych wyników poza nagłówkiem.

 

Pomogło. Usunąłem zduplikowany kod. Dziękuję wszystkim za pomoc.

Link to postu
×
×
  • Dodaj nową pozycję...