Обмен данными УРИБ (УРБД) с правами пользователя (под интерфейсом кассира и других пользователей) в Управлении торговлей 10.3


Когда меня озадачили в файловом варианте конфигурации Управление торговлей 10.3 реализовать выполнение обмена под интерфейсом кассира — чтобы было удобно и быстро, я так и не нашел нужного мне решения. Основная проблема — права доступа у роли кассира на выполнение обмена УРБД, точнее отсутствие этих прав. Давать же полные права — это давать админские права. Создавать отдельного пользователя для выполнения обмена с полными правами — опять те же грабли с правами и лишнее усложнение процедуры обмена. Небольшие изменения в конфигурацию — и пользователь без полных прав может делать обмен данными РИБ.

В общем, другие советы шаманов также не подходили, я лишь понял, что обмен РИБ и роль пользователя несовместимы, а другие манипуляции излишни.

Выход был, как ни странно, прост – что называется граблями по граблям – путем наделения пользователя полными правами, но только на время процедуры обмена. Это делается методом глобального контекста УстановитьПривилегированныйРежим(Истина). В принципе прописывать его отключение в файловом варианте необязательно – при возврате из процедуры/функции, в которой был включен привилегированный режим, он будет выключен автоматически (неявно).

 Изменения:

  1. Создан интерфейс «Обмен РИБ» с одной кнопкой «Выполнить обмен», создана роль «Обмен РИБ» — права только на запуск и право на выполнение обновлений информационной базы – это на случай если будут изменения конфигурации и кассир может через свой интерфейс обновить конфигурацию самостоятельно, но это уже другая история. И все, больше никаких админских прав.
  2. В модуле обычного приложения в процедуре ЗапускИнтерфейсаКассира() подключаем интерфейс «Обмен РИБ».
  3. В общие модуле ПараметрыОбменаДанными в процедуре ОткрытьФормуВыполненияОбменаРИБ() – для роли «ОбменРИБ» включаем привилегированный режим.
  4. В общие модуле ПроцедурыОбменаДанными в процедуре ВыполнитьОбменДаннымиПоПроизвольнойНастройке () – для роли «ОбменРИБ» включаем привилегированный режим.
  5. В общей форме ФормаВыполненияОбменаДанными в процедурах ОпределитьНаличиеНастройки() и УстановитьПараметрыОбменаПоНастройке() – для роли «ОбменРИБ» включаем привилегированный режим.

Необходимого пользователя наделяем ролью «ОбменРИБ» – и делаем обмен.

В приложении файл обновления. Как обновить: берем стандартную УТ 10.3.29.1 и обновляем — Конфигурация -> Поддержка -> Обновить конфигурацию, выбираем файл обновления — обновляем. Затем выгружаем конфигурацию в файл и этим файлом обновляем рабочую базу.

1 Comment

  1. Philosof

    Добрый день, подскажите пож. подробнее сам процесс обновления. У меня после обновления сохраненной в файл измененной конфы 10.3.29.1 рабочей 10.3.45.2 слетает информация о версии конфигурации — теперь обновление возможно лишь с 10.3.25.1. При обновлении все галки сняты, кроме интерфейса и роли «ОбменРИБ». Как правильно обновить?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *