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

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

Страницы: 1
RSS
Не показывать закупочную цену в номенклатуре, Не показывать закупочную цену в номенклатуре
 
Добрый день! Подскажите, пожалуйста, можно ли как-то в Альфа-Авто: Автосервис+Автозапчасти. Редакция 4.1 закрыть в номенклатуре у продавцов закупочную цену, так как компьютеры стоят в торговом зале и у клиентов есть возможность увидеть всю находящуюся в них информацию, а закупочную цену они видеть не должны.
 
1-й вариант. Можно просто не регистрировать закупочные цены. Правда один черт могут увидеть себестоимость в партиях.
2-й вариант. Пользоваться только формой подбора.
 
Нет, ни один из вариантов, к сожалению, не подходит...
 
Тогда только кодинг, благо там пару строк.
 
Ясно, спасибо.
 
Цитата
Евгений Шульц пишет:
Тогда только кодинг, благо там пару строк.

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

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

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


Сильно прошу не пинать, я только учусь ;) но данное решение работает, осталось еще убрать отображение цен в меню Перейти, пока не нашел как, но обязательно найду :)
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С