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

положить документ в очередь почтовика скриптом : Супермаг Плюс (Супермаг 2000)

20.04.2024 8:13


10.01.2008 09:16
Mihon
 
Уважаемые спецы!
Не писал ти кто-нибудь скриптик, кладущий документ (например ПН) в очередь почтовика? Не могли бы поделиться?
Честно говоря, сам бы попробовал написать, но тестировать негде, боюсь рабочую базу запороть.
заранее благодарен
10.01.2008 09:41
Mtirt
 
Приблизительно так... Судя по самой табличке smpostqueue. Не тестировала...

Код:
insert into supermag.smpostqueue(enqtime,enqseq,target,objtype,
objid,paramint,paramstr,transflags,virtpack,commentary) 
select  sysdate,rownum,null,doctype, docid , null, null, 
0,null, null from supermag.smdocuments 
where doctype=:VDoctype and docid=:VDocid
10.01.2008 10:10
Mihon
 
Пасиба...
Значит, в качестве
(enqtime,enqseq,target,objtype,objid,paramint,paramstr,transflags,virtpack,commentary)
подставляем
sysdate,rownum,null,doctype, docid , null, null, 0,null, null

А что за параметр enqseq = rownum и откуда его взять?
10.01.2008 10:33
Mtirt
 
Еще момент. target надо задать... Это id в таблице smpostlocations для той базы, куда ты хочешь послать документ.
Если стоит null - то отправишь всем.

rownum - номер строки в запросе. Если в запросе один документ, то всегда будет равняться 1. Если ты в запрос положишь несколько документов, то будет увеличиваться на 1 по каждому документу.
29.01.2008 14:30
Mihon
 
Небольшая проблемка, по-поводу target...
В дочерних базах в табличке smpostlocations есть только 1 строка (сам магазин), получается для отправки в центр непонятно какое значение для параметра target указать...
Предполагаю, что null, тогда в центр уйдет?
Но тогда непонятно откуда данные о "центре" возьмутся...
Подскажите, пожалуйста, заранее благодарен...
29.01.2008 15:01
Mtirt
 
Подожди. В дочерних базах эта одна строка как раз Центр. Просто видимо название вы ей дали - Магазин. :)

Там старшая база? Пути все в ЦО?
Я бы указала 1.
29.01.2008 15:15
Mihon
 
Код:
begin
insert into supermag.smpostqueue(enqtime,enqseq,target,objtype,
objid,paramint,paramstr,transflags,virtpack,commentary)
select  sysdate,rownum,null,doctype, docid , null, null, 
0,null, null from supermag.smdocuments 
where doctype=WI and docid='68ПН004436';
commit;
end;
/
Создал накладную в ДБ, запустил этот скрипт, реакции никакой. :(((
в чем может быть проблема?
29.01.2008 15:20
Mihon
 
В smpostlocations в доч. базе одна запись:
ID - 0, title - имя базы магазина, outdir, indir - пути к папкам соотв. магазина на сервере ЦО, притом outdir - это входящие для ЦО получаются, ну это понятно.
Может ее (id=0) и прописать?
29.01.2008 15:47
Mtirt
 
Еще вопрос. Версия См2000 какая? Просто в 1.25.1 поменялась структура таблицы SMPOSTQUEUE. Для неё вместо rownum рекомендую написать SMPOSTQUEUESEQ.Next. Недавно сами нарвались на проблемы с нумерацией... :(
Часовой пояс GMT +3, время: 08:13.

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