Здравствуйте, уважаемые форумчане. Возник вопрос, есть внешняя обработка, встроенная в конфигурацию Управление торговлей, редакция 11 (11.4.6.188) под 1С:Предприятие 8.3 (8.3.13.1513). Обработка, получает почту и сохраняет файлы в папку. ПРи попытке обработать файл выдается ошибка, недостаточно прав для работы с базой(см.Скриншот). В логе ошибка :Ошибка работы с файлами! {ВнешняяОбработка.ЗагрузкаЗаказовКлиента.Форма.Форма.Форма(200)}: Ошибка при вызове метода контекста (Записать): Ошибка совместного доступа к файлу 'C:\ZAKAZ\GET\Бак. мир.xls'. 32(0x00000020): Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
Какие права нужно дать данному пользователю для работы с файлами?
Заранее благодарен за ответ.
---
```1c
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | СоглашенияСКлиентами.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
    |ГДЕ
    | СоглашенияСКлиентами.Партнер = &ПартнерРодитель
    |
    |СГРУППИРОВАТЬ ПО
    | СоглашенияСКлиентами.Партнер,
    | СоглашенияСКлиентами.Ссылка" ;

    Запрос.УстановитьПараметр("ПартнерРодитель",ПартнерРодитель);
```

ИЛИ

```1c
    Запрос.Текст =
    "ВЫБРАТЬ
    | СоглашенияСКлиентами.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
    |ГДЕ
    | СоглашенияСКлиентами.Партнер = &ПартнерРодитель
    |
    |СГРУППИРОВАТЬ ПО
    | СоглашенияСКлиентами.Партнер,
    | СоглашенияСКлиентами.Ссылка" ;

    Запрос.УстановитьПараметр("ПартнерРодитель",ПартнерРодитель);
    УстановитьПривилегированныйРежим(Истина);
```
---
Благодарю
---
Тут нужны виндовые права давать на чтение папки "C:\ZAKAZ\GET\".
Если база серверная и папка находится на сервере, тогда права нужно давать пользователю из под которого запущена служба 1С.
---
Там же все написано и понятно что файл уже открыт кем то
если файл будет закрыт то должно записаться без ошибки
---
Благодарю, за советы. Сейчас проверю, отпишусь
---
Да, блокировка файла не была связана с ошибкой.
Т.е. блокировку убрал, ошибка в логе исчезла, но предупреждение в базе про недостаточно прав нет.
---
{ВнешняяОбработка.ЗагрузкаЗаказовКлиента.Форма.Форма.Форма(384)}: Ошибка при вызове метода контекста (Выполнить)
  Таб = Запрос.Выполнить().Выгрузить();
по причине:
Ошибка выполнения запроса
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
Вот что выдает.
У меня вопрос:
Пользователь ограничен по Складам, фирмам, контрагента,
может это влиять на права выполнения запроса?
Заранее благодарю за ответ
---
Ограничения по элементам справочникам убрал, ситуация не изменилась. Т.е. теперь вопрос , какие права нужно дать пользователю чтобы он мог делать запрос к базе данных.
Заранее благодарю за ответ
---
запрос в студию
---
Запрос = Новый Запрос; // lm20190130 переделал запрос
 Запрос.Текст =
 "ВЫБРАТЬ
 | Контрагенты.Ссылка КАК Ссылка
 |ИЗ
 | Справочник.Контрагенты КАК Контрагенты
 |ГДЕ
 | Контрагенты.Партнер = &ПартнерРодитель" ;
 Запрос.Параметры.Вставить("ПартнерРодитель",ПартнерРодитель);
 Таб = Запрос.Выполнить().Выгрузить();
 Если Таб.Количество()>0 Тогда
  Возврат Таб[0].Ссылка;
 Иначе
  Запрос = Новый Запрос; // lm20190130 переделал запрос
  Запрос.Текст =
  "ВЫБРАТЬ
  | Контрагенты.Ссылка КАК Ссылка
  |ИЗ
  | Справочник.Контрагенты КАК Контрагенты
  |ГДЕ
  | Контрагенты.Партнер = &Партнер" ;
  Запрос.Параметры.Вставить("Партнер",Партнер);
  Таб = Запрос.Выполнить().Выгрузить();
  Если Таб.Количество()>0 Тогда
   Возврат Таб[0].Ссылка;
  Иначе
   Возврат Справочники.Контрагенты.ПустаяСсылка();
  КонецЕсли;

 КонецЕсли;
---
Вернее вот на этом падает:

 ПартнерРодитель=Партнер.Родитель;
 Запрос = Новый Запрос;
 Запрос.Текст =
 "ВЫБРАТЬ
 | СоглашенияСКлиентами.Ссылка КАК Ссылка
 |ИЗ
 | Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
 |ГДЕ
 | СоглашенияСКлиентами.Партнер = &ПартнерРодитель
 |
 |СГРУППИРОВАТЬ ПО
 | СоглашенияСКлиентами.Партнер,
 | СоглашенияСКлиентами.Ссылка" ;

 Запрос.Параметры.Вставить("ПартнерРодитель",ПартнерРодитель);
  Таб = Запрос.Выполнить().Выгрузить();
  Если Таб.Количество()>0 Тогда
   Возврат Таб[0].Ссылка;
  Иначе
   Возврат Справочники.СоглашенияСКлиентами.ПустаяСсылка();
  КонецЕсли;
---
1. ВЫБРАТЬ РАЗРЕШЕННЫЕ. Если не подходит - надо все, то УстановитьПривилегированныйРежим(Истина) перед Запрос.Выполнить.
2. Запрос.Параметры.Вставить("ПартнерРодитель",ПартнерРодитель); - это сильно. Запрос.УстановитьПараметр - не проще?
---
Я не силен в 1С8, а особенно в запросах , как со всеми изменениями запро будет выглядеть?
---
```1c
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | СоглашенияСКлиентами.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
    |ГДЕ
    | СоглашенияСКлиентами.Партнер = &ПартнерРодитель
    |
    |СГРУППИРОВАТЬ ПО
    | СоглашенияСКлиентами.Партнер,
    | СоглашенияСКлиентами.Ссылка" ;

    Запрос.УстановитьПараметр("ПартнерРодитель",ПартнерРодитель);
```

ИЛИ

```1c
    Запрос.Текст =
    "ВЫБРАТЬ
    | СоглашенияСКлиентами.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.СоглашенияСКлиентами КАК СоглашенияСКлиентами
    |ГДЕ
    | СоглашенияСКлиентами.Партнер = &ПартнерРодитель
    |
    |СГРУППИРОВАТЬ ПО
    | СоглашенияСКлиентами.Партнер,
    | СоглашенияСКлиентами.Ссылка" ;

    Запрос.УстановитьПараметр("ПартнерРодитель",ПартнерРодитель);
    УстановитьПривилегированныйРежим(Истина);
```
---
Благодарю
---
Первый запрос помог