Имя: Пароль:
1C
1С v8
СКД: права на реквизит
0 s3nsey
 
04.08.11
09:44
Всем доброе утро! КА 8.2, последний релиз. Есть внешний отчет на СКД: план-фактный анализ продаж (по двум регистрам: ПродажиОбороты и ПланыПродаж)..

[code]
ВЫБРАТЬ
   ОсновнойЗапрос.Номенклатура КАК Номенклатура,
   ОсновнойЗапрос.КоличествоПлан КАК КоличествоПлан,
   ОсновнойЗапрос.КоличествоПлан * ЕСТЬNULL(ОсновнойЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ОсновнойЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетовПлан,
   ОсновнойЗапрос.КоличествоПлан * ЕСТЬNULL(ОсновнойЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиницПлан,
   ОсновнойЗапрос.СтоимостьПлан КАК СтоимостьПлан,
   ОсновнойЗапрос.НДСПлан КАК НДСПлан,
   ОсновнойЗапрос.КоличествоФакт КАК КоличествоФакт,
   ОсновнойЗапрос.КоличествоФакт * ЕСТЬNULL(ОсновнойЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ОсновнойЗапрос.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетовФакт,
   ОсновнойЗапрос.КоличествоФакт * ЕСТЬNULL(ОсновнойЗапрос.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиницФакт,
   ОсновнойЗапрос.СтоимостьФакт КАК СтоимостьФакт,
   ОсновнойЗапрос.НДСФакт КАК НДСФакт,
   ОсновнойЗапрос.КоличествоОтклонениеАбсолютное КАК КоличествоОтклонениеАбсолютное,
   ОсновнойЗапрос.КоличествоОтклонениеПроцент КАК КоличествоОтклонениеПроцент,
   ОсновнойЗапрос.КоличествоОтклонениеПроцентЭО КАК КоличествоОтклонениеПроцентЭО,
   ОсновнойЗапрос.СтоимостьОтклонениеАбсолютное КАК СтоимостьОтклонениеАбсолютное,
   ОсновнойЗапрос.СтоимостьОтклонениеПроцент КАК СтоимостьОтклонениеПроцент,
   ОсновнойЗапрос.СтоимостьОтклонениеПроцентЭО КАК СтоимостьОтклонениеПроцентЭО,
   ОсновнойЗапрос.ПериодМесяц КАК ПериодМесяц,
   ОсновнойЗапрос.ПроектФакт КАК ПроектФакт,
   ОсновнойЗапрос.ПроектПлан КАК ПроектПлан,
   ОсновнойЗапрос.ПроцентВыполненияПлана КАК ПроцентВыполненияПлана,
   ОсновнойЗапрос.Регистратор КАК Регистратор,
   ОсновнойЗапрос.Контрагент_Грузополучатель КАК Контрагент_Грузополучатель
{ВЫБРАТЬ
   Номенклатура.*,
   КоличествоПлан,
   КоличествоЕдиницОтчетовПлан,
   КоличествоБазовыхЕдиницПлан,
   СтоимостьПлан,
   НДСПлан,
   КоличествоФакт,
   КоличествоЕдиницОтчетовФакт,
   КоличествоБазовыхЕдиницФакт,
   СтоимостьФакт,
   НДСФакт,
   КоличествоОтклонениеАбсолютное,
   КоличествоОтклонениеПроцент,
   КоличествоОтклонениеПроцентЭО,
   СтоимостьОтклонениеАбсолютное,
   СтоимостьОтклонениеПроцент,
   СтоимостьОтклонениеПроцентЭО,
   ПериодМесяц,
   ПроектФакт.*,
   ПроектПлан.*,
   ПроцентВыполненияПлана,
   Регистратор.*,
   Контрагент_Грузополучатель.*}
ИЗ
   (ВЫБРАТЬ
       План.Номенклатура КАК Номенклатура,
       План.Проект КАК ПроектПлан,
       План.КоличествоОборот КАК КоличествоПлан,
       План.СтоимостьОборот КАК СтоимостьПлан,
       План.НДСОборот КАК НДСПлан,
       NULL КАК КоличествоФакт,
       NULL КАК СтоимостьФакт,
       NULL КАК НДСФакт,
       0 КАК КоличествоОтклонениеАбсолютное,
       0 КАК КоличествоОтклонениеПроцент,
       0 КАК КоличествоОтклонениеПроцентЭО,
       0 КАК СтоимостьОтклонениеАбсолютное,
       0 КАК СтоимостьОтклонениеПроцент,
       0 КАК СтоимостьОтклонениеПроцентЭО,
       0 КАК ПланСУчетомСкидки,
       0 КАК ОтклонениеАбсУчетомСкидки,
       0 КАК ОтклонениеПроцУчетомСкидки,
       План.ПериодМесяц КАК ПериодМесяц,
       NULL КАК ПроектФакт,
       0 КАК ПроцентВыполненияПлана,
       NULL КАК Регистратор,
       План.Контрагент КАК Контрагент_Грузополучатель
   ИЗ
       (ВЫБРАТЬ
           ПланыПродажОбороты.Сценарий КАК Сценарий,
           ПланыПродажОбороты.Подразделение КАК Подразделение,
           ПланыПродажОбороты.Номенклатура КАК Номенклатура,
           ПланыПродажОбороты.Проект КАК Проект,
           ПланыПродажОбороты.Контрагент КАК Контрагент,
           СУММА(ПланыПродажОбороты.КоличествоОборот) КАК КоличествоОборот,
           СУММА(ПланыПродажОбороты.СтоимостьОборот) + СУММА(ПланыПродажОбороты.НДСОборот) КАК СтоимостьОборот,
           СУММА(ПланыПродажОбороты.НДСОборот) КАК НДСОборот,
           НАЧАЛОПЕРИОДА(ПланыПродажОбороты.Период, МЕСЯЦ) КАК ПериодМесяц
       ИЗ
           РегистрНакопления.ПланыПродаж.Обороты(&НачалоПериодаПлан, &КонецПериодаПлан, Регистратор, {(Номенклатура).*}) КАК ПланыПродажОбороты
       {ГДЕ
           ПланыПродажОбороты.Проект.* КАК ПроектПлан}
       
       СГРУППИРОВАТЬ ПО
           ПланыПродажОбороты.Сценарий,
           ПланыПродажОбороты.Подразделение,
           ПланыПродажОбороты.Номенклатура,
           ПланыПродажОбороты.Проект,
           ПланыПродажОбороты.Контрагент,
           НАЧАЛОПЕРИОДА(ПланыПродажОбороты.Период, МЕСЯЦ)) КАК План
   {ГДЕ
       План.Сценарий.*,
       План.Подразделение.*,
       План.Номенклатура.*,
       План.Проект.*}
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       Факт.Номенклатура,
       NULL,
       NULL,
       NULL,
       NULL,
       Факт.КоличествоОборот,
       Факт.СтоимостьОборот,
       Факт.НДСОборот,
       NULL,
       NULL,
       NULL,
       NULL,
       NULL,
       NULL,
       NULL,
       NULL,
       NULL,
       Факт.ПериодМесяц,
       Факт.Проект,
       NULL,
       Факт.Регистратор,
       ВЫБОР
           КОГДА Факт.РегистраторГрузополучатель <> &КонтрагентПустаяСсылка
               ТОГДА Факт.РегистраторГрузополучатель
           ИНАЧЕ Факт.Контрагент
       КОНЕЦ
   ИЗ
       (ВЫБРАТЬ
           ПродажиОбороты.Номенклатура КАК Номенклатура,
           ПродажиОбороты.Подразделение КАК Подразделение,
           ПродажиОбороты.Проект КАК Проект,
           ПродажиОбороты.Контрагент КАК Контрагент,
           СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,
           СУММА(ПродажиОбороты.СтоимостьОборот) - СУММА(ПродажиОбороты.НДСОборот) КАК СтоимостьОборот,
           СУММА(ПродажиОбороты.НДСОборот) КАК НДСОборот,
           НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
           ПродажиОбороты.Регистратор КАК Регистратор,
           ВЫБОР
               КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
                   ТОГДА ПродажиОбороты.Регистратор.Грузополучатель
               ИНАЧЕ &КонтрагентПустаяСсылка
           КОНЕЦ КАК РегистраторГрузополучатель
       ИЗ
           РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, {(Номенклатура).*, (Контрагент).*}) КАК ПродажиОбороты
       {ГДЕ
           ПродажиОбороты.Проект.* КАК ПроектФакт}
       
       СГРУППИРОВАТЬ ПО
           ПродажиОбороты.Номенклатура,
           ПродажиОбороты.Подразделение,
           ПродажиОбороты.Проект,
           ПродажиОбороты.Контрагент,
           НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ),
           ПродажиОбороты.Регистратор,
           ВЫБОР
               КОГДА ПродажиОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
                   ТОГДА ПродажиОбороты.Регистратор.Грузополучатель
               ИНАЧЕ &КонтрагентПустаяСсылка
           КОНЕЦ) КАК Факт
   ГДЕ
       Факт.Регистратор.СуммаДокумента > 0
   {ГДЕ
       Факт.Подразделение.*,
       Факт.Номенклатура.*,
       Факт.Проект.*}) КАК ОсновнойЗапрос
{ГДЕ
   ОсновнойЗапрос.Номенклатура.*,
   ОсновнойЗапрос.Контрагент_Грузополучатель.*,
   ОсновнойЗапрос.КоличествоПлан,
   ОсновнойЗапрос.КоличествоФакт,
   ОсновнойЗапрос.ПроцентВыполненияПлана}
{ХАРАКТЕРИСТИКИ
   ТИП(Справочник.Номенклатура)
   ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваОбъектов
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Свойство
   ПОЛЕЗНАЧЕНИЯ Значение }

[/code]

Под пользователем с правами МенеджерПоПродажам отчет выводится норм с группировкой строк Контрагент_Грузополучатель, а потом Регистратор.

Под пользователем с ограниченной ролью (нетиповой) у пользователя в настройках отчета в режиме предприятия нет в доступных полях поля Контрагент_Грузополучатель.

в чем может быть проблема? Права на чтение/просмотр в моей нетиповой роли на регистры Продажи, ПланыПродаж, на документы РеализацияТОваровУслуг, ПланПродаж есть.. на справочник Контрагенты есть..

попробовал в консоль запросов этот запрос запихнуть под пользователем с ограниченными правами - всё вывелось! и контрагент, и регистратор((
1 s3nsey
 
04.08.11
09:44
блин, че-то как-то криво тэг сработал((
2 s3nsey
 
04.08.11
10:16
есть идеи? могу скрины выложить куда-нить((
3 Axel2009
 
04.08.11
10:21
как только ему даешь права на менеджер по продажам у него сразу выводиться начинает?
4 Kreont
 
04.08.11
10:29
ВЫБРАТЬ РАЗРЕШЕННЫЕ никогда не помешает
Ну и может макет старый или свои настройки грузятся, очистить кеш, удалить макеты все отчета
5 s3nsey
 
04.08.11
10:43
(3) да, как только даешь роль стандартную "МенеджерПоПродажам", то и в доступных полях, и в настройках вывода соотв. появляется Контрагент (ну вот мой пресловутый Контрагент_Грузополучатель)

(4) а зачем ВЫБРАТЬ РАЗРЕШЕННЫЕ, если РЛС нет? и контроль на уровне записей отключен в режиме Предприятие.

Макета там никакого нет.. и кеш по идеи не причем, если вопрос решается при наличии роли "МенеджерПоПродажам"..

явно затык в правах( но на что еще добавить права в своей роли нетиповой?( не могу понять..
6 Axel2009
 
04.08.11
10:54
(5) т.е. справочник Контрагенты, регистры накопления ПланПродаж и Продажи, документы по этим регистраторам совпадают права?
7 Kreont
 
04.08.11
10:55
(5) Странно что через консоль запросов работает, значит все таки не с правами
8 s3nsey
 
04.08.11
10:58
(6) вот единственное, что я не проверил, это права на все регистраторы регистра Продажи, например, потому что там всякие Акты об оказании услуг, которых нет у нас, поэтому я права давал ток на Реализации и Возвраты от покупателей.
9 s3nsey
 
04.08.11
10:58
(7) может в СКД как-то я криво получаю данные? и запрос сам надо переделать..
10 Axel2009
 
04.08.11
11:01
(9) для начала права проверь..
11 s3nsey
 
04.08.11
11:19
Урааа! Вроде получилось! Дал права на чтение/просмотр для всех регистраторов регистра Продажи! и все норм)