ВВод на основании

Новая тема
Есть два документа заказ покупателя: из отличий только номенклатура в заказе при использовании ввод на основании> реализация товаров услуг один нормально выдает документ реализация товаров услуг другой выдает ошибку
----------------------------
Ошибка при выполнении обработчика - '{Документ.РеализацияТоваровУслуг(2369)}: Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "У пользователя недостаточно прав на исполнение операции над базой данных."'
по причине:
{Документ.РеализацияТоваровУслуг(2369)}: Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "У пользователя недостаточно прав на исполнение операции над базой данных."

по причине:
Ошибка выполнения запроса "У пользователя недостаточно прав на исполнение операции над базой данных."
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
----------------------------
права на оба документа есть на регистры в движениях тоже права есть но что-то мешает подскажите
Смотрите текст запроса.
Помимо прав на регистр, понадобятся еще и права на справочники, элементы которых выбираются.

Ну а чтобы получить прямой ответ, с вашей стороны не указано: Конфигурация, её Релиз, Платформа. И даже текста запроса не выложено.
"1С:Предприятие 8.1 (8.1.13.41)
"Управление торговлей", редакция 10.3 (10.3.7.9)
-------------------------------------------------
Запрос.Текст ="
|ВЫБРАТЬ
| Остатки.Номенклатура                 КАК Номенклатура,
| Остатки.ХарактеристикаНоменклатуры   КАК ХарактеристикаНоменклатуры,
| NULL                                 КАК СерияНоменклатуры,
| NULL                   КАК СрокГодности,
| NULL                 КАК СерияНоменклатурыПредставление,
| Остатки.ЕдиницаИзмерения             КАК ЕдиницаИзмерения,
| Остатки.ЕдиницаИзмерения.Коэффициент КАК Коэффициент,
| Остатки.Номенклатура.ЕдиницаХраненияОстатков             КАК ЕдиницаХранения,
| Остатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоэффициентЕдиницыХранения,
| Остатки.Цена                         КАК Цена,
| Остатки.ПроцентСкидкиНаценки         КАК ПроцентСкидкиНаценки,
| Остатки.ПроцентАвтоматическихСкидок  КАК ПроцентАвтоматическихСкидок,
| Остатки.УсловиеАвтоматическойСкидки  КАК УсловиеАвтоматическойСкидки,
| Остатки.ЗначениеУсловияАвтоматическойСкидки  КАК ЗначениеУсловияАвтоматическойСкидки,
| NULL                                 КАК Склад,
| NULL                                 КАК СортировкаПоСкладу,
| Остатки.СтавкаНДС                    КАК СтавкаНДС,
| Остатки.КоличествоОстаток            КАК КоличествоОстатокПоЗаказу,
| Остатки.СуммаВзаиморасчетовОстаток   КАК СуммаОстатокПоЗаказу,
| 0                                    КАК ОстатокНаСкладе,
| 0                                    КАК ОстатокРезерваПоСделке,
| 0                                    КАК ОстатокРезерва,
| 0                                    КАК ОстатокКПередаче" + ?(ТабличнаяЧасть = Товары, ",
| ВЫБОР КОГДА ОстаткиОрганизации.КоличествоОстаток ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ОстаткиОрганизации.КоличествоОстаток КОНЕЦ КАК КоличествоОстатокОрганизации", """") + ",
| ВЫБОР КОГДА ТЧЗаказа.НомерСтроки ЕСТЬ NULL ТОГДА 9999999 Иначе ТЧЗаказа.НомерСтроки КОНЕЦ КАК НомерСтрокиЗаказа
|ИЗ
| РегистрНакопления.ЗаказыПокупателей.Остатки(, ДоговорКонтрагента = &Договор
|                                                И ЗаказПокупателя = &Сделка
|" + ?(ТабличнаяЧасть = Товары, "                И СтатусПартии <> &СтатусТары",  "                И СтатусПартии = &СтатусТары") + ") КАК Остатки
|
|" + ?(ТабличнаяЧасть = Товары, "ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыОрганизаций.Остатки(,
| Организация = &Организация %Условие_Качество%
|                                            ) КАК ОстаткиОрганизации
|ПО
| Остатки.Номенклатура = ОстаткиОрганизации.Номенклатура
| И Остатки.ХарактеристикаНоменклатуры = ОстаткиОрганизации.ХарактеристикаНоменклатуры", """") + ТекстЗапросаПоТЧЗаказа+"
|ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ОстаткиНаСкладе.Номенклатура                                     КАК Номенклатура,
| ОстаткиНаСкладе.ХарактеристикаНоменклатуры                       КАК ХарактеристикаНоменклатуры,
| ОстаткиНаСкладе.СерияНоменклатуры                                КАК СерияНоменклатуры,
| ОстаткиНаСкладе.СерияНоменклатуры.СрокГодности                   КАК СрокГодности,
| ПРЕДСТАВЛЕНИЕ(ОстаткиНаСкладе.СерияНоменклатуры)                 КАК СерияНоменклатурыПредставление,
| ОстаткиНаСкладе.Номенклатура.ЕдиницаХраненияОстатков             КАК ЕдиницаИзмерения,
| ОстаткиНаСкладе.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
| NULL                                                             КАК ЕдиницаХранения,
| NULL                                                             КАК КоэффициентЕдиницыХранения,
| 0                                                                КАК Цена,
| 0                                                                КАК ПроцентСкидкиНаценки,
| 0                                                                КАК ПроцентАвтоматическихСкидок,
| NULL                                                             КАК УсловиеАвтоматическойСкидки,
| NULL                                                             КАК ЗначениеУсловияАвтоматическойСкидки,
| ОстаткиНаСкладе.Склад                                            КАК Склад,
| ВЫБОР КОГДА ОстаткиНаСкладе.Склад = &Склад ТОГДА
| 0
| ИНАЧЕ
| 1
| КОНЕЦ                                       КАК СортировкаПоСкладу,
| ОстаткиНаСкладе.Номенклатура.СтавкаНДС      КАК СтавкаНДС,
| 0                                           КАК КоличествоОстатокПоЗаказу,
| 0                                           КАК СуммаОстатокПоЗаказу,
| ОстаткиНаСкладе.КоличествоОстаток           КАК ОстатокНаСкладе,
|   РезервыОстаткиПоСделке.КоличествоОстаток    КАК ОстатокРезерваПоСделке,
|   РезервыОстатки.КоличествоОстаток            КАК ОстатокРезерва,
|   КПередаче.КоличествоОстаток                 КАК ОстатокКПередаче" + ?(ТабличнаяЧасть = Товары, ",
| 0                                           КАК КоличествоОстатокОрганизации", """") + ",
| ВЫБОР КОГДА ТЧЗаказа.НомерСтроки ЕСТЬ NULL ТОГДА 9999999 Иначе ТЧЗаказа.НомерСтроки КОНЕЦ КАК НомерСтрокиЗаказа
|
| ИЗ
|   // остатки на складе
| (ВЫБРАТЬ
| Склад КАК Склад,
| Номенклатура КАК Номенклатура,
| ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СерияНоменклатуры КАК СерияНоменклатуры,
| СУММА(КоличествоОстаток) КАК КоличествоОстаток
| ИЗ
| (ВЫБРАТЬ
| Склад КАК Склад,
| Номенклатура КАК Номенклатура,
| ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СерияНоменклатуры КАК СерияНоменклатуры,
| КоличествоОстаток КАК КоличествоОстаток
| ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (
| ВЫБРАТЬ РАЗЛИЧНЫЕ НОМЕНКЛАТУРА ИЗ
| РегистрНакопления.ЗаказыПокупателей.Остатки(, ДоговорКонтрагента = &Договор
| И ЗаказПокупателя = &Сделка
|" + ?(ТабличнаяЧасть = Товары, "                И СтатусПартии <> &СтатусТары",  "                И СтатусПартии = &СтатусТары") + "))
|                                               "
+ ?(мУказаниеСкладовВТЧ, ?(ЗначениеЗаполнено(ГруппаДоступностиСкладов), "И Склад В " + ТекстФильтраПоСкладам, """"), "
|                                     И Склад = &Склад") + "
| %Условие_Качество%) КАК ОстаткиНаСкладе
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ
| Склад КАК Склад,
| Номенклатура КАК Номенклатура,
| ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СерияНоменклатуры КАК СерияНоменклатуры,
| КоличествоОстаток КАК КоличествоОстаток
| ИЗ
| РегистрНакопления.ТоварыВРознице.Остатки(, Номенклатура В (
| ВЫБРАТЬ РАЗЛИЧНЫЕ НОМЕНКЛАТУРА ИЗ
| РегистрНакопления.ЗаказыПокупателей.Остатки(, ДоговорКонтрагента = &Договор
| И ЗаказПокупателя = &Сделка
|" + ?(ТабличнаяЧасть = Товары, "                И СтатусПартии <> &СтатусТары",  "                И СтатусПартии = &СтатусТары") + "))
|                                               "
+ ?(мУказаниеСкладовВТЧ, ?(ЗначениеЗаполнено(ГруппаДоступностиСкладов), "И Склад В " + ТекстФильтраПоСкладам, """"), "
|                                     И Склад = &Склад") + " %Условие_Качество%
| )) КАК ОстаткиНаСкладе
| СГРУППИРОВАТЬ ПО
| Склад,
| Номенклатура,
| ХарактеристикаНоменклатуры,
| СерияНоменклатуры
| ) КАК ОстаткиНаСкладе
| ЛЕВОЕ СОЕДИНЕНИЕ // резервы
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(,"
+ ?(мУказаниеСкладовВТЧ, ?(ЗначениеЗаполнено(ГруппаДоступностиСкладов), "Склад В " + ТекстФильтраПоСкладам + " И ", """"), "
|                                     Склад = &Склад И ") + "
|                                   ДокументРезерва = &Сделка
|                                            ) КАК РезервыОстаткиПоСделке
| ПО
| ОстаткиНаСкладе.Номенклатура = РезервыОстаткиПоСделке.Номенклатура
|" + ?(ТабличнаяЧасть = Товары, "
|   И ОстаткиНаСкладе.ХарактеристикаНоменклатуры = РезервыОстаткиПоСделке.ХарактеристикаНоменклатуры ", """")
+ ?(ТабличнаяЧасть = Товары И ОбособленныйУчет, "
|   И ОстаткиНаСкладе.СерияНоменклатуры = РезервыОстаткиПоСделке.СерияНоменклатуры ", """")
+ ?(мУказаниеСкладовВТЧ, "
| И ОстаткиНаСкладе.Склад      = РезервыОстаткиПоСделке.Склад", """") + "
|
| ЛЕВОЕ СОЕДИНЕНИЕ // резервы
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(,"
+ ?(мУказаниеСкладовВТЧ, ?(ЗначениеЗаполнено(ГруппаДоступностиСкладов), "Склад В " + ТекстФильтраПоСкладам + " И ", """"), "
|                                     Склад = &Склад И ") + "
|                                   ДокументРезерва <> &Сделка
|                                            ) КАК РезервыОстатки
|ПО
| ОстаткиНаСкладе.Номенклатура = РезервыОстатки.Номенклатура"
+ ?(мУказаниеСкладовВТЧ, "
| И ОстаткиНаСкладе.Склад      = РезервыОстатки.Склад", """") + "
|" + ?(ТабличнаяЧасть = Товары, "
|   И ОстаткиНаСкладе.ХарактеристикаНоменклатуры = РезервыОстатки.ХарактеристикаНоменклатуры ", """") + "
|ЛЕВОЕ СОЕДИНЕНИЕ // к передаче
| РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(,"
+ ?(мУказаниеСкладовВТЧ, ?(ЗначениеЗаполнено(ГруппаДоступностиСкладов), "Склад В " + ТекстФильтраПоСкладам+" И ", """"), "
|                                     Склад = &Склад И ") + "
|" + ?(ТабличнаяЧасть = Товары, "        СтатусПартии <> &СтатусТары",  " СтатусПартии = &СтатусТары") + "
|                                     %Условие_Качество%
|                                            ) КАК КПередаче
|ПО
| ОстаткиНаСкладе.Номенклатура = КПередаче.Номенклатура"
+ ?(мУказаниеСкладовВТЧ, "
| И ОстаткиНаСкладе.Склад      = КПередаче.Склад", """") + "
|" + ?(ТабличнаяЧасть = Товары, "И ОстаткиНаСкладе.ХарактеристикаНоменклатуры = КПередаче.ХарактеристикаНоменклатуры", """")
+ СтрЗаменить(ТекстЗапросаПоТЧЗаказа,"Остатки.","ОстаткиНаСкладе.");
Если ВидОперации <> Перечисления.ВидыОперацийРеализацияТоваров.Брак Тогда
Запрос.Текст = стрЗаменить(Запрос.Текст,"%Условие_Качество%"," И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) ");
Иначе
Запрос.Текст = стрЗаменить(Запрос.Текст,"%Условие_Качество%"," ");
КонецЕсли;

РезультатЗапроса = Запрос.Выполнить();
------------------------------------------------"
"Проверьте права на РегистрНакопления.ТоварыВРезервеНаСкладах и докуметы резерва.

В принципе у вас реально 3 запроса: по остаткам РегистрНакопления.ТоварыОрганизаций, по остаткам РегистрНакопления.ТоварыНаСкладах и по остаткам РегистрНакопления.ТоварыНаСкладах + ТоварыКПередачеСоСкладов.

Самое простое - воспользоваться консолью запросов: разделить запрос на 3 маленьких, узнать на каком валиться (скорее всего не последнем), выполнить запрос с макисамальными правами и посмотреть, что выбирается. Тогда станет ясно на что не хватило прав.

Еще один вариант:
1. Поставить точку отладки на РезультатЗапроса = Запрос.Выполнить();
2. Выполнить на том документе, с которым все хорошо и сохранить значение Запрос.Текст
3. Выполнить на том документе, с которым все плохо и сохранить значение Запрос.Текст
4. Сравнить значения из пунктов 2 и 3."
я извеняюсь за необразованность но я незнаю как этим всем пользоваться нельзя ли описать хотябы один способ( который пороще) поподробнее
1. Точка отладки ставиться в конфигураторе: ставите курсор на нужной строке и нажимаете F9
2. Когда программа останавливается на точке можно посмотреть значения переменных: Shift-F9 ввести Запрос.Текст, потом выбрать в окне результат и нажать F2.
Выполняете на двух документах вашу операцию. Сравниваете результат.
Вероятно это вам ничего не особенного не покажет, а на то как воспользоваться Консолью Запросов объяснять долго.
Читают тему
(гостей: 1)

Быстрый переход