Имя: Пароль:
1C
1С v8
запрос срабатывает только иногда
0 Dirk Diggler
 
22.12.11
09:30
Есть вот такой запрос(задача - узнать, есть ли проведенные доки, связанные с данным заказом):

[code]    Запрос = Новый Запрос();
   Запрос.УстановитьПараметр("ЗаказПокупателя", заказ);

   Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
                  |    ЗаказыПоставщикам.МоментВремени
                  |ИЗ
                  |    РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыПоставщикам
                  |ГДЕ
                  |    ЗаказыПоставщикам.ЗаказПоставщику = &ЗаказПокупателя
                  |    И ЗаказыПоставщикам.Регистратор <> &ЗаказПокупателя
                  |
                  |ОБЪЕДИНИТЬ ВСЕ
                  |
                  |ВЫБРАТЬ ПЕРВЫЕ 1
                  |    ПартииТоваровНаСкладах.МоментВремени
                  |ИЗ
                  |    РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
                  |ГДЕ
                  |    ПартииТоваровНаСкладах.Заказ = &ЗаказПокупателя
                  |    И ПартииТоваровНаСкладах.Регистратор <> &ЗаказПокупателя
                  |
                  |ОБЪЕДИНИТЬ ВСЕ
                  |
                  |ВЫБРАТЬ ПЕРВЫЕ 1
                  |    РазмещениеЗаказовПокупателей.МоментВремени
                  |ИЗ
                  |    РегистрНакопления.РазмещениеЗаказовПокупателей КАК РазмещениеЗаказовПокупателей
                  |ГДЕ
                  |    РазмещениеЗаказовПокупателей.ЗаказПокупателя = &ЗаказПокупателя
                  |    И РазмещениеЗаказовПокупателей.Регистратор <> &ЗаказПокупателя
                  |
                  |ОБЪЕДИНИТЬ ВСЕ
                  |
                  |ВЫБРАТЬ ПЕРВЫЕ 1
                  |    РасчетыСКонтрагентами.МоментВремени
                  |ИЗ
                  |    РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
                  |ГДЕ
                  |    РасчетыСКонтрагентами.Сделка = &ЗаказПокупателя
                  |    И РасчетыСКонтрагентами.Регистратор <> &ЗаказПокупателя
                  |
                  |ОБЪЕДИНИТЬ ВСЕ
                  |
                  |ВЫБРАТЬ ПЕРВЫЕ 1
                  |    ТоварыВРезервеНаСкладах.МоментВремени
                  |ИЗ
                  |    РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
                  |ГДЕ
                  |    ТоварыВРезервеНаСкладах.ДокументРезерва = &ЗаказПокупателя
                  |    И ТоварыВРезервеНаСкладах.Регистратор <> &ЗаказПокупателя";

   Возврат НЕ Запрос.Выполнить().Пустой();


КонецФункции [/code]

при выполнении его ИНОГДА получаю ошибку:

Ошибка выполнения запроса
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.


Бывает это только на заказах некоторых контрагентов, у которых в договоре стоит "обособленный учёт товаров".
2 вопроса - а) почему? б) как правильно написать запрос?
1 Ненавижу 1С
 
гуру
22.12.11
09:32
ВЫБРАТЬ РАЗРЕШЕННЫЕ
2 Dirk Diggler
 
22.12.11
09:36
(1) тогда я могу пропустить некоторые доки, разве нет?

К тому же структуру запроса я содрал из типовой(когда проверяется изменения договора), там нет РАЗРЕШЕННЫЕ...
3 MatrosoV AleXXXand_R
 
22.12.11
09:38
У пользователей прав не хватает на чтение данных из РН, поэтому - либо расшарить права, либо добавить РАЗРЕШЕННЫЕ в запрос
4 Ненавижу 1С
 
гуру
22.12.11
09:38
(2) можешь пропустить, но если не пропустишь, то попадешь на ошибку
5 Dirk Diggler
 
22.12.11
09:39
(3) у каких пользователей? я один сейчас работаю, на 90% заказов отрабатывает, значит права на чтение из РН есть.
(4) почему в типовой работает?
6 Axel2009
 
22.12.11
09:39
либо поместить в привилегированный модууль
7 Ненавижу 1С
 
гуру
22.12.11
09:40
(5) смотря какие у тебя права
"на 90% заказов отрабатывает, значит права на чтение из РН есть"
могут быть не на все, про RLS в курсе?
8 Dirk Diggler
 
22.12.11
09:41
(7) у меня права все, кроме полных.
(6) О! Точно. В типовой эта процедура в ПолныхПравах лежит.
9 Dirk Diggler
 
22.12.11
09:41
(7) про RLS в курсе, но руками не настраивал...
10 Ненавижу 1С
 
гуру
22.12.11
09:42
(8) Петросян?
11 Dirk Diggler
 
22.12.11
09:42
(10) не тупи. Есть список ролей, в нем ПолныеПрава. У меня стоят все галки, кроме ПолныхПрав
12 Ненавижу 1С
 
гуру
22.12.11
09:43
(11) я понял с первого раза и что?
13 Dirk Diggler
 
22.12.11
09:44
(12) А уже ничего.

Axel2009 ответил на вопрос.
14 Ненавижу 1С
 
гуру
22.12.11
09:45
(13) то есть ты решаешь проблему не анализируя?