Добрый день.
В Рознице 2.1.2.8 не устроил стандартный РМК_управляемый. Сохранил его как внешнюю обработку и доработал.
Пользователь с правами кассира запускает стандартный и работает в РМК без проблем.
После добаления ему прав на Использование внешних обработок, он стал запускать мой РМК через Файл-> Открыть и т.д. (без регистрации в дополнительных обработках в самой базе), но при аннулировании чека и прочих вещах пишет ошибку, что не хватает прав в строке с
обращением к ПараметрыСеанса.ПараметрыКлиентаНаСервере(..).
Просмотрел настройки прав и не нашёл, где поставить галочку заветную.
Спасибо, видимо, да. Понял, что из Файл-Открыть можно запустить внешнюю обработку только в Безопасном режиме. Буду регистрировать её стандартным образом, но только не получится ли, что прав опять почему-то не хватит, а потому придётся запускать её в небезопасном режиме, где отлючён контроль прав? Это уже неприемлимо!
(3) Ну, как настраивать права - это Ваша головная боль. Если Вы хотите использовать привилегированный режим в какой-то части кода, естественно, безопасный режим надо выставить в ложь. В чем проблема использования конкретной обработки, про которую Вы все знаете в "небезопасном" режиме? Она Вам C:\ отформатирует?
Да, в "небезопасном" контроль прав не отключен, он включается/выключается переходом в привилегированный!
буду использовать через регистрацию.
Зарегистрировал, добавил в список и пытаюсь запустить, но вот что-то не запускается по кнопке <Выполнить>.
Подскажите, где что не так?
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
// Объявим переменную, в которой мы сохраним и вернем "наружу" необходимые данные
СведенияОВнешнейОбработке = Новый Структура;
СведенияОВнешнейОбработке.Вставить("Вид", "ДополнительнаяОбработка");
СведенияОВнешнейОбработке.Вставить("Наименование", МетаДанные().Синоним);
СведенияОВнешнейОбработке.Вставить("Информация", МетаДанные().Комментарий);
СведенияОВнешнейОбработке.Вставить("Версия", "1");
СведенияОВнешнейОбработке.Вставить("БезопасныйРежим", ложь);
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Идентификатор");
Команды.Колонки.Добавить("Представление");
Команды.Колонки.Добавить("Модификатор"); // Для печатных форм.
Команды.Колонки.Добавить("ПоказыватьОповещение");
Команды.Колонки.Добавить("Использование");
Команда = Команды.Добавить();
Команда.Идентификатор = ""+МетаДанные().Имя+"-ОткрытьФорму";
Команда.Представление = "Открыть обработку "+МетаДанные().Синоним;
Команда.ПоказыватьОповещение = Ложь;
Команда.Использование = "ОткрытиеФормы";
СведенияОВнешнейОбработке.Вставить("Команды", Команды);
Возврат СведенияОВнешнейОбработке;
КонецФункции
Розница 2.1.2.8 на 8.3
подключил в дополнительные обработки в Продажи, там из списка дополнительных обработов выбираю и нажимаю <Выполнить> - должна запуститься, а ничего не происходит. Видимо я команду в процедуре СведенияОВнешнейОбработке() неправильно написал. Только не знаю где ошибка :(
Видимо не совсем правильно, спасибо!
Команда.Идентификатор = "ФормаМеню";
Изменил на название вызываемой формы - в РМК_управляемый она не Форма, а ФормаМеню, она стала открываться, но МГНОВЕННО закрываться. Ума не приложу, что ей ещё надо!
В модуль "Длительные операции" стр 164 втавить следующий текст "//Вл + что бы не останавливалось на внешних отчетах
Если НЕ Задание.Наименование = "Варианты отчетов: Формирование отчета" тогда
ВызватьИсключение(ТекстОшибки);
иначе
Возврат Истина;
КонецЕсли;
" заменяющий одну строку "ВызватьИсключение(ТекстОшибки);"
ошибка вызвана этим: {ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(23)}: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)
Запустить = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ЗапуститьОбновлениеИнформационнойБазы");
по причине:
Нарушение прав доступа!
Получается, что он не может получить просмотреть Параметры Сеанса.
что нужно сделать без изменения конфигурации, пока ищу.
Добавлю Есть к конфигурации ветка, которая отвечает за параметры сеанса, и там есть настройка прав, в моем случае на нее есть права только полные права, а их то я как раз и нехочу давать пользователям, придется добавлять роль в конфигурацию. :( косяк 1С
Найдено решение.Нужно создать роль. Доступ у роли к РегСвед РежимыПодключенияВнешнихМодулей чтение и просмотр и на все "Параметры сеанса"
все остальное работает только под полными правами
(13) more, (1) sapozhnikovfa, в более свежих релизах это исправлено!
Добавлен новый общий модуль "ОбновлениеИнформационнойБазыСлужебныйПовтИсп" с галочками: Сервер, Внеш соединение, Клиент (обычное) и стоит "Повторное использование возвращенных значение" = "На время сеанса"!!!
В этот общий модуль перенесена функция "НеобходимоОбновлениеИнформационнойБазы()"
В старой процедуре "НеобходимоОбновлениеИнформационнойБазы()" из общего модуля "ОбновлениеИнформационнойБазы" вызывается новая процедура:
А ошибка ранее была собственно в том что при повторном вызове данной процедуре в старом общем модуле у пользователя с ограниченными правами не мог установиться