Skocz do zawartości


Close Open
Close Open
Zdjęcie

TiU i Naklejki


  • Please log in to reply
13 replies to this topic

#1 sirMarjan

sirMarjan

    Adept

  • Forumowicze
  • Pip
  • 24 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Ustka, Polska

Napisany 26 sierpień 2009 - 13:50

Witam serdecznie
i znów powracam an forum z prośbą o pomoc i poradę. przedstawię pierw sytuację. W kartotece TiU mam takie dane:

PODSTAWOWE:
Nazwa: Serek wiejski
Opis: Serek wiejski granulowany
OPIS:
Uwagi: 18% tłuszczy, skład: więcej wody, mało mleka itp

Do niedawna potrzebne byly tylko pozycje Nazwa i Opis

Faktura drukowala się następująco

LP | Nazwa | Opis | ...

Zakupiona została drukarka etykiet Zebra i wymaganie jest takie, by do fry sprzedaży drukować naklejki zawierające dane z pola UWAGI. Tak aby na każdym towarze można Nyło nakleic etykiete taką. No i wszystko super, PPM na fakturce >> Drukuj naklejki z towarami, opcja jest EXTRA, ale nie moge w szablonie naklejek dodać pola Uwagi. Czyli lipa :-/. Ale widze ze mozna drukować pole Opis. Czyli jest Git. No to sobie wymyslilem, ze jesli wzorce wydruków są tak dobrze rozbudowane, to jesli by zamienic pozycje w TiU np Opis na Uwagi i odwrotnie, to we wzorcach wydruku ustawie sobie na fakturze wydruk pola UWAGI i pole OPIS wywale. I tak Bym załatwił FRĘ. Co do naklejek, jeżeli teraz pole OPIS zawierało by to , co wcześniej zawierało pole UWAGA (zostały zamienione), no to w szablonie naklejek dodał bym pole OPIS i gucio. Wszyscy zadowoleni.
Moje pytanie brzmi. Czy jest możliwość zautomatyzowania procesu zamiany zawartości pól? np zapytaniem SQL?
jeżeli ktoś wykonywał taką operacje lub wie jak to dość szybko zrobic, zaszczedzi mi wiele czasu. Bede wielce wdzięczny

dzieki za pomoc i pozdrawiam
sirMarjan

#2 birds22

birds22

    Entuzjasta

  • Forumowicze
  • PipPipPipPipPipPipPip
  • 1332 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Zduńska Wola

Napisany 27 sierpień 2009 - 06:45

Aby pole Uwagi było dostępne w naklejkach należy zmienić zapytanie znajdujące się w tabeli nk_ZrodloDanych w polu nzr_Select. Nie będzie wtedy potrzeby kombinacji z zamianą zawartości pól Uwagi i Opis.
Sławek

#3 sirMarjan

sirMarjan

    Adept

  • Forumowicze
  • Pip
  • 24 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Ustka, Polska

Napisany 27 sierpień 2009 - 13:39

Aby pole Uwagi było dostępne w naklejkach należy zmienić zapytanie znajdujące się w tabeli nk_ZrodloDanych w polu nzr_Select. Nie będzie wtedy potrzeby kombinacji z zamianą zawartości pól Uwagi i Opis.


Świetny pomysł.
zrobiłem select * z tej tabeli i mam pytanko, czy na pewno mam zmieniac zapyatnie w nzr_Select? czy tez w nzr_Widoczne?

nzr_Widoczne zawiera np: [nazwa towaru].[ilosc].[wybrana jedn.miaru].[cena netto]. i tak dalej

ja bym dodał tutaj [Uwagi]
zadziałało by?
pozdrawiam

#4 birds22

birds22

    Entuzjasta

  • Forumowicze
  • PipPipPipPipPipPipPip
  • 1332 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Zduńska Wola

Napisany 27 sierpień 2009 - 17:10

czy na pewno mam zmieniac zapyatnie w nzr_Select? czy tez w nzr_Widoczne?

Na pewno nzr_Select


Kolumny podane w nzr_Widoczne odpowiadają za prezentowanie źródła danych podczas tworzenia zestawu danych (Naklejki ->Zestawy danych > Dodaj/Popraw)
Sławek

#5 sirMarjan

sirMarjan

    Adept

  • Forumowicze
  • Pip
  • 24 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Ustka, Polska

Napisany 02 wrzesień 2009 - 12:54

Hej
Dalej mam z tym mały problem:
pole nz_select w tablicy nk nk_ZrodloDanych to ciąg wielu znaków. u mnie zapytanie wyglada tak:

select ob_Id, dok_DataWyst as [Data wyst.], dok_NrPelny as [Nr pełny], tw_Symbol as [Symbol], tw_Id, tw_Nazwa AS [Nazwa towaru], tw_PodstKodKresk as [Kod kreskowy], jm_IdJednMiary as [Jedn. porównawcza], ob_Ilosc as [Ilość], ob_Jm as [Wybrana jedn. miary], tw_JednMiary as [Jedn. miary], ob_CenaNetto as [Cena netto], ob_CenaBrutto as [Cena brutto], ob_WartNetto as [Wartość netto], ob_WartBrutto as [Wartość brutto], zd_Zdjecie as [Zdjęcie], tw_Pole1 as [TW Pole własne 1], tw_Pole2 as [TW Pole własne 2], tw_Pole3 as [TW Pole własne 3], tw_Pole4 as [TW Pole własne 4], tw_Pole5 as [TW Pole własne 5], tw_Pole6 as [TW Pole własne 6], tw_Pole7 as [TW Pole własne 7], tw_Pole8 as [TW Pole własne 8], tw_Masa as [Masa], tw_Objetosc as [Objętość], tc_CenaNetto1 as [Cena netto 1],tc_CenaNetto2 as [Cena netto 2],tc_CenaNetto3 as [Cena netto 3], tc_CenaNetto4 as [Cena netto 4],tc_CenaNetto5 as [Cena netto 5],tc_CenaNetto6 as [Cena netto 6], tc_CenaNetto7 as [Cena netto 7],tc_CenaNetto8 as [Cena netto 8],tc_CenaNetto9 as [Cena netto 9], tc_CenaNetto10 as [Cena netto 10],tc_CenaBrutto1 as [Cena brutto 1],tc_CenaBrutto2 as [Cena brutto 2], tc_CenaBrutto3 as [Cena brutto 3],tc_CenaBrutto4 as [Cena brutto 4],tc_CenaBrutto5 as [Cena brutto 5], tc_CenaBrutto6 as [Cena brutto 6],tc_CenaBrutto7 as [Cena brutto 7],tc_CenaBrutto8 as [Cena brutto 8], tc_CenaBrutto9 as [Cena brutto 9],tc_CenaBrutto10 as [Cena brutto 10], CASE tw_Rodzaj WHEN 1 THEN 'Towar' WHEN 2 THEN 'Usługa' WHEN 4 THEN 'Opakowanie' WHEN 8 THEN 'Komplet' END AS Rodzaj, dok_Wystawil as [Wystawił], tw_Opis as [Opis], '' as [Własny tekst], '' as [Plik graficzny] FROM dok_Pozycja LEFT OUTER JOIN tw__Towar ON ob_TowID = tw_Id INNER JOIN dok__Dokument ON dok_Id = ob_DokHanId INNER JOIN tw_Stan ON tw__Towar.tw_Id = tw_Stan.st_TowId LEFT OUTER JOIN tw_Cena ON tw_Id = tc_IdTowar LEFT OUTER JOIN tw_ZdjecieTw on tw_Id = zd_IdTowar LEFT OUTER JOIN tw_JednMiary ON (tw_Id = jm_IdTowar AND jm_DlaNaklejek=1) WHERE (zd_Glowne = 1 or tw_Id in (select tw_Id from tw__Towar left outer join tw_ZdjecieTw on tw_Id = zd_IdTowar where tw_ID not in ( select tw_Id from tw__Towar inner join tw_ZdjecieTw on tw_Id = zd_IdTowar ) )) AND <<dok_Tytul + ' ' + dok_NrPelny LIKE '%{T:Dokument}%'>> AND <<((dok_DataWyst BETWEEN {D: z przedziału od:2004-01-01} AND {D: do})>> AND <<(dok_Wystawil LIKE '%{T: wystawione przez}%'))>> AND dok_MagId = {WYBRANY_MAGAZYN} AND st_magId = {WYBRANY_MAGAZYN}

zmieniła się troche koncepcja ponieważ pole Uwagi mają ograniczenie 255 znaków, to dane ktore bedą się drukować na etykietach umieszczone zostaną w polu PEŁNA CHARAKTERYSTYKA POZYCJI. Także z założenia chcę umieścic pole PEŁNA CHARAKTERYSTYKA POZYCJI w szablony

naklejek>zawartość>wstaw pole

i chciałem zrobić updata tej tabeli w poniższy sposób

update nk_ZrodloDanych
set nzr_select ="
select ob_Id, dok_DataWyst as [Data wyst.], dok_NrPelny as [Nr pełny], tw_Symbol as [Symbol], tw_Id, tw_Nazwa AS [Nazwa towaru], tw_Charakter as [Charakterystyka], tw_PodstKodKresk as [Kod kreskowy], jm_IdJednMiary as [Jedn. porównawcza], ob_Ilosc as [Ilość], ob_Jm as [Wybrana jedn. miary], tw_JednMiary as [Jedn. miary], ob_CenaNetto as [Cena netto], ob_CenaBrutto as [Cena brutto], ob_WartNetto as [Wartość netto], ob_WartBrutto as [Wartość brutto], zd_Zdjecie as [Zdjęcie], tw_Pole1 as [TW Pole własne 1], tw_Pole2 as [TW Pole własne 2], tw_Pole3 as [TW Pole własne 3], tw_Pole4 as [TW Pole własne 4], tw_Pole5 as [TW Pole własne 5], tw_Pole6 as [TW Pole własne 6], tw_Pole7 as [TW Pole własne 7], tw_Pole8 as [TW Pole własne 8], tw_Masa as [Masa], tw_Objetosc as [Objętość], tc_CenaNetto1 as [Cena netto 1],tc_CenaNetto2 as [Cena netto 2],tc_CenaNetto3 as [Cena netto 3], tc_CenaNetto4 as [Cena netto 4],tc_CenaNetto5 as [Cena netto 5],tc_CenaNetto6 as [Cena netto 6], tc_CenaNetto7 as [Cena netto 7],tc_CenaNetto8 as [Cena netto 8],tc_CenaNetto9 as [Cena netto 9], tc_CenaNetto10 as [Cena netto 10],tc_CenaBrutto1 as [Cena brutto 1],tc_CenaBrutto2 as [Cena brutto 2], tc_CenaBrutto3 as [Cena brutto 3],tc_CenaBrutto4 as [Cena brutto 4],tc_CenaBrutto5 as [Cena brutto 5], tc_CenaBrutto6 as [Cena brutto 6],tc_CenaBrutto7 as [Cena brutto 7],tc_CenaBrutto8 as [Cena brutto 8], tc_CenaBrutto9 as [Cena brutto 9],tc_CenaBrutto10 as [Cena brutto 10], CASE tw_Rodzaj WHEN 1 THEN 'Towar' WHEN 2 THEN 'Usługa' WHEN 4 THEN 'Opakowanie' WHEN 8 THEN 'Komplet' END AS Rodzaj, dok_Wystawil as [Wystawił], tw_Opis as [Opis], '' as [Własny tekst], '' as [Plik graficzny] FROM dok_Pozycja LEFT OUTER JOIN tw__Towar ON ob_TowID = tw_Id INNER JOIN dok__Dokument ON dok_Id = ob_DokHanId INNER JOIN tw_Stan ON tw__Towar.tw_Id = tw_Stan.st_TowId LEFT OUTER JOIN tw_Cena ON tw_Id = tc_IdTowar LEFT OUTER JOIN tw_ZdjecieTw on tw_Id = zd_IdTowar LEFT OUTER JOIN tw_JednMiary ON (tw_Id = jm_IdTowar AND jm_DlaNaklejek=1) WHERE (zd_Glowne = 1 or tw_Id in (select tw_Id from tw__Towar left outer join tw_ZdjecieTw on tw_Id = zd_IdTowar where tw_ID not in ( select tw_Id from tw__Towar inner join tw_ZdjecieTw on tw_Id = zd_IdTowar ) )) AND <<dok_Tytul + ' ' + dok_NrPelny LIKE '%{T:Dokument}%'>> AND <<((dok_DataWyst BETWEEN {D: z przedziału od:2004-01-01} AND {D: do})>> AND <<(dok_Wystawil LIKE '%{T: wystawione przez}%'))>> AND dok_MagId = {WYBRANY_MAGAZYN} AND st_magId = {WYBRANY_MAGAZYN} "
where nzr_id=3

id=3 dla dok handlowych, boldem jest to co chce zmienic w tym zapytaniu
niestety, odpowiedz mam ze etkst, ktory zamieniam jest za dlugi i moze on miec 128 znaków

wiec o co kaman? jak tak dlugi text zapytania tam umieszczonio? czy jestes w stanie mi jakos podpowiedziec bo powoli z sił opadam
dzieki i pozdrawiam


PS dodam jeszcze ze odp serwera sql to dokladnie:

Msg 103, Level 15, State 4, Line 2
The identifier that starts with 'Select ob_Id, dok_DataWyst as [Data wyst.], dok_NrPelny as [Nr pełny], tw_Symbol as [Symbol], tw_Id, tw_Nazwa AS [Nazwa towaru' is too long. Maximum length is 128.

PS sprawdzałem to rozwiazanie w Microsoft SQL Management Express Edit. oraz jako zapytanie Subiekta (dodając na pocz select 1; oczywiście)

#6 birds22

birds22

    Entuzjasta

  • Forumowicze
  • PipPipPipPipPipPipPip
  • 1332 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Zduńska Wola

Napisany 02 wrzesień 2009 - 16:30

Ja akurat zmieniam "z palca" pod EMS SQL Manager 2005 for SQL Server Lite przełączając widok tabeli na Form View ale IMHO wystarczy przed update napisać
SET QUOTED_IDENTIFIER OFF

Pomijając powyższe coś nie bardzo widzę możliwość pobrania danych z tego pola. Chyba naklejki nie przetworzą tekstu w HTML-u. Zajrzyj do bazy do towary, któremu zrobiłeś charakterystykę...

Cytując z Helpa:

Do wersji 1.09 włącznie charakterystyka pozycji była zapisywana w formacie RTF. Format ten, choć dość popularny ma jednak pewne ograniczenia (tj. osadzanie tabel czy obrazków). Ponadto sprawie pewne problemy przy wykorzystywaniu opisów na stronach WWW. Aby te dolegliwości zlikwidować od wersji 1.10 wprowadzono zmianę - charakterystyka jest zapisywana w formacie HTML. UWAGA! Podczas konwersji podmiotu z wersji wcześniejszych niż 1.10. istniejące charakterystyki towarów zostaną automatycznie skonwertowane z RTFa na HTML.


Sławek

#7 sirMarjan

sirMarjan

    Adept

  • Forumowicze
  • Pip
  • 24 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Ustka, Polska

Napisany 02 wrzesień 2009 - 21:06

Cholera , tego bym sie nie spodziewał. Ale faktycznie widze ze znowu masz racje

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=windows-1250"> <META content="MSHTML 6.00.6000.16735" name=GENERATOR></HEAD> <BODY>POLE UWAGI DZFOREVER POLE UWAGI DZFOREVER POLE UWAGI DZFOREVER POLE UWAGI DZFOREVER POLE UWAGI DZFOREVER POLE UWAGI DZFOREVER POLE UWAGI DZFOREVER</BODY></HTML>


No qrna, nie wpadl bym na to ze sie chlopaki z inserta wymysla w tym polu HTML
Poradz kolego, w ktorym polu umiescic dane do naklejki w taki sposob, bym mogl wprowadzic text powyzej 255 znakow i potem wydrukowac to na naklejce. tak sie sklada ze 70% produktow ma sklady powyzej 255 znakow. ja juz nawet zmienilem pole uwagi ktore bylo typu varchar(255) na text ale co z tego, jak formularz w subiekcie blokuje dlugosc ciagu znaków
tece mi opadają, a ten problem musze rozwiazac
dziekuje i pozdrawiam

Dodano 02-09-2009 22:06:36:

Kurde, nei widze innego pola typu np text w tabeli tw__towar. cos czuje ze bedzie problem z tym, a moze jakies inne rozwiazanie? bede wdzieczny za skierowanie na dobry tor, bo ja juz trace pomysly

#8 birds22

birds22

    Entuzjasta

  • Forumowicze
  • PipPipPipPipPipPipPip
  • 1332 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Zduńska Wola

Napisany 02 wrzesień 2009 - 21:16

No niestety brak pola w tw__Towar spełniającego Twoje warunki.
Rozwiązania ? Bardziej mi tu pasuje słowo "proteza" :(

1.Połączenie dwóch pól tw_Uwagi i tw_Opis (można też tw_www ale gorsze do edycji)? Na naklejkach się da bez problemu połączyć natomiast na fakturze trzeba byłoby "szydełkowanie" bez edycji wzorca.

2. Można oczywiście zawsze zrobić swoją tabelę z opisami no ale czym to wypełniać? Jakieś rozwiązanie ze sferą trzeba byłoby wymyślić

... jeszcze pewnie kilka innych "protez" przyszłoby mi do głowy ale piwa brakło :D więc kończę rozmyślania i idę do sklepu
Sławek

#9 sirMarjan

sirMarjan

    Adept

  • Forumowicze
  • Pip
  • 24 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Ustka, Polska

Napisany 02 wrzesień 2009 - 21:36

:kufel: HEH, a ja byłem przebieglejszy i zanim siadłem do kompa poleciałem po zgrzeweczkę. :D
kurcze no to mam problema. sfery nie ma, niestety. tak sobie mysle, ze jak by dac dodatkowe pole np : OPIS_NEW jako TEXT w tabeli TW__toraw i napisac maly programik, ktory pozwoli mi wypelniac tylko to pole dla danego towaru, to jakies rozwiazanie to by bylo. na naklejce pole OPIS_NEW mogło by być widoczne po dokonaniu kilku zmian w zapytaniu z pola nzr_select.
ogólnie masakra i jestem podłamany, a miało być tak pięknie
Birds dzięki wielkie za chęć pomocy, jestem dźwięczny niesamowicie
jak by cos ci wpadlo do glowy wal smialo
ja bede tez móżdzył
ps, szacuneczek za wiedzę ...



Dodano 02-09-2009 22:35:18:

a sobie tak mysle czy jakims odpowiednikiem TRIMa, LEFTa, czy jakiejs innef funkcji nie mogę wyciać powiedzmy znaków do 10 zlewej a potem do 5 z prawej? taki mądrzejszy trim np:


POLE TW_charakter, gdzie tw_id jest równe np 5, zawiera taki ciąg znaków

-----------25 znaków-------------| |---13 znaków---
<html><head></head><body>TO CO MNIE INTERESUJE</body><html>

czy jest mozliwe takie zapytanei sql typu

select UTNIJ_z_LEWEJ(UTNIJ_z_PRAWEJ(tw_charakter,13),25)

wynik: TO CO MNIE INTERESUJE

czy juz za dużo bronxa we krwi mam i zaczynam marzyć? :rolleyes:

#10 birds22

birds22

    Entuzjasta

  • Forumowicze
  • PipPipPipPipPipPipPip
  • 1332 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Zduńska Wola

Napisany 02 wrzesień 2009 - 21:46

Nie mam ciężko - sklep niedaleko... :)

tak sobie mysle, ze jak by dac dodatkowe pole np : OPIS_NEW jako TEXT w tabeli TW__toraw


.... i po któreś aktualizacji pozbyć się tego pola i żmudnie wpisanych danych

Nie polecam...
Sławek

#11 sirMarjan

sirMarjan

    Adept

  • Forumowicze
  • Pip
  • 24 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Ustka, Polska

Napisany 02 wrzesień 2009 - 21:51

.... i po któreś aktualizacji pozbyć się tego pola i żmudnie wpisanych danych


FUCK'T, na to bym nie wpadł. To już wogóle nie mam pomysłow

#12 birds22

birds22

    Entuzjasta

  • Forumowicze
  • PipPipPipPipPipPipPip
  • 1332 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Zduńska Wola

Napisany 02 wrzesień 2009 - 22:14

A ja mam :P

http://blog.sqlautho...lar-expression/

I możesz wykorzystywać pole tw_charakter
Sławek

#13 sirMarjan

sirMarjan

    Adept

  • Forumowicze
  • Pip
  • 24 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Ustka, Polska

Napisany 03 wrzesień 2009 - 08:09

8| WOW
na tyle mnie w tym momencie stac ...
normalnie smiga rewelacyjnie. umiescilem pole charakterystyka, parsuje ciąg znaków wycinając tagi HTML.
no jednym słowem REWELACJA
do dziś nei wiedziałem ze mogę tworzyć funkcje w sql, od dziś zaczynam się uczyć :P

chcialem stworzyc jedno wielkie zapytanie i utworzyc zestawienie dla subiekta, ktore przeprowadzi opearcję udostępniania pola charakterystyka dla naklejek, ale wudze ze funkcja create function musi byc umieszczana jako pierwsza,

Create Function must be the first statement in a query batch

a subiekt wymusza pierwszego select'a czyli pewnie sie nic nie da zrobic. pomecze sie jesczze, moze sie uda

jesczze jedno pytanie mieł bym do Ciebie. chciał bym wysłać do pliku epp towary. jednakże pole charakterystyka się nie exportuje (ani nie importuje) czy można coś na to zaradzić?


wielkie dziekuje koelgo, wielkie, na prawde szacuneczek
i pozdrawiam

#14 birds22

birds22

    Entuzjasta

  • Forumowicze
  • PipPipPipPipPipPipPip
  • 1332 Postów:
  • Płeć:Mężczyzna
  • Lokalizacja:Zduńska Wola

Napisany 03 wrzesień 2009 - 21:03

subiekt wymusza pierwszego select'a czyli pewnie sie nic nie da zrobic. pomecze sie jesczze, moze sie uda

A czemu koniecznie przez Subiekta ? Linia poleceń to już nie dobra - pieką paluchy jak nie klikają? :P

Utwórz sobie plik sirMarjan.sql napisz w nim:

USE TWOJA_NAZWA_BAZY
GO

następnie kod tworzący funkcję:
CREATE FUNCTION [dbo].[udf_StripHTML]
....
.... nie będę powtarzał skoro wyżej jest link
....
GO

a na koniec UPDATE

SET QUOTED_IDENTIFIER OFF

UPDATE nk_ZrodloDanych
....
...
...
WHERE nzr_id=3


Posiadając już gotowy skrypt tworzący funkcję i aktualizujący tabelę uruchamiasz linię poleceń (cmd) i wykorzystujesz tam osql np tak :

osql -S .\insertgt -E -i c:\sirMarjan.sql
Dopasuj serwer i autoryzację do własnych potrzeb - http://support.micro...om/kb/325003/pl


---------------------------------------------

jesczze jedno pytanie mieł bym do Ciebie. chciał bym wysłać do pliku epp towary. jednakże pole charakterystyka się nie exportuje (ani nie importuje) czy można coś na to zaradzić?


Na stan moich wiadomości to tylko namalować transparent i na Kobierzycką do Wrocławia :)
Sławek




0 Użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników