Środki trwałe - bieżące miejsce

Problemy i pomysły związane z innymi modułami czyli np. środki trwałe, import, zamówienia ...

Moderator: mikey

Awatar użytkownika
S0Cool
Posty: 150
Rejestracja: 13 lut 2008, 10:49
Rola: Administrator CDN XL
Wersja: 2018
Lokalizacja: śląskie

Środki trwałe - bieżące miejsce

Post autor: S0Cool »

Podobnie jak w sytuacji z pracownikiem, także bieżące miejsce użytkowania środka trwałego jest widoczne wyłącznie na karcie środka, a nie ma żadnej możliwości uzyskania listy środków przypisanych obecnie do danego miejsca użytkowania.
Wdrożyłem u siebie rozwiązanie umożliwiające filtrowanie listy ŚT wg bieżącego miejsca. Jest ono właściwie identyczne z opisanym w moim poprzednim poście http://cdn.3lance.pl/viewtopic.php?f=12&t=16.
Przydało się to przy inwentaryzacji ŚT.
Do dzieła!

1. Funkcja SQL BiezaceMPK (u Was też miejsca to "empeki"?). Pobiera miejsce ustalone na najnowszym dokumencie ZM (zmiana miejsca), a jeśli takowego nie ma - bezpośrednio z karty środka.

Kod: Zaznacz cały

--
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'BiezaceMPK' AND type = 'FN')
  DROP FUNCTION CDN.BiezaceMPK
GO

CREATE FUNCTION CDN.BiezaceMPK( @GIDNumer INT )
RETURNS VARCHAR(30)
AS
BEGIN
  DECLARE @MPK VARCHAR(30);

  SELECT @MPK = (SELECT TOP 1 SHE_MiejsceUzyw FROM CDN.SrtHistElem 
                 WHERE SHE_GIDTyp=2160 AND SHE_SRTNumer = @GIDNumer
                 ORDER BY SHE_Data DESC, SHE_GIDNumer DESC)
  IF @MPK IS NULL
    SELECT @MPK = SRT_MiejsceUzyw FROM CDN.SrtKarty WHERE SRT_GIDNumer = @GIDNumer
  RETURN @MPK
END
GO
--
2. Nowe pole w tabeli SrtKarty

Kod: Zaznacz cały

ALTER TABLE CDN.SrtKarty ADD MiejsceBiezace AS CDN.BiezaceMPK( SRT_GIDNumer )
3. Filtr na liście ŚT. Definiujemy konstruktorem nowy filtr o nazwie np. "Bieżące miejsce". Na zakładce "Zaawansowane" wpisujemy takie coś:

Kod: Zaznacz cały

@PAR ?@S30|MPK|Podaj MPK:'' @? PAR@
MiejsceBiezace LIKE ??MPK
Dzięki operatorowi LIKE możemy podać na formatce ustalenia parametrów filtra np "10%" co będzie oznaczało "miejsca zaczynające się na 10".
Lista zostanie odfiltrowana do środków, których bieżące miejsce pokrywa się z podanym w formatce filtra. Wydruki Crystala można łatwo uzbroić w wyświetlanie dodatkowego pola po prostu wrzucając je na wydruk (wcześniej trzeba uruchomić opcję "Verify Database").
Życzę bezproblemowego używania!

Testowane na wersjach 5 i 6, na 7 nie powinno być problemów.

P.S.
Tym samym sposobem co opisany powyżej i we wspomnianym już poście http://cdn.3lance.pl/viewtopic.php?f=12&t=16 zrobiłem także dodatkowe pola w tabeli SrtKarty o nazwach WartoscBiezacaNetto i WartoscBiezacaBrutto. Co zawierają - chyba jasne. Jeżeli kogoś interesują szczegóły, proszę dać znać.
Niniejszy podpis był testowany na zwierzętach.
Nie rozumiały go.

ODPOWIEDZ