Текущая ситуация:

1. есть инфоблок с пользовательскими свойствами. например: S1,S2,S3

2. есть 2 группы пользователей. одна группа может менять свойства S1,S2 другая S1,S3 (поля, что не доступны - не должны быть отображены - о них пользователь знать не должен)

3. реализован механизм, который в файле "Файл с формой редактирования элемента" (настройка инфоблока) по определенным критерия определяет доступность полей для текущего пользователя и поля, запрещенные для изменения не выводятся в окно редактирования (используется стандартное окно битрикс для изменения сущностей в публичной части)

4. т.к. поля не были выведены на форму EDIT, то они, при сохранении, не попадают в массив POST, и по этой же причине значения свойств, которые не попали в массив, затираются в БД. Собственно, это указано в документации: https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/update.php (именно UPDATE вызывается ядром)

5. т..е если сначала пользователь 1 заполнит поля S1 и S2, нажмет сохранить, то это действие сотрет в БД значение поля S3, которое ранее мог внести пользователь 2. И наоборот - пользователь 2, нажимая сохранить удаляет значение свойства S2, если оно было ранее внесено пользователем 1.

Корректное поведение: не перетирать значения свойст в БД, доступ к которым запрещен.

Требуется корректное решение проблемы. Не интересует скрытие полней в HTML. Не интерсует изменение ядра и проч, костыли. Решение должно ложится в парадигму корректной работы с битрикс.

Вероятно, при сохранении, можно прочитать "оригинал" строки сущности, изъять оригинальные значения свойств, которые не доступны для корректировки, дополнить ими существующий в runtime ядра массив $PROPS, но здесь вопрос поддержки структуры массивов значений, т.к. поля могут быть любые: простые, списки, файлы - без ограничений.

Интересует или реализация, или детальный консалтинг по решению.

4 года назад
agrohoz
Игорь 
46 лет
5 лет в сервисе
Был
4 года назад

Заявки фрилансеров

Борис
 
39 лет
8 лет в сервисе
Был
3 года назад
4 года назад
  • Похожие заказы

  • Необходимо разработать квиз на сайте WordPress, добавив новую страницу с вопросами и фотографиями. Вопросы должны включать ссылки «смотреть в каталоге», а в конце квиза должна быть форма для отправки заявок на указанную почту. Укажите стоимость работы.

    Завершен
    4 года назад
  • Требуется восстановить недостающие страницы сайта flyboardkiev.com.ua, включая страницы 'Шоу', 'Отзывы', 'Трюки' и 'Школа'. Необходимо добавить функционал для онлайн-бронирования через Yclients, маску для поля телефона и обеспечить корректное отображение фотографий. Также требуется реализовать возможность добавления трюков и оформление заявок через окно с выбором времени на странице с сертификатами.

    Закрыт
    4 года назад
  • $30

    Необходимо скопировать меню с указанного листинга на Google Картах и интегрировать его на сайт WordPress. В процессе требуется внести некоторые доработки для улучшения представления и функциональности меню.

    Закрыт
    4 года назад
  • Требуется оптимизировать скорость работы мобильной версии сайта umno.by, который основан на CMS Joomla. Необходимо повысить производительность и ускорить загрузку страниц для улучшения пользовательского опыта. Ожидаются рекомендации и внедрение изменений для достижения поставленной цели.

    Закрыт
    4 года назад
  • $100

    Задача включает оптимизацию небольшого сайта на WordPress с темой AJAX, состоящего из 5 страниц. Необходимо исправить проблемы с работой сайта, повысить его производительность и проиндексировать в Google. Также требуется рассмотреть возможности рекламы для привлечения трафика.

    Закрыт
    4 года назад
  • $6

    Требуется внести изменения на платформе creatium.io, включая правку форм и корректировку пробелов. Задача включает в себя как увеличение, так и уменьшение пробелов в различных элементах.

    Завершен
    4 года назад
  • Требуется разработать кастомный плагин корзины для WordPress, который будет полностью аналогичен корзине на платформе Тильда. В качестве основы можно использовать уже купленный плагин cart all in one. Ожидается предложение с конечной ценой за выполнение работы.

    Закрыт
    4 года назад
  • Требуется доработка шаблона Опенкарт, включающая как мелкие изменения, так и более сложные доработки. Ожидается улучшение функционала и дизайна для повышения удобства использования.

    Завершен
    4 года назад