Skocz do zawartości
Forum użytkowników
szarylisek

Pola wlasne z Subiekta dla Towarow

Polecane posty

Witam,

 

Pomocne bedzie zaciaganie z Subiekta przynajmniej dwoch Pol Wlasnych dla towarow, a nastepnie mozliwosc  uwidocznienia ich jako dodatkowej kolumny w Module Towary w Sello

 

Dziekuje i pozdrawiam

Udostępnij ten post


Link to postu

Zdecydowanie popieram - ja np. mam w dodatkowych polach lokalizację magazynową.

Magazynier musi znajdować ręcznie w subiekcie lokalizację dla każdego przedmiotu który ma być wysłany. Dobrze gdyby lokalizacja drukowała się na liście wysyłkowej w Sello

Udostępnij ten post


Link to postu

Nadal uważam, że taka funkcjonalność byłaby przydatna, ale można poradzić sobie bez tego - ostatnio tego typu rozwiązanie stało się u mnie b. potrzebne, czy wręcz niezbędne, a, jak wiadomo, potrzeba matką wynalazku.  W obiekcie, w którym ma się wyświetlać wartość pola własnego z Subiekta wpisz poniższy skrypt:

 

private void OnBeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
String regal;
String symbol = DetailReport.GetCurrentColumnValue("Towar_Symbol").ToString();
if (symbol == "") regal = "";
else
{
	String connectionString = "Data Source=adres_serwera;Initial Catalog=nazwa_bazy_danych;Integrated Security=false;Password=hasło_użytkownika_bd;User ID=nazwa_użytkownika_bd";
	String SQL = "SELECT tw_Pole7 regal FROM tw__Towar WHERE tw_Symbol = '" + symbol + "'";
	System.Data.SqlClient.SqlConnection DBConn = new System.Data.SqlClient.SqlConnection(connectionString);
	DBConn.Open();
	System.Data.SqlClient.SqlCommand DBCommand = new System.Data.SqlClient.SqlCommand(SQL, DBConn);
	System.Data.SqlClient.SqlDataReader DBReader = DBCommand.ExecuteReader();
	if (DBReader.Read())
	{
		regal = DBReader["regal"].ToString();
		if (DBReader.Read()) regal = "Więcej niż jeden towar w bazie (" + symbol + ")";
	}
	else regal = "Brak towaru w bazie (" + symbol + ")";
	DBReader.Close();
}
((XRTableCell)sender).Text = regal;
}

 

Uwagi:

1. Rozwiązanie oczywiście nie jest idealne (choćby dlatego, że trzeba skonfigurować połączenie z bazą danych, w tym wpisać hasło do niej), ale działa.

2. U mnie pole to jest wyświetlane w komórce tabeli.  Jeśli wyświetlasz je w innym miejscu to trzeba odpowiednio zmodyfikować ostatnią linię (np. XRLabel zamiast XRTableCell dla prostego pola tekstowego (Label)).

3. Konfiguracja połączenia z bazą itp:

adres_serwera - przy std. instalacji Sello będzie to .\INSERTGT

nazwa_bazy_danych - niekoniecznie jest to nazwa wyświetlana przy uruchamianiu Sello.  Najlepiej uruchom SQL Management St. i sprawdź w razie potrzeby

nazwa i hasło użytkownika bd - jeśli korzystasz z autoryzacji Windows ("autentykacji" jak chce MS, brrrrr) to zapewne zamiast tych 2 pól trzeba wpisać odpowiednie opcje.  Nie używam, więc nie wiem jakie - odsyłam do dokumentacji MS (po angielsku):

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

tw_Pole7 - tu oczywiście (zamiast 7) wpisujemy nr odpowiedniego pola własnego w tabeli towarów

 

Mam nadzieję, że komuś się powyższy elaborat przyda ;)

Udostępnij ten post


Link to postu

Tadzimir, proszę o pomoc. Załóżmy, że mam 3 miejsca magazynowania towarów. Tworzę więc 3 pola własne (standardowe bo nie mam rozszerzeń) w subiekcie, np. M1, M2 i M3. Każde z nich pojawia się w towarze w zakładce "Własne". Nie za bardzo wiem, jak skonfigurować te pola (w subiekcie czy w sello?) tak, żeby ten kod wpisany do tabeli na liście towarów do wysyłki (lista drukowane z paczek do wysłania), drukował położenie towaru.

Udostępnij ten post


Link to postu

Sorki, że późno odpowiadam, ale ostatnio rzadko zaglądam na forum.

Nie bardzo wiem, po co aż 3 pola.  Pola własne w Sub. są tekstowe, więc możesz utworzyć jedno (przykładowo o nazwie "Regał"), w którym wpisujesz odpowiednie wartości dla każdego towaru (M1, M2, M3 itp.).  Przy takim rozwiązaniu masz praktycznie gotowca powyżej, trzeba tylko podany kod wpisać w skrypt Before print wybranej komórki tabeli i uzupełnić konfigurację.  Jeśli z jakiegoś powodu potrzebne są jednak 3 pola to albo możesz zrobić 3 komórki tabeli albo skleić całość w jednej - daj znać, jak to ma wyglądać i zobaczymy, czy coś mądrego podpowiem.

Udostępnij ten post


Link to postu

Acha, jeśli chodzi o konfigurowanie pól własnych to oczywiście robisz to po stronie Subiekta, podobnie z wpisywaniem tam wartości.  Dla Sello one w ogóle nie istnieją (rozwiązanie, które tu podaję jest dość sztuczne).

Udostępnij ten post


Link to postu

Wziąłem się ponownie za ten problem. Jeśli można zapytać to w które miejsce w edytorze wydruków w "Zestawieniu ilościowym towarów" można wstawić ten kod. Nie widzę tam definiowalnych pól.

 

W edytorze zaznaczasz pole w którym chcesz mieć ten skrypt i po prawej stronie:

-dolne okno właściwości

-przewijasz do samego dołu

-i pisze scripts

-rozwijasz je,

-zaznaczasz na liście Before Print

-i klikasz na przycisk z trzema kropkami obok

Podmieniasz cały kod jaki tam jest na ten powyżej

Udostępnij ten post


Link to postu

1. Jeśli ST doda pola własne w Sello i nie zablokuje jakimś przypadkiem możliwości wstawiania w nie triggerów to wreszcie pojawiła by się szansa na zaciąganie wartości pól własnych z Subiekta do pól własnych Sello, a także wartości innych pól.

 

2. Jeśli by się udało to wprowadzone pola własne w Sello można by też wykorzystać na dowolnych wydrukach i wtedy ten temat byłby całkowicie rozwiązany. I dałoby to olbrzymie możliwości rozbudowy Sello - każdy sam by sobie dodawał pola jakie by chciał i gdzie by chciał (aukcje, kolumny w dowolnych listach, wydruki). Oczywiście ST na razie zaczyna powoli, drobnymi kroczkami - ale ponieważ możliwości pól własnych są olbrzymie to powiedziałbym, że szanse na również takie ich późniejsze wykorzystanie są duże :)

 

3. Dopisałem ten pomysł do zbiorczej listy sugestii nadzorowanej przez Bartka tutaj:

https://forum.sello.pl/index.php?topic=6979.0

Jak macie jeszcze jakieś sugestie to proszę je tam dopisywać w formie sugestii, dyskusję możemy prowadzić w każdym innym wątku.

Udostępnij ten post


Link to postu

Zdecydowanie powinna być jakaś możliwość synchronizacji wartości pól własnych z polami subiekta/navireo. Owszem można to sobie obejść jakimiś triggerami/skryptami ale fajnie było by gdyby istniała możliwość przypisania do pola własnego wartości z GT/Nav.

Myślę, że utworzenie listy wartości z bazy GT oraz pola własne można by zrobić jako listę wartości do pobierania. W utworzonym polu własnym w słowniku Sello wybieramy czy pole ma być synchronizowane i z jaką wartością, czy ręcznie wpisywane. I podczas synchronizacji z zewnętrznym systemem sprzedaży te wartości są wypełniane.

Mam np. taką sytuację. Mam zdefiniowane towary w nav. W nazwie jest nazwa towaru, w opisie tytuł aukcji natomiast opis w pełnej charakterystyce. I w aktualnej postaci Sello mam problem z automatycznym wypełnieniem tytułu aukcji. Nie mogę wstawić opisu bo w opisie towaru w Sello mam pełną charakterystykę, nie mogę nazwy towaru bo to nie to. Potrzebowałbym wstawienie opisu ale z GT. Synchronizacja pól własnych z wartościami z GT pomogła by w temacie. Myślę, że nie jestem jedyną osobą której brakuje takiej funkcjonalności. Sello naprawdę świetnie się rozwija i cieszy mnie fakt że idzie w dobrym kierunku. Jednak wciąż jako produkt do współpracy z Navireo jest właśnie tym elementem ograniczającym.

Udostępnij ten post


Link to postu

Tak to mniej więcej widzimy, aczkolwiek w wersji 1.17 nie będziemy mieć jeszcze na to czasu. Aktualnie funkcja taka zaplanowana jest do wersji 1.18.

Udostępnij ten post


Link to postu

Witam,

Odpaliłem skrypt i prawidłowo zaczytuje pola własne.

Proszę jednak o pomoc ponieważ przy wydruku z tego wzorca nie drukuje wszystkich pozycji na liście magazynowej. Drukowana jest jedynie pierwsza strona + pierwsza pozycja na drugiej stronie.

Pozostałych paczek nie ma, ani na podglądzie wydruku, ani na wydruku.

 

Proszę o pomoc.

Pozdrawiam

Udostępnij ten post


Link to postu

Czy po zakomentowaniu (znaki // z przodu linii) kodu łączącego się do bazy problem nadal występuje? U nas na podglądzie jest 11 stron z paczkami.

Udostępnij ten post


Link to postu

Na podglądzie w edytorze wydruku u nas też jest prawidłowo i pokazuje się 11 stron.

Jednak przy wydruku dla konkretnej listy wysyłkowej nie są drukowane wszystkie paczki.

Po zakomentowaniu problem nadal występuje.

Udostępnij ten post


Link to postu

×