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

Расскажите как писать запросы к супермагу! : Супермаг Плюс (Супермаг 2000)

26.04.2024 5:47


18.08.2011 12:06
TimofeySin
 
Доброе время суток!
Я программист 1С. Дали задачу организовать выгрузку из супермага в 1с БУХ.
Какая-то выгрузка уже есть. Основана на запросах к базе. надо её чуть чуть доработать. Но вот не задача никогда я не сталкивался с супермагом.
Есть ли какой-нибудь конструктор запросов для этих целей? или все надо писать только руками?
18.08.2011 12:36
OlegON
 
Поподробнее бы о выгрузке и запросах. Лучше бы ее в Хранилище бросить и сюда ссылку.
18.08.2011 12:39
Dim
 
посмотреть в документации к Супермагу структуру базы и изучить язык запросов SQL
18.08.2011 12:40
TimofeySin
 
А чего о ней подробней то? учет суммовой.
Внешняя обработка в 1с, делает запрос (например таб поле товары для документа "ОтчетПроизводстваЗаСмену":
Код:
select /*+ FIRST_ROWS */ d.title Tovar,
case when substr(e.tree,1,instr(e.tree,'.',1,1))='40.' then '0040'
when substr(e.tree,1,instr(e.tree,'.',1,1))='42.' then '0042'
else '0001' end Gr,tax.taxgroupid TaxTovar,          
sum(t.Quantity) TQuant,
sum(t.totalpricenotax) TSumNoTax  
from supermag.smspec t, supermag.smcard b,supermag.saarticletypes d, supermag.sacardclass e, supermag.smcardtax tax, supermag.smdocuments dd 
where t.docid=&idDoc
and t.doctype='PO'
and t.doctype=dd.doctype
and t.docid=dd.id
and t.Article=b.article
and b.datatype=d.id
and b.idclass=e.id
and t.Article=tax.article and tax.rgnid=-1
and (dd.createdat>=tax.datefrom and dd.createdat<tax.dateto)
group by d.title,
case when substr(e.tree,1,instr(e.tree,'.',1,1))='40.' then '0040'
when substr(e.tree,1,instr(e.tree,'.',1,1))='42.' then '0042'
else '0001' end, tax.taxgroupid
И в зависимости от НДС ищет номенклатуру и подставляет её.
Может все таки расскажите технологию написания запросов к супермагу?
18.08.2011 12:42
TimofeySin
 
То есть понятно что взял и начал писать... но удобней было бы если б был бы конструктор какойнить...
18.08.2011 12:44
OlegON
 
Конструкторы это для тех, кто хочет кривые запросы строить и не хочет работать ;) Приведенное и есть запрос SQL, т.е. Dim прав.
18.08.2011 13:00
TimofeySin
 
А где можно взять документацию к Супермагу.. А то я человек наемный и никакие доступы к фтп итд не имею.
18.08.2011 13:08
Dim
 
если стоит супермаг, то и документация должна быть
19.08.2011 12:38
akonev
 
документацию запросить у того, у кого супермаг используется.
если у них нет (протеряли) - у того, кто им супермаг продал.

запрос к супермагу - это запрос к ораклу. соответственно, искать надо не инструментарий для супермага конкретно, а выбирать из того, что напридумывано для оракла вообще. простой и бесплатный вариант - query reporter от allroundautomations
19.08.2011 20:40
Mtirt
 
Цитата:
TimofeySin А чего о ней подробней то? учет суммовой.
Внешняя обработка в 1с, делает запрос (например таб поле товары для документа "ОтчетПроизводстваЗаСмену":
Код:
select /*+ FIRST_ROWS */ d.title Tovar,
case when substr(e.tree,1,instr(e.tree,'.',1,1))='40.' then '0040'
when substr(e.tree,1,instr(e.tree,'.',1,1))='42.' then '0042'
else '0001' end Gr,tax.taxgroupid TaxTovar,          
sum(t.Quantity) TQuant,
sum(t.totalpricenotax) TSumNoTax  
from supermag.smspec t, supermag.smcard b,supermag.saarticletypes d, supermag.sacardclass e, supermag.smcardtax tax, supermag.smdocuments dd 
where t.docid=&idDoc
and t.doctype='PO'
and t.doctype=dd.doctype
and t.docid=dd.id
and t.Article=b.article
and b.datatype=d.id
and b.idclass=e.id
and t.Article=tax.article and tax.rgnid=-1
and (dd.createdat>=tax.datefrom and dd.createdat<tax.dateto)
group by d.title,
case when substr(e.tree,1,instr(e.tree,'.',1,1))='40.' then '0040'
when substr(e.tree,1,instr(e.tree,'.',1,1))='42.' then '0042'
else '0001' end, tax.taxgroupid
И в зависимости от НДС ищет номенклатуру и подставляет её.
Может все таки расскажите технологию написания запросов к супермагу?
Этот запрос написан мной. Что вы в нем пытаетесь изменить, на каком основании и кто вы вообще такой?
Часовой пояс GMT +3, время: 05:47.

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