Обновление:СМС рассылка
Материал из wiki.standart-n.ru
Версия от 15:42, 25 мая 2015; Vlasova (обсуждение | вклад)
Содержание
Создание/обновление справочников SP$WDICTS / ХП
UPDATE OR INSERT INTO SP$WDICTS (PARENT_ID, CAPTION, DESCRIPTION, SID, STATUS, INI, SORTING, FRAMECLASS) VALUES (0, 'Контрагенты', NULL, 'AGENTS ', 2, '[insertsql] [deletesql_selected] [deletesql] update agents set deletedt=current_date where id=:id [refreshsql] select * from vw_agents where id=:ID [selectsqlwithdeleted] [selectsql] select * from vw_agents where id>3 and deletedt is null order by caption,id [form_show] position=0 left=0 Top=0 Width=800 Height=800 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [form_get] position=0 left=0 Top=0 Width=800 Height=800 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [main] sourcetablename=AGENTS returnfieldname=ID captionfieldname=CAPTION keyfieldname=ID ViewID=AGENTS2 RootGroupTableName=AGENTS ShowCaption=Клиенты GetCaption=Клиенты GroupSelect=1 foldergroup=AGENTS.FOLDERS initfolder_id= dataset=0 InitTMSGroup_id= folders_visible=0 Canfloating=0 hidetoppanel=0 ActivateDictAction=0 [cfSelect] selectfieldexpression=coalesce(caption,'''')||'' ''||coalesce(phonenumbers,'''')||'' ''||coalesce(email,'''') AllwaysPartial=1 [childs] bottomdock_units=2 bottomdock_size=50 rightdock_units=0 rightdock_size=0 [child_0] caption=Детализация покупок wdict=AGENTS_SALE oninit=tek_id=0 afterscroll=tek_id=id onselectedchange=tek_id=id efaultdocksite - где будет по-умолчанию: none - не показывается, right - справа, bottom - снизу в виде закладки, custom - просто показывается defaultdocksite=bottom ShortCut= afterupd=tek_id=id afterdatasetopen= [TMS_1] group_id=-601 caption=Рассылка [editfields] CAPTION=default FULLNAME=default INN=default EMAIL=default PHONENUMBERS=default KREDITDAY=default BANK=BANK_ID BIK=default RS=default KS=default KPP=default BANK_ID=WDICTS.BANK(initvalue=bank_id) DOVERKA=default PHONENUMBERS2=default PHONENUMBERS3=default ', NULL, NULL) MATCHING (SID); UPDATE OR INSERT INTO SP$WDICTS (PARENT_ID, CAPTION, DESCRIPTION, SID, STATUS, INI, SORTING, FRAMECLASS) VALUES (0, 'Покупки клиента', NULL, 'AGENTS_SALE ', 1, '[insertsql] [deletesql_selected] [deletesql] [refreshsql] select * from PR_AGENTS_SALE(:tek_id) where id=:ID [selectsqlwithdeleted] [selectsql] select * from PR_AGENTS_SALE(:tek_id) [form_show] position=1 left=0 Top=0 Width=600 Height=400 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [form_get] position=1 left=0 Top=0 Width=600 Height=400 MaxWidth=0 MaxHeight=0 MinWidth=0 MinHeight=0 [main] sourcetablename=DOC_DETAIL returnfieldname=ID captionfieldname=ID keyfieldname=ID ViewID=AGENTS_SALE RootGroupTableName= ShowCaption=Детализация покупок GetCaption=Детализация покупок GroupSelect=0 foldergroup= initfolder_id= dataset=1 InitTMSGroup_id= folders_visible=0 Canfloating=0 hidetoppanel=0 ActivateDictAction=0 folderscaption=Каталоги [cfSelect] selectfieldexpression= AllwaysPartial=1 [childs] bottomdock_units=2 bottomdock_size=50 rightdock_units=0 rightdock_size=0 [block_hl] fieldname=DOC_ID column=SPROFILE color1=8421504 color2=8421376 ', NULL, NULL) MATCHING (SID); COMMIT WORK; SET TERM ^ ; create or alter procedure PR_AGENTS_SALE ( AGENT_ID DM_ID_NULL) returns ( PROFILE_ID DM_ID_NULL, SPROFILE DM_TEXT, COMMITDATE DM_DATETIME, SNAME DM_TEXT, QUANT DM_DOUBLE, PRICE DM_DOUBLE, NGTD DM_TEXT, REGN DM_TEXT, SERT DM_TEXT, SERIA DM_TEXT, SIZG DM_TEXT, TYPE_OPL DM_TEXT, DOC_ID DM_ID_NULL, SUMMA DM_DOUBLE, DOC_TYPE DM_TEXT, SCONTRACT DM_TEXT, CONTRACT_ID DM_ID_NULL, SUMMA_CONTRACT DM_DOUBLE, PLAT_CONTRACT DM_DOUBLE, ID DM_ID_NULL, SUM_DSC DM_DOUBLE, STATUS_DOC DM_TEXT) as begin for select id,commitdate, (select dt.caption from doc_types dt where dt.id=d.doc_type), iif(d.contract_id<>0,(select c.caption from contracts c where c.id=d.contract_id),''), d.contract_id,iif(d.status=1,'Проведен','Непроведенный') from docs d where agent_id=:agent_id and status in (1,0,2) and doc_type in (3,9,11) order by commitdate into :doc_id,:commitdate,:doc_type,:scontract,:contract_id,STATUS_DOC do begin PLAT_CONTRACT=0; SUMMA_CONTRACT=0; if (contract_id>0) then begin SUMMA_CONTRACT=(select sum(-vd.summa) from doc_detail vd where vd.doc_id = ( select d.id from docs d where d.doc_type = 24 and d.contract_id = :contract_id and d.status = 1 ) and vd.quant < 0); PLAT_CONTRACT=(select sum(-d.summ1 -d.summ2 -d.summ3 -d.summ4 ) from docs d where d.contract_id = :contract_id and d.doc_type in (3, 9) and d.status = 1 ); end for select sum_dsc,ID,sname,-quant,price,ngtd,regn,sert,seria,sizg,-summa from vw_doc_detail dd where dd.doc_id=:doc_id into :sum_dsc,:id,:sname,:quant,:price,:ngtd,:regn,:sert,:seria,:sizg,:summa do suspend; end end^ SET TERM ; ^ /* Following GRANT statetements are generated automatically */ GRANT SELECT ON DOC_TYPES TO PROCEDURE PR_AGENTS_SALE; GRANT SELECT ON CONTRACTS TO PROCEDURE PR_AGENTS_SALE; GRANT SELECT ON DOCS TO PROCEDURE PR_AGENTS_SALE; GRANT SELECT ON DOC_DETAIL TO PROCEDURE PR_AGENTS_SALE; GRANT SELECT ON VW_DOC_DETAIL TO PROCEDURE PR_AGENTS_SALE; /* Existing privileges on this procedure */ GRANT EXECUTE ON PROCEDURE PR_AGENTS_SALE TO SYSDBA;
Создание/обновление TMS
UPDATE OR INSERT INTO GROUPS (ID, PARENT_ID, CAPTION, GROUPTABLE, STATUS, SYSTEMFLAG, DESCRIPTION, IMAGEINDEX, COLOR, SORTING, BASE_AGENT_ID, SID) VALUES (-602, -430, 'рассылка', 'TMS ', 0, 0, NULL, -1, NULL, NULL, 0, NULL) MATCHING (ID); COMMIT WORK; В поле DATA загружаем файл Файл:-602 new.zip
Необходимые внешние файлы
Скачать и установить файлы. http://www.standart-n.ru/files/msxml_4_sp2.zip
Необходимые сетки
Загрузить в мастере сеток для закладки "Контрагенты" и под-справочника "Покупки" Файл:СеткиСМС.rar
Описание e-mail рассылки
Отправка через VGMCSend.exe
Описание смс рассылки
Регистрация на сайте
Используется сайт http://www.smsprofi.ru/ Необходимо пройти регистрацию Ознакомится с правилами и тарифами Закинуть деньги на баланс
Отправка смс
Посредством xml проткола Описание: Файл:Opisanie-xml-protokola.zip
Инструкция к работе
1. Выбираем фильтр "Только отмеченные" (если отмечали) или создаем произвольный фильтр в справочнике Контрагенты. Отправка данных будет по текущей выборке (Не по отмеченным!) 2. Нажимаем на список подпрограмм, выбираем "Рассылка" 3. Для e-mail рассылки на форме на закладке "e-mail рассылка" заполняем поля 1,2,3. Отправляем по кнопке 4. 4. Для смс рассылки на форме на закладке "смс рассылка" заполняем поле 1. Отправляем по кнопке 2. Так же на этой форме можно узнать текущий баланс. Результат отправки можно посмотреть на сайте http://www.smsprofi.ru/ или на форме в нижней части