Вход | Регистрация


Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

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

Ø
Я
   miky
02.12.04 - 09:51
Как узнать при открытии отчета или обработки их идентификатор. А при открытии внешних отчетов/обработок имя файла?
 
 
   Меланхоличный ворон
1 - 02.12.04 - 10:12
Ну с файлом понятно: РасположениеФайла, а вот насчет идентификатора отчета: вы что не знаете как он называется когда его разрабатываете?
   miky
2 - 02.12.04 - 10:15
Я хочу следующее В отчете в процедуре:
ПриОткрытии()
Если (идентификаторЭтогоОтчета)<>"чему-то-там" тогда
Сообщить("Иди нафиг");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецПроцедуры
 
Вот как мне узнать этот идентификатор если это отчет в конфигурации и если он внешним файлом то имя файла?
   Пух
3 - 02.12.04 - 10:19
Не совсем понятно для чего это вообще нужно?
Сообщить("Иди нафиг") - а зачем тогда отчет если он открываться не будет?
   miky
4 - 02.12.04 - 10:22
Блин ну я упрощенно написал.
На самом деле на каждого пользователя настраивается список отчетов и обработок которые он не может открывать. На каждого пользователя этот список свой, причем он динамический, и может постоянно меняться во времени, поэтому чтобы не заморачиваться с правами в конфигураторе каждый раз хочу сделать так. Список запрещенных отчетов лежит в справочнике подниненном справочнику пользователи.
   Меланхоличный ворон
5 - 02.12.04 - 10:26
(4) Э... (идентификаторЭтогоОтчета)<>"чему-то-там" под словом "чему-то-там" что скрывается?
Процедура ПриОткрытии()
    Если (глПользовательМожетМеняОткрывать("МеняЗовутКрутойОтчет") = 0) Тогда
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
КонецПроцедуры;
   Пух
6 - 02.12.04 - 10:28
Ну так проверяй ПриОткрытии() принадлежит ли этот отчет подчиненому справочнику или нет
   miky
7 - 02.12.04 - 10:33
В справочнике хранятся то не сами отчеты, а их названия как они называются в конфигураторе. И вопрос то я вроде ясный задаю. Как узнать при открытии отчета, как этот отчет называется в конфигураторе?
   АЛьФ
8 - 02.12.04 - 10:37
ПолныйТипОбъекта()
FullObjectType()
Синтаксис:
ПолныйТипОбъекта()
Назначение:
Возвращает полный тип объекта, которому принадлежит расширяемая форма.
Пример:
ФормаРасш = СоздатьОбъект("РасширениеФормы");
ФормаРасш.УстановитьФорму(Форма);
Сообщить(ФормаРасш.ПолныйТипОбъекта());// выводит строку вида: "Справочник.Тестовый.ФормаСписка.ДляВыбора"
 
http://www.consult.legion.ru/alf/formex.shtml
   miky
9 - 02.12.04 - 10:39
АЛьФ, а без применения ВК никак?????
   Дяпти
10 - 02.12.04 - 10:41
(9) Если без ВК, тогда на v8
 
  Рекламное место пустует
   taisa
11 - 02.12.04 - 10:42
Была такая ситуация. Случалось,что данные в базе непонятно каким образом изменялись. Возникло предположение, что кто-то из пользователей запускал обработки (которые, допустим, перепроводили документы). Но в ЖР записи по запуску обработок на заносятся. Предложили при запуске всех обработок формировать записи в ЖР. Стандартные средства для определения идентификатора обработок не нашла. Пришлось в каждой обработке записывать ее идентификатор. Долго, неинтересно. Может все же существует более легкое решение?
   Меланхоличный ворон
12 - 02.12.04 - 10:42
(7) Как узнать как называется отчет? Либо посмотреть в конфигураторе, либо спросить у того, кто его назвал.
   miky
13 - 02.12.04 - 10:46
На 8-ку только переходим. Так что надо для семерки.
Ну неужели нету средства??
   Sla
14 - 02.12.04 - 10:48
(2)Объясните мне, тупому, где находится эта самая процедура ПриОткрытии?
   taisa
15 - 02.12.04 - 10:50
(14) В модуле формы отчета. В принципе может отсутствовать.
   one more
16 - 02.12.04 - 10:51
как я делал:
в справочнике "Права" (подчиненный спр.сотрудники) имеем два рекизита Доступность и редактировние (булевы), наименование - Идентификатор.
в ПриОткрытии() просто вставляем процедуру из голобальника которая проверяет права и разрешает\запрещает просмотр либо редактирование
----
ЗЫ- ну и обработочку для массового заполнения прав с первоначальными значения ми "нет" для всех объектов метаданных (не только отчетов)
----
Зы почти тоже самое реализовал и для реквизитов - спр Реквизиты - подчинен спр.Права
   Sla
17 - 02.12.04 - 10:52
И что? Открываем отчет "Чему-то-там" и не знаем как он называется?
   Beatles
18 - 02.12.04 - 10:52
В (5) правильный ответ.
   sd
19 - 02.12.04 - 10:57
(13) если очень хочется универсальности, добавь переменную ИдентификаторФормы и инициализируй ее для каждого отчета руками: ИдентификаторФормы = "Отчет.123"
Потом при открытии сравнивай:
Если глКонтрольПравДоступа(ИдентификаторФормы) = 0 Тогда
   Предупреждение("ПНХ!"); СтатусВозврата(0); Возврат;
КонецЕсли
По-другому без ВК ты этого не сделаешь.
   miky
20 - 02.12.04 - 10:59
(17) нет! Вот я и хочу програмно узнать, как называется отчет.
(16) Я сделал то же самое! В этом справочнике "права" я оббегаю через
Метаданные.Отчет(номер).Идентификатор все отчеты и заполняю их идентификаторами. ТОлько ставлю по умолчанию разрешить доступ.
А вот теперь надо при открытии произвольного отчета ( открывает пользователь) надо найти в этом справочнике этот отчет ( а искать я буду по этому самому идентификатору, который я в справочник запихал) и проверить, имеет ли право пользователь открывать этот отчет! Но как вот получить этот идентификатор произвольного отчета?-(((
   Меланхоличный ворон
21 - 02.12.04 - 11:02
(20) Так о чем разговор??? Ты же в процедуру ПриОткрытии будешь САМОСТОЯТЕЛЬНО (сам, своими руками) писать вызов функции проверки. Так почему бы при вызове этой функции САМОМУ и не проставить имя?
А для внешних отчетов, как псевдозащиту от переименования используй РасположениеФайла.
   Sla
22 - 02.12.04 - 11:07
(21)Вот именно.
Или эта процедура где-то еще может находиться?
   miky
23 - 02.12.04 - 11:09
(20) Придется видимо так и сделать! ТОлько тогда придется помнить об это если вдруг взбредет в голову переименовать название отчета в конфигураторе. ( программистов много, за всеми не уследишь). И следить чтобы в новые отчеты тоже добавлялись имена.
   Smitt
24 - 02.12.04 - 11:14
Ну если очень хочется универсальности...
Напиши обработку "Запуск отчетов". В форме создай список, который заполняется теми отчетами, которые можно юзать текущему пользователю.
При выборе отчета делаешь "открытьформу(...)".
А из меню отчеты выкидываешь, колонку "операции" отрубаешь.




Список тем форума

Форум Территория 1С

Рекламное место пустует   Рекламное место пустует
Компьютер — устройство разработанное для ускорения и автоматизации человеческих ошибок.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует