Наткнулся на глюк. Из меню вызывается глобальная функция, в которой грузится внешняя обработка и открывается функцией ОткрытьФорму. При первом обращении обработка открывается в модальном режиме.
Буду разбираться.
Отбой воздушной тревоги. Это я сам неправильно открытие прописал.
Но с методом надо будет все же поработать. Сейчас получается, что возвращается 0 и когда ошибка какая-то, и когда загрузка не требуется. Во втором случае надо, наверное, возвращать текущий хэш.
Сегодня запустил на боевой базе. Пришлось откатывать рано утром. Проблема с правами на добавленный объект.
У пользователь массово посыпалось "недостаточно прав".
Цитата: АЛьФ от 21 марта 2024, 09:28на добавленный объект.
Это как?
.
Помнится было тоже как-то на каком-то релизе на тогда новом относительно выдавало "недостаточно прав доступа", потом обновился на еще более новый - нормально...
Цитата: Злоп от 21 марта 2024, 10:50Цитата: АЛьФ от 21 марта 2024, 09:28на добавленный объект.
Это как?
.
Помнится было тоже как-то на каком-то релизе на тогда новом относительно выдавало "недостаточно прав доступа", потом обновился на еще более новый - нормально...
Я у себя права на добавляемый объект не трогаю. Как движок ставит по умолчанию, так и есть. А движок же от 1С, т.е. жутко своенравный. Получается, что иногда для некоторых прав почему-то права не ставит.
Такое можно и в Конфигураторе заметить, когда объекты добавляешь. Тут тот же код работает.
Уже примерно выстроил стратегию исправления.
В ходе копаний с правами вырисовывается возможность добавить объект "права" и в режиме Предприятия рулить для текущего пользователя одинэсными правами. Правда пока не вижу где это могло бы быть полезным. Чужие же права менять не получится. Только "свои" и только в рамках текущего сеанса.
Разве что для тестов. Чтобы постоянно себе: не менять права на чужие/не делать лишние учетки/не запоминать чужие пароли :-)
Права смогут работать только на ограничение или возможно будет еще и повышение прав?
Если скрестить с этим https://infostart.ru/1c/tools/162863/ получится очень интересное решение.
Цитата: Djelf от 22 марта 2024, 14:40Права смогут работать только на ограничение или возможно будет еще и повышение прав?
Если скрестить с этим https://infostart.ru/1c/tools/162863/ получится очень интересное решение.
Можно будет давать разрешения, которые по умолчанию закрыты.
Опасная штука однако получится. Это будет не дыра, это будет нора, всем норам нора.
Наверное не стоит такое делать, ибо как защитить и прикрыть это я не очень понимаю.
Цитата: Djelf от 22 марта 2024, 14:54Опасная штука однако получится. Это будет не дыра, это будет нора, всем норам нора.
Наверное не стоит такое делать, ибо как защитить и прикрыть это я не очень понимаю.
Ну, семерка вообще не сильно защищенная система. Тем более в связке с 1С++ и FormEx.
Это то известно, но хотя бы так видимо стоит сделать и еще реализовать запрет изменения этих параметров после их установки.
Процедура ПриНачалеРаботыСистемы()
Права=СоздатьОбъект("Права");
Права.РазрешитьПовышениеПолномочий(0/1);
Права.РазрешитьПонижениеПолномочий(0/1);
КонецПроцедуры
Еще одна проблема в рамках загрузки внешних обработок.
При замере производительности в отладчике на загруженной обработке получаем что-то типа "модуль отсутсвует". Это нехорошо.
Вроде как напрашивается метод для определения, что работа идет под отладчиком. Но если обработка загружена, а уже потом запущен отладчик, то не спасет.
Подсовывать отладчику внешнюю обработку? Сомневаюсь, что это возможно...
Цитата: Djelf от 22 марта 2024, 15:06Процедура ПриНачалеРаботыСистемы()
У меня реализовано через использование справочников в которых хранятся права на использование.
Если к примеру какому-то пользователю не даны права на формирование отчёта, то он не сможет его сформировать.
Кроме это права можно задать в xml файле, содержащем настройки диалоговых форм, разного рода прав, ...
Конечно доступ к изменению xml файлов регулируется правами пользователя на работу с xml (Windows права).
Что касается использование сторонних erp, то можно дать права на их использование лишь отдельным пользователям.
Вообщем как-то так.
Цитата: Djelf от 22 марта 2024, 14:40Права смогут работать только на ограничение или возможно будет еще и повышение прав?
Если скрестить с этим https://infostart.ru/1c/tools/162863/ получится очень интересное решение.
А у тебя есть скачанная? Что там за обработка?
Нет, не скачивал и не смотрел. У меня с правами все значительно проще, всего два набора прав, так что необходимости в ней не было..
Делаю так:
Рез=Сервис.ЗагрузитьВнешнююОбработку("d:\Restored\CopyAC\ExtForms2\Обработки\ТСД800.ert","Обработка.ТСД800");
Сервис.СписокВсехФорм().Показать();
В списке форм не вижу новую.
Это можно поправить?
Просто идея применения этого метода у меня такая.
Есть внешняя обработка "ТСД.ert". Она настроена на одно разрешение экрана. Чтобы использовать её на другом разрешении - делаю вторую внешнюю обработку ТСД800 с другими размерами без модуля и в случае необходимости загружаю её методом ЗагрузитьВнешнююОбработку() и затем в ПриЗагрузкеФормы() для обработки "ТСД.ert", полагаю, можно будет подменить на форму новой загруженной "Обработка.ТСД800".
Но вот в списке форм её и не увидел. Поэтому дальше пока не пробовал.
Цитата: alyuev от 23 апреля 2024, 14:18Делаю так:
Рез=Сервис.ЗагрузитьВнешнююОбработку("d:\Restored\CopyAC\ExtForms2\Обработки\ТСД800.ert","Обработка.ТСД800");
Сервис.СписокВсехФорм().Показать();
В списке форм не вижу новую.
Это можно поправить?
Да, поправлю.
Цитата: alyuev от 23 апреля 2024, 14:28Просто идея применения этого метода у меня такая.
Есть внешняя обработка "ТСД.ert". Она настроена на одно разрешение экрана. Чтобы использовать её на другом разрешении - делаю вторую внешнюю обработку ТСД800 с другими размерами без модуля и в случае необходимости загружаю её методом ЗагрузитьВнешнююОбработку() и затем в ПриЗагрузкеФормы() для обработки "ТСД.ert", полагаю, можно будет подменить на форму новой загруженной "Обработка.ТСД800".
Но вот в списке форм её и не увидел. Поэтому дальше пока не пробовал.
Отвечаю сам себе - подменять форму нужно в ПриЗагрузкеФормыВнешнегоОтчета()!
я этот подход уже лет 12 как обдумываю ;-)
но потока работ, которые требуют такого - совсем небольшой поток работ, поэтому так и не приступил...