Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

relacija više naspram više

[es] :: MS SQL :: relacija više naspram više

[ Pregleda: 2816 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
217.199.133.*

Sajt: nemam ja to


Profil

icon relacija više naspram više03.03.2008. u 12:55 - pre 196 meseci
Poštovani !

Znam da je riječi oko kaffea i programa već bilo dosta ali čitajući teme nisam uspijeo rijšiti ovaj logički problem .

Moja koncepcija je slijdeća:

Na lageru ću držati sirovnie kao što su kafa od kilogram, šećer paket od 100 komada.
Ka kasi ću imati prodajne artikle kao šoljica kafe, sok, čaj i drugo.
Imati ću tabelu normativa za refence između artikala
Kada generišem listu prodaje
Primkom zaduženje ću radi razduženje kilske kafe a zaduženje šoljica kafe.


Problem nastaje

Mi smo sva gazirana pića stavili pod jednu prodajnu šifru.
Naprimjer (Fanta, fanta šokata, Fanta Naranđa, Kola, Sprite, Šveps i tda)

Na kasu smo poslali samo jedan prodajni artikal Gazirani Sok

Kako konobari ne bi imali muke oni će uvijek kucati GAZIRANI SOK

Sada generišem listu prodaje i imam slijedeći problem

Na lageru mi stoji naprimjer 2kole,2fante,2švepsa
Na listi prodaje imam 3 gazirana soka

Kako napraviti upit koji će ići redom i nasumice prvo razdužiti 2 kole zatim 1 fantu.

Unaprijed zahvalan
Admir




S poštovanjem
 
Odgovor na temu

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
217.199.133.*

Sajt: nemam ja to


Profil

icon Re: relacija više naspram više03.03.2008. u 13:08 - pre 196 meseci
Aksiom drugi.

Zašto nisi odmah razdužio sve fante, kole, švepsove a zadužio gazirane sokovove da nemaš poslije problema.

Jer postoje i arikli koji imaju dva prodajna arikla. kao što je kafa.
Ona se može naći i u kapućinu i u kafi.
Pa nisam u mogućnosti reći evo kila kafe je ušlo to odgovara 128 šoljica kafe.
Jer će od jedne kile napraviti se 100 kafa i 28 kapućina.

A da bi workflow bio jednostavniji želim samo na jednom mijestu imati prebacivanje sa proizvodnog artikla na sirovinski.


S poštovanjem
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: relacija više naspram više03.03.2008. u 14:08 - pre 196 meseci
Citat:
Primkom zaduženje ću radi razduženje kilske kafe a zaduženje šoljica kafe.

Kad smo radili kafic, na ovom koraku smo stali i nismo isli dalje. Sorry :-(
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: relacija više naspram više13.03.2008. u 11:38 - pre 196 meseci
Malo ti je izvrnut pogled posmatranja:
Za ovakav poslovni problem koji se javlja u kafićima, a tipičan je za bilo koju proizvodnju, restoran ketering i slično, moraš imati najmanje tri sledeće tabele:
1. tblRepromaterjala: SifraRepromaterjala, NazivRepromaterjala, JedinicaMere, Kolicina, Cena
2. tblNormativi: SifraRepromaterjala, SifraProizvoda, Kolicina
3. tblProizvodi: SifraProizvoda, NazivProizvoda, JedinicaMere, Kolicina, Cena
Prva i treća tabela su prema drugoj u relaciji jedan prema više. Druga ima kombinovani primarni ključ.

Citat:
adopilot: Problem nastaje
Mi smo sva gazirana pića stavili pod jednu prodajnu šifru.
Naprimjer (Fanta, fanta šokata, Fanta Naranđa, Kola, Sprite, Šveps i tda)


Pogrešan pristup. Nije prevashodni cilj informacionog sitema da olakšava konobaru, već da evidenciju učini tačnom i jednostavnom. Ne naručuje gost bilo koje gazirano piće, već određeno. To određeno se skida sa lagera.

Citat:
adopilot: Zašto nisi odmah razdužio sve fante, kole, švepsove a zadužio gazirane sokovove da nemaš poslije problema.
Jer postoje i arikli koji imaju dva prodajna arikla. kao što je kafa.
Ona se može naći i u kapućinu i u kafi.


Ovo se upravo rešava kroz Normative:
Piće u normativima se vodi:
--SifraRep--SifraPro---Kolicina
---104-------104-------1---- (loza na litar)
---136-------136-------1---- ( pivo na komad)

Hrana u normativima se vodi: (sifra 305 je porcija djuveca)
--SifraRep--SifraPro---Kolicina
---305-------183-------0.12---- ( povrće u kg.)
---305-------184-------0.05---- ( meso u kg.)
---305-------185-------0.01----- ( luk u kg.)
---305-------186-------0.005---- ( so u kg.)
---305-------187-------0.01---- (ulje u kg.)

Na taj način se komadno piće skida sa lagera kako je ušlo, osim onih koja se mešaju. Ona se tretiraju kao hrana. Odnosno skidaju se adekvatno učešću u mešavini. Problem kilogrami, grami, litri, čašice je izvikan problem. Samo treba poštovati SI merni sistem. 1gram je 0.001 kg i tačka. Za litar važi isto. Skida se onoliko koliko je točeno u čašicu.

E da. Recept za đuveč nemoj da isprobavaš. Nije proveren.



[Ovu poruku je menjao Getsbi dana 13.03.2008. u 12:53 GMT+1]
 
Odgovor na temu

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
217.199.133.*

Sajt: nemam ja to


Profil

icon Re: relacija više naspram više14.03.2008. u 08:27 - pre 196 meseci
Hvala na odgovoru

Kada već počinjemo priču o poslovnoj politici na vaš citat

Citat:

Pogrešan pristup. Nije prevashodni cilj informacionog sitema da olakšava konobaru, već da evidenciju učini tačnom i jednostavnom. Ne naručuje gost bilo koje gazirano piće, već određeno. To određeno se skida sa lagera.


Tu smo mi baš radili na poslovnoj politici.
Naše primarno poslovanje je maloprodaja a kaffei dođu kao popratna dijelatnost.
Sada imamo pritisak menagmenta da se dio robe koji na maloprodaji ima loše rokove ili slab koeficjent obrta
"ČISTI" putem kaffea, Pa kada neko kaže ja ću sok gusti a vi mu ponesete ciljani koji je nama u interesu da prodamo.

Nama roba u kaffe ulazi putem Međuskladišnica ulaz iz maloprodaje i uvijek mora raspored artikala identičan onome koji su poslali.

Ja sam zamislio da tabelu normativa napravim na slijedeći način

(Šifra_prodajnog_artikla,Šifra_repromaterijala,pozicija,radnibroj,kolčina_po_noramtivu)


Onda bi za šoljicu kafe zapis izgledao na slijedeći način.

Šoljica_KAFE, Kila_KAFE_EKSPRESO,1,1,128
Šoljica_KAFE, Kila_i_pol_kafe_ekspreso_neke_druge,1,2,192
Šoljica_KAFE, Šečer_ugostiteljski_bijeli, 2,1,800
Šoljica_KAFE, Šećer_ugostiteljski_smeđi, 2,2,800
Šojlica_KAFE, Naren_sladilo,2,3,100

Sad imam tabelu prodaje

šoljica_kafe, 100 komada

i imam tableu lagera

Kila_KAFE_EKSPRESO, 1 komad
Kila_i_pol_kafe_ekspreso_neke_druge, 2 komada
Šečer_ugostiteljski_bijeli, 3 komada
Šećer_ugostiteljski_smeđi, 5 komada
Natren_Sladailo,5 komada

Postojili šansa da se napravi upit koji će
ili po principu pravilne raspodjele (da se svaka sirvona ravnomjerno razdužuje u odnosu na normativ )
ili po principu maksimalne količne ( da se prvo razdužuje sirvina sa najvećom količinom)
ili po principu pozicija i radnih brojeva ( da se prvo razdužuje sirvina sa rednim brojem 1, pa sa rednim brojem 2)
razduživati lager.
Ali sa ugrađenim provjerama da neka sirovine ne ode u negativnu količinu na lageru.

Možda je ovo previše komlikovano ali vrijedi probati.






S poštovanjem
 
Odgovor na temu

Getsbi

Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: relacija više naspram više14.03.2008. u 09:03 - pre 196 meseci
Citat:
adopilot: ....Sada imamo pritisak menagmenta da se dio robe koji na maloprodaji ima loše rokove ili slab koeficjent obrta "ČISTI" putem kaffea, Pa kada neko kaže ja ću sok gusti a vi mu ponesete ciljani koji je nama u interesu da prodamo.


Moja primedba se odnosila na to da su gazirana pića stavljana pod jednu šifru. Najvažnije je da se određeni sok pojedinačno skida sa lagera putem IS-a. Tako imate pravo stanje. A to da li ste udovoljili kupcu ciljanom ponudom je stvar politike prodaje.

Citat:
adopilot: Postojili šansa da se napravi upit koji će
ili po principu pravilne raspodjele (da se svaka sirvona ravnomjerno razdužuje u odnosu na normativ )
ili po principu maksimalne količne ( da se prvo razdužuje sirvina sa najvećom količinom)
ili po principu pozicija i radnih brojeva ( da se prvo razdužuje sirvina sa rednim brojem 1, pa sa rednim brojem 2)
razduživati lager.
Ali sa ugrađenim provjerama da neka sirovine ne ode u negativnu količinu na lageru.


Radim u Access-u, koristim prvi princip i VBA kod umesto upita. Ili bolje rečeno upiti su mi utkani u VBA kod. Tako mi je zgodnije i mogu da pratim prilikom razvoja IS-a eventualne sopstvene greške u implementaciji rešenja. Razlog više za ovakav pristup mi je i zahtev korisnika da se fiskalni deo vodi po principu prosečnih cena. Dakle ni FIFO ni LIFO.
 
Odgovor na temu

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
217.199.133.*

Sajt: nemam ja to


Profil

icon Re: relacija više naspram više14.03.2008. u 10:13 - pre 196 meseci
Kako očigledno nisam shvaćen koji je moj problem kod riješavanja ovoga ja cu
to probati prevesti na neki mašinski jezik pa da probamo skupa riješiti problem.

Evo prvo pravljenje tabela:
Prodaje,
Zaliha
Normativa,

Code:

/*-- prodaja --*/

CREATE TABLE [dbo].[prodaja](
    [art_pro] [int] NOT NULL,
    [kol] [float] NULL,
 CONSTRAINT [PK_prodaja] PRIMARY KEY CLUSTERED 
(
    [art_pro] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

go

/*--zaliha--*/
CREATE TABLE [dbo].[zaliha](
    [art_sir] [int] NOT NULL,
    [kol] [float] NULL,
 CONSTRAINT [PK_zaliha] PRIMARY KEY CLUSTERED 
(
    [art_sir] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

go

/*--normativia  --*/

CREATE TABLE [dbo].[normativi](
    [art_pro] [int] NOT NULL,
    [art_sir] [int] NOT NULL,
    [pozicija] [int] NOT NULL,
    [rbr] [int] NOT NULL,
    [norma] [float] NULL,
 CONSTRAINT [PK_normativi] PRIMARY KEY CLUSTERED 
(
    [art_pro] ASC,
    [art_sir] ASC,
    [pozicija] ASC,
    [rbr] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

go





S poštovanjem
 
Odgovor na temu

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
217.199.133.*

Sajt: nemam ja to


Profil

icon Re: relacija više naspram više14.03.2008. u 10:15 - pre 196 meseci
Evo i nekih tesnih podataka:

Code:


insert into prodaja
values
(300,20)

go

insert INTO normativi
select *
 FROM (
SELECT '300' AS [art_pro], '100' AS [art_sir], '1' AS [pozicija], '1' AS [rbr], '128' AS [norma]UNION ALL
SELECT '300' AS [art_pro], '101' AS [art_sir], '1' AS [pozicija], '2' AS [rbr], '192' AS [norma]UNION ALL
SELECT '300' AS [art_pro], '102' AS [art_sir], '2' AS [pozicija], '1' AS [rbr], '800' AS [norma]UNION ALL
SELECT '300' AS [art_pro], '103' AS [art_sir], '2' AS [pozicija], '2' AS [rbr], '800' AS [norma]UNION ALL
SELECT '300' AS [art_pro], '104' AS [art_sir], '2' AS [pozicija], '3' AS [rbr], '100' AS [norma]) t
go


insert INTO zaliha
select *
 FROM (
SELECT '100' AS [art_sir], '10' AS [kol]UNION ALL
SELECT '101' AS [art_sir], '15' AS [kol]UNION ALL
SELECT '102' AS [art_sir], '10' AS [kol]UNION ALL
SELECT '103' AS [art_sir], '10' AS [kol]UNION ALL
SELECT '104' AS [art_sir], '6' AS [kol]) t;


go


Sada nam još treba T SQL upit da

sa tablice lagera oduzmemo

20*1/128 artikla 100,
i 20*1/800 artikla 103,
S poštovanjem
 
Odgovor na temu

[es] :: MS SQL :: relacija više naspram više

[ Pregleda: 2816 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.