Разрешить редактирование реквизитов объекта

Создали новый вид цены в программе 1с: Управление Торговлей 11.4. Теперь его нужно изменить, но  поля неактивны и нельзя что-либо поменять.

Не редактируются реквизиты Вида Цены Ут11

Данное ограничение связано с  Подсистемой «Запрет редактирования реквизитов объектов», которая запрещает изменять некоторые реквизиты объектов, которые являются ключевыми и оказывают влияние на поведение других объектов. Данная

Если Вы  уверены, что изменение реквизитов не повлечет за собой негативных последствий и объект еще не используется, то можно разблокировать реквизиты для редактирования.

В данном случае Вид цены был только создан и нигде не используется. 

Проверяем доступна ли команда “Разрешить редактирование реквизитов “:

Разрешить редактирование реквизитов

Если Пользователи.РолиДоступны(«РедактированиеРеквизитовОбъектов»)

   И ПравоДоступа(«Редактирование», Ссылка.Метаданные())

   И НЕ ВсеРеквизитыБезПраваРедактирования Тогда

// Добавление команды

Команда = Форма.Команды.Добавить(«РазрешитьРедактированиеРеквизитовОбъекта»);

Если нет, то добавляем роль “РедактированиеРеквизитовОбъектов” и возможность редактирования данного объекта.

Появляется предупреждение о разблокировании реквизитов и необходимости проверить использование объекта. Если объект используется, то не рекомендуется разблокировать реквизиты и нужно нажать кнопку “Закрыть”.

Разблокирование реквизитов

Если же нажата кнопка “Разрешить редактирование”, то реквизиты на форме станут доступны для изменения:

Редактирование формы Виды Цен 

Внимание!!! Разблокирование реквизитов для редактирования Вы делаете на свой страх и риск.

Поделиться ссылкой:

Похожие записи

Разрешение пользователям редактировать отдельные реквизиты документа без перепроведения или просто одни реквизиты разрешать, а другие запрещать.

Разрешение пользователям редактировать отдельные реквизиты документа без перепроведения или просто одни реквизиты разрешать, а другие запрещать.

Иногда необходимо разрешить редактирование некоторых реквизитов документа без перепроведения. Например: Комментарий, АдресКонтрагента, КонтактноеЛицо. Ещё бывает необходимым разрешить изменение отдельных реквизитов в закрытых документах. Например, поставить отметку о состоянии доставки и написать комментарий.

В модуле менеджера документа пишем функцию, которая определяет массив допустимых к редактированию реквизитов

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

// Возвращает массив имён реквизитов, разрешённых для изменнения без перепроведения.

// Если получен параметр типа Массив, то имена реквизитов добавляются в него

Функция ПолучитьМассивРеквизитовИзменяемыхБезПерепроведения(МассивРеквизитовДопустимыхКИзменению = Неопределено) Экспорт

Если Не ТипЗнч(МассивРеквизитовДопустимыхКИзменению) = Тип(«Массив») Тогда

МассивРеквизитовДопустимыхКИзменению = Новый Массив;

КонецЕсли;

//Типовые реквизиты

МассивРеквизитовДопустимыхКИзменению.Добавить(«Грузополучатель»);

МассивРеквизитовДопустимыхКИзменению.Добавить(«ДоверенностьНомер»);

МассивРеквизитовДопустимыхКИзменению.Добавить(«ДоверенностьДата»);

МассивРеквизитовДопустимыхКИзменению.Добавить(«ДоверенностьНомер»);

МассивРеквизитовДопустимыхКИзменению.Добавить(«ДоверенностьВыдана»);

МассивРеквизитовДопустимыхКИзменению.Добавить(«ДоверенностьЧерезКого»);

МассивРеквизитовДопустимыхКИзменению.Добавить(«Комментарий»);

МассивРеквизитовДопустимыхКИзменению.Добавить(«АдресДоставки»);

//Добавленные реквизиты

Возврат МассивРеквизитовДопустимыхКИзменению;

КонецФункции

В модуле ОбщегоНазначения пишем функции общие для всех документов.

// сравниваем реквизиты документа из базы данных с записываемым объектом

// имена изменённых реквизитов запихываем в массив

Функция ПолучитьСписокИзменённыхРеквизитов(ДокОбъект) Экспорт

СписокИзменённыхРеквизитов = Новый Массив;

Ссылка = ДокОбъект.Ссылка;

мдОбъекта = ДокОбъект.Метаданные();

// сравниваем стандартные реквизиты

Для Каждого Реквизит из мдОбъекта.СтандартныеРеквизиты Цикл

Если ДокОбъект[Реквизит.Имя] <> Ссылка[Реквизит.Имя] Тогда

СписокИзменённыхРеквизитов.Добавить(Реквизит.Имя);

КонецЕсли;

КонецЦикла;

В модуле документа ПредЗаписью разрешаем запись без пререпроведения в случае, если были изменены только реквизиты, не вызывающие перепроведение.

РедактированиеЗаднимЧислом = Ложь;

МассивРеквизитовДопустимыхКИзменению = Документы.РеализацияТоваровУслуг.ПолучитьМассивРеквизитовИзменяемыхБезПерепроведения();

СписокИзменённыхРеквизитов = ОбщегоНазначения.ПолучитьСписокИзменённыхРеквизитов(ЭтотОбъект);

СписокИзменённыхРеквизитовВызывающихПерепроведение = ОбщегоНазначения.МожноЗаписыватьБезПерепроведения(ЭтотОбъект, МассивРеквизитовДопустимыхКИзменению, СписокИзменённыхРеквизитов);

Если СписокИзменённыхРеквизитовВызывающихПерепроведение = «» И Проведен И СписокИзменённыхРеквизитов.Количество() > 0 Тогда

РежимЗаписи = РежимЗаписиДокумента.Запись;

ИначеЕсли НЕ РедактированиеЗаднимЧислом и Дата < НачалоДня(ТекущаяДата()) И Не РольДоступна(«ПравоАдминистрирования») Тогда

Сообщить(«Недостаточно прав для проведения реализации « + Номер + » « + Строка(Дата) +

» задним числом. Изменены реквизиты: « + СписокИзменённыхРеквизитовВызывающихПерепроведение);

Отказ = Истина;

КонецЕсли;

 

Оцените статью:

Загрузка…

Если Вы заметили ошибку, то выделите ее мышью и нажмите Ctrl+Enter

1

2

Показывать по
10
20
40
сообщений

Новая тема

Ответить

gala2009

Дата регистрации: 11.03.2009
Сообщений: 319

Например, Пользователю с ролью Пользователь1 дать право на изменение реквизита Комментарий в записанных документах Реализация товаров и услуг. Для всех остальных реквизитов право на изменение должно быть закрыто.

StarS

Дата регистрации: 15.07.2003
Сообщений: 1623

Типовыми средствами или через «замочек с конфы снять»?

gala2009

Дата регистрации: 11.03.2009
Сообщений: 319

если типовыми невозможно (что приоритетно)<br>то кодом, все равно замок снят, новая роль создана

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

Платформа 8.2 позволяет такое настроить в ролях. Реквизиты могут быть открыты на просмотр и редактирование.

gala2009

Дата регистрации: 11.03.2009
Сообщений: 319

С реквизитами пробовала, двумя способами, оба не сработали.<br>При настройке роли в Док-те РТиУ Реквизиты, а заодно и Табличные части ставлю на просмотр, реквизит Комментарий на просмотр и редактирование.<br>Но права на сам документ РТиУ перебивают все настройки прав отдельных реквизитов<br>1.Если у него галки на Чтение, Добавление, Изменение, Провендение, Просмотр, ВводПоСтроке (а у Комментария — редактирование) -<br>то в 1С не редактируеися ни одно поле, в тч и Комментарий<br> <br>2. Если в документе добавляем галку Редактирование, интер.измен,инт.пров, инт,отмена(а у всех реквизитов (кроме Комментария) просмотр), то в 1С редактируются все рквизиты, и кол-во и пр

Денис (САМАРА)

Дата регистрации: 09.04.2008
Сообщений: 8351

А для варианта №1 после снятия общего редактирования выставляли редактирование по-реквизитно?

Тимур15rus

Дата регистрации: 08.11.2008
Сообщений: 613

Ну когда все научатся сначала писать хотя бы версию платформы, о конфигурации уже не говорю.

gala2009

Дата регистрации: 11.03.2009
Сообщений: 319

платформа 8.2.13.219<br>релиз БП 2.0.29.10

gala2009

Дата регистрации: 11.03.2009
Сообщений: 319

> выставляли редактирование по-реквизитно?<br>да, все ревизиты после настройки прав документа только на просмотр (а точнее поставлены первые 7 галок)- стали тоже все на просмотр,<br>а в Комментарий захожу и добавляю еще Редактирование — в итоге он не редактируется, как и все остальные<br> <br>вообще заметила, что редактирование уже записанных и проведенных документов возможно только при галках на правах документа -Интерактивное изменение и Интерактивное проведение, то есть пробуем плясать от этого, и ограничивать только посмотром реквизиты и табличные части- оп! — правится все!

gala2009

Дата регистрации: 11.03.2009
Сообщений: 319

Да, хочу сказать, что экспериментировала с ролью Бухгалтер,<br>сейчас попробую на ПолныхПравах

Уважаемые специалисты, подскажите пожалуйста, в конфигурации по умолчанию блокируется редактирование реквизитов справочникв (номеклатура, склады), для начала редактирования надо в меню выбрать «Разрешить редактирование реквизитов», а как сделать так, чтобы сразу можно было все менять? Только зайти в менеджер и исправить ПолучитьБлокируемыеРеквизитыОбъекта? А более щадящего способа нет? Для чего это нужно — иногда требуется пройтись по ряду элементов и в них что-то поменять (у каждого свое). В этом случае каждый раз нажимать «Разрешить редактирование реквизитов» — немножко утомительно.

Есть обработки для группового редактирования. По идее, в инструментах разработчика что-то подходящее должно быть.

спасибо за совет, но я меняю у у каждого элемента — свои свойства, то есть не всем присвоить например группу, а к примеру установка настроек сегмента номенклатуры — у каждого сегмента — свои условия в СКД. Изменения — не групповые, а индивидуальные.

у тебя идет типовое открытие формы элемента, допустим. При открытии или перед открытием (где-то там) идет обращение к процедуре менеджера. Как тут можно отказаться от открытия формы? Использовать свою в обработке. Затратно? — Да. Использованием групповой, но указывая ей в отборе конкретную ссылку на элемент, получал доступ ко всем реквизитам элемента, минуя типовые механизмы, прошитые в его обычной форме.

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

В модуле менеджера справочников есть

спасибо, я его нашел, но ищется способ, не требующий изменений в объекты.

В итоге нашел способ — программно открыть форму и программно же нажать кнопку Настройки.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Понравилась статья? Поделить с друзьями:
  • Разъездная 12 ооо управляющая компания сайт
  • Раифа монастырь часы работы для посетителей
  • Райсобес на рязанском проспекте часы работы
  • Райфазенк банк бизнес онлайн вход райфазенк
  • Райфазенк банк онлайн личный кабинет бизнес