Юрий, Андрей - не подскажите
нужно работать с системными таблицами Лоции через атрибутивные формы
2 вопроса
1й - есть объект сотрудник - у которого в атрибутах есть информация - отдел тел мыло и т.д. - есть таблица ABUser.empl_id где есть точно такая же информация. Выборки по этой таблице идут быстрее чем по атрибутам - но по атрибутам удобнее редактировать, для юзеров я запретил доступ к адресным книгам
Как через атрибутивную форму, используюя или дублирующие атрибуты или просто запросы в действии - менять данную таблицу ABUser.empl_id?
2й вопрос - часто возникает ситуация когда нужно изменить значение атрибута объекта - например там написано было первый раз КомПания и юзер видя такую ошибку - хочет исправить на Компания - но не тут то было - уникальность значений.... и приходиться админу лезть в значения атрибута и править вручную, а нехота
да и вообще за юзеров неохота работать, да и пускать их к интерфейсу Лоции тоже неохота
как это сделать красиво? в смысле никто не делал? если да - то как?
никто не решал подобные задачи через интуитивно понятное редактирование атрибутивных форм???
ps
с чтением вроде разобрался достаточно - настало время записи
Редактирование системных данных Лоции через формы
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Редактирование системных данных Лоции через формы
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Редактирование системных данных Лоции через формы
имеется в виду - может есть какие-то родные процедуры Лоции для Udate существующего значения или создания нового
по вопросу 1типа записать номер телефона сотруднику с id=72. Эт правильный синтаксис или что-то не учтено?
по вопросу 2 тоже не совсем ясно как изменить значение строкового атрибута вытаскиваемого запросомведь строковый атрибут состоит из 2х частей???
по вопросу 1
Код: Выделить всё
update lsdbo.ABUser set phones='232' where empl_id=72
select * from lsdbo.ABUser
по вопросу 2 тоже не совсем ясно как изменить значение строкового атрибута вытаскиваемого запросом
Код: Выделить всё
SELECT Coalesce(vv1.value,'')+Coalesce(vv1.value1,'')
FROM lsdbo.object_reference rw left join lsdbo.object_type tw on rw.type_id=tw.id left join
lsdbo.attrib_value av1 on rw.id = av1.object_id and av1.attrib_id = 3000000000121 left join
lsdbo.value_string vv1 on av1.value_id = vv1.id and av1.attrib_id = 3000000000121
where rw.type_id = tw.id and rw.id=100004487800000
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Редактирование системных данных Лоции через формы
кстати неплохо получилось с объектом сотрудник
вроде половины атрибутов у него нет - а они есть только в его адресной книге - доступной для форм отчетов действий и т.д. с привязкой через ID юзера фактически имеем 2 блока данных - физический адрес сотрудника на атрибутах и рабочий адрес юзера на адресной книге, ну там должности и отделы и еще кое что пересекаются, но это не важно - главное при редактировании инфа пишется и туда и сюда... типа вот так
сама процедура заполнения части адресной книгиотобразить на форме например мылопрочитать из действиясохранить из действия
ps
но вопрос по строковому атрибуту еще актуален
вроде половины атрибутов у него нет - а они есть только в его адресной книге - доступной для форм отчетов действий и т.д. с привязкой через ID юзера фактически имеем 2 блока данных - физический адрес сотрудника на атрибутах и рабочий адрес юзера на адресной книге, ну там должности и отделы и еще кое что пересекаются, но это не важно - главное при редактировании инфа пишется и туда и сюда... типа вот так
сама процедура заполнения части адресной книги
Код: Выделить всё
ALTER procedure [LSDBO].[Ric_Set_UserAddrBook]
/*записать контактную информацию пользователя в адресную книгу*/
(@id int, --ID пользователя БД
@department varchar(100)='', --Отдел
@state varchar(50)='', --Должность
@note varchar(200)='', --Направление
@phones varchar(200)='', --Телефон
@email varchar(200)='', --e-Mail
@organization varchar(100)='' --Филиал
) as
Begin
Begin tran p_upValue
Update lsdbo.ABUser Set
email=@email,
phones=@phones,
state=@state,
department=@department,
note=@note,
organization=@organization
Where empl_id=@id
if @@Error <> 0 goto ErrorTrap
commit tran p_upValue
return
ErrorTrap:
rollback tran p_upValue
return -1
End
Код: Выделить всё
f_execSQLSelect_3 ('select email from lsdbo.ABUser_view where empl_id='+string(abs(a100004060200000)),'','','',10)
Код: Выделить всё
email = Set ( f_ExecSQLSelect_2('select email from lsdbo.ABUser_view where empl_id='+string(ID),'','') )
Код: Выделить всё
tmp = Set ( 'exec lsdbo.RIC_Set_UserAddrBook '+string(abs(ID))+', '+ StDep+', '+ StDol+', '+ note+', '+ phone+', '+email +', '+filial )
tmp = Set ( f_ExecSQLSelect_3(tmp,'','','cols=decimal(18)',0) )
но вопрос по строковому атрибуту еще актуален
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный