Как скрыть реквизиты документа или справочника в универсальных отчетах ?
Добрый день товарищи!
Вот такой вопрос, думаю уже кто то сталкивался, интересно как это можно сделать.
Есть предположим у справочника или документа реквизиты, которые я не хочу чтобы были видны определенным ролям пользователей.
Ограничивать через RLS нельзя, потому что они используются при работе, да и к тому же ограничение по RLS не покажет что там записано, в реквизите, а сам реквизит будет виден, а хочется скрыть сам факт присутствия этого реквизита.
Например реквизит будет называться СЕКРЕТНО_НаОсосбомКонтроле.
На форме справочника(документа) просто скрываем этот реквизит, ориентируясь на префикс в названии "СЕКРЕТНО_"
Проблема в том, что если будем строить любой отчет на СКД, то потом пользователь при настройках отчета в дереве полей этот реквизит увидит, а хочется его оттуда убрать, просто чтобы самого названия реквизита не было видно при настройке отборов или группировок.
Вот интересно как же его из списка Отборов, группировок строк и колонок - убрать, чтобы просто его там не было.
Вот такой вопрос, думаю уже кто то сталкивался, интересно как это можно сделать.
Есть предположим у справочника или документа реквизиты, которые я не хочу чтобы были видны определенным ролям пользователей.
Ограничивать через RLS нельзя, потому что они используются при работе, да и к тому же ограничение по RLS не покажет что там записано, в реквизите, а сам реквизит будет виден, а хочется скрыть сам факт присутствия этого реквизита.
Например реквизит будет называться СЕКРЕТНО_НаОсосбомКонтроле.
На форме справочника(документа) просто скрываем этот реквизит, ориентируясь на префикс в названии "СЕКРЕТНО_"
Проблема в том, что если будем строить любой отчет на СКД, то потом пользователь при настройках отчета в дереве полей этот реквизит увидит, а хочется его оттуда убрать, просто чтобы самого названия реквизита не было видно при настройке отборов или группировок.
Вот интересно как же его из списка Отборов, группировок строк и колонок - убрать, чтобы просто его там не было.
По теме из базы знаний
- "Процессы 3.0: CRM, Бизнес-процессы, Управление по целям". Универсальная система управления процессами и показателями для любой конфигурации 1С
- Универсальная учетная система с конструктором документов и справочников в режиме 1С: Предприятие
- Универсальная печатная форма "Анализ объекта" + шаблон подключаемой обработки для 1С на управляемых формах + отладка внешней печатной формы.
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
- Универсальный журнал документов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(21) ture, Замечательно! Хорошо, я поставил @ (хотя я до этого ставил СЕКРЕТНО_, что по сути одно и то же - одинаковый префикс)
С скрытием реквизитов на формах - проблем нет - при отрисовке формы проверяем и скрываем.
Вопрос что делать с универсальными отчетами, построенными на СКД, когда данный реквизит виден в структуре метаданных в окнах группировки и отбора. Как оттуда убрать этот реквизит ?
С скрытием реквизитов на формах - проблем нет - при отрисовке формы проверяем и скрываем.
Вопрос что делать с универсальными отчетами, построенными на СКД, когда данный реквизит виден в структуре метаданных в окнах группировки и отбора. Как оттуда убрать этот реквизит ?
(39) zqzq, Чтобы ничего не перепутать, Убрать из ролей - это выключить просмотр в правах только или еще где-то можно "выключить" ? Криво да косо, вроде получилось. Универсальный отчет тоже поборол, но увы не на основании данных из RLS о видимости реквизита.
Отсюда подвопрос - можно ли программно, зная например что это реквизит "Организация" от документа "АвансовыйОтчет" проверить, включен доступен ли просмотр ли текущему пользователю этого реквизита по настройкам прав?
Доступно или нет чтение - понятно что можно проверить например в Попытке прочитать данные из реквизита, а как узнать именно доступен ли просмотр ? (просмотр как снимал - на картинке выше, про него речь)
Отсюда подвопрос - можно ли программно, зная например что это реквизит "Организация" от документа "АвансовыйОтчет" проверить, включен доступен ли просмотр ли текущему пользователю этого реквизита по настройкам прав?
Доступно или нет чтение - понятно что можно проверить например в Попытке прочитать данные из реквизита, а как узнать именно доступен ли просмотр ? (просмотр как снимал - на картинке выше, про него речь)
(40) alex_4x,
Глобальный контекст (Global context)
ПравоДоступа (AccessRight)
Синтаксис:
ПравоДоступа(<Право>, <ОбъектМетаданных>, <Пользователь/Роль>, <СтандартныйРеквизитСтандартнаяТабличнаяЧасть>)
Параметры:
<Право> (обязательный)
Тип: Строка.
Название права доступа. Могут быть использованы следующие значения:
Чтение (Read) - чтение;
Добавление (Insert) - добавление;
а как узнать именно доступен ли просмотр
Глобальный контекст (Global context)
ПравоДоступа (AccessRight)
Синтаксис:
ПравоДоступа(<Право>, <ОбъектМетаданных>, <Пользователь/Роль>, <СтандартныйРеквизитСтандартнаяТабличнаяЧасть>)
Параметры:
<Право> (обязательный)
Тип: Строка.
Название права доступа. Могут быть использованы следующие значения:
Чтение (Read) - чтение;
Добавление (Insert) - добавление;
(1) Все равно непонятно, что мешает совсем убрать этот реквизит?
Завести регистр сведений с названием "Секретно" Измерение-ЛюбаяСсылка(ДокументСсылка, или только нужный документ), ресурс - НаОсобомКонтроле и переписать весь код глобальным поиском, где этот реквизит используется на получение и запись данных из/в регистр. Обработкой перенести данные и удалить реквизит. И не выбирать этот регистр в СКД. Настройка "Использовать дочерние" в СКД открывает доступ ко всем реквизитам на уровне платформы и это можно изменить только патчем самой платформы 1С, что представляется маловероятным.
Завести регистр сведений с названием "Секретно" Измерение-ЛюбаяСсылка(ДокументСсылка, или только нужный документ), ресурс - НаОсобомКонтроле и переписать весь код глобальным поиском, где этот реквизит используется на получение и запись данных из/в регистр. Обработкой перенести данные и удалить реквизит. И не выбирать этот регистр в СКД. Настройка "Использовать дочерние" в СКД открывает доступ ко всем реквизитам на уровне платформы и это можно изменить только патчем самой платформы 1С, что представляется маловероятным.
(42) a-novoselov, Так сделать можно. Согласен. Но не подходит по той причине, что я хочу поставить в невидимые в том числе родные для типового решения реквизиты (те, которые хочу, может даже все!!!) :-)
Вот по этому технически - да, так как Вы предлагаете сделать можно и даже правильно, но данную задачу таким способом не решить (очень трудозатратно решить).
Благодаря дельным советам, в отчетах уже всё заработало :-) Остаются "штрихи".
При открытии форм надо убирать "закрытые от просмотра" реквизиты.
Я так понимаю что подписки на событие "при открытии формы" в 1С 8.2 Толстый клиент неуправляемые формы - НЕТ.
Так ведь?
То есть в каждой форме надо процедуру "зачистки" явно вызывать из процедуры "ПриОткрытии()" ???
Серьезно ? Но мне это не нравится!!! Честное слово не нравится! Я хочу чтобы при открытии любой формы, в том числе внешнего отчета, (ну дополнительные внешние отчеты и обработки) нужный мне код вызывался, и каждую обработку для этого менять я категорически не хочу. Можно это как-то организовать ? На таймере например проверят список активных форм, если новая форма появилась - то её обрабатывать? Или еще как то?
Вот по этому технически - да, так как Вы предлагаете сделать можно и даже правильно, но данную задачу таким способом не решить (очень трудозатратно решить).
Благодаря дельным советам, в отчетах уже всё заработало :-) Остаются "штрихи".
При открытии форм надо убирать "закрытые от просмотра" реквизиты.
Я так понимаю что подписки на событие "при открытии формы" в 1С 8.2 Толстый клиент неуправляемые формы - НЕТ.
Так ведь?
То есть в каждой форме надо процедуру "зачистки" явно вызывать из процедуры "ПриОткрытии()" ???
Серьезно ? Но мне это не нравится!!! Честное слово не нравится! Я хочу чтобы при открытии любой формы, в том числе внешнего отчета, (ну дополнительные внешние отчеты и обработки) нужный мне код вызывался, и каждую обработку для этого менять я категорически не хочу. Можно это как-то организовать ? На таймере например проверят список активных форм, если новая форма появилась - то её обрабатывать? Или еще как то?
Смотрите в сторону функциональных опций, тогда и в формах ничего прописывать не надо будет, платформа сама все спрячет.
Остается только вопрос, как для разных пользователей прописать разное значение функциональной опции. У нас везде константы в качестве значения используются, что вам не подойдет, но в качестве хранения еще можно и ресурс регистра использовать, но так не пробовал.
Остается только вопрос, как для разных пользователей прописать разное значение функциональной опции. У нас везде константы в качестве значения используются, что вам не подойдет, но в качестве хранения еще можно и ресурс регистра использовать, но так не пробовал.
Платформа 1С:Предприятие 8.2 (8.2.19.83)
Конфа УПП 1.3 (но мне кажется это совершенно не принципиально)
Закладка Функциональные опции в конфигураторе есть и там даже что то уже сделано (в базовом решении)
Но я никогда с этими функциональными опциями не работал. Может посоветуете почитать где, чтобы понятно и с примерами было.
Спасибо!
Конфа УПП 1.3 (но мне кажется это совершенно не принципиально)
Закладка Функциональные опции в конфигураторе есть и там даже что то уже сделано (в базовом решении)
Но я никогда с этими функциональными опциями не работал. Может посоветуете почитать где, чтобы понятно и с примерами было.
Спасибо!
Опечален я тем фактом, что эти функциональные опции работают только на управляемых формах.
Это что же получается, задачу эту на толстом клиенте никак не решить ?
Должен быть какой-то способ!
НА ТОЛСТОМ КЛИЕНТЕ НЕ РАБОТАЕТ (не только на формах, но самое главное в форме выбора поля отчета на СКД)!
А интересно, формочку эту заменить или подменить или както обработать перед выбором можно ? Мне кажется она полностью платформой делается и на неё вообще никак повлиять нельзя. Или можно всё таки как-то ???
Это что же получается, задачу эту на толстом клиенте никак не решить ?
Должен быть какой-то способ!
НА ТОЛСТОМ КЛИЕНТЕ НЕ РАБОТАЕТ (не только на формах, но самое главное в форме выбора поля отчета на СКД)!
А интересно, формочку эту заменить или подменить или както обработать перед выбором можно ? Мне кажется она полностью платформой делается и на неё вообще никак повлиять нельзя. Или можно всё таки как-то ???
в обычных формах для конкретного отчета в форме в обработчике ПриОткрытии() делал так:
но это касалось только показателей.. если нужно закрыть только конкретный реквизит справочника или документа, который явно присутствует в доступных полях, то тогда не знаю
Если НЕ обЭтоБулево(нпПолучитьЗначениеПраваДляТекущегоПользователя(глТекущийПользователь, ПланыВидовХарактеристик.ПраваПользователей.Доступ_НастройкиОтчетаАнализПродажПоИсточникамРекламы)) Тогда //требуется ограничить доступ
Для каждого ТекНабор из СхемаКомпоновкиДанных.НаборыДанных Цикл
Для Каждого ТекПоле из ТекНабор.Поля Цикл
Если ТекПоле.Поле = "ВаловыйДоход" ИЛИ ТекПоле.Поле = "ВаловыйДоходУпр" ИЛИ ТекПоле.Поле = "СуммаНДС" ИЛИ ТекПоле.Поле = "СуммаКомиссииБанка"
ИЛИ ТекПоле.Поле = "Доход" ИЛИ ТекПоле.Поле = "СреднийПроцентНаценки"
ИЛИ ТекПоле.Поле = "СреднийПроцентНаценкиУпр" ИЛИ ТекПоле.Поле = "СреднийПроцентНаценкиУпр_Числитель" ИЛИ ТекПоле.Поле = "СреднийПроцентНаценкиУпр_Знаменатель"
ИЛИ ...
Тогда
ТекПоле.ОграничениеИспользования.Поле = Истина;
ТекПоле.ОграничениеИспользования.Группировка = Истина;
ТекПоле.ОграничениеИспользования.Порядок = Истина;
ТекПоле.ОграничениеИспользования.Условие = Истина;
ТекПоле.ОграничениеИспользованияРеквизитов.Поле = Истина;
ТекПоле.ОграничениеИспользованияРеквизитов.Группировка = Истина;
ТекПоле.ОграничениеИспользованияРеквизитов.Порядок = Истина;
ТекПоле.ОграничениеИспользованияРеквизитов.Условие = Истина;
КонецЕсли;
КонецЦикла;
КонецЦикла;
сзЗапрещенныеПоля = Новый СписокЗначений;
Для каждого ТекПоле из СхемаКомпоновкиДанных.ВычисляемыеПоля Цикл
Если ТекПоле.ПутьКДанным = "КурсоваяРазница" ИЛИ ТекПоле.ПутьКДанным = "Значение"
ИЛИ ТекПоле.ПутьКДанным = "ВаловыйДоходУпр" ИЛИ ТекПоле.ПутьКДанным = "СреднийПроцентНаценкиУпр"
ИЛИ ТекПоле.ПутьКДанным = "СреднийПроцентНаценкиУпр_Числитель" ИЛИ ТекПоле.ПутьКДанным = "СреднийПроцентНаценкиУпр_Знаменатель"
ИЛИ ...
Тогда
сзЗапрещенныеПоля.Добавить(ТекПоле);
КонецЕсли;
КонецЦикла;
Для каждого ТекЭлемент из сзЗапрещенныеПоля Цикл
СхемаКомпоновкиДанных.ВычисляемыеПоля.Удалить(ТекЭлемент.Значение);
КонецЦикла;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КонецЕсли;
Показатьно это касалось только показателей.. если нужно закрыть только конкретный реквизит справочника или документа, который явно присутствует в доступных полях, то тогда не знаю
(11) alex_4x, ну универсальное решение на обычных формах вы вряд ли найдете. Реально же можно сделать так: в СКД наборе данных отключить автозаполнение, в конструкторе запроса на закладке "Компоновка данных" выбрать нужные поля - и где нужно СКРЫТЬ реквизит, напротив тех полей НЕ СТАВИТЬ галку "Использовать дочерние" (или, если в тексте запроса, то в фигурных скобках после названия поля не ставить звездочку через точку). Да, тогда не будут никакие доступны реквизиты. Но нужные реквизиты можно подключить либо явно там же (дополнительными полями, правда, тогда они будут отдельно), либо, что будет лучше - через характеристики! Правда, там придется прописать явно все реквизиты, которые предполагается, что пользователь выберет.
(11) alex_4x, самое неудобное решение: это завести регистр, например РеквизитыПоРолям, содержащий 2 измерения "роль" и "имяФормы" и ресурс строковый "Реквизиты", который будет содержать через запятую список реквизитов, которые нужно скрыть, ну и сделать функцию, которая будет отрабатывать передоткрытием и управлять видимостью.
(11) alex_4x, вам уже предлагали хорошее решение - вынести всё в регистр. Измерение - ссылка на документ, ресурсы - реквизиты для припрятывания. И логику реализовать несложно. Но если вам так хочется удалить гланды советским способом, то можете, например, задать реквизиту в качестве синонима какую-нибудь брехню типа "Неважный и никому не нужный реквизит" или тупо точку.
(18) vasyak319, Я не понял что дальше делать с регистром.
Для того чтобы определить, что этот реквизит не надо показывать?
Так это я могу и так определить, у меня в названии всегда будет одинаковый префикс "СЕКРЕТНО_"
Но как убрать эти реквизиты из отборов и группировок? С учетом, что даже если он будет доступен через иерархию сущностей?
Для того чтобы определить, что этот реквизит не надо показывать?
Так это я могу и так определить, у меня в названии всегда будет одинаковый префикс "СЕКРЕТНО_"
Но как убрать эти реквизиты из отборов и группировок? С учетом, что даже если он будет доступен через иерархию сущностей?
(20) vasyak319, Нет, так не годится. Я хочу чтобы это был именно реквизит и этот реквизит хочу скрыть.
В отдельном регистре сведений конечно можно эти данные хранить, это выход, не спорю, но тут задача именно реквизит существующий в справочнике документе скрыть.
На самом деле, я хочу скрыть не один, а все реквизиты, которые пользователю "ну не очень" нужны. Чтобы не лез куда не надо :-)
Переименовывать я их конечно не буду, но допустим добавить значек "@" в Синоним - почему бы и нет....
Поэтому вариант хранить данные которые не хочу показывать в отдельном регистре в данном случае не подходит.
Вопрос стоит именно как скрыть уже существующие реквизиты. На картинке выше понятно о чём я спрашиваю ?
В отдельном регистре сведений конечно можно эти данные хранить, это выход, не спорю, но тут задача именно реквизит существующий в справочнике документе скрыть.
На самом деле, я хочу скрыть не один, а все реквизиты, которые пользователю "ну не очень" нужны. Чтобы не лез куда не надо :-)
Переименовывать я их конечно не буду, но допустим добавить значек "@" в Синоним - почему бы и нет....
Поэтому вариант хранить данные которые не хочу показывать в отдельном регистре в данном случае не подходит.
Вопрос стоит именно как скрыть уже существующие реквизиты. На картинке выше понятно о чём я спрашиваю ?
Доступность полей, выбираемых через точку что в построителе, что в СКД явно никак не настраивается (они все доступны). Только отключать через точку и заводить через характеристики. Хотя не исключаю, конечно, что есть другое решение.
Интересная задачка получилась однако.
Если бы можно было форму как-то перехватить перед показом, то оттуда просто удалить бы не нужное.
Но эту форму не перехватить.
Данные которые в неё попадают - тоже получается скрыты от наших глаз.
Тупик ?
Если бы можно было форму как-то перехватить перед показом, то оттуда просто удалить бы не нужное.
Но эту форму не перехватить.
Данные которые в неё попадают - тоже получается скрыты от наших глаз.
Тупик ?
Не верю что бесполезно.
Наверняка есть какой-то способ.
Список реквизитов получается из базы, значит идет какой-то запрос. Этот запрос где-то можно перехватить и скорректировать.
Может есть где-то в SQL базе хранимая процедура для получения реквизитов объектов системой компоновки данных - тогда можно эту хранимую процедуру подкорректировать. Наверняка есть какое-то решение! И наверняка кто-то уже с этим сталкивался и проблему эту придумал как обойти.
Наверняка есть какой-то способ.
Список реквизитов получается из базы, значит идет какой-то запрос. Этот запрос где-то можно перехватить и скорректировать.
Может есть где-то в SQL базе хранимая процедура для получения реквизитов объектов системой компоновки данных - тогда можно эту хранимую процедуру подкорректировать. Наверняка есть какое-то решение! И наверняка кто-то уже с этим сталкивался и проблему эту придумал как обойти.
(29) vasyak319, Запретить к ним доступ через RLS - точно не подходит.
Во первых с ограничение по RLS - сам реквизит будет таки виден (что он есть) - (а его надо скрыть)
А доступа к содержимому не будет (а по задумке как раз доступ к реквизиту должен быть)
То есть всё с точностью до наоборот.
1С - это вообще всё в "Юмор", иногда. Особенно ответы от официальной поддержки 1С.
Во первых с ограничение по RLS - сам реквизит будет таки виден (что он есть) - (а его надо скрыть)
А доступа к содержимому не будет (а по задумке как раз доступ к реквизиту должен быть)
То есть всё с точностью до наоборот.
1С - это вообще всё в "Юмор", иногда. Особенно ответы от официальной поддержки 1С.
(30) alex_4x, Насколько я знаю, СКД не покажет, если не будет доступа. Там вообще полная универсальный интерфейс: я как-то долго не мог понять, почему у меня некоторым пользователям в отчёте некоторые цифры не показываются. Права на все регистры, ессно, были. Оказалось, что надо дать право Просмотр (Чтения недостаточно!) на какой-то регистр, который им даже и не показывался, а использовался внутри запроса для пересчёта километров в килограммы - там коэффициенты хранились. Написал в 1С, но им пофиг мороз.
(31) vasyak319, Начал копать в этом направлении.
Результат такой:
В всех правах, ставлю курсор на реквизит -> П.К.М. -> Дополнительно -> Права (Ключик)
В правах снимаю галочки Просмотр, Редактирование
И делаю новый отчет к регистру с этим документом регистратором.
После этого в новом отчете на чистом СКД не видно этого поля !!!! Ни в группировках нет его ни в отборах! Класс!
Три раза проверил, действительно не видно!
Но в старых отчетах (которые в конфу встроены) например "Ведомость по взаиморасчетам с клиентами", "Универсальный отчет" - поле всё равно доступно!
Это уже что-то! Копание идет в нужную сторону, спасибо большое Vasyak319 за правильное направление!
Но не понятно почему так. (почему в новом отчете НЕ видно, а в старых ВИДНО)
Мысли есть? Только если есть мысли - вы уж пожалуйста разжевывайте. ;-)
Результат такой:
В всех правах, ставлю курсор на реквизит -> П.К.М. -> Дополнительно -> Права (Ключик)
В правах снимаю галочки Просмотр, Редактирование
И делаю новый отчет к регистру с этим документом регистратором.
После этого в новом отчете на чистом СКД не видно этого поля !!!! Ни в группировках нет его ни в отборах! Класс!
Три раза проверил, действительно не видно!
Но в старых отчетах (которые в конфу встроены) например "Ведомость по взаиморасчетам с клиентами", "Универсальный отчет" - поле всё равно доступно!
Это уже что-то! Копание идет в нужную сторону, спасибо большое Vasyak319 за правильное направление!
Но не понятно почему так. (почему в новом отчете НЕ видно, а в старых ВИДНО)
Мысли есть? Только если есть мысли - вы уж пожалуйста разжевывайте. ;-)
(32) alex_4x, в настройку включен.
В неправильном направлении идете товарищ! Выхватили реквизит и давай его скрывать - это значит, что в базе все открыто? У меня аналитики могут везде поглядеть, а простые чины видят только те формы, которые им позволяют не рыть базу, а работу свою оформлять. Не могут подглядеть что-то отличное от того, что сами делали.
Конечно каждый чих требуют зализывать, но зато это много меньший объем работы, чем базу всякий раз проглядывать под разными углами перед релизом.
В неправильном направлении идете товарищ! Выхватили реквизит и давай его скрывать - это значит, что в базе все открыто? У меня аналитики могут везде поглядеть, а простые чины видят только те формы, которые им позволяют не рыть базу, а работу свою оформлять. Не могут подглядеть что-то отличное от того, что сами делали.
Конечно каждый чих требуют зализывать, но зато это много меньший объем работы, чем базу всякий раз проглядывать под разными углами перед релизом.
(34) alex_4x, УФ.
Делаю подсистемы и вывожу туда, только "правильные" формы, нужные для работы.
Пользователи видят только то, что относится к работе их отдела.
Внешние отчеты не разрешены.
Аналитики могут пользоваться и наблюдать все.
У базы есть вьюхи, через которые можно вытянуть ВСЕ. Но для этого нужен доступ к консоли SQL и голова программиста. Чтоб собрать секретные сведения не достаточно просто пары документов, нужно анализировать внушительный массив данных, чтоб построить сколько-нибудь чистый экономический показатель.
Я не прячу цену закупки, я просто даю на нее смотреть тем, кто ее может видеть в документе. Отчета по ней у простого юзака нет (ему придется открывать документы), а у аналитика есть отчет.
Делаю подсистемы и вывожу туда, только "правильные" формы, нужные для работы.
Пользователи видят только то, что относится к работе их отдела.
Внешние отчеты не разрешены.
Аналитики могут пользоваться и наблюдать все.
У базы есть вьюхи, через которые можно вытянуть ВСЕ. Но для этого нужен доступ к консоли SQL и голова программиста. Чтоб собрать секретные сведения не достаточно просто пары документов, нужно анализировать внушительный массив данных, чтоб построить сколько-нибудь чистый экономический показатель.
Я не прячу цену закупки, я просто даю на нее смотреть тем, кто ее может видеть в документе. Отчета по ней у простого юзака нет (ему придется открывать документы), а у аналитика есть отчет.
Нет, не годится!
Мне надо чтобы код для проверки и зачистки и еще кое для чего - запускался при открытии любой формы, любой обработочки или отчетика и в том числе внешней обработки, которую пользователь принес на флешке и я эту обработку в глаза не видел! Закрывать доступ пользователям к запуску внешних отчетов и обработок нельзя!
Может быть есть метод перебора всех открытых форм ? Тогда хоть бы по таймеру вызывать процедуру и смотреть какие формы открыты...
Мне надо чтобы код для проверки и зачистки и еще кое для чего - запускался при открытии любой формы, любой обработочки или отчетика и в том числе внешней обработки, которую пользователь принес на флешке и я эту обработку в глаза не видел! Закрывать доступ пользователям к запуску внешних отчетов и обработок нельзя!
Может быть есть метод перебора всех открытых форм ? Тогда хоть бы по таймеру вызывать процедуру и смотреть какие формы открыты...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот