SQL скрипты и решенные задачи....

Обсуждение технических вопросов работы с системами управления базами данных (СУБД), работе с языком SQL и скриптовыми языками.
Ответить
Аватара пользователя
Alexey
Активный участник
Сообщения: 123
Зарегистрирован: 21 окт 2005, 15:49
Откуда: Белоруссия, Минск
Контактная информация:

SQL скрипты и решенные задачи....

Сообщение Alexey »

Понимаю что в некотором роде это повтор уже существующей темы, но предлагаю вести разговор немного в другом ключе... "Не надо так уж прямо делиться скриптами". Смысл вот в чем, каждый кому не лень, скидывает сюда в виде списка решенные задачи с помощью SQL скриптов... в итоге имеем некий список, что у кого есть в той или иной форме... Далее если кого что заинтересовало может обратиться уже к конкретному человеку и вести с ним беседу...
А может данный список кого то просто натолкнет на идею решения своей задачи...
Своим скриптом для подсчета сумм по условиям я уже поделился... так что следующий ход за Вами господа....
- А деньги?
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным
Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Сообщение Anderyt »

ух ты... а давайте попробуем, на самом деле :-)

итак.
ЗАДАЧА:
в действии над объектами понять, есть ли запущенные работы по текущему объекту. На основе этого действие уже будет принимать решение, разрешать запускать какие либо работы по этому объекту или нет.

РЕШЕНИЕ:
получаем строку, содержащую названия работ, запущенных по текущему объекту, но пока незавершенных. при этом работы, которые находятся на последнем этапе (то есть процесс практически закончен - юзер только кнопку ОК не нажал) в эту строку не попадают. и затем уже стандартными функциями редактора действий

Код: Выделить всё

GoTo ( if((var_temp_str not like '%внешнее согласование%'),  'Марка_next2', 'Марка_err2') )
или
GoTo ( if((var_temp_str not like '%окончательное согласование%'),  'Марка_next3', 'Марка_err3') )
настраиваем логику работы.

SQL-запрос:

Код: Выделить всё

var_temp_str = Set ( f_ExecSQLSelect_2('
select maps.description 
from 
lsdbo.wf_maps_view maps 
where 
id in 
( SELECT DISTINCT lsdbo.wf_mail_v.map_id   
FROM 
lsdbo.wf_attachments_view
,   lsdbo.wf_mail_docs_v
,   lsdbo.wf_mail_v   
WHERE 
 lsdbo.wf_attachments_view.id = lsdbo.wf_mail_docs_v.attachment_id 
and  
 lsdbo.wf_mail_docs_v.mail_id = lsdbo.wf_mail_v.id 
and 
lsdbo.wf_mail_v.map_id is not NULL  
and   
lsdbo.wf_attachments_view.app_id = ~'' + Var_P + '~' 
and   
lsdbo.wf_attachments_view.object_id = ~''+ Var_OBJ + '~' 
and 
lsdbo.wf_attachments_view.doc_id = ~''+string(a_Object)+'~') 
and 
maps.state = ~''+Var_map_state+'~' 
and 
maps.id not in 
(select pos.map_id 
from lsdbo.wf_map_cur_pos_v pos
, lsdbo.wf_map_nodes_view nodes 
where pos.map_object_id = nodes.map_object_id 
and
nodes.text =~''+var_map_node_name+ '~')', 
'',''))
смысл переменной a_Object понятен, поясню остальные.
Var_P и Var_OBJ - строковые переменные, в которых записано 'P' и 'OBJ' соответственно
Var_map_state - строковая переменная, содержит 'B' (то есть "Не завершена"
Var_map_node_name - строковая переменная, содержит 'Окончание работы'

пришлось делать строковые переменные, так как я не смог быстро понять, как вставлять строку в текст запроса :-(
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

идея отличная :wink:
но мне как чайнику больше бы было понятно если бы каждая задача шла все таки отдельной темой в данном разделе
Тема - Задача <> Внутри -Решение

а так боюсь утонем в этом топике :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Ответить