Не показывать закупочную цену в номенклатуре

Декоративное изображение

Для получения доступа к форуму необходимо авторизоваться
или зарегистрироваться на сайте.

Пользователь ПП
RSS
Добрый день! Подскажите, пожалуйста, можно ли как-то в Альфа-Авто: Автосервис+Автозапчасти. Редакция 4.1 закрыть в номенклатуре у продавцов закупочную цену, так как компьютеры стоят в торговом зале и у клиентов есть возможность увидеть всю находящуюся в них информацию, а закупочную цену они видеть не должны.

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
1-й вариант. Можно просто не регистрировать закупочные цены. Правда один черт могут увидеть себестоимость в партиях.
2-й вариант. Пользоваться только формой подбора.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Пользователь ПП
Нет, ни один из вариантов, к сожалению, не подходит...
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Тогда только кодинг, благо там пару строк.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Пользователь ПП
Ясно, спасибо.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Пользователь ПП
Цитата
Евгений Шульц пишет:
Тогда только кодинг, благо там пару строк.

Можно ли посмотреть на эти пару строк?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Дело в том что у меня несколько конфигураций на обслуживании
Сейчас попробую примерно показать
Нужно найти строчку
| РегистрСведений.Цены.СрезПоследних(&НаДату,Номенклатура=&Номенклатура И Контрагент"+?(ЦеныКонтрагентов,"<>","=")+"&Контрагент) КАК ЦеныСрезПоследних
В процедуре ОбновитьИнформацию
И поменять ее на
| РегистрСведений.Цены.СрезПоследних(&НаДату,Номенклатура=&Номенклатура и ТипЦен<>&ЗакупочныйТипцен И Контрагент"+?(ЦеныКонтрагентов,"<>","=")+"&Контрагент) КАК ЦеныСрезПоследних
и посоле запроса добавить
Запрос.УстановитьПараметр("ЗакупочныйТипцен",обПраво("ОсновнойТипЦенЗакупки"));
Как то так.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Подниму забытую темку...

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

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Право добавить в правах и настройках ну и переделать запрос
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Цитата
Евгений Шульц пишет:
Право добавить в правах и настройках ну и переделать запрос
Отличное решение, только можно чуть чуть поподробнее, пока еще на начальном уровне по программированию плаваю :)
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Это совсем начальный уровень.
Про добавления права писали уже где то на форуме.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Цитата
Евгений Шульц пишет:
Про добавления права писали уже где то на форуме.
Ок, значит разберусь ;)
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Все получилось, новое право добавил, но не понимаю что в запросе переделать, чтобы у некоторых пользователей отображалась закупочная цена, а остальных нет. Создал право "ОтображатьЦенуЗакупки". Можете ткнуть пальцем что нужно сделать?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Добрый день.
В справочнике номенклатуры в форме элемента есть процедура ЗагрузитьЦены(). В ней потребуется внести изменения в запрос по получению цен согласно нового права.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

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

Эта настройка упрявляет отображением закупочной цены только в списке номенклатуры, поэтому если открыть карточку номенклатуры и зайти в цены или в цены поставщиков то закупочная цена также будет отображаться, поэтому я сделал аналогичные изменения в процедуре ЗагрузитьЦены в ФормеЭлемента справочника номенклатура:
Код
Процедура ЗагрузитьЦены()
   Если обПраво("ОтображатьЗакупочныеЦены")= Ложь тогда
    //Загрузка цен, кроме закупочных
   Запрос=Новый Запрос("
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   ЦеныСрезПоследних.ТипЦен КАК ТипЦен,
   |   ВЫБОР 
   |      КОГДА ЦеныСрезПоследних.ТипЦен.ВВалютеУчета=ИСТИНА ТОГДА
   |         ЦеныСрезПоследних.Номенклатура.ВалютаУчета
   |      ИНАЧЕ
   |         ЦеныСрезПоследних.ТипЦен.ВалютаЦены 
   |      КОНЕЦ 
   |   КАК ВалютаЦены,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, 
   |   ЦеныСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании КАК ПодразделениеКомпании,
   |   ЦеныСрезПоследних.Цена КАК Цена
   |ИЗ
   |   РегистрСведений.Цены.СрезПоследних(&НаДату,Номенклатура=&Номенклатура И ТипЦен<>&ЗакупочныйТипцен И Контрагент=&Контрагент) КАК ЦеныСрезПоследних
   |ГДЕ
   |   ЦеныСрезПоследних.Цена>0
   |УПОРЯДОЧИТЬ ПО
   |   ЦеныСрезПоследних.ТипЦен,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры,
   |   ЦеныСрезПоследних.ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании");
   Запрос.УстановитьПараметр("ЗакупочныйТипцен",обПраво("ОсновнойТипЦенЗакупки")); 
   Запрос.УстановитьПараметр("НаДату",ТекущаяДата());
   Запрос.УстановитьПараметр("Номенклатура",Ссылка);
   Запрос.УстановитьПараметр("Контрагент",Справочники.Контрагенты.ПустаяСсылка());
   Цены=Запрос.Выполнить().Выгрузить();
   //Загрузка цен контрагентов, кроме закупочных
   Запрос=Новый Запрос("
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   ЦеныСрезПоследних.ТипЦен КАК ТипЦен,
   |   ЦеныСрезПоследних.Контрагент КАК Контрагент,
   |   ВЫБОР 
   |      КОГДА ЦеныСрезПоследних.ТипЦен.ВВалютеУчета=ИСТИНА ТОГДА
   |         ЦеныСрезПоследних.Номенклатура.ВалютаУчета
   |      ИНАЧЕ
   |         ЦеныСрезПоследних.ТипЦен.ВалютаЦены 
   |      КОНЕЦ 
   |   КАК ВалютаЦены,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, 
   |   ЦеныСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании КАК ПодразделениеКомпании,
   |   ЦеныСрезПоследних.Цена КАК Цена
   |ИЗ
   |   РегистрСведений.Цены.СрезПоследних(&НаДату,Номенклатура=&Номенклатура И ТипЦен<>&ЗакупочныйТипцен И Контрагент<>&Контрагент) КАК ЦеныСрезПоследних
   |ГДЕ
   |   ЦеныСрезПоследних.Цена>0
   |УПОРЯДОЧИТЬ ПО
   |   ЦеныСрезПоследних.ТипЦен,
   |   ЦеныСрезПоследних.Контрагент,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры,
   |   ЦеныСрезПоследних.ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании
   |");
   Запрос.УстановитьПараметр("ЗакупочныйТипцен",обПраво("ОсновнойТипЦенЗакупки")); 
   Запрос.УстановитьПараметр("НаДату",ТекущаяДата());
   Запрос.УстановитьПараметр("Номенклатура",Ссылка);
   Запрос.УстановитьПараметр("Контрагент",Справочники.Контрагенты.ПустаяСсылка());
   ЦеныКонтрагентов=Запрос.Выполнить().Выгрузить();
Иначе 
   //Загрузка ВСЕХ цен
   Запрос=Новый Запрос("
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   ЦеныСрезПоследних.ТипЦен КАК ТипЦен,
   |   ВЫБОР 
   |      КОГДА ЦеныСрезПоследних.ТипЦен.ВВалютеУчета=ИСТИНА ТОГДА
   |         ЦеныСрезПоследних.Номенклатура.ВалютаУчета
   |      ИНАЧЕ
   |         ЦеныСрезПоследних.ТипЦен.ВалютаЦены 
   |      КОНЕЦ 
   |   КАК ВалютаЦены,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, 
   |   ЦеныСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании КАК ПодразделениеКомпании,
   |   ЦеныСрезПоследних.Цена КАК Цена
   |ИЗ
   |   РегистрСведений.Цены.СрезПоследних(&НаДату,Номенклатура=&Номенклатура И Контрагент=&Контрагент) КАК ЦеныСрезПоследних
   |ГДЕ
   |   ЦеныСрезПоследних.Цена>0
   |УПОРЯДОЧИТЬ ПО
   |   ЦеныСрезПоследних.ТипЦен,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры,
   |   ЦеныСрезПоследних.ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании");
   Запрос.УстановитьПараметр("НаДату",ТекущаяДата());
   Запрос.УстановитьПараметр("Номенклатура",Ссылка);
   Запрос.УстановитьПараметр("Контрагент",Справочники.Контрагенты.ПустаяСсылка());
   Цены=Запрос.Выполнить().Выгрузить();
   //Загрузка ВСЕХ цен контрагентов
   Запрос=Новый Запрос("
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   ЦеныСрезПоследних.ТипЦен КАК ТипЦен,
   |   ЦеныСрезПоследних.Контрагент КАК Контрагент,
   |   ВЫБОР 
   |      КОГДА ЦеныСрезПоследних.ТипЦен.ВВалютеУчета=ИСТИНА ТОГДА
   |         ЦеныСрезПоследних.Номенклатура.ВалютаУчета
   |      ИНАЧЕ
   |         ЦеныСрезПоследних.ТипЦен.ВалютаЦены 
   |      КОНЕЦ 
   |   КАК ВалютаЦены,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, 
   |   ЦеныСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании КАК ПодразделениеКомпании,
   |   ЦеныСрезПоследних.Цена КАК Цена
   |ИЗ
   |   РегистрСведений.Цены.СрезПоследних(&НаДату,Номенклатура=&Номенклатура И Контрагент<>&Контрагент) КАК ЦеныСрезПоследних
   |ГДЕ
   |   ЦеныСрезПоследних.Цена>0
   |УПОРЯДОЧИТЬ ПО
   |   ЦеныСрезПоследних.ТипЦен,
   |   ЦеныСрезПоследних.Контрагент,
   |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры,
   |   ЦеныСрезПоследних.ЕдиницаИзмерения,
   |   ЦеныСрезПоследних.ПодразделениеКомпании
   |");
   Запрос.УстановитьПараметр("НаДату",ТекущаяДата());
   Запрос.УстановитьПараметр("Номенклатура",Ссылка);
   Запрос.УстановитьПараметр("Контрагент",Справочники.Контрагенты.ПустаяСсылка());
   ЦеныКонтрагентов=Запрос.Выполнить().Выгрузить();
КонецЕсли;      
         
КонецПроцедуры // ЗагрузитьЦены()


Сильно прошу не пинать, я только учусь ;) но данное решение работает, осталось еще убрать отображение цен в меню Перейти, пока не нашел как, но обязательно найду :)
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С