Убрать тип цены "закупочная" в УТ

13.09.11

Задачи пользователя - Адаптация типовых решений

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

Ну так вот задача казалось бы простая, да вот решение нигде не обсуждалось(по крайней мере я не нашел)...

Выкладываю для тех, кто в программировании также как и я не силен, но надо...

Заходим в конфигураторе в Справочник Номенклатура ->ФормаСписка(тоже самое надо сделать будет и в ФормаВыбора)->процедура ПередОткрытием.

Ищем код:

// восстанавливаем выделенные элементы у СписокЦенОстатков
СписокПомеченныхЭлементовТиповЦен = ВосстановитьЗначение("Справочники.Номенклатура.ФормаСписка.СписокПомеченныхЭлементовТиповЦен");
УправлениеЗапасами.ОбновитьСписокТиповЦен(СписокЦенОстатков, СписокПомеченныхЭлементовТиповЦен);

Далее добавляем следующее:

Если НЕ РольДоступна("ПолныеПрава") Тогда
  СписокЦенОстатков.Удалить(СписокЦенОстатков.Индекс(СписокЦенОстатков.Найти("Закупочная", "Наименование")));
КонецЕсли;

 

Тоже самое проделываем для ФормаВыбора.

 

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

 

P.S.: Это действие не закрывает получение закупочных цен через отчеты, поэтому для "умных пользователей"  необходимо дорабатывать еще и отчеты, в моем случае касиры работают только в интерфейсе кассира, да и уровень "делаем только то что показали"

P.S.2: Не забывайте перед любыми действиями с конфигурацией делать копию, поскольку ответственность за работоспособность базы лежит только на Вас.

Удачи в работе.

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6403    17    5    

26

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4455    17    1    

35

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    7060    75    17    

32

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Маленькая заметка (в трех разных масштабах) для тех, кто часто видит окно при входе в ЗУП «Новые сообщения для расшифровки по 1С-Отчетность», которое появляется через 60 секунд после запуска программы, как раз когда вы уже добрались до интересующей вас формы и начали в ней что-то активно делать:

1 стартмани

17.06.2024    2619    38    Znata_PI    5    

12

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5456    dimanich70    15    

22

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    8011    dimanich70    10    

21

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    3898    31    TempTablesManager    14    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4659 13.09.11 12:27 Сейчас в теме
(0) Использовать RLS не предлагать?
3. dva1c 68 14.09.11 07:00 Сейчас в теме
Это решение имеет право на жизнь. Аналогичным способом я поступил в ЗиУП, для того, чтобы табельщик подразделения видел только свое подразделение.
(1) RLS надо курить, а это не быстро :D
WhiteShadow; +1 Ответить
2. WhiteShadow 75 13.09.11 12:51 Сейчас в теме
Я пока еще учусь, и насколько хватает моего понимания, - там надо будет править все роли кроме Полных прав?
находил решение на каком то форуме через RLS, - там надо вводить ограничение на чтение в ролях... проделал как все было описано ничего у меня не получилось... :( я понимаю что это из-за моего не знания, но все же через кодинг конфы получилось лучше, да и быстрее...
4. alex_2k 14.09.11 13:15 Сейчас в теме
Вообще делается намного проще.
Открываешь роль которой надо запретить доступ к ценам.
открываешь регистр сведений ЦеныНоменклатуры, ставишь только одну галку "Чтение",
добавляешь запись в "Ограничения доступа к данным", поля слева не указываешь, в поле ограничение пишешь
ГДЕ ТипЦен.Код <> "00001" (укажи свой код элемента справочника, к которому закрыть доступ).
Собственно все. У меня все работает, человек с этой ролью не видит закупочных цен вообще нигде.
s_tagil@mail.ru; m_o; legrey; IDija; krein; WhiteShadow; artemka; +7 Ответить
18. websamson 307 05.03.14 10:22 Сейчас в теме
(4) alex_2k,
4. alex_2k 14.09.2011 13:15
Вообще делается намного проще.
Открываешь роль которой надо запретить доступ к ценам.
открываешь регистр сведений ЦеныНоменклатуры, ставишь только одну галку "Чтение",
добавляешь запись в "Ограничения доступа к данным", поля слева не указываешь, в поле ограничение пишешь
ГДЕ ТипЦен.Код <> "00001" (укажи свой код элемента справочника, к которому закрыть доступ).
Собственно все. У меня все работает, человек с этой ролью не видит закупочных цен вообще нигде.

Если так делаешь, то пользователь с ограниченной ролью не может запускать отчеты в которых есть запрос, содержащий вложенный запрос к РС "Цены номенклатуры" (например, Печать прайс-листа в УПП 1.3). Не помогает ключевое слово "РАЗРЕШЕННЫЕ", т.к. "Ключевое слово РАЗРЕШЕННЫЕ доступно только у первого запроса".
У кого-нибудь есть еще варианты решения, кроме "чистки" базы с запретом просмотра закупочной цены?
Может, RLS-ом это как-то правильно можно решить?
KillHunter; +1 Ответить
19. KillHunter 8 05.03.14 12:13 Сейчас в теме
(18) websamson,
4. alex_2k 14.09.2011 13:15
Вообще делается намного проще.
Открываешь роль которой надо запретить доступ к ценам.
открываешь регистр сведений ЦеныНоменклатуры, ставишь только одну галку "Чтение",
добавляешь запись в "Ограничения доступа к данным", поля слева не указываешь, в поле ограничение пишешь
ГДЕ ТипЦен.Код <> "00001" (укажи свой код элемента справочника, к которому закрыть доступ).
Собственно все. У меня все работает, человек с этой ролью не видит закупочных цен вообще нигде.

Если так делаешь, то пользователь с ограниченной ролью не может запускать отчеты в которых есть запрос, содержащий вложенный запрос к РС "Цены номенклатуры" (например, Печать прайс-листа в УПП 1.3). Не помогает ключевое слово "РАЗРЕШЕННЫЕ", т.к. "Ключевое слово РАЗРЕШЕННЫЕ доступно только у первого запроса".
У кого-нибудь есть еще варианты решения, кроме "чистки" базы с запретом просмотра закупочной цены?
Может, RLS-ом это как-то правильно можно решить?

я тоже долго думал над решением этой проблемы и манулы курил, но в данном случае намного проще организовать через программный код.
5. neuromancer_aza 49 14.09.11 14:44 Сейчас в теме
да, только вот оно будет действовать на обработку подбора номенклатуры? а так костыль нормуль ;)
6. neuromancer_aza 49 14.09.11 15:41 Сейчас в теме
есть вариант получше. Усли у вас УТ10
то можно в общих модулях УправлениеЗапасами.ЗаполнитьСписокТиповЦенДляПолученияОстатков
добавить в конце что-то типа того

	Если НЕ (РольДоступна("ПолныеПрава") или РольДоступна("МенеджерПоЗакупу") или РольДоступна ("СтаршийМенеджерПоПродажам") ) Тогда
		СписокЦенОстатков.Удалить(СписокЦенОстатков.Индекс(СписокЦенОстатков.Найти("Приобретение", "Наименование")));
	КонецЕсли;



тогда она будет действовать везде где оно используется
7. hotey 42 14.09.11 18:32 Сейчас в теме
Решал недавно аналогичную проблему, делал через RLS. Кода получается не много, но действительно пришлось разобраться. Но и результат того стоит.
8. WhiteShadow 75 14.09.11 21:04 Сейчас в теме
alex_2k пишет:

Вообще делается намного проще.
Открываешь роль которой надо запретить доступ к ценам.
открываешь регистр сведений ЦеныНоменклатуры, ставишь только одну галку "Чтение",
добавляешь запись в "Ограничения доступа к данным", поля слева не указываешь, в поле ограничение пишешь
ГДЕ ТипЦен.Код <> "00001" (укажи свой код элемента справочника, к которому закрыть доступ).
Собственно все. У меня все работает, человек с этой ролью не видит закупочных цен вообще нигде.


чесное слово приблизительно тоже самое и пробовал(разница только в том что там наименование юзалось вместо кода), - итог : не получилось.... но я повторюсь это из-за моего недопонимания... :)
9. a-novoselov 1158 15.09.11 08:35 Сейчас в теме
(0) У вас менеджеры по закупу под полными правами работают? У нас нет... как нам быть :cry:
11. WhiteShadow 75 22.09.11 22:50 Сейчас в теме
(9) a-novoselov, прошу прощения отсутствовал неделю :)
условие можно использовать для любых прав, которые требуются...

как уже ответил Вам, neuromancer_aza...

подробнее так :

Если НЕ (РольДоступна("ПолныеПрава") ИЛИ РольДоступна("МенеджерПоЗакупкам")) Тогда
СписокЦенОстатков.Удалить(СписокЦенОстатков.Индекс(СписокЦенОстатков.Найти("Закупочная", "Наименование")));
КонецЕсли;

P.S. не проверял :)
10. neuromancer_aza 49 15.09.11 14:16 Сейчас в теме
a-novoselov пишет:

(0) У вас менеджеры по закупу под полными правами работают? У нас нет... как нам быть :cry:


добавьте еще условие на роль менеджера по закупу.
WhiteShadow; +1 Ответить
12. a-novoselov 1158 23.09.11 07:07 Сейчас в теме
(10)(11) Ну а если еще бухгалтерам нужно закупочные цены видеть и у нас 8 разных ролей для бухгалтеров... Может целесообразнее всетаки делать через "Настройку дополнительных прав пользователей"? Опять же в отчтетах (например какой-нибудь прайс-лист по всем типам цен) лишние пользователи смогут увидеть, или просто через операции->регистры сведений->цены номенклатуры. А для RLS на регистры список ролей не очень-то подходит, проще проверку по регистру "значения доп.прав" делать.
13. WhiteShadow 75 23.09.11 12:52 Сейчас в теме
(12) a-novoselov, для Вас целесообразнее всетаки делать через "Настройку дополнительных прав пользователей"... поэтому с радостью познакомлюсь с Вашим вариантом решения, для повышения уровня знаний :)
14. StasssiK 18.10.11 16:48 Сейчас в теме
Делал типа таково же, но увы не получилось. Попробую вашу
15. EAU1c 08.12.11 12:01 Сейчас в теме
alex_2k пишет:
Вообще делается намного проще. Открываешь роль которой надо запретить доступ к ценам. открываешь регистр сведений ЦеныНоменклатуры, ставишь только одну галку "Чтение", добавляешь запись в "Ограничения доступа к данным", поля слева не указываешь, в поле ограничение пишешь ГДЕ ТипЦен.Код <> "00001" (укажи свой код элемента справочника, к которому закрыть доступ). Собственно все. У меня все работает, человек с этой ролью не видит закупочных цен вообще нигде.
именно так в большинстве случаев если к 81 применительно

    да но и для этого нужно создать и распределить пользователей по ролям
16. alex_2k 08.12.11 12:09 Сейчас в теме
EAU1c пишет:
именно так в большинстве случаев если к 81 применительно

да но и для этого нужно создать и распределить пользователей по ролям


Это применительно и к 8.2 тоже.
А как работать без ролей то? Естественно роли должны быть, куда же без них!
17. 3sf 25.02.13 10:05 Сейчас в теме
Спасибо! Очень пригодилось!
20. SlavonNoskoff 30.11.16 16:31 Сейчас в теме
А у меня вообще так:
{Справочник.Номенклатура.Форма.ФормаСписка(489)}: Ошибка при вызове метода контекста (Индекс)
СписокЦенОстатков.Удалить(СписокЦенОстатков.Индекс(СписокЦенОстатков.Найти("Закупочная", "Наименование")));
по причине:
Несоответствие типов (параметр номер '1')

В чём дело?
21. WhiteShadow 75 02.12.16 12:20 Сейчас в теме
22. Sanario 27 02.12.16 12:26 Сейчас в теме
(20) Как вариант просто в программе называются не "Закупочная", а "Закупочные". Поэтому найти не может
23. makskov 89 20.06.23 21:10 Сейчас в теме
Спасибо, до сих пор актуально, все просто и помогло
Оставьте свое сообщение