Forum Użytkownikow Subiekt GT
InsERT GT => Subiekt GT => Wątek zaczęty przez: WaldiW w Maj 29, 2012, 21:50:53
-
Witam forumowiczów. Jestem tutaj nowy i proszę o pomoc bardziej doświadczonych :)
Mam problem z usuwaniem towarów. Przy takiej próbie pokazuje się standardowy komunikat "Towar lub usługa jest używany". Towar nie był nigdy przyjęty na stan, sprzedany czy coś innego. W informatorze jest całkowicie pusto. Czy można sprawdzić z czym ten towar jest powiązany przez jakieś zapytanie SQL? Jakiś czas temu zaciągnąłem sobie do subiekta kartoteki towarów kilku dostawców żebym nie musiał wprowadzać ręcznie nazw, kodów kreskowych, symboli dostawcy itd. Jednak po roku okazuje się, że mam o 10 tysięcy towarów za dużo ;D, których nie używam.
-
Tak na szybkiego dodaj sobie poniższe zestawienie jako zestawienie SQL. Będziesz widział listę nigdzie nie użytych asortymentów.
select
tw_Symbol,
tw_Nazwa,
ob_Id
from tw__Towar
left join dok_Pozycja on ob_TowId = tw_Id
where ob_Id is null
-
Witam!
Mam ten sam problem. Towar nigdy nie był użyty w subiekcie (wszystkie pola w Informatorze są puste), podane wyżej zestawienie zwraca listę towarów nigdy nieużywanych, na której jest towar do usunięcia.
Niechciane towary do usunięcia pochodzą z importu z Subiekta dla Windows. W starym Subiekcie był używane ale w nowym nie ma dla nich powiązanych żadnych PW, RW, FV itp.
Ciąglę kombinuję ale nadal nie mogę w żaden sposób ich usunąć. >:(
-
A co dokładnie kombinujesz ? Baza jest oryginalna, czy były instalowane jakieś rozszerzenia innych producentów niż Insert ?
Do sprawdzenia użycia towaru możesz wykorzystać poniższe zestawienie:
SELECT 'W urządzeniach fiskalnych' Użycie FROM uf_Synchronizacja WHERE usy_IdZadanie IS NULL and usy_IdTowar = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
union
SELECT 'Na stanie magazynowym' from tw_Stan where st_Stan > 0 and st_TowId = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
union
SELECT 'Składnik kompletu' FROM tw_Komplet WHERE kpl_IdSkladnik = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
union
SELECT 'Opakowanie towaru' FROM tw__Towar WHERE tw_IdOpakowanie = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
union
SELECT 'W inwentaryzacji' FROM iw_Pozycja WHERE iwp_IdTowaru = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
union
SELECT 'Na dokumentach' FROM dok_Pozycja WHERE ob_TowId = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
Po zmodyfikowaniu można byłoby wyświetlić wszystkie nieużywane towary.
-
Instalacja zawiera tylko Subiekta, Zielonego Plusa i Gestora. Kartoteka kontrahentów i asortymentu została zaimportowana z Subiekta dla Windows. Nie ma żadnych starych dokumentów itp. oraz zewnętrznych rozszerzeń.
Na razie ustaliłem 2 rzeczy:
primo:
praktycznie wszystkie towary blokowane są przez zatwierdzoną inwentaryzację (mimo że inwentaryzacja dla nich była zerowa i nie powstał żaden dokument PW lub RW). Mam poprzednią kopię bazy danych bez inwentaryzacji i tam część towarów można usunąć.
secundo:
część towarów pomimo że nie widnieje na żadnych dokumentach, to po wywołaniu zestawienia
SELECT 'Na dokumentach' FROM dok_Pozycja WHERE ob_TowId = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar} program zwraca, że jednak widnieją one na jakiś dokumentach.
Jakim zestawieniem SQL mogę sprawdzić na jakich dokładnie dokumentach (numery i rodzaje) widnieją dane towary?
Dzięki za poprzednie zestawienie!
-
Na przykład takim:
SELECT distinct dok_Id, dok_NrPelny, dok_DataWyst
from dok__Dokument
join dok_Pozycja on dok_Id = ob_DokHanId or dok_Id = ob_DokMagId
WHERE ob_TowId = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
order by dok_Id
-
Dla wszystkich niechcianych i nieużywanych towarów wyśietla
dok_Id dok_NrPelny dok_DataWyst
1 1 2012-03-14
Nie mam pojęcia co to za dokument. Profilaktycznie wykonałem kontrolę bazy danych, odbudowę indeksów, kompaktowanie, ale to nic nie dało.
ps. Jeżeli teraz utworzę nowy towar to nie jest on przypisany do żadnego dokumentu nr 1. Można go usunąć.
-
Podaj wszystkie dane dokumentu, to może się wyjaśni:
SELECT distinct dok__Dokument.*
from dok__Dokument
join dok_Pozycja on dok_Id = ob_DokHanId or dok_Id = ob_DokMagId
WHERE ob_TowId = {DB: select tw_Id, tw_Symbol from vwTowarLista order by tw_Symbol:Towar}
order by dok_Id
-
dok_Id dok_Typ dok_Podtyp dok_MagId dok_Nr dok_NrRoz dok_NrPelny dok_NrPelnyOryg dok_DoDokId dok_DoDokNrPelny dok_DoDokDataWyst dok_MscWyst dok_DataWyst dok_DataMag dok_DataOtrzym dok_PlatnikId dok_PlatnikAdreshId dok_OdbiorcaId dok_OdbiorcaAdreshId dok_PlatId dok_PlatTermin dok_Wystawil dok_Odebral dok_PersonelId dok_CenyPoziom dok_CenyTyp dok_CenyKurs dok_CenyNarzut dok_RabatProc dok_WartUsNetto dok_WartUsBrutto dok_WartTwNetto dok_WartTwBrutto dok_WartOpZwr dok_WartOpWyd dok_WartMag dok_WartMagP dok_WartMagR dok_WartNetto dok_WartVat dok_WartBrutto dok_KwWartosc dok_KwGotowka dok_KwKarta dok_KwDoZaplaty dok_KwKredyt dok_KwReszta dok_Waluta dok_WalutaKurs dok_Uwagi dok_KatId dok_Tytul dok_Podtytul dok_Status dok_StatusKsieg dok_StatusFiskal dok_StatusBlok dok_JestTylkoDoOdczytu dok_JestRuchMag dok_JestZmianaDatyDokKas dok_JestHOP dok_JestVatNaEksport dok_JestVatAuto dok_Algorytm dok_KartaId dok_KredytId dok_RodzajOperacjiVat dok_KodRodzajuTransakcji dok_StatusEx dok_ObiektGT dok_Rozliczony dok_RejId dok_TerminRealizacji dok_WalutaLiczbaJednostek dok_WalutaRodzajKursu dok_WalutaDataKursu dok_WalutaIdBanku dok_CenyLiczbaJednostek dok_CenyRodzajKursu dok_CenyDataKursu dok_CenyIdBanku dok_KwPrzelew dok_KwGotowkaPrzedplata dok_KwPrzelewPrzedplata dok_DefiniowalnyId dok_TransakcjaId dok_TransakcjaSymbol dok_TransakcjaData dok_PodsumaVatFSzk dok_ZlecenieId dok_NaliczajFundusze dok_PrzetworzonoZKwZD dok_DstNr dok_DstNrRoz dok_DstNrPelny dok_ObslugaDokDost dok_AkcyzaZwolnienieId
1 29 0 2 1 1 2012-03-14 2012-03-14 2012-03-14 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PLN 1 7 Szybka inwentaryzacja 1 0 0 0 0 0 -25 1 1 1 1 0
dok_Id dok_Typ dok_Podtyp dok_MagId dok_Nr dok_NrRoz dok_NrPelny dok_NrPelnyOryg dok_DoDokId dok_DoDokNrPelny dok_DoDokDataWyst dok_MscWyst dok_DataWyst dok_DataMag dok_DataOtrzym dok_PlatnikId dok_PlatnikAdreshId dok_OdbiorcaId dok_OdbiorcaAdreshId dok_PlatId dok_PlatTermin dok_Wystawil dok_Odebral dok_PersonelId dok_CenyPoziom dok_CenyTyp dok_CenyKurs dok_CenyNarzut dok_RabatProc dok_WartUsNetto dok_WartUsBrutto dok_WartTwNetto dok_WartTwBrutto dok_WartOpZwr dok_WartOpWyd dok_WartMag dok_WartMagP dok_WartMagR dok_WartNetto dok_WartVat dok_WartBrutto dok_KwWartosc dok_KwGotowka dok_KwKarta dok_KwDoZaplaty dok_KwKredyt dok_KwReszta dok_Waluta dok_WalutaKurs dok_Uwagi dok_KatId dok_Tytul dok_Podtytul dok_Status dok_StatusKsieg dok_StatusFiskal dok_StatusBlok dok_JestTylkoDoOdczytu dok_JestRuchMag dok_JestZmianaDatyDokKas dok_JestHOP dok_JestVatNaEksport dok_JestVatAuto dok_Algorytm dok_KartaId dok_KredytId dok_RodzajOperacjiVat dok_KodRodzajuTransakcji dok_StatusEx dok_ObiektGT dok_Rozliczony dok_RejId dok_TerminRealizacji dok_WalutaLiczbaJednostek dok_WalutaRodzajKursu dok_WalutaDataKursu dok_WalutaIdBanku dok_CenyLiczbaJednostek dok_CenyRodzajKursu dok_CenyDataKursu dok_CenyIdBanku dok_KwPrzelew dok_KwGotowkaPrzedplata dok_KwPrzelewPrzedplata dok_DefiniowalnyId dok_TransakcjaId dok_TransakcjaSymbol dok_TransakcjaData dok_PodsumaVatFSzk dok_ZlecenieId dok_NaliczajFundusze dok_PrzetworzonoZKwZD dok_DstNr dok_DstNrRoz dok_DstNrPelny dok_ObslugaDokDost dok_AkcyzaZwolnienieId
1 29 0 2 1 1 2012-03-14 2012-03-14 2012-03-14 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PLN 1 7 Szybka inwentaryzacja 1 0 0 0 0 0 -25 1 1 1 1 0
-
Wyjaśniło się - "Szybka inwentaryzacja" hmmm... ale jak to teraz odkręcić :o
ps. Hiszpania 4:0 8)
-
Wejdź w szybką inwentaryzację (Narzędzia->Szybka Inwentaryzacja), na liście kliknij prawym myszy i wybierz "Usuń wszystkie różnice".
-
To chyba nic nie da - tylko usunięcie "ręczne" z bazy. Wystarczy jak dobrze pamiętam uruchomić szybką inwentaryzację i nic nie robiąc zamknąć i dokument o dok_typ=29 już jest w bazie
-
W przypadku inwentaryzacji szybkiej dokument zostaje, ale pozycje się usuwane, a tylko one są problemem. Gorzej z inwentaryzacją cząstkową i zbiorczą - tutaj chyba pozostaje tylko usunięcie danych z bazy.
-
Panowie dzięki! Problem rozwiązany.
Towary pomimo braku ich na dokumentach FV, RW, PW były wykorzystane w szybkiej inwentaryzacji i zbiorczej. Nawet samo ustawienie ich stanu na "0" (przez co nie są uwzględniane na dokumentach RZ i PW po zatwierdzeniu inwentaryzacji) powoduje ich blokadę.
Rozwiązaniem było skasowanie ostatniej inwentaryzacji zbiorczej (trzeba było pogimnastykować się z dokumentami FV i PW/RZ) następnie wybranie "Usuń wszystkie różnice" w szybkiej inwentaryzacji. Następnie trzeba było sprawdzić jeszcze raz stany magazynowe i przeprowadzić ponowną inwentaryzację.
Reasumując jeżeli chcemy się pozbyć nieużywanych towarów to róbmy to od razu po imporcie danych z poprzednich wersji subiekta lub przed przeprowadzeniem jakiejkolwiek inwentaryzacji (nawet zerowej - kiedy nie występują żadne różnice w stanach magazynowych).
-
DZIĘKI WIELKIE. Cały dzień nad tym spędziłem a tu okazuje się że powyższe... szybka inwentaryzacja.