Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запрет на просмотр цен          
r1p88@mail.ru Подменю пользователя
сообщение 01.03.18, 12:24
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Платформа: 1С:Предприятие 8.3 (8.3.8.2322)
Конфигурация: "Управление торговлей для Украины", редакция 2.3.
Разработка конфигурации: "ABBYY Ukraine", 2003-2009
(2.3.11.1)

Добрый день. Столкнулись с такой проблемой. Необходимо закрыть доступ на просмотр всех цен, кроме одной. Сделали следующим образом, через RLS в регистре сведений "ЦеныНоменклатуры" оставили право чтение на определённой роли и в нём добавили ограничение вида:
ГДЕ ТипЦен.Код <> "000000005" И ТипЦен.Код <> "000000002" И ТипЦен.Код <> "000000001" И ТипЦен.Код <> "УТ0000001" И ТипЦен.Код <> "000000008"
. Вроде всё. Но вот тут и вылазят ошибки.

При создании любого документа, для примера "ЗаказПокупателя", менеджер выбирает Организацию, Контрагента, Договор и делает подбор номенклатуры. В списке номеклатуры всё ок и цены спрятаны, но когда менеджер выбирает номенклатуру, то выдаёт сообщение "Ошибка выполнения запроса".
{ОбщийМодуль.Ценообразование.Модуль(631)}: Ошибка при вызове метода контекста (Выполнить)
        Выборка = Запрос.Выполнить().Выбрать();
по причине:
Ошибка выполнения запроса
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.


Если нажать "ОК", позиция добавляется в документ, цена проставляется, но нет суммы по номенклатуре и нет автоматической скидки.
Типы цен, которые скрываем все базовые.

Собственно вопрос, что нужно еще изменить, чтобы всё нормально функционировало? Потому что пока не могу понять.

Petre Подменю пользователя
сообщение 01.03.18, 12:34
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

r1p88@mail.ru @ Today, 12:24 * ,
Какой в отладчике текст запроса?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

r1p88@mail.ru Подменю пользователя
сообщение 01.03.18, 12:58
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Petre @ Сегодня, 12:34 * ,
Запрос.Текст = Запрос.Текст + "
        |ВНУТРЕННЕЕ СОЕДИНЕНИЕ
        |    Справочник.Номенклатура КАК сНоменклатура
        |ПО
        |    сНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
        |ГДЕ
        |    сНоменклатура.Ссылка = &Номенклатура
        |УПОРЯДОЧИТЬ ПО
        |    ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры УБЫВ
        |";

sava1 Подменю пользователя
сообщение 01.03.18, 13:09
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

ВЫБРАТЬ разрешенные

в запросе есть ?

r1p88@mail.ru Подменю пользователя
сообщение 01.03.18, 13:21
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

sava1 @ Сегодня, 13:09 * ,
нет.
Причем сейчас решил пошагово пройти и как я понял, саму номенклатуру он добавляет и вытаскивает цену и сумму, а потом происходит обход по услугам и ступар. Но только почему он не добавляет эту сумму и скидку в табличную часть.

Petre Подменю пользователя
сообщение 01.03.18, 13:31
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

r1p88@mail.ru @ Today, 13:21 * ,
faceoff.gif
Ставим точку останова на строке
Выборка = Запрос.Выполнить().Выбрать();

В табло вводим Запрос.Текст, жмем F2, смотрим текст запроса.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

r1p88@mail.ru Подменю пользователя
сообщение 01.03.18, 13:38
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Petre @ Сегодня, 13:31 * ,
ВЫБРАТЬ ПЕРВЫЕ 1
    ЦеныНоменклатурыСрезПоследних.Цена  КАК Цена,
    ВЫБОР    КОГДА сНоменклатура.Услуга И ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения = ЗНАЧЕНИЕ(Справочник.ЕдиницыИзмерения.ПустаяСсылка)
            ТОГДА сНоменклатура.ЕдиницаХраненияОстатков
            ИНАЧЕ ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
    КОНЕЦ                               КАК ЕдиницаИзмерения,

    ЦеныНоменклатурыСрезПоследних.Валюта
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, Номенклатура = &Номенклатура
       И ТипЦен = &ТипЦен И ХарактеристикаНоменклатуры В (&ХарактеристикиНоменклатуры)
       ) КАК ЦеныНоменклатурыСрезПоследних

ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    Справочник.Номенклатура КАК сНоменклатура
ПО
    сНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
    сНоменклатура.Ссылка = &Номенклатура
УПОРЯДОЧИТЬ ПО
    ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры УБЫВ

Petre Подменю пользователя
сообщение 01.03.18, 13:47
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

r1p88@mail.ru @ Today, 13:38 * ,
Вместо
ВЫБРАТЬ ПЕРВЫЕ 1

Вставьте
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: r1p88@mail.ru,

r1p88@mail.ru Подменю пользователя
сообщение 01.03.18, 13:55
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Petre @ Сегодня, 13:47 * ,
та же самая ошибка вылазит

Petre @ Сегодня, 13:47 * ,
всё. Вроде ушла ошибка. Чуть позже буду проверять на рабочей базе, потом скажу что к чему. Пока спасибо за помощь.

r1p88@mail.ru Подменю пользователя
сообщение 01.03.18, 16:42
Сообщение #10

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Теперь появилась другая ошибка.
{ОбщийМодуль.МойПривилигированный.Модуль(338)}: Ошибка при вызове метода контекста (Выполнить)
    РезультатЗапроса = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.

Документ не проводится. Если убрать в настройках пользователя "Не отпускать товар ниже" - Приходной. То всё проводиться. Но нам принципиально оставить это ограничение.

Vofka Подменю пользователя
сообщение 01.03.18, 16:47
Сообщение #11

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

r1p88@mail.ru, решение влезть с этим в RLS, на мой взгляд, плохое. Потому что теперь во всех запросах в программе, в которых есть обращение к типам цен, надо будет вставлять РАЗРЕШЕННЫЕ. Я бы это как-то по другому делал.

Спасибо сказали: ivan.brusniak,

r1p88@mail.ru Подменю пользователя
сообщение 01.03.18, 17:09
Сообщение #12

Говорящий
***
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Сегодня, 16:47 * ,
Например?

Vofka Подменю пользователя
сообщение 02.03.18, 10:19
Сообщение #13

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

r1p88@mail.ru, если бы вы озвучили задачу, можно было бы подумать. А так не понятно зачем вы сделали то, что здесь описываете.

Спасибо сказали: ivan.brusniak,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 18:24
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!