|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (67)
просмотр истории страницы\\ |
1. Сконвертировать из другой программы в excel (*.xls, \*.xlsx) или файл с разделителями (*.csv) |
2. Открыть этот файл в excel получаем например |
\\ *Code:* |
|
|
{code} |
1 ivan Иван ivan@mail.local 12345 |
|
1 sergey sergey ivan@mail.local 12345 |
{code} |
\\ |
3. Создать новую первую колонку в ней сформировать строку вида select user_id from gln_usr_add(PARENT_ID,login,NAME,EMAIL,1,1,PSW,0,null);PARENT_ID это id группы в которую помещается пользовательПолучится подобная строка формул |
\\ *Code:* |
{code} ="select user_id from gln_usr_add("&B1&",'"&C1&"','"&D1&"','"&E1&"',1,1,'"&F1&"',0,null);" {code} |
\\ |
и ее результат |
\\ *Code:* |
{code} select user_id from gln_usr_add(1,'ivan','Иван','ivan@mail.local',1,1,'12345',0,null); {code} |
\\ |
4. Колонку выделяем и ctrl+c |
... |
Если у вас отображаетсяCannot perform operation -- DB is not open. |
1. # Предварительно двойной клик по строчке регистрации БД в дереве, произойдет подключения к БД |
# В окне скрипта выберите галочку "Использовать текущее подключение" По всем вопросам работы с бд обращайтесь в ICQ 164592853 или по телефону. |
|
2. В окне скрипта выберите галочку "Использовать текущее подключение" По всем вопросам работы с бд обращайтесь в ICQ 164592853 или по телефону. |
---- Как изменить другие поля и реквизиты: |
Выполнить скрипт он создаст новую, процедуру GLN2_USR_ADD. Важный момент - процедура не должна начинаться с префиксов GLN, KNL, CNL, иначе она не будет работать. |
|
Строку для нее готовить по аналогии с верхним примером, |
{code} |
select user_id from gln2_usr_add(.................); |
{code} |
|
поля идут последовательно ниже видно от PARENT_ID до IP_STR. |
Строку для нее готовить по аналогии с верхним примером, поля идут последовательно ниже видно от PARENT_ID до IP_STR. |
|
|
Отредактируйте скрип по вашему желанию. \\ |
*Code:* |
*Пример 1* |
{code} |
SET TERM ^ ;SET TERM ^ ; |
|
CREATE PROCEDURE GLN2_USR_ADD ( |
|
PARENT_ID INTEGER, |
|
LOGIN VARCHAR(32), |
|
NAME VARCHAR(128), |
|
EMAIL VARCHAR(128), |
|
NET_SIZE INTEGER, |
|
END_USER SMALLINT, |
|
PSW VARCHAR(16), |
|
AD_IS INTEGER, |
|
SUID NUMERIC(18,0), |
|
BALANCE NUMERIC(15,2), |
|
COMMENT VARCHAR(1024), |
|
ENABLED INTEGER, |
|
IP_STR VARCHAR(16) |
|
) |
|
RETURNS ( |
|
USER_ID INTEGER) |
|
AS |
|
begin |
|
select user_id from gln_usr_add(:PARENT_ID,:LOGIN,:NAME,:EMAIL,:NET_SIZE,:END_USER,:PSW, :AD_IS,:SUID) |
|
into user_id; |
|
--Обновим баланс(остаток на начало мес) пользователя update users set enabled=:enabled, ostatok=:BALANCE*10000000000 where id=:user_id; |
|
update users set --установим ip адрес |
... |
users.allow_mail_internet=1 where id=:user_id; |
|
/* <-расскомментируйте этот блок --Добавим атрибут комментарий |
... |
2, :comment); |
|
'Наименование' id=2 |
|
*/ |
|
suspend; |
|
end |
|
^ |
|
SET TERM ; ^ |
|
GRANT EXECUTE ON PROCEDURE GLN_USR_ADD |
|
TO PROCEDURE GLN2_USR_ADD; |
|
GRANT SELECT,UPDATE ON USERS TO PROCEDURE GLN2_USR_ADD; |
|
GRANT INSERT ON ATTRIBUTE_VALUES TO PROCEDURE GLN2_USR_ADD; |
|
GRANT EXECUTE ON PROCEDURE GLN2_USR_ADD TO SYSDBA; {code} |
GLN2_USR_ADD \\ |
*Пример 2* |
|
---- {code} |
SET TERM ^ ; create procedure GLN_USR_ADD3 ( IDENTIFY varchar(128), LOGIN varchar(32), PSW varchar(16), PARENT_ID decimal(15,2), TARIFF_NO integer, OSTATOK decimal(15,2), FINANCE_USER smallint, ENABLED smallint, CONTRACT_NUMBER varchar(32), REAL_ADDRESS varchar(1024), PHONE varchar(1024), AUTH_TYPE varchar(10), PULL_ID varchar(16), ROUTER_IP varchar(32), ROUTER_VLAN varchar(32), ROUTER_PORT varchar(32)) returns ( USER_ID integer) |
---- as |
begin -- непосредственно создание пользователя select USER_ID from GLN_USR_ADD(:PARENT_ID,:LOGIN,:IDENTIFY,'',1,1,:PSW,0,0) into USER_ID; -- обновление остатка update USERS set ENABLED=:ENABLED, OSTATOK=:OSTATOK*10000000000 where ID=:USER_ID; -- обработка потенциальных null'ов if (ROUTER_IP = '') then ROUTER_IP=NULL; if (ROUTER_VLAN = '') then ROUTER_VLAN=NULL; if (ROUTER_PORT = '') then ROUTER_PORT=NULL; if (AUTH_TYPE = '') then AUTH_TYPE=1; if (PULL_ID = '') then PULL_ID=NULL; -- дополнительные поля update USERS set --отключим предупреждение приближения к лимиту USERS.LIMIT_WARNING=null, --установим авторизацию USERS.AUTH_TYPE=:AUTH_TYPE, USERS.AUTH_TYPE_CACHE=:AUTH_TYPE, --разрешим почту USERS.ALLOW_MAIL=1, USERS.ALLOW_MAIL_INTERNET=1, --поставим ему роутер_ип, влан и порт USERS.ROUTER_IP=uf_string2ip(:ROUTER_IP), USERS.ROUTER_VLAN=:ROUTER_VLAN, USERS.ROUTER_PORT=:ROUTER_PORT, --выставим тариф USERS.TARIFF_NO=:TARIFF_NO, USERS.TARIFF_ID_CACHE=:TARIFF_NO, --выставим абоненту финансовость USERS.FINANCE_USER=:FINANCE_USER, --установим номер договора USERS.CONTRACT_NUMBER=:CONTRACT_NUMBER, --установим номер пула USERS.PULL_ID=:PULL_ID where ID=:USER_ID; |
|
--укажем телефон и адрес пользователя insert into ATTRIBUTE_VALUES (USER_ID, ATTRIBUTE_ID, ATTRIBUTE_VALUE) values (:USER_ID,1,:PHONE); insert into ATTRIBUTE_VALUES (USER_ID, ATTRIBUTE_ID, ATTRIBUTE_VALUE) values (:USER_ID,3,:REAL_ADDRESS); end {code} ---- |
Если не подключается и пишет "Undefined service gds_db/tcp" |
... |