Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Товар с коротким штрихкодом и не нулевыми остатками : Супермаг Плюс (Супермаг 2000)

23.11.2024 1:32


03.11.2011 02:22
Очень нужен отчет или запрос по сабжу. (SM - 1.028.1)
(была инвентаризация - утром запускается маг - а этот отчет в SMUtills-ах ругается что нет лицензии для его использования)
03.11.2011 07:11
А что не получается? Ш/к - smstoreunits, остатки - smgoods, карточки smcard.
Ждем твоего варианта.
03.11.2011 09:20
Цитата:
Zhalex Очень нужен отчет или запрос по сабжу. (SM - 1.028.1)
(была инвентаризация - утром запускается маг - а этот отчет в SMUtills-ах ругается что нет лицензии для его использования)
по поводу отчета лучше обратится к YuraZ вполне возможно что отчет заказной...
03.11.2011 14:09
Насколько я понял, в первом приближении, Вам нужно это
Код:
select l.name, c.article, c.name, smu.barcode, smg.quantity 
from smcard c
left outer join smgoods smg on (c.article = smg.article)
left outer join smstorelocations l on (smg.storeloc = l.id)
left outer join smstoreunits smu on (c.article = smu.article and smu.barcodetype = 5)
where smg.quantity <> 0
08.11.2011 00:40
Цитата:
OlegON А что не получается? Ш/к - smstoreunits, остатки - smgoods, карточки smcard.
Ждем твоего варианта.
Спасибо!
Цитата:
Shlong по поводу отчета лучше обратится к YuraZ вполне возможно что отчет заказной...
все так, но во вне рабочее время недоступен.
Цитата:
CrazyWolf Насколько я понял, в первом приближении, Вам нужно это
Код:
select l.name, c.article, c.name, smu.barcode, smg.quantity 
from smcard c
left outer join smgoods smg on (c.article = smg.article)
left outer join smstorelocations l on (smg.storeloc = l.id)
left outer join smstoreunits smu on (c.article = smu.article and smu.barcodetype = 5)
where smg.quantity <> 0
ага. у меня получилось так:
Код:
select c.name, u.barcode
from smcard c, smstoreunits u, smgoods g
where g.quantity <> 0
        and g.article = c.article
        and u.article = c.article
        and u.barcodetype  =5
order by 1
ПС. по-хорошему еще надобы и розничную цену прикрутить, т.к. при переводе мага с суммого учета на количественный/штрихкодирование изначально кассиры товары знают лучше по ценам.
08.11.2011 07:48
смотришь id-шник места хранения
Код:
select ID, NAME from supermag.smstorelocations
смотришь id-шник вида цены
Код:
select ID, NAME from supermag.smpricetypes
вставляешь их в запрос
Код:
select c.name, u.barcode, p.price
from smcard c, smstoreunits u, smgoods g, smprices p
where g.quantity <> 0
        and g.article = c.article
        and u.article = c.article
        and u.barcodetype  =5
        and p.article(+)=c.article 
        and p.storeloc(+)=место_хранения
        and p.pricetype(+)=вид_цены
order by 1
если у тебя одно место хранения и один вид цены - можно id-шники не смотреть и тупо выкинуть две строки с условиями
08.11.2011 07:51
... а если МХ не одно, то по хорошему еще в первом твоем запросе надо было условие на ID места хранения по таблице остатков. иначе строки дублироваться будут.
Код:
select c.name, u.barcode, p.price
from smcard c, smstoreunits u, smgoods g, smprices p
where g.quantity <> 0
        and g.article = c.article
        and u.article = c.article
        and u.barcodetype  =5
        and p.article(+)=c.article 
        and g.storeloc=место_хранения
        and p.storeloc(+)=место_хранения
        and p.pricetype(+)=вид_цены
order by 1
08.11.2011 11:26
Цитата:
Код:
nd p.storeloc(+)=место_хранения
        and p.pricetype(+)=вид_цены
(+) это просто визуальная отметка, что эти строчки добавляются в первоначальный скрипт, или же некая конструкция в SQL Oracle?
08.11.2011 11:38
Цитата:
Zhalex (+) это просто визуальная отметка, что эти строчки добавляются в первоначальный скрипт, или же некая конструкция в SQL Oracle?
это пометка, что данных в привязанной этим условием табличке может и не найтись.
если есть цена - выберет цену. если нет цены - запрос выдаст null вместо цены по этим строкам. можешь рассматривать для себя как проверку, что есть цены на все короткие коды с остатками.

строго говоря, такие связки должны устанавливаться правильно прописанным join, но оракел милостив - разрешает и такой синтаксис
08.11.2011 11:38
... если плюсики убрать - сторки без цен в выборку не попадут.
Часовой пояс GMT +3, время: 01:32.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.