Re: Права на просмотр Где используется параметр
Есть ли способ дать рядовому пользователю права на просмотр (без возможности править) справочника параметров, в т.ч. на Где используется параметр?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
TechnologiCS → TechnologiCS → Установка/настройка → Права на просмотр Где используется параметр
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Есть ли способ дать рядовому пользователю права на просмотр (без возможности править) справочника параметров, в т.ч. на Где используется параметр?
По-моему, нет. Можно отключить права на работу со справочником параметров вообще. Можно отключить на функции где используется параметр и замена параметра.
Дело в том, что не предусматривается, что рядовой пользователь вообще должен работать со справочником параметров. Увидеть он его может (при добавлении параметра его можно выбрать из справочника), но лучше организовать работу пользователей с параметрами через карточки и/или используя скрипты.
А для чего Вам это нужно?
Как раз для скрипта...
Необходимо (т.е. я поставлен перед фактом - надо) за пять-десять секунд пробежаться по всем номенклатурным позициям почти что во всех справочниках. Нужно отыскать позицию с определенным значением привязанного параметра...
Последовательная проверка каждой номенклатуры и ее параметров занимает около часа: создание объекта (переход на параметры) происходит довольно долго...
А вот если взять нужный параметр и посмотреть, где он используется, и все его значения... Беда в том, что только ведущий справочника параметров может запускать такой скрипт, у остальных не хватает прав... а добавить их не получается.
А вот этот пунктик в справке смотрели?
ITcs_Application.SingleNmkFromUniquePar (PropertyGet)
--------------------------------------------------------------------------------
Получить номенклатуру по значению уникального параметра
Синтаксис:
objectvariable.SingleNmkFromUniquePar( ParCode, ParValue )
objectvariable - ITcs_Application
ParCode - уникальный код параметра
ParValue - значение уникального параметра
Возвращает: указатель на SingleNomenclature
Смотрели.
Параметр должен быть уникальным. А у нас куча повторений.
А еще там, кажется, появляется ограничение на использование параметра в других справочниках. Т.е. чтобы использовать функцию, нужно поставить галочку уникальности у параметра, что ограничит его использование в других справочниках (если меня не обманули).
Если в последнем я заблуждаюсь, то это выход: могу стукнуть кулаком по столу и сказать - убирайте повторения, и все будет работать...
Однако, как насчет прав? Администратор - интерфейс для работы с данными, который, возможно, просто не раскрывает всех возможностей настройки...
Была еще мысль: в скриптах TDMS можно запускать команды с расширенными правами... в TCS, похоже, этого нет?
hitrov писал(а):
Необходимо (т.е. я поставлен перед фактом - надо) за пять-десять секунд пробежаться по всем номенклатурным позициям почти что во всех справочниках. Нужно отыскать позицию с определенным значением привязанного параметра...
нравятся мне такие постановки задачи..... :?
надо - значит надо. А зачем? - так никто и не сказал... Это к тому, что может проблема то не в этом совсем месте...
Все-таки, интресно, для чего это нужно в смысле физического смысла данного действия.
Вот это:
Sub FormMacro_ForumTest(TCSActiveModule) Dim Nmks Dim NmkSearch Dim id Dim Str, I Set Str = TCSApp.CreateStrings I = Str.Add( "MASSA%=%2.03" ) Set NmkSearch = TCSApp.SimpleNomenclaturesSearching(26,Str) id = NmkSearch.ShowModal("Найденная номенклатура:") Set Str = Nothing End Sub
Подробнее здесь: ITcs_Application2.SimpleNomenclaturesSearching (PropertyGet)
А еще там, кажется, появляется ограничение на использование параметра в других справочниках. Т.е. чтобы использовать функцию, нужно поставить галочку уникальности у параметра, что ограничит его использование в других справочниках (если меня не обманули).
Использование в каких "других" справочниках? В других номенклатурных справочниках?
Чего-то не помню, чтобы было такое ограничение.
SimpleNomenclaturesSearching не заметил. Попробую. Спасибо.
Физический смысл, насколько я понимаю, заключается в том, чтобы исключить ошибочное добавление операторами уже существующих номенклатурных позиций. Иначе зачем я складываю обозначение и наименование, перевожу в верхний регистр, заменяю по возможности латинские буквы на русские и убираю все остальные символы?
hitrov писал(а):
Иначе зачем я складываю обозначение и наименование, перевожу в верхний регистр, заменяю по возможности латинские буквы на русские и убираю все остальные символы?
Сложный вопрос, зачем Вы это делаете.... :wink:
Вы, как я понял, при вводе хотите приделать к номенклатуре специальный параметр из определенным образом обработанного обозначения и наименования и потом по его значению искать номенклатуру аналогичную.
Можно и таким путем пойти, конечно. Но только тогда придется предусмотреть фактически все возможные варианты ошибок, иначе все равно не сработает...
А может попроще как-то можно? Справочники классифицировать, например, чтобы в одной ветке слишком много позиций не было (глазами повторяющиеся будет лучше видно). И еще периодически, предварительно отсортировав по применяемости, просматривать позиции с подозрительно маленькой применяемостью (больше вероятность, что ошибочные). И т.п. "оргмерами" обойтись может получится?
SimpleNomenclaturesSearching не работает что-то. Пробовал разные параметры и значения - ничего не находит.
Приведенный выше пример ForumTest нормально отрабатывал?
Что касается самого решения, то все (кроме заказчика) понимают его нежизнеспособность. Просто нужно сделать.
Сложный вопрос, зачем Вы это делаете
Чтобы отследить оригинальность по обозначению, даже если используются латинские аналоги русских букв и наоборот, т.к. старое фоксовое изобретение на заводе могло это делать... В общем вместо того чтобы навести порядок у себя, требуют от нас ... МАРАЗМ.
Приведенный выше пример ForumTest нормально отрабатывал?
Отрабатывал нормально, правда на моей базе ;)
GUID параметра заведите свой и идентификатор класса, в котором есть хотя одна номенклатура с этим параметром, может в этом дело?
Все проверял: и класс, и параметр, и его значение... Все время один результат - ничего не найдено (показываваю окошко - параметр назначен, записей не найдено). Странно вот что: параметр для поиска назначается, а вот значение нет... т.е. если в этом окошке вручную поставить значение параметра, то номенклатуры находятся.
У нас тут временно притормозили это направление, так что упираться рогом уже не надо. Хотя интересно, что же у меня с SimpleNomenclaturesSearching.
Возвратился к проблеме... выяснил, что SimpleNomenclaturesSearching работает только с числовыми параметрами. Придется искать другие пути, а в связи с SimpleNomenclaturesSearching хотелось бы прояснить (просто в качестве обратной связи): необходимость именно числового параметра - это незадокументированная особенность функции (потому что в хэлпе ничего про это нет) или ошибка?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
TechnologiCS → TechnologiCS → Установка/настройка → Права на просмотр Где используется параметр