Открытие документов «Только просмотр» с дополнительной кнопкой «Изменить»
С помощью минимального изменения конфигурации можно данный недостаток устранить.
Формы документа будут открываться по умолчанию «Только просмотр», а для редактирования документа, пользователю требуется нажать доп. кнопку в командной панели документа. (см. скрин)
С помощью минимального изменения конфигурации можно данный недостаток устранить.
Формы документа будут открываться по умолчанию «Только просмотр», а для редактирования документа, пользователю требуется нажать доп. кнопку в командной панели документа. (см. скрин)
Как реализовать этот функционал?
В конфигурациях от 1С (БП, УТ, ЗУП, УПП и т.д.), при открытие формы документа всегда вызывается какая либо процедура которая проверяет дату запрета редактирования данных.
в конфигурации Бухгалтерия предприятия, редакция 2.0 во всех формах документа ПриОткрытии вызывается:
// Установить доступность формы с учетом даты запрета редактирования
в конфигурации «Управление торговлей», редакция 10.3
Также в конфигурациях от 1С, во всех формах документов присутствует процедура ДействияФормыРедактироватьНомер(Кнопка)
Эту процедуру мы будем использовать для обработки действия по нажатию кнопки «Изменить».
Эти процедуры нам и нужны. Дальше, для примера, разберем, как это реализовать в конфигурации Бухгалтерия предприятия, редакция 2.0.
1. Создать новый общий модуль «лМодульДоработок» содержащий всего 1 процедуру:
Процедура ДобавитьКнопкуВКоманднуюПанельФормы(_Метаданные,_Форма) Экспорт
КП =_Форма.ЭлементыФормы.ДействияФормы; ТипКнопки = ТипКнопкиКоманднойПанели.Действие;
Если КП.Кнопки.Найти(«РедактированиеДокумента») = Неопределено Тогда
2. Изменить стандартную процедуру УстановитьДоступностьФормыДляРедактирования общего модуля РаботаСДиалогами. Добавить в конец процедуры (после всех проверок даты редактирования) текст:
//Если после проверки даты запрета, форма доступна для редактирования, откроем ее на просмотр,
//но добавим кнопочку в панель для возможности редактирования
если НЕ ФормаДокумента.ТолькоПросмотр и ДокументОбъект.Проведен тогда
3. Процедура форм документов «ДействияФормыРедактироватьНомер» состоит из 1 строчки и вызывает процедуру «ИзменениеВозможностиРедактированияНомера» общего модуля «МеханизмНумерацииОбъектов»
МеханизмНумерацииОбъектов.ИзменениеВозможностиРедактированияНомера(ЭтотОбъект.Метаданные(), ЭтаФорма, ЭлементыФормы.ДействияФормы.Кнопки.Подменю, ЭлементыФормы.Номер);
Изменить процедуру следующим образом:
Процедура ИзменениеВозможностиРедактированияНомера(МетаданныеОбъекта, ФормаОбъекта, ПодменюДействия, ПолеВводаНомера, ПолеВводаНомераДубль = Неопределено, ТекстВопроса = «») Экспорт
//Если при вызове процедуры форма документа не доступна для редактирования, то вызов процедуры произошел по нажатию кнопки «Изменить»
Если ФормаОбъекта.ТолькоПросмотр тогда
ФормаОбъекта.ТолькоПросмотр = ложь;
ФормаОбъекта.ЭлементыФормы.ДействияФормы.Кнопки.РедактированиеДокумента.Доступность = ложь;
ФормаОбъекта.Обновить();
иначе //иначе на самом деле хотят редактировать номер документа
Кнопка = ПодменюДействия.Кнопки.РедактироватьКодНомер;
Если НЕ Кнопка.Пометка Тогда
Если ПустаяСтрока(ТекстВопроса) Тогда
Если ВРЕГ(ПолеВводаНомера.Данные) = ВРЕГ(«Код») Тогда
ТекстВопроса = «Код присваивается автоматически при записи элемента, самостоятельное его редактирование может привести к нарушению в нумерации в системе. Вы действительно хотите установить код вручную?»
Иначе
ТекстВопроса = «Номер документу присваивается автоматически при записи, самостоятельное его редактирование может привести к нарушению в нумерации в системе. Вы действительно хотите установить номер вручную?»
КонецЕсли;
КонецЕсли;
Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Кнопка.Пометка = Не Кнопка.Пометка;
ПолеВводаНомера.ТолькоПросмотр = НЕ Кнопка.Пометка;
ПолеВводаНомера.ПропускатьПриВводе = ПолеВводаНомера.ТолькоПросмотр;
ОбновитьПодсказкуКодНомерОбъекта(МетаданныеОбъекта, ПодменюДействия, ПолеВводаНомера);
Если ПолеВводаНомераДубль <> Неопределено Тогда
ПолеВводаНомераДубль.ТолькоПросмотр = ПолеВводаНомера.ТолькоПросмотр;
ПолеВводаНомераДубль.ПропускатьПриВводе = ПолеВводаНомераДубль.ТолькоПросмотр;
ОбновитьПодсказкуКодНомерОбъекта(МетаданныеОбъекта, ПодменюДействия, ПолеВводаНомераДубль);
КонецЕсли;
//конец проверки Если ФормаОбъекта.ТолькоПросмотр тогда
конецесли;
//конец изменений
Стандартный функционал сохраняется. Изменений минимум. Легко поддерживать (переносить) при обновление.
Права пользователя исключительно на просмотр (чтение) для УТ 11.4
В типовой конфигурации УТ 11.4 не предусмотрен профиль группы доступа «Только чтение» или «Только просмотр», как это выполнено, например в бухгалтерии 3.0. И когда нам требуется создать пользователя с правами только на просмотр, приходится создавать этот профиль группы доступа.
Заходим в раздел НСИ и администрирование → Настройки пользователей и прав → Профили групп доступа → нажимаем Создать → Задаём имя, например «Только чтение»
После того как ввели наименование, необходимо отметить галками следующие пункты (чтобы делать это быстро, достаточно нажимать поочерёдно клавиши ↓вниз и пробел), начинающиеся на следующие фразы:
Также рекомендую добавить следующие роли (для сохранения в файл):
• Вывод на принтер, в файл, в буфер обмена
• Редактирование, отправка по почте, сохранение в файл печатных форм
• Сохранение данных пользователя
• Сохранение настроек печати объектов по умолчанию
После этого нажимаем «Записать и закрыть»
В разделе НСИ и Администрирование → Группы доступа → нажимаем «Создать» → вводим наименование, например «Аудиторы» → выбираем наш созданный профиль «Только чтение» → нажимаем «Записать и закрыть».
Выбираем или создаём пользователя, которому необходимо назначить права только на чтение. Для этого заходим:
НСИ и администрирование → Настройки пользователей и прав → Пользователи → Создать (изменить существующего) → Вводим имя и при необходимости пароль → нажимаем на «Права доступа», соглашаясь с записью → нажимаем «Включить в группу» → Аудиторы → Выбрать.
После этого можно выдаём пользователю логин и пароль для работы.
Данная инструкция актуальна для программы 1С: Управление торговлей версии 11.4.10.75
Специальные предложения
Обновление 16.09.21 11:42
См. также
Особенности (ограничения) производительного RLS
В своей деятельности при работе с производительным RLS мы сталкиваемся с рядом особенностей (ограничений) данного RLS. В своей статье Ретунский Александр, ведущий программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт), поделится информацией, полученной опытным путем на ряде задач по производительному RLS.
сегодня в 06:00 148 Alexsandr_Retunskiy 1
Как доработать производительный RLS
Неоднократно в последнее время поступали задачи, когда требовалось доработать новый производительный RLS. В своей статье Ретунский Александр, программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт) опишет последовательность действий при доработке нового RLS, ключевые моменты и сложности, с которыми столкнулся. В Интернете статей или инструкций, которые подробно и просто описывают – как доработать производительный RLS, не так много и автор делиться своим опытом. В данной статье не будут описаны различия и плюсы/минусы между стандартным и производительным RLS, в Интернете по этому вопросу есть много информации.
18.10.2021 2242 Alexsandr_Retunskiy 4
Изменение признака «Только для чтения» у Excel файла программным путём
Добрый день всем! Помогите решить проблему, описанную ниже.
В локальной сети есть портал на сервере с общими офисными файлами (Word и Excel), поднятый на MS SharePoint.
Необходимо из 1C программно открыть нужный Excel файл, заполнить его некоторыми данными из 1С и записать.
Права на редактирование файла контролируются MS SharePoint. Если с клиента Excel открыть любой файл, сверху появится сообщение «Мы открыли эту книгу с сервера в режиме только для чтения». Рядом находится кнопка «Редактировать книгу». При нажатии на эту кнопку проверяется право доступа к каталогу. Если прав нет, то выходит сообщение из разряда «Отказано в доступе». Если права есть, книга переходит в режим редактирования.
Файл лежит по следующему пути: (Локальная сеть) http://portal/Shared Documents/ФайлExcel.xlsx
Если я копирую этот файл в буфер и вставляю его на рабочий стол, файл как программным путём, так и с помощью клиента Excel редактируется без проблем, сообщение «Мы открыли эту книгу с сервера в режиме только для чтения» не появляется.
Если я через COM-объект открываю этот файл по пути http://portal/Shared Documents/ФайлExcel.xlsx, свойство COM-объекта ReadOnly выставлено, как » Истина «.
Открытие книги с третьим параметром ReadOnly=false (Книга = Excel.WorkBooks.Open(ПутьКФайлу,ReadOnly=False) не переводит свойство ReadOnly в ложь.
Какие есть пути программной перезаписи нужного файла в каталоге портала? Прошу помочь. Спасибо!
Код на получение книги программным путем:
Пользователь с правами только чтение!
Здравствуйте! У пользователя в 1С 8.2 Бухгалтерия (релиз 2.045.6) был доступ к базе только чтение. После обновления(релиз 2.0.49) данная «опция» недоступна- идет полный доступ.
Как можно вернуть функцию для данного пользователя- только чтение?
Заранее спасибо!
Конфигурация типовая!
Есть 2 версии: 1.можно сделать (для этого зайти Сервис-настройки-права доступа.Галочка- ограничить доступ к данным по организациям-настроить права доступа.Далее создается группа пользователей для выбранной организации)
2.нельзя сделать в типовой конфигурации. Есть только бухгалтер и полные права. И для реализации только чтение необходимо нанимать программиста 1С.
Есть роль «ЧтениеЭД», как раз там только просмотр.
Для новой роли Бухгалтер (для чтения):
Документы в 1С 8. Примеры работы средствами встроенного языка
В статье приводятся практические примеры работы с документами в языке 1С. Рассматриваются приемы работы с объектной моделью — создание, редактирование, удаление документов, а также типовые запросы для выборки документов по различным условиям. Для удобства пользуйтесь оглавлением.
Содержание
Немного о документах
Документы — краеугольный камень в построении большинства учетных систем средствами платформы 1С Предприятие. Они предназначены преимущественно для отражения совершенных хозяйственных операций, а также для последующего просмотра и редактирования.
Виды документов, которые создаются в конфигураторе на этапе проектирования прикладного решения, в основном соответствуют своим бумажным аналогам — приходным накладным, документам продажи или актам об оказании услуг, и др. Для каждой отрасли и вида учета набор таких документов и их реквизитный состав может отличаться.
Помимо записи о произошедшей хозяйственной операции, документы используются для фиксации изменений в учетных регистрах (т.н. проведение), а также позволяют сформировать печатные формы. Вообще, спектр применения документов в платформе 1С очень обширный, и позволяет реализовывать самые различные механизмы — биллинг, учет коммунальных платежей, сложные расчеты, учет ценных бумаг и активов, и многое другое.
Документы описываются в системе 1С двумя стандартными реквизитами — Номер и Дата. Использование номера не является обязательным — можно указать длину номера 0, и в этом случае платформа отключит механизм нумерации документов. В этом случае разработчик может сам предусмотреть реквизиты для формирования представления документа и для проверки уникальности. Но на практике чаще всего номер не отключается.