8.х УТ Права пользователю на обмен данными

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем Titov, 27 фев 2010.

  1. TopicStarter Overlay
    Titov
    Offline

    Titov Опытный в 1С

    Регистрация:
    13 апр 2008
    Сообщения:
    177
    Симпатии:
    1
    Баллы:
    26
    Добрый день!
    Создал распределенный узел для УТ, не могу разобраться какие права надо дать роли Пользователь для того чтобы обмен мог делать любой пользователь.

    При нажатии на кнопку выполнить обмен по текущей настройке процедура
    Код:
    ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения, СтруктураНастроекОбменаДанными.КоличествоЭлементовВТранзакцииНаВыгрузкуДанных);
    
    
    вылетает в исключение:

    Код:
    Попытка
    
    ЭтоРИБ = ОпределитьПоУзлуОбменаЭтоРИБ(УзелОбмена); 
    
    ЗаписьXML = СоздатьXMLЗаписьДляОбменаДанными(УзелОбмена, ИмяФайлаОбменаДанными);
    Если ЗаписьXML = Неопределено Тогда
    Возврат;
    КонецЕсли;
    
    #Если Клиент Тогда
    Состояние("Запись изменений для узла """ + УзелОбмена.Наименование + """ ...");
    #КонецЕсли
    
    ДобавитьИнформациюВПротокол("Начало записи изменений в файл обмена " + ИмяФайлаОбменаДанными, СтруктураНастроекОбменаДанными.ДанныеПротокола);
    
    Если ЭтоРИБ Тогда
    
    // Создаем новое сообщение
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
    
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);
    
    // для РИБ изменения в информационной базе
    ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения, СтруктураНастроекОбменаДанными.КоличествоЭлементовВТранзакцииНаВыгрузкуДанных);
    
    
    
    // Завершаем запись сообщения
    ЗаписьСообщения.ЗакончитьЗапись();
    
    
    
    ЗаписьXML.Закрыть();
    
    СтруктураНастроекОбменаДанными.РезультатЗаписиДанных = Истина;
    Иначе
    
    ЭтотУзелОбмена = ПолучитьТекущийУзелИБ(УзелОбмена).ПолучитьОбъект();
    
    // план обмена самостоятельно читает изменения от узла
    СтруктураНастроекОбменаДанными.РезультатЗаписиДанных = ЭтотУзелОбмена.ВыгрузитьИзмененияДанныхДляУзла(УзелОбмена, 
    СтруктураНастроекОбменаДанными.КоличествоЭлементовВТранзакцииНаВыгрузкуДанных, ЗаписьXML);
    
    КонецЕсли;
    
    ДобавитьИнформациюВПротокол("Окончание записи изменений в файл обмена " + ИмяФайлаОбменаДанными, СтруктураНастроекОбменаДанными.ДанныеПротокола);
    
    Исключение
    
    // в режиме клиента выводим информацию об ошибке
    СтрокаСообщенияОбОшибке = ОписаниеОшибки();
    СообщитьИнформациюОбОшибкеОбмена("Ошибка при записи изменений при обмене: " + СтрокаСообщенияОбОшибке, СтруктураНастроекОбменаДанными);
    
    СтруктураНастроекОбменаДанными.РезультатЗаписиДанных = Ложь;
    КомментарийПриВыгрузкеДанных = СформироватьЕдиныйКоментарий(ОбработкаОбменаДаннымиXML, СтрокаСообщенияОбОшибке);
    ДополнитьКомментарийДляОперации(СтруктураНастроекОбменаДанными, КомментарийПриВыгрузкеДанных, Истина);
    
    КонецПопытки;
    
    
    
    
    И на экране появляется ошибка:

    Ошибка при записи изменений при обмене: Ошибка при вызове метода контекста (ЗаписатьИзменения): У пользователя недостаточно прав на исполнение операции над базой данных.
    Запись изменений текущей информационной базы в файл обмена завершилась с ошибками!
    Обмен данными по настройке "Выгрузка в распределенный узел завершен (12:15:45).


    Что делал: Дал полные права на план обмена Полный, полные права на справочники Настройки обмена данными.
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Ну так данные записываются не только по этим объектам. Дайте полные права на всю конфу.
  3. TopicStarter Overlay
    Titov
    Offline

    Titov Опытный в 1С

    Регистрация:
    13 апр 2008
    Сообщения:
    177
    Симпатии:
    1
    Баллы:
    26
    Я не хочу давать пользователю Полные права, без полных прав нельзя никак?
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Ну и не надо юзеру давать полные права выполняйте от имени юзера с полными правами, будет сложновато переопределить параметры запуска, но зато так как Вы хотите. Где нить создайте поле для регистрации юзера для обмена по умолчанию и используйте его права для обмена.
  5. TopicStarter Overlay
    Titov
    Offline

    Titov Опытный в 1С

    Регистрация:
    13 апр 2008
    Сообщения:
    177
    Симпатии:
    1
    Баллы:
    26
    Решение оказалось достаточно простым: В настройках конкретного обмена на вкладке Интерактивный обмен ставится галочка "Выполнять обмен данными под полными правами". И всё!
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Ну да если обмен не самописка какая-нить, чёт я не обратил внимание, думал Вы сами какой-то новый обмен пишите :unsure:, а в настройках программы можно установить юзера для выполнения обмена.

Поделиться этой страницей