AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.01.2012, 15:41   #1  
nikshev is offline
nikshev
Участник
 
54 / 10 (1) +
Регистрация: 11.12.2010
Здравствуйте! Столкнулся с проблемой! Необходимо закрыть некоторых поставщиков чтоб их не кто не видел!
Хотел сделать это при помощи USERID (сотрудники которые видят всех поставщиков т.е директор зам директор ну и т.д и т.п.)
Но в списочной форме и в карточке при помощи кода
Код:
MESSAGE('USERID=',USERID);
получаем сообщение "USERID=". То
есть переменная пустая. Подскажите, что не так! Почему эта переменная пустая! Заранее благодарен!
Старый 25.01.2012, 15:50   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от nikshev Посмотреть сообщение
Здравствуйте! Столкнулся с проблемой! Необходимо закрыть некоторых поставщиков чтоб их не кто не видел!
Хотел сделать это при помощи USERID (сотрудники которые видят всех поставщиков т.е директор зам директор ну и т.д и т.п.)
Но в списочной форме и в карточке при помощи кода
Код:
MESSAGE('USERID=',USERID);
получаем сообщение "USERID=". То
есть переменная пустая. Подскажите, что не так! Почему эта переменная пустая! Заранее благодарен!
Это не переменная пустая. Это +%1 забыт
Должн быть MESSAGE('USERID= %1',USERID);

И я надеюсь, Вы не собираетесь в коде прописывать логины, которым позволено что-то там видеть?
Старый 25.01.2012, 15:53   #3  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Это не переменная пустая. Это +%1 забыт
Должн быть MESSAGE('USERID= ' + %1,USERID);
Думаю, так правильнее будет
Код:
MESSAGE('USERID = %1', USERID)
Пока писала, сами исправили
Старый 25.01.2012, 16:13   #4  
nikshev is offline
nikshev
Участник
 
54 / 10 (1) +
Регистрация: 11.12.2010
От блин! Да! Точно! Но вроде и без %1 работало!
Цитата:
И я надеюсь, Вы не собираетесь в коде прописывать логины, которым позволено что-то там видеть?
Ну не получается правами и центром ответственности сделать запрет! Есть пользователи которые и с разрешением на покупку
и центр ответственности у них не проставлен. А определенных логина всего три и менятся они 100% не будут. Может есть другие варианты.
Буду очень благодарен за подсказку.
Старый 25.01.2012, 16:31   #5  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от nikshev Посмотреть сообщение
От блин! Да! Точно! Но вроде и без %1 работало!
Цитата:
И я надеюсь, Вы не собираетесь в коде прописывать логины, которым позволено что-то там видеть?
Ну не получается правами и центром ответственности сделать запрет! Есть пользователи которые и с разрешением на покупку
и центр ответственности у них не проставлен. А определенных логина всего три и менятся они 100% не будут. Может есть другие варианты.
Буду очень благодарен за подсказку.
Быстрее всего сделать в User Setup дополнительную галку типа "Видеть Невидимое" и проставить там "Да" для избранных, а при открытии формы проверять, стоит ли у пользователя данная галка.
Старый 25.01.2012, 16:33   #6  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Если БД native, то добавляете в табличку User Setup поле Vendor Filter и в OnOpenForm нужных форм пишите что-то типа:

Код:
IF UserSetup.GET(USERID) THEN
  IF UserSetup."Vendor Filter" <> '' THEN BEGIN
    FILTERGROUP(2);
    SETFILTER("Vendor No.",UserSetup."Vendor Filter");
    FILTERGROUP(0);
  END;
Старый 25.01.2012, 16:37   #7  
nikshev is offline
nikshev
Участник
 
54 / 10 (1) +
Регистрация: 11.12.2010
Я как то об этом сразу и не подумал! Громадное спасибо! И в принципе может не пускать лицензия править таблицу! Будем пробывать!
Старый 26.01.2012, 17:21   #8  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от Васыо Посмотреть сообщение
Если БД native, то добавляете в табличку User Setup поле Vendor Filter и в OnOpenForm нужных форм пишите что-то типа:
Кстати толковая идея, перед тем как кодить - спросить какая версия БД, а вдруг SQL.
Старый 26.01.2012, 17:26   #9  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от apanko Посмотреть сообщение
Цитата:
Сообщение от Васыо Посмотреть сообщение
Если БД native, то добавляете в табличку User Setup поле Vendor Filter и в OnOpenForm нужных форм пишите что-то типа:
Кстати толковая идея, перед тем как кодить - спросить какая версия БД, а вдруг SQL.
Что-то не догоняю. А почему на SQL это не будет работать?
Старый 26.01.2012, 17:48   #10  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
На SQL проще по-другому - через фильтр безопасности в настройках прав доступа. Правда вроде на формах всё-равно придётся немного кодить, но точно не скажу.
Старый 26.01.2012, 18:39   #11  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Васыо, в нативной такая штука тоже есть. и кодить не надо ничего, они идут в другом filtergroup.

Думаю в SQL это лучше делать т.к. он менее зависим от ключей, нежели нативная, хотя на небольшом кол-ве нативная будет норм пиликать.
Старый 26.01.2012, 20:21   #12  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
В нативной вроде не работает через фильтры безопасности, разве нет?
Старый 27.01.2012, 11:45   #13  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
да, не робят. Мой косячок!
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:25.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.