Как владельца добавить в расширение 1с
Поэтому работа с правами доступа – одна из частотных задач при внедрении типовых решений.
И, конечно, при добавлении новых документов или справочников – также нужно сразу настроить права доступа на них.
В сегодняшнем видео
В видео мы рассмотрим, что нужно знать о системе прав доступа в типовых решениях:
- Возможности расширений конфигурации – работа с ролями
- Объекты типовых конфигураций для организации прав доступа
- Ограничения текущей версии БСП
- Права доступа на функциональность типовых решений с помощью функций БСП
Таким образом, Вы узнаете не только как дорабатывать права доступа, но и как выделить привилегированных пользователей, например, кому запрещена отгрузка ниже плановой себестоимости.
Если Вы хотите разобраться с этим прямо сейчас – у нас есть курс по администрированию 1С:
Не откладывайте свое обучение!
Комментарии / обсуждение (45):
Добрый день. Подскажите, что делаю не так- беру стандартную роль которая отвечает за список выводимых разделов, переношу ее в расширение, в нее переношу описание раздела и снимаю полностью галку. После запуска раздел продолжается отображаться.
Добрый день!
Возможно, в конфигурации есть еще одна роль, которая предоставляет права на просмотр подсистемы, поэтому она и отображается в режиме “1С:Предприятие”.
Еще одно предположение – расширение не было подключено при старте сеанса, например, из-за того, что значение какого-либо из контролируемых свойств в расширении не совпало со значением этого свойства в основной конфигурации.
Добрый день.
Подскажите пожалуйста, в расширении создаю роль и даю права на реквизит документа, который создан в расширении конфигурации, а пользователям назначаю группу доступа с этими правами из расширения.
Но у меня с полными правами нет доступа к объекту, а у пользователя – есть. Причем проблема в том, что новые реквизиты объекта в расширении существуют для пользователя, например, Объект.НовыйРеквизит, как и Элементы.НовыйРеквизит, а вот для меня с полными правами Элементы.НовыйРеквизит не существует при открытии формы. БСП 3.0.3
Скорее всего Ваши полные права “не видят” реквизит из расширения. Заимствуйте полные права в расширение и проверьте, что для нового реквизита есть право доступа.
Добрый день.
Не хватало прав на работу с отдельными документами в Бух 3.0 (Расходный кассовый ордер). Точнее они есть, но уж больно широкие, почти полные. Пришлось добавить в расширение БП 3.0 соответствующую роль с правами на РКО и форму журнала. При открытии формы журнала под новой ролью, состав команд и кнопок не соответствует типовой заимствованной форме. Вроде дал все нужные права, в составе команд ничего не менял, функциональных опций не менял.А вот при добавлении на заимствованную форму новых кнопок – все отражается как надо…
Все проверил, трассировка кода ничего не показывает. Подскажите в каком направлении рыть. Спасибо!
А вы теряли стандартные реквизиты в конструкторе запросов в расширении? Сколько времени ушло на поиск решения проблемы? А наш слушатель получил ответ оперативно. Теперь данной хитростью делимся с вами! Безвозмездно :)
Вопрос
Добрый день! Подскажите, а добавляются ли в расширение стандартные реквизиты, например, для справочника реквизит “ЭтоГруппа” или “Владелец” (когда я делаю запрос в расширении и хочу отобрать элементы, не являющиеся каталогами, данных реквизитов нет). Пробовал добавлять все реквизиты и формы данного справочника в расширение, но стандартные так и не добавились. В свойствах стандартных реквизитов так же не нашел возможности добавить в расширение. Платформа 1С 8.3.15, конфигурация 1С:УПП 1.3.
Ответ
Добрый день! Нужно в расширении указать, что этот справочник является иерархическим (то есть указать в расширении свойство Иерархический как контролируемое):
Тогда конструктор запроса покажет поле ЭтоГруппа.
Или давайте рассмотрим на примере, на пустой базе. Пусть у нас есть справочник Спецификации, подчиненный справочнику Номенклатура:
Создадим расширение конфигурации, заимствуем оба справочника в расширение.
В расширении воспользуемся конструктором запроса. Для справочника Спецификации поле Владелец недоступно:
Теперь отметим для справочника Спецификации свойство Владельцы как контролируемое:
Тема «аккуратной» доработки типовых конфигураций является всегда актуальной.
В 2015 году фирма 1С добавила в платформу функционал расширений – отличный инструмент, который меняет старый подход к разработке.
С помощью расширений появляется возможность вносить доработки, оставляя конфигурации БЕЗ изменений (то есть не снимая «с замка»).
В качестве примера мы расширим функционал типовой “1С:Бухгалтерии 8” – добавим проверки на заполненность реквизитов документов. В результате система будет выдавать диагностику, если реквизиты заполнены “неправильными” значениями.
Буквально за 15 минут Вы научитесь приемам, которые сможете использовать для решения разных задач.
Более того, во втором видео мы покажем универсальный механизм, базирующийся на расширениях. И, разработав такой механизм один раз, его можно будет подключать к любой типовой конфигурации.
Мечты о собственной нетленке могут стать реальностью :)
Видео 1. Приемы работы с расширениями – на примере “1С:Бухгалтерии 8”
Изучив видео, Вы научитесь:
- Создавать и подключать расширения к конфигурации
- Выполнять отладку расширений
- Дорабатывать типовые формы обработок/документов с помощью расширений
- Перехватывать события форм типовой конфигурации
- Хранить данные не в таблицах ИБ (хранилище настроек)
- Использовать обработки как хранилище алгоритмов
Также мы разберем оптимизацию состава объектов расширений и ограничения расширений в текущих релизах платформы.
Видео 2. Создание универсальных механизмов с помощью расширений
В этом видео мы покажем:
- Подключение расширения в пользовательском режиме (без конфигуратора)
- Пример универсальной проверки заполнения
- Особенности реализации расширений – создание форм с произвольными отборами и хранение данных в расширениях
Чтобы освоить разработку интерфейсов и форм в 1С:Предприятие 8.3
на профессиональном уровне, рекомендуем записаться на курс:
Комментарии / обсуждение (85):
добрый день, перестали запускаться некоторые курсы. Возможно из-за того, что поменял клавиатуру на ноутбуке. Не напомните порядок восстановления? Спасибо
Для запуска курса Вам нужно получить новый регистрационный ключ.
Для этого Вам высылался код активации плеера. Код активации имеет следующий вид – ХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХ
Найти код активации целиком Вы можете в личном кабинете на сайте на вкладке “Мои заказы”
Далее для активации плеера выполните следующие действия:
1. Запустите плеер, откройте в нем файл плейлиста (с расширением .xml)
2. В открывшемся окне не нужно ничего вводить (!), просто нажмите кнопку Активировать.
3. После этого в Вашем браузере откроется страница с формой активации, которую нужно заполнить и нажать Активировать.
Здравствуйте!
Можно ли настройки сделанные в расширении встроить в конфигурацию, естественно не потеряв данные? То есть – удалить расширение, но не потерять функционал, который был в этом расширении?
Добрый день!
Да, можно. Для этого нужно создать в основной конфигурации структуры данных, аналогичные используемым в расширении. Обработкой или вручную перенести данные из расширения в основную конфигурацию. Также нужно будет перенести весь программный код из расширения в основную конфигурацию, при необходимости адаптировать его (например, в расширении был префикс Расш_, а в основной конфигурации пр_). После протестировать, убедиться, что всё работает корректно, затем окончательно удалить расширение.
Добрый день!
Столкнулся со странным поведение расширения на платформе 8.3.9.1850 (без совместимостей).
заимствовал модуль менеджера документа
заменил (&Вместо) процедуру этого модуля, которая использует вызовы процедуры из других общих модулей.
в тонком клиенте все работает,
но при запуске толстого клиента эта процедура расширения перестает видеть процедуры из других общих модулей основной конфигурации (Переменная не определена)
заимствование всех этих модулей в расширение ничего не дает.
Это действительно такое ограничение или я что-то не так делаю?
Добрый день!
С такой проблемой не сталкивался, возможно причина в версии платформы (стоит проверит на более свежей версии).
В любом случае, новые возможности расширений вполне могут содержать ошибки, так как они практически не используются из-за режима совместимости в типовых конфигураций.
Мало кто рискует его отключать и я с этим согласен.
точно такая же проблема, на 8.3.10, УТ 11.3.4
Подскажите, как вообще можно посмотреть изменения от основной конфигурации в расширении? Есть расширение конфигурации, в нем уже куча объектов, часть из которых добавлена вручную, часть автоматически добавились. В некоторых из этих объектов произведены изменения: где-то форму поправили, где-то модуль. Остальное наследуется. Как теперь получить список именно изменений? Невозможно же разобраться. Или на каждый чих создавать отдельное расширение и там описывать что к чему? Да даже если и так, как быстро посмотреть какие скажем реквизиты или их события изменены в форме из нескольких сотен реквизитов? Может быть какая-то обработка есть?
Добрый день!
Пока никак. Механизм сравнения для расширений и основной конфигурации пока не реализован в платформе, хотя пункты в меню есть, а это говорит о том, что он когда-то появится.
Безусловно механизм расширений очень перспективный, но применять его нужно обдуманно, понимая все трудности и неудобства, которые присутствую в платформе.
Есть такая кнопка. в конфигураторе.Выглядит как воронка(отбор).Называется “Измененные и добавленные в расширении”
Добрый день!
Да, в дереве объектов метаданных для расширения есть кнопка Измененные и добавленные в расширении, которая накладывает фильтр на дерево, оставляет в нем только заимствованные объекты, модифицированные в этом расширении, и новые объекты, созданные в этом расширении. Т.е. убрирает из списка объекты, которые были только заимствованы (например, для отображения форм).
А вот сравнить объекты расширения и объекты основной конфигурации (чтобы понять, что конкретно изменилось) на сегодняшний день нельзя. Платформа пока не даёт такой возможности.
Здравствуйте!
Не подскажете, что срабатывает раньше: обработчик основной конфигурации или аналогичный обработчик в расширении? Например “ПриСозданииНаСервере” в основной конфигурации или аналогичное событие в расширении?
Добрый день!
Стандартно, сначала исполняется код обработчика из расширения, потом из основной конфигурации. Начиная с платформы 8.3.9 механизм расширений серьезно доработали и теперь при создании обработчика система спрашивает Перед, Вместо или После должен срабатывать обработчик расширения.
Добрый день!
спасибо за видео!
Возникла задача создать “Расширение” программным способом. В платформе есть метод МенеджерРасширенийКонфигурации.Создать() который возвращает РасширениеКонфигурации(Р1). Но затем это Р1 нельзя записать, т.к. свойства Р1 такие как имя, синоним и т.д. редактировать нельзя.
не сталкивались с подобной задачей?
Добрый день!
Менеджер расширений не предназначен для программной генерации расширений. Он предназначен для программной загрузки и удаления расширений аналогично тому, как это делается в пользовательском режиме.
Никто не сталкивался с ситуацией, когда регулярно права на подсистемы из расширений или на объекты из расширений слетают у пользователя?
Как отследить причину?
Добрый день! К сожалению, нет. Расширения на текущий момент используются крайне редко.
Спасибо большое, лишних знаний не бывает. Как, все-таки, приятно, когда есть люди, готовые делиться знаниями и опытом и не думающие только о наживе, в отличие от доржиков-коржиков. Удачи Вам!
Я не вижу ссылки на видео, браузер гуглхром
Добрый день!
Проверка не выявила никаких ошибок при просмотре. Попробуйте перезагрузить страницу или открыть ее в другом браузере.
Также чистка кэша должна помочь.
Скажите пожалуйста а расширение можно помещать в хранилище? Каким образом над расширением могут одновременно работать несколько человек?
Добрый день!
Сейчас нет возможности работать с расширением при помощи хранилища. Фирма “1С” рассматривает возможность реализации такого функционала.
Но для расширения можно производить операции сравнения-объединения с cfe-файлом. Тогда разработчик из нескольких файлов может собрать итоговое расширение, выгрузить его в cfe-файл, передать заказчику.
Подскажите пожалуйста почему в расширении можно набрать запрос в конструкторе запроса первый раз. Но открыть его вторично с помощью конструктора запроса нельзя, выдает ошибку, хотя сам запрос работает без ошибок. Я читал в интернете что данную ситуацию обходят тем что пишут запрос в обработчике, редактируют и дорабатывают там же. А потом готовый копируют в расширение. Это действительно недоработки функционала расширения?
Добрый день!
В расширении (например, в расширении формы документа) в конструкторе запроса будут присутствовать таблицы, доступные в самом расширении. Если в расширении пробовать открывать конструктором текст запроса, в котором участвуют таблицы, недоступные в расширении, то такой текст запроса не откроется, появится ошибка. Но при выполнении в режиме “1С:Предприятие” такой запрос отработает корректно, без ошибок. Можно все нужные таблицы добавить в расширение или редактировать текст запроса во внешней обработке или в каком-либо модуле основной конфигурации.
Т.е. ошибка у меня возникала потому что не все таблицы к которым я обращался в запросе присутствовали в расширении? Если были бы все то ошибки при повторном открытии не было бы?
Подскажите, а если не все таблицы присутствуют в расширении, то сам запрос корректно отработает но просто через конструктор не откроется? У меня проблема со стандартными реквизитами(родитель, владелец,ЭтоГруппа и т.д)
Да, именно так.
Отмечайте в расширении свойства Владельцы, Иерархический как контролируемые. Тогда конструктор будет открываться без ошибок.
Спасибо, я бы никогда не догадалась))
А подскажете, как это сделать? Как в расширении увидеть свойство Владелец? Ведь это свойство не появляется среди реквизитов добавленного объекта(Номенклатуры в моем случае). Есть ли в принципе возможность в расширении на форме подчиненного объекта(Спецификации номенклатуры в моем случае) поместить поле, ссылающееся на владельца этого объекта?
Добрый день!
Давайте рассмотрим на примере, на пустой базе.
Пусть у нас есть справочник Спецификации, подчиненный справочнику Номенклатура:
Создадим расширение конфигурации, заимствуем оба справочника в расширение.
В расширении воспользуемся конструктором запроса. Для справочника Спецификации поле Владелец недоступно:
Теперь отметим для справочника Спецификации свойство Владельцы как контролируемое:
После этого в конструкторе запроса появляется поле Владелец:
На форме объекта в расширении можно отобразить владельца:
Скажите есть ли какой-то способ следить за изменением материала для тех кто прошел/приобрел курс ранее. Может реализовать механизм рассылки?
Например, “Вы прошли курс по …, появились обновленные материалы, вы можете скачать их по ссылке:…”
тогда и не упустишь ни чего нового. А просматривать все стартовые страницы всех пройденных курсов на предмет “бонусов” слишком утомительно. (Спасибо!)
В Видео2 говорится, что сам процесс создания расширений подробно рассматривается в курсе? В каком курсе? Я прошла курс “Профессиональная разработка интерфейсов и форм”, который закончился 04.07.2016, но там не было про расширения. Или я что-то упустила?
Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.
Роли — это общие объекты конфигурации , предназначенные для реализации ограничения прав доступа в прикладных решениях. В процессе ведения списка пользователей прикладного решения каждому пользователю ставится в соответствие список ролей, которыми определяется, какие действия, над какими объектами метаданных может выполнять пользователь.
Общая схема системы прав доступа подразумевает:
- Создание ролей для доступа к объектам отдельно для чтения и для записи.
- Объединение ролей в профили (в том числе поставляемые).
- Назначение профилей группам доступа с ограничением доступа по видам доступа.
- Добавление в группы доступа пользователей и групп пользователей.
Такой механизм обладает гибкостью и универсальностью. Это позволяет его достаточно широко применять. Однако непосредственное использование этого механизма громоздко и трудоемко.
Во время работы пользователя в базе 1С при попытке выполнить действие (на которое у него нет разрешения) система выдаст окно предупреждения, примерно такого вида:
Если открыть журнал регистрации по пользователю, то можно увидеть объект и недостающее право в событии «Доступ. Отказ в доступе». Например, отсутствие права на чтение константы, как на рисунке ниже:
Задача администратора базы данных или сотрудника технической поддержки в том, чтобы добавить пользователю недостающее право, а для этого требуется найти Роль, которую следует назначить пользователю.
В большинстве случаев (но не во всех) для этого достаточно выполнить следующие шаги:
Перейти в меню - Все функции - Регистры сведений - Права ролей (или перейти по навигационной ссылке e1cib/list/РегистрСведений.ПраваРолей)
Примечание: Пункт Все функции, можно включить так: Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"
Регистр типовой, наполнен объектами метаданных и ролями, которые дают на них права.
Выполняем поиск по интересующему нас объекту (документу, отчету, регистру, обработке и т.п.).
Получаем список задействованных ролей (как на рисунке выше с документом Авансовый отчет):
- Добавление изменение авансовых отчетов (роль)
- Чтение авансовых отчетов (роль)
Открываем справочник Профилей, это можно сделать так:
- Переходим в меню - Все функции - Справочники - Профили групп доступа
- Раздел - НСИ и администрирование - Настройки пользователей и прав - Профили групп доступа
- Или перейти по навигационной ссылке e1cib/list/Справочник.ПрофилиГруппДоступа
Чтобы определить подходящие профили, добавляем отбор на форму списка
Ещё - Настроить список - Закладка Отбор - Добавляем отбор по полю табличной части Ссылка.Роли.Роль
После этого можно удобно вычислить нужные профили, например, с ролью Чтение авансовых отчетов.
Примечание: Предварительно установите в списке Ещё - Режим просмотра - Список (чтобы убрать группы)
Если нужных профилей не оказалось, то создайте новый профиль или измените существующий.
Примечание: В предопределенные профили базы добавлять роли нельзя, а для того чтобы добавить роль в предопределенный профиль, сделайте свой, скопировав, предопределенный профиль и уже туда добавляйте роль.
Определив нужный профиль доступа, вам необходимо в связанную с ним группу доступа, добавить пользователя.
Группы доступа видны по ссылке в форме Профиля
Если нужной группы доступа нет, то создаем ее.
Открыв связанную с профилем группу доступа, добавляем в неё пользователя
На этапе настройки прав доступа в базах и изменениях должностных обязанностей пользователей мне приходилось многократно проходить эту цепочку шагов.
Сам процесс можно ускорить соединив все шаги: 1,2,3 - в одном отчете или расширении.
Использу я рисунок выше "Общая схема системы прав доступа" можно соединить данные регистра Права ролей с профилями и группами доступа, сразу получив нужную картинку для анализа прав.
Схема запроса для системы компоновки примерно такая:
Таблицу РегистрСведений.ПраваРолей (Отбор: Объект метаданных) связываем по Роли с таблицей Справочник. ПрофилиГруппДоступа.Роли связываем по реквизиту с таблицей Справочник. ГруппыДоступа.Профиль.
Сам отчет строим на системе компоновки данных, чтобы его оформление и структуру менять по своему усмотрению.
Вообще можно настраивать как угодно отчет.
Также можно сформировать, например Матрицу Пользователей (кто в какой группе доступа). Перейти в Настройки, где поставить в строках Пользователей, в колонка Профили, в ресурсах Чтение
Открываем 1С:Предприятие - Разделы - НСИ и администрирование - Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки - Добавляем отчет (или перейти по навигационной ссылке e1cib/list/Справочник.ДополнительныеОтчетыИОбработки)
- Отчет тот же самый добавляем в расширение.
- Интересным моментом оказалось как динамически вызвать отчет в большинстве форм объектов, максимально просто.
Я выбрал следующий способ:
Почти в каждом модуле формы есть событие ПриСозданииНаСервере(. ), в нем вызывается общее событие СобытияФорм.ПриСозданииНаСервере(. )
а далее в нем событие переопределяемого модуля
именно это событие МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере() я перетащил в расширение с ключом выполнения "&После"
чтобы вызвать отчет в процедуре динамически вывожу снизу на форму объекта элемент формы ДекорацияФормы, в который с помощью ФорматированнойСтроки(. ) передаю навигационную ссылку на команду открытия отчета из расширения.
Далее в самой команде отчета с помощью метода АктивноеОкно() определяю форму объекта, из которой произошел запуск и формирую отчет с нужным параметром
Получилось следующее (на примере элемента справочника "Ресурсные спецификации"):
- Гиперссылка "Права на объект" появляется в формах
- По ее нажатию вызывается отчет "Права на объект" с указанием объекта в заголовке и отбором по типу метаданных
В отчете видно в колонках какие роли дают какие права, и в строках у кого уже есть такие права и в какую группу можно включить пользователя.
1) Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"
2) Переходим в меню - Все функции - Стандартные - Управление расширениями конфигурации - Добавляем расширение
- будет работать 1С:Комплексная автоматизация, 1С: Управление торговлей и др, т.к. регистр сведений Права ролей есть почти в каждом прикладном решении.
Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.
Подключаемый отчет на системе компоновки данных по типам объектов 1С показывает: 1) Совокупности таблиц SQL для хранения объекта 1С и их предназначение; 2) Число объектов данного типа; 3) Размеры хранения данных и индексов в MB (мегабайтах); 4) Сравнение данных двух баз
Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).
Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.
Онлайн диаграмма доступных лицензий 1С и показателей ресурсов сервера 1С в различных измерениях и отборах.
Обработка ищет все объекты базы, в которых одновременно присутствуют перечисленные элементы. Построена на базе типовой обработки Все функции - Стандартные - Поиск ссылок на объект, но позволяет накладывать отбор не по одному объекту, а по нескольким, что позволяет настраивать поиск по комбинациям условий
Часто не хватает визуализации хронологии документов в структуре подчиненности и кнопок проведения. Это расширение конфигурации, с функционалом структуры подчиненности документов, отображающее хронологическую последовательность документов во времени и дающее доступ к проведению, отмене проведения, пометке на удаление документов непосредственно в форме подчиненности.
Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем.
Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3
Обработка на управляемых формах для работы с календарями google, событиями календарей и контактами.
Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.
Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.
Перед началом проекта требуется определить параметры серверного и клиентского оборудования, необходимые для работы внедряемой программы 1С:Предприятие, и учесть будущую нагрузку, которая ляжет на систему в реальной рабочей обстановке. Мощность оборудования должна быть достаточной для нормальной работы пользователей. Но как подобрать сервер простым способом?
На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.
Часто при моделировании примеров бизнес-процессов, на запуске в эксплуатацию или закрытии требуется несколько раз прогнать ситуацию с разными настройками, а для этого изменить, удалить ранее введенную цепочку документов. Дается все это с трудом. Ты уверен, что не навредишь своими действиями системе, но документы цепляют друг друга и ругаются контролями остатков, не разрешая тебе менять их в произвольном порядке.
Есть несколько удобных опций для облегчения внесения изменений.
Для уведомления пользователей программных продуктов 1С о разных событиях, в них включена подсистема «Новостной центр». Это довольно удобная штука, т.к. новостные ленты сообщают о выходе обновлений, о новостях и событиях в сфере учёта. Но можно увеличить пользу от новостной подсистемы используя её локально в рамках 1С базы. Например, внутренняя служба техподдержки или внедряющая компания может через новостную ленту оповещать пользователей информационной базы об изменениях в программе, совещаниях, проведении тестирований, заполнения нужных документов или сдача отчетов к определенной дате и т.п.
Пример технического задания для практического понимания основных разделов.
Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании
Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами.
Версии:
- Дополнительный отчет "Права на объект" (версия 25.01.2022): - Обновления по отчету прав, изменилась структура метаданных
- Расширение "Права на объект" (версия 25.01.2022) - Обновления по отчету прав, изменилась структура метаданных
Как мы и обещали в предыдущей статье, мы постепенно наращиваем функциональность механизма расширений и улучшаем диагностику их работоспособности.
Добавление собственных ролей
Раньше существовала возможность изменять роли типовой конфигурации, заимствуя их и добавляя в них объекты, созданные в расширении. Теперь в расширениях вы можете создавать собственные роли.
Мы видим два основных сценария использования собственных ролей. Во-первых, они могут потребоваться для создания атомарных или комплексных наборов прав на те объекты, которые расширение привносит в конфигурацию. Без какой-либо привязки к уже существующим в конфигурации ролям.
Во-вторых, с их помощью можно создавать атомарные или комплексные наборы прав на объекты конфигурации, которые учитывают специфику доработки.
Роли, созданные в расширениях, вы можете добавить пользователю только программно. Например, таким образом:
Пользователь, роли которого дополнены расширением, отображается в конфигураторе со специальным новым значком.
В конфигураторе вы можете удалить роли пользователя, которые добавлены ему расширениями. Но не по-одиночке, а только все вместе. Для этого у пользователя на вкладке Прочее появился пункт Роли, добавленные расширениями конфигурации. Для удаления ролей нужно снять отметку с этого пункта.
Если добавившее роль расширение в какой-то момент перестаёт проходить проверку применимости и становится неактивным, то роль, добавленная из него, продолжает быть доступной через коллекцию РолиПользователя как обычный объект метаданных. С помощью встроенного языка вы можете удалить её из ролей пользователя, или добавить в набор ролей другого пользователя.
Если же вы удаляете расширение, то все добавленные им роли также удаляются из списков ролей пользователей.
Расширение ролей конфигурации
- Устанавливать права для новых собственных объектов;
- Устанавливать права для собственных реквизитов и табличных частей по умолчанию.
Ограничения собственных и заимствованных ролей
Проверка возможности применения
Некоторое конкретное расширение не всегда может быть применено к некоторой конкретной конфигурации. Например потому, что оно само по себе содержит ошибки в модулях. Или потому, что не совпадают значения контролируемых свойств заимствованных объектов.
Первая проблема легко решается ещё до запуска с помощью проверки модулей расширения. А вот о второй проблеме вы могли узнать только после запуска приложения и подключения расширения. Если в этот момент что-то не так с объектами, к которым выполняется обращение, то платформа сообщала об этом и не подключала расширение.
Для того чтобы снизить трудоёмкость разработки расширений, мы проанализировали сложившуюся ситуацию, немного изменили поведение системы, и реализовали ряд проверок.
Теперь новые средства диагностики позволят вам проверить применимость расширений ещё до их реального запуска вместе с конфигурацией.
При запуске клиентского приложения
В Конфигураторе
Первое место, в котором доступна диагностика, это конфигуратор. Здесь, в окне Расширения конфигурации мы добавили две новых команды: Проверка возможности применения и Проверка возможности применения всех расширений.
Эти команды проверяют применимость выбранного расширения (или всех расширений) к данной информационной базе. При этом проверка учитывает даже те изменения в расширениях и конфигурации, которые выполнены, но не применены к информационной базе.
Аналогичную проверку вы можете выполнить и при пакетном запуске конфигуратора. Для этого мы добавили новый параметр командной строки /CheckCanApplyConfigurationExtensions.
Во встроенном языке
Второе место, в котором вам доступна такая диагностика, это встроенный язык. В МенеджерРасширенийКонфигурации мы добавили новый метод ПроверитьВозможностьПримененияВсех(). А в объект РасширениеКонфигурации - метод ПроверитьВозможностьПрименения(). С помощью этих методов вы можете проверить применимость всех (или одного) расширений информационной базы в текущей области данных по порядку загрузки с учётом уже участвовавших в проверке расширений.
Важной и интересной возможностью здесь является то, что метод ПроверитьВозможностьПрименения() позволяет вам проверить применимость новой версии расширения ещё до того, как она будет загружена непосредственно в информационную базу. Новую версию расширения вы можете передать этому методу в виде двоичных данных.
В стандартной обработке «Управление расширениями конфигурации»
И, наконец, последнее место, где доступна новая диагностика, это стандартная обработка Управление расширениями конфигурации. Здесь мы добавили флажок Проверять применимость при добавлении и загрузке расширений. Если он установлен, а по-умолчанию это так, то применимость будет проверяться перед добавлением или перед загрузкой расширения.
Кроме этого в меню Еще мы добавили две команды, которые позволят вам проверить применимость тех расширений, которые уже имеются в списке.
Читайте также: