Как узнать идентификатор отчета/обработки? #19552


#0 by miky
Как узнать при открытии отчета или обработки их идентификатор. А при открытии внешних отчетов/обработок имя файла?
#1 by Меланхоличный ворон
Ну с файлом понятно: РасположениеФайла, а вот насчет идентификатора отчета: вы что не знаете как он называется когда его разрабатываете?
#2 by miky
Я хочу следующее В отчете в процедуре: Вот как мне узнать этот идентификатор если это отчет в конфигурации и если он внешним файлом то имя файла?
#3 by Пух
Не совсем понятно для чего это вообще нужно?Сообщить("Иди нафиг") - а зачем тогда отчет если он открываться не будет?
#4 by miky
Блин ну я упрощенно написал.На самом деле на каждого пользователя настраивается список отчетов и обработок которые он не может открывать. На каждого пользователя этот список свой, причем он динамический, и может постоянно меняться во времени, поэтому чтобы не заморачиваться с правами в конфигураторе каждый раз хочу сделать так. Список запрещенных отчетов лежит в справочнике подниненном справочнику пользователи.
#5 by Меланхоличный ворон
Э... (идентификаторЭтогоОтчета)<>"чему-то-там" под словом "чему-то-там" что скрывается?
#6 by Пух
Ну так проверяй ПриОткрытии принадлежит ли этот отчет подчиненому справочнику или нет
#7 by miky
В справочнике хранятся то не сами отчеты, а их названия как они называются в конфигураторе. И вопрос то я вроде ясный задаю. Как узнать при открытии отчета, как этот отчет называется в конфигураторе?
#8 by АЛьФ
FullObjectTypeСинтаксис:ПолныйТипОбъектаНазначение:Возвращает полный тип объекта, которому принадлежит расширяемая форма.Пример:
#9 by miky
АЛьФ, а без применения ВК никак?????
#10 by Дяпти
Если без ВК, тогда на v8
#11 by taisa
Была такая ситуация. Случалось,что данные в базе непонятно каким образом изменялись. Возникло предположение, что кто-то из пользователей запускал обработки (которые, допустим, перепроводили документы). Но в ЖР записи по запуску обработок на заносятся. Предложили при запуске всех обработок формировать записи в ЖР. Стандартные средства для определения идентификатора обработок не нашла. Пришлось в каждой обработке записывать ее идентификатор. Долго, неинтересно. Может все же существует более легкое решение?
#12 by Меланхоличный ворон
Как узнать как называется отчет? Либо посмотреть в конфигураторе, либо спросить у того, кто его назвал.
#13 by miky
На 8-ку только переходим. Так что надо для семерки.Ну неужели нету средства??
#14 by Sla
Объясните мне, тупому, где находится эта самая процедура ПриОткрытии?
#15 by taisa
В модуле формы отчета. В принципе может отсутствовать.
#16 by one more
как я делал:в справочнике "Права" (подчиненный спр.сотрудники) имеем два рекизита Доступность и редактировние (булевы), наименование - Идентификатор.в ПриОткрытии просто вставляем процедуру из голобальника которая проверяет права и разрешаетзапрещает просмотр либо редактирование----ЗЫ- ну и обработочку для массового заполнения прав с первоначальными значения ми "нет" для всех объектов метаданных (не только отчетов)----Зы почти тоже самое реализовал и для реквизитов - спр Реквизиты - подчинен спр.Права
#17 by Sla
И что? Открываем отчет "Чему-то-там" и не знаем как он называется?
#18 by Beatles
В правильный ответ.
#19 by sd
если очень хочется универсальности, добавь переменную ИдентификаторФормы и инициализируй ее для каждого отчета руками: ИдентификаторФормы = "Отчет.123"Потом при открытии сравнивай:КонецЕслиПо-другому без ВК ты этого не сделаешь.
#20 by miky
нет! Вот я и хочу програмно узнать, как называется отчет. Я сделал то же самое! В этом справочнике "права" я оббегаю черезМетаданные.Отчет(номер).Идентификатор все отчеты и заполняю их идентификаторами. ТОлько ставлю по умолчанию разрешить доступ.А вот теперь надо при открытии произвольного отчета ( открывает пользователь) надо найти в этом справочнике этот отчет ( а искать я буду по этому самому идентификатору, который я в справочник запихал) и проверить, имеет ли право пользователь открывать этот отчет! Но как вот получить этот идентификатор произвольного отчета?-(((
#21 by Меланхоличный ворон
Так о чем разговор??? Ты же в процедуру ПриОткрытии будешь САМОСТОЯТЕЛЬНО (сам, своими руками) писать вызов функции проверки. Так почему бы при вызове этой функции САМОМУ и не проставить имя?А для внешних отчетов, как псевдозащиту от переименования используй РасположениеФайла.
#22 by Sla
Вот именно.Или эта процедура где-то еще может находиться?
#23 by miky
Придется видимо так и сделать! ТОлько тогда придется помнить об это если вдруг взбредет в голову переименовать название отчета в конфигураторе. ( программистов много, за всеми не уследишь). И следить чтобы в новые отчеты тоже добавлялись имена.
#24 by Smitt
Ну если очень хочется универсальности...Напиши обработку "Запуск отчетов". В форме создай список, который заполняется теми отчетами, которые можно юзать текущему пользователю.При выборе отчета делаешь "открытьформу(...)".А из меню отчеты выкидываешь, колонку "операции" отрубаешь.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С