Динамическая установка свойств элементам формы 1С Предприятие

Поділитися
Вставка
  • Опубліковано 26 лип 2024
  • 🧩 Динамическая установка свойств элементам формы 1С Предприятие.
    Обработка позволяет программно задать значение любому свойству элемента формы. (Ширина, Высота, Доступность, Только Просмотр, Видимость, Шрифт и т.д.)
    🔗 github.com/KistanovSerhii/Ele...
    0:00 - Введение
    0:15 - Ссылка на GitHub
    0:34 - Загрузка обработки
    0:54 - Поставленная задача
    1:14 - Создание профиля групп доступа
    2:09 - Добавление внешней обработки
    2:29 - Форма обработки (пример работы)
    3:12 - Режим Конфигуратор
    3:40 - Создание расширения
    4:12 - Переопределение формы
    4:33 - Добавление кода в модуль формы
    5:00 - Описание программного взаимодействия
    5:57 - Проверка внедрения
    7:06 - В случае отсутствия БСП в конфигурации
    9:12 - Проверка работы без БСП
    Область применения и конкретный кейс в видео я не озвучил, поэтому добавляю в описание:
    🎯 Задачей было заполнение формы в строгой последовательности.
    При открытии формы доступными были только определенные поля, которые необходимо было заполнить первыми.
    Шрифт этих полей был выделен жирным и черным цветом. После ввода данных происходила автоматическая обработка,
    и эти поля становились НЕдоступными, а их шрифт менялся на обычный с зеленым цветом.
    Затем становился доступным новый набор полей с тем же форматированием (жирный, черный).
    Все заполненные (пройденные) поля НЕдоступны, шрифт обычный, а цвет зеленый.
    После заполнения всех полей появлялись команды "Принять заявку" или "Отказать"
    в зависимости от введенных данных на форме.
    🔒 Управление доступностью предназначено исключительно для демонстрации.
    Для блокировки формы используйте соответствующий функционал в БСП • Запрет редактирования ...
    #1свнедрение

КОМЕНТАРІ • 17

  • @Murod19
    @Murod19 6 місяців тому +2

    Спасибо

  • @eriominsergey664
    @eriominsergey664 7 місяців тому +4

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

    • @serhiikistanov6513
      @serhiikistanov6513  7 місяців тому +2

      Большое спасибо за ваш комментарий и интерес к моему контенту!
      Ваше предложение о конкретных областях применения и кейсах использования добавит ценности будущим видео. В следующих роликах обязательно буду рассказывать о конкретных сценариях использования.
      Ваше участие и обратная связь помогают мне приносить больше пользы.
      Пишите, если у вас будут задачи, решение которых вы хотели бы увидеть в будущих видео. Ваша поддержка мотивирует меня создавать контент.
      Спасибо за ваш вклад и участие в жизни канала!
      Жду вас в следующих видео.

    • @serhiikistanov6513
      @serhiikistanov6513  7 місяців тому +3

      Я добавил в описание этого видео конкретный кейс применения. Спасибо!

    • @Murod19
      @Murod19 6 місяців тому +2

      Это не понадобиться, но нужно понимать как именно это работает на самом деле. Спасибо автору

    • @apebex
      @apebex 6 місяців тому

      Сценарий такой : большая организация, филиалы, и работают все в одной базе, и поэтому много пользователей которые должны работать и иметь права создавать и изменять данные в справочнике номенклатуры. Справочник общий, так как элементы тоже используют все вместе.
      Задача: некоторые реквизиты номенклатуры нужно заблокировать. Для изменения после создания номенклатуры, чтобы каждый филиал случайно 😂, не поставил нужную ему цифру.
      Создать возможность выдавать(и отнимать) права - одному( или нескольким) ответственным для редактирования данных реквизитов в номенклатурах.
      Очень просто реализовать это с помощью данной инструкции и прилагаемого расширения.
      Очень быстро, сделал на работе вышеописанное благодаря вам.
      Спасибо!

  • @apebex
    @apebex 6 місяців тому

    Что очень хорошо в применении это возможность заблокировать отдельные поля.
    мне помогло это заблокировать в 1С:УАТ в справочнике номенклатура ГСМ только нужные реквизиты связаные с типом бензина.
    Чтобы пользователи из разных филиалов не меняли данные для себя

    • @serhiikistanov6513
      @serhiikistanov6513  6 місяців тому

      Большое спасибо за ваш отзыв!
      Я очень рад 🌟, что инструмент, который я предоставил, оказался полезным для Вас. Заблокировать форму от изменений - отличное 💪 применение. Такое решение помогло вам эффективно контролировать доступ и избежать нежелательных изменений данных.
      👁️ Обратите внимание на мое видео "Запрет редактирования реквизитов объектов 1C (БСП)", где рассматривается механизм направленный именно на блокировку реквизитов формы и подходит когда вам надо заблокировать НЕ ВСЮ форму целиком, а набор реквизитов, элементов, команд 🌱 возможно это тоже Вам пригодится.

  • @user-ht6ge7jv3s
    @user-ht6ge7jv3s 4 місяці тому

    Отличное решение, однозначно пригодится. Только вопрос. А почему не через ОбщийМодуль?

    • @serhiikistanov6513
      @serhiikistanov6513  4 місяці тому

      Реализация через внешнюю обработку имеет свои преимущества,
      которые облегчают и 🏃‍♀️ ускоряют процесс разработки и отладки.
      Одно из преимуществ - весь функционал 📦 замкнут в обработке,
      что позволяет просто подключить её и начать использовать.
      Нет разницы, в какой конфигурации ведется разработка:
      внешняя обработка содержит ✔️ все необходимое - как форма, так и функционал.
      Также, обновление обработки не требует 👌 дополнительных усилий - достаточно загрузить новую версию.
      Лично мне больше нравится реализация через внешнюю обработку.
      Спасибо 🤝 за комментарий!

  • @MotoCrankshaft
    @MotoCrankshaft 6 місяців тому

    Начал просматривать обработку и вопрос напросился.
    А зачем открывать выборку в функции "ПользовательДобавленВГруппыДоступа"
    Если можно просто проверить пустость.
    Дело в том что у меня в процессе экспериментов получилось что пустость работает сильно быстрее чем пытаться открывать выборку.
    //иными словами, вместо вот этого:
    УстановитьПривилегированныйРежим(Истина);
    Выборка = Запрос.Выполнить().Выбрать();
    УстановитьПривилегированныйРежим(Ложь);

    Возврат (Выборка.Следующий() И Выборка.Результат);
    //сделать вот так:
    УстановитьПривилегированныйРежим(Истина);
    Результат = НЕ Запрос.Выполнить().Пустой();
    УстановитьПривилегированныйРежим(Ложь);

    Возврат (Результат);
    Или я что то упускаю? :)

    • @serhiikistanov6513
      @serhiikistanov6513  5 місяців тому

      Спасибо 👍 за отзыв! Рад, что вы нашли альтернативный вариант, который работает ⚡ быстрее. Очень ценю 🤝 вашу инициативу и поддержку. Оба варианта рабочие, ваш вариант действительно будет работать быстрей. 💪👏

  • @nikmir8259
    @nikmir8259 6 місяців тому

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

    • @serhiikistanov6513
      @serhiikistanov6513  6 місяців тому

      Спасибо за вашу рекомендацию! Да, вы правы, можно сделать через RLS или права. Просто в видео я взял для примера установку свойства доступности в связке с проверкой группы доступа, но суть обработки заключается в управлении свойствами формы (ПропускатьПриВводе, СписокВыбора, ЦветТекста, Шрифт, Ширина, Высота и т.д.).

  • @ivanviktorovich6171
    @ivanviktorovich6171 6 місяців тому

    внешняяОбработкаСсылка - нет проверки на пустую, а если удалят? тогда фсё) ни одну номенклатуру не откроют

    • @serhiikistanov6513
      @serhiikistanov6513  5 місяців тому

      Спасибо, что заметили 🕵 отсутствие проверки на null.
      Очень ценю ваше 👍 внимание и инициативу.
      Внесу коррективы 👨‍🔧 в инструкцию github.
      Ваш 💪 вклад в улучшение проекта весьма ценен.
      Спасибо 🤝 за поддержку!

    • @ivanviktorovich6171
      @ivanviktorovich6171 5 місяців тому

      @@serhiikistanov6513 Не за что, только не null, а пустая ссылка...