Информация по появлению ошибки

[MP_LICENSE_VIOLATION] В вашу лицензию не входит модуль SIMAI-SF4: Сведения об образовательной организации (simai.sveden)

В связи с новыми требованиями Приказа 1493 Рособнадзора нами были внесены изменения в поставку готовых решений для образовательных организаций. 

Теперь в сборку готовых решений для образовательных организаций входит модуль SIMAI-SF4: Сведения об образовательной организации (simai.sveden). Для корректной работы модуля необходимо активировать купон на него.

Что делать, если на хостинге не хватает места?

Рекомендации по безопасности сайта

С 1 февраля 2023 года ограничена поддержка продуктов 1С-Битрикс на PHP версии ниже 8.0. Рекомендуемая версия PHP - 8.1 и выше

Учебные курсы

по работе с готовыми решениями и модулями размещены в разделе "Учебные курсы"

Инструкция по удалению ссылок на социальные сети

Для готовых решений на SIMAI-SF4:

SIMAI-SF4: Сайт библиотеки, SIMAI-SF4: Сайт благотворительного фонда, SIMAI-SF4: Сайт города, SIMAI-SF4: Сайт государственной организации, SIMAI-SF4: Сайт дворца культуры, SIMAI-SF4: Сайт детского сада, SIMAI-SF4: Сайт кандидата в депутаты, SIMAI-SF4: Сайт колледжа, SIMAI-SF4: Сайт комплексного центра социального обслуживания, SIMAI-SF4: Сайт медицинской организации, SIMAI-SF4: Сайт музея, SIMAI-SF4: Сайт музыкальной школы, SIMAI-SF4: Сайт научного центра, НИИ, SIMAI-SF4: Сайт некоммерческой организации, SIMAI-SF4: Сайт спортивной школы, SIMAI-SF4: Сайт университета, SIMAI-SF4: Сайт учебного центра, SIMAI-SF4: Сайт художественной школы, SIMAI-SF4: Сайт школы

Инструкция по удалению ссылок на социальные сети

SIMAI: Сайт кандидата в депутаты, SIMAI: Сайт колледжа, SIMAI: Портал открытых данных, SIMAI: Сайт благотворительного фонда, SIMAI: Сайт детского сада, SIMAI: Сайт компании, SIMAI: Сайт конференции, SIMAI: Сайт медицинской организации, SIMAI: Сайт музыкальной школы, SIMAI: Сайт РЖД медицина, SIMAI: Сайт санатория, SIMAI: Сайт сельского поселения, SIMAI: Сайт совета муниципальных образований, SIMAI: Сайт спортивной школы, SIMAI: Сайт управления делами, SIMAI: Сайт учебного центра, SIMAI: Сайт художественной школы, SIMAI: Сайт школы

Работа с модулем


После установки модуля simai.complexprop становится доступным новый тип свойства инфоблоков - "составное свойство", которое позволяет объединять значения обычных свойств.

Выбрать свойства, участвующие в составном свойстве ("подсвойства"), можно в настройке составного свойства.

Число подсвойств в данный момент ограничено: не более семи подсвойств.

Внимание: эти свойства должны быть уже созданы, чтобы их можно было выбрать, т.е. одновременно создать составное свойство и его подсвойства нельзя!

На данный момент из стандартных типов НЕЛЬЗЯ использовать как подсвойства: видео, карты Яндекс и Гугл, привязку к элементам по xml, cчетчик, SCU-привязку к товарам.

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

Остальные стандартные типы (строка, дата, список, файл, привязка к пользователю, к элементу и к разделу, в т.ч. с автозаполнением, текст/html и т.д.) использовать можно.

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

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

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

Аналогично, крайне не рекомендуется отмечать само составное свойство как обязательное.

Составное свойство может быть как одиночным, так и множественным. Множественность подсвойств должна соответствовать правилу: множественное составное - множественные подсвойства, одиночное составное - одиночные подсвойства.

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

У множественного составного свойства значения добавляются с помощью кнопки "Добавить составное значение". Максимальное количество составных значений, добавляемых за раз, регулируется стандартным параметром "Количество полей для ввода новых множественных значений" в настройках составного свойства.

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

Поля ввода подсвойств у каждого значения множественного составного свойства выглядят как поля одиночных свойств соответствующих типов.

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

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

В общем случае заполнение полей подсвойства внутри значений составного свойства имеет приоритет над заполнением полей этого же свойства вне составного свойства.

В одном инфоблоке может быть два и более составных свойств.

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

Структура значений составного свойства при использовании в компонентах публичной части выглядит таким образом:

ДЛЯ ОДИНОЧНОГО:

Массив VALUE:

Array
(
   [ELEMENT] => {id элемента инфоблока}
   [SUB_VAL_IDS] => Array
       (
           [{id подсвойства}] => {id значения подсвойства, файла или привязки для служебных целей},
.............
       )
   [SUB_VALUES] => Array
       (
           [{символьный или числовой код подсвойства}] => {массив значения подсвойства, аналогичный массиву VALUE у одиночного свойства того же типа},
.............
)
)


DISPLAY_VALUE выводится в виде html-таблицы со значениями подсвойств.


ДЛЯ МНОЖЕСТВЕННОГО:

VALUE:

Array
(
   [0] => {массив аналогичный VALUE одиночного составного свойства для первого значения},
   [1] => {массив аналогичный VALUE одиночного составного свойства для второго значения},
   .........
)


DISPLAY_VALUE:

   Array
   (
       [0] => html-таблица со значениями подсвойств,
       [1] => html-таблица со значениями подсвойств,
       .........
   )

Следует отметить, что если у множественного составного свойства задано только одно значение, то массив DISPLAY_VALUE будет аналогичен таковому для одиночного составного свойства.

Работа через API

Начиная с версии 1.1.0 есть возможность устанавливать значения составного свойства через API Битрикс, используя методы CIBlockElement::Add и CIBlockElement::Update.

Для этого нужно в массиве PROPERTY_VALUES указывать значения составного свойства -- обязательно в виде массива значений.

Для каждого значения должен быть задан подмассив SUBPROP_VALUES, где должны быть указаны значения подсвойств, относящихся к данному значению составного свойства.

При этом можно использовать как числовые иды свойств, так и их мнемонические коды.

Пример:

CModule::IncludeModule("iblock");

$el = new CIBlockElement;
$arFields = Array(
    "IBLOCK_ID"      => 12,
    "NAME"           => "Элемент",
    "PROPERTY_VALUES" => array(
       "TEST_COMPLEX_PROP" => array(
          "0" => array(
             "SUBPROP_VALUES" => array(
                "FIO" => "Иванов Иван",
                "PHOTO" => array_merge(CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/abc.jpg"), array("module_id" => "iblock"))             )
          ),
          "1" => array(
             "SUBPROP_VALUES" => array(
                "FIO" => "Петров Петр",
             )
          ),
       ),
    )
 );
 if($EL_ID = $el->add($arFields))
    echo "New ID: ".$EL_ID;
 else
    echo "Error: ".$el->LAST_ERROR;

Для метода CIBlockElement::Update массив PROPERTY_VALUES выглядит точно так же.

Что нужно знать касательно работы через API:

  • При задании составных значений через API обязательность заполнения подсвойств по встроенному механизму составного свойства автоматически НЕ проверяется.
    Проверка корректности заполнения подсвойств в этом случае - задача самого разработчика.
  • Значения подсвойств следует задавать только через
    SUBPROP_VALUES составных значений, задавать их как отдельные свойства в PROPERTY_VALUES не следует.
  • При задании значений подсвойств и самого составного свойства не нужно задавать значения поле описания -- описание в составном свойстве используется в служебных целях.
  • Такие методы битрикс, как CIBlockElement::SetPropertyValues и CIBlockElement::SetPropertyValueCode для работы с составным свойством использоваться  НЕ ДОЛЖНЫ.