Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 00:54

Выборочный запрет на правку ячейки в документе.

Автор АЦЕ, 27 июн 2013, 10:02

0 Пользователей и 1 гость просматривают эту тему.

АЦЕ

1с платформа 8.2.  В документе реализация товаров и услуг на закладке дополнительно есть поле "ответственный".  Подскажите, пожалуйста, как сделать это поле для всех пользователей только для чтения, а для группы администратор разрешено править. На сегодня эта ячейка сделана только для чтения для всех групп.

Dethmontt

Процедура ПриОткрытии()
ЭлементыФормы.Ответственный.Доступность = РольДоступна("ПолныеПрава");
КонецПроцедуры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

АЦЕ

Подставляла в разные места процедуры, все равно только чтение.

Besart

Цитата: АЦЕ от 27 июн 2013, 10:02Подскажите, пожалуйста, как сделать это поле для всех пользователей только для чтения, а для группы администратор разрешено править
интересно, если ответственный выбирается из справочника физ лица или сотрудники, то как он будет выбираться при создании документа, необходимо дополнить код, что если документ проведен только в этом случае сделать это поле для всех пользователей только для чтения.

&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если ПроверитьПроведен() Тогда

//сюда вставьет код предложенный Dethmontt

КонецЕсли;
КонецПроцедуры


&НаСервере
Функция ПроверитьПроведен()
ДокОбъект = ДанныеФормыВЗначение(Объект, Тип("ДокументОбъект.ИмяВашегоДокумента"));
Возврат ДокОбъект.Проведен;
КонецФункции // ПроверитьПроведен()

АЦЕ

Дело в том, что поле ответственный по умолчанию ссылается на того пользователя, под чьим сеансом создается документ. Позднее этот пользователь меняет себя на другого ответственного, но в истории все равно остается тот, под чьим сеансом был создан документ. И получается, что все отчеты по реализации видят того, кто обозначен в документе, а история показывает другого пользователя. Поэтому пришлось сделать в конфигураторе поле ответственный только на чтение. Но иногда требуется поменять это поле принудительно, поэтому администратор должен это право иметь.

GRADUS

Процедура ПриОткрытии()
ЭлементыФормы.Ответственный.ТолькоПросмотр = НЕ РольДоступна("ПолныеПрава");
КонецПроцедуры

АЦЕ

У меня получилось проще: я зашла в конфигураторе в раздел "роли" и всем группам, кроме администратора в документе реализация, ячейке ответственный поставила "только просмотр", а администратору оставила право редактирования. Вроде сработало. Теперь только нужно проверить пользователей, кто в какой группе сидит.

GRADUS

Лучше купите себе программиста, чем вот так вот ограничивать права на реквизиты документа ...

АЦЕ

У нас их было пять. :) И мы пришли к выводу: если хочешь сделать что-то хорошо, сделай это сам.

GRADUS

Цитата: АЦЕ от 28 июн 2013, 10:42
У нас их было пять. :) И мы пришли к выводу: если хочешь сделать что-то хорошо, сделай это сам.

за 20к рублей были? )

Нормальный программист стоит дорого, а работы раз в 10 уменьшает, если не больше.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск