Bitrix рдбреВ-рдЗрдЯ-рд╣реА-рдСрдбрд┐рдЯ

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред

рдЬрдм рдореИрдВ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ (рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдСрдбрд┐рдЯ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рд╣рдмрд░ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдХреБрдЫ рдФрд░ рдереЗ, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдХреМрди рдорд┐рд▓реЗрдЧрд╛?

рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛: рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд░реИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдВред

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рд░реВрдкрдг


рдореЗрд░рд╛ рдХрд╛рдо рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓рддрдо рд▓реЗрдЦрд╛ рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдерд╛, рд░рд╛рдЬреНрдп рдЕрдиреБрдмрдВрдз рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ (рд╕рдВрд╕реНрдХрд░рдг 15) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдм рдХреБрдЫ рдмрд╛рдЗрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдмреЗрдИрдорд╛рдиреА рд╣реЛрдЧреА, рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдереА:

  • рдкреНрд░рдпреЛрдХреНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг
  • рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА (EAV)
  • рдбреЗрдЯрд╛ рд╕рдВрдкрд╛рджрдХ
  • рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрд▓ рдореЙрдбрд▓
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрди
  • рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ

рдпрд╣ рд▓реЗрдЦ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдСрдбрд┐рдЯ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдореИрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдереЛрдбрд╝рд╛ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдХрд╕реНрдЯрдо рдмреБрдХрдорд╛рд░реНрдХ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдмреНрд▓реЙрдХ рд░рд┐рдХреЙрд░реНрдб рдХрд╛рд░реНрдб рдореЗрдВ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рдСрдбрд┐рдЯ рдЗрд╡реЗрдВрдЯ


рд╡рд┐рдХрд╕рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдЬреЛрдбрд╝рдХрд░ рдФрд░ рдЙрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмрджрд▓рдХрд░), рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЪреВрдВрдХрд┐ рдПрдкреАрдЖрдИ рд╕рднреА рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдкреАрдЖрдИ рдореЗрдВ рдСрдбрд┐рдЯ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд╣рдореЗрдВ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдПрдХ рдСрдбрд┐рдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдСрдбрд┐рдЯ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рд▓рд┐рдЦрдирд╛ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдкрдВрдХреНрддрд┐ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг (рдкреБрд░рд╛рдирд╛ рдбреЗрдЯрд╛) рдХреЛ рдПрдХ рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ DBMS рдкрдХреНрд╖ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдПрдХ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдкрд╣рд▓реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж рдПрдХ рд░рд╛рдЬреНрдп рд╣реИред

DBMS рдЯреНрд░рд┐рдЧрд░ рдкрд░ рдПрдХ рдСрдбрд┐рдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ Bitrix рдШрдЯрдирд╛рдУрдВ рдкрд░ рдПрдХ рдСрдбрд┐рдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ "рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ / php_interface / init.php ", рдпрджрд┐ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

use Topliner\Scheme\Logger;
//  
require_once($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php');
//        
if (!defined('IBLOCK_MODULE')) {
    define('IBLOCK_MODULE', 'iblock');
}
//    
AddEventHandler(IBLOCK_MODULE, 'OnIBlockElementAdd',
    Array(Logger::class, 'OnAdd'));
//     ,  -    ,              ,   

рдпрд╣ рдПрдХ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рд╣реИрдВ, рдХреЛрдб рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓рд┐рдВрдХ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реЛрдЧрд╛ред

рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдЕрдкрдиреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╛ рдбреЗрдмреНрдпреВ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ (рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рднреА рдШрдЯрдирд╛рдПрдВ рдФрд░ рдХреНрд╖рдг рднреА рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдФрд░ рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдЗрд╕ рддрдереНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдХрд┐ DBMS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди (рдкреБрд░рд╛рдирд╛) рдбреЗрдЯрд╛ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ (рдирдпрд╛) рджреЛрдиреЛрдВ рд╣реИрдВ, рдФрд░ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╛ рддреЛ рдкреБрд░рд╛рдирд╛ рдбреЗрдЯрд╛ рдпрд╛ рдирдпрд╛ рдбреЗрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреЛрдИ рдкреБрд░рд╛рдирд╛ рдФрд░ рдирдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдИ рдШрдЯрдирд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдореИрдВ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрд╛, рд╡рд╣реА рдХрд╣рд╛рдиреА рд╣реИ рдЬрдм рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдХрдИ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдБрдЦреЗрдВ рдкрд╕рдВрдж рдХреЗ рдзрди рд╕реЗ рдШреВрд░ рд░рд╣реА рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдкрд╕рдВрдж рдХрд╛ рднреНрд░рдо рд╣реИред

Bitrix рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рд╡рд┐рдирдореНрд░ рд░рд╛рдп
, , _ , ( Delphi PHP), .

depricated ┬л┬╗, .

┬л ┬╗ ( ) ┬л┬╗ (, , ) , . , ┬л┬╗ .

, :)

, , , , , , , ? .


рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдмреАрдЪ рд░рд╛рдЬреНрдп рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдерд┐рд░ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

class Logger
{
    const CHANGE = 'change';
    const REMOVE = 'remove';
    const CREATE = 'create';
    const UNDEFINED = 'undefined';

    public static $operation = self::UNDEFINED;

    const NO_VALUE = [];

    private static $fields = self::NO_VALUE;
    private static $properties = self::NO_VALUE;
    private static $names = self::NO_VALUE;
}

рдпрд╣рд╛рдВ рдЖрдкрдХреЛ "рдлрд╝реАрд▓реНрдб" рдФрд░ "рдЧреБрдгреЛрдВ" рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд╝реАрд▓реНрдб рд╡реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ infoblock рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╣реИрдВ (рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдирд╛рдо, infoblock "рдкреИрд░реЗрдВрдЯ"), рдЧреБрдг рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ infoblock рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, EAV рдореЙрдбрд▓ рдореЗрдВ, рдпреЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдп рд╣реИрдВред

"рдирд╛рдо" рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ, рдПрдХ рдШрдЯрдирд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рдирд╛рдореЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИрдВ, рдПрдХ рдЕрдиреНрдп рдШрдЯрдирд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИрдВ, рдФрд░ рдкрддреНрд░рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╕реБрдВрджрд░ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдирд╛рдореЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдШрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред

"рдСрдкрд░реЗрд╢рди" рд╡рд░реНрддрдорд╛рди рдСрдкрд░реЗрд╢рди рд╣реИ, "рдлрд╝реАрд▓реНрдбреНрд╕" рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдШрдЯрдирд╛рдПрдВ рджреЗрддрд╛ рд╣реИ, рдЬрдм "рдЧреБрдг" (рдлрд╝рдВрдХреНрд╢рдВрд╕ "рд╕реЗрдЯрдкреНрд░реЙрдкрд░реНрдЯреАрд╡реИрд▓реНрдпреВрдЬрд╝" рдФрд░ "рд╕реЗрдЯрдкреНрд░реЙрдкрд░реНрдЯреАрд╡рд▓реНрд╕рдПрдХреНрд╕") рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдСрдкрд░реЗрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдСрдкрд░реЗрд╢рди рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдРрдб / рдЕрдкрдбреЗрдЯ / рдбрд┐рд▓реАрдЯ), рдЗрд╕рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рдХреЛ рд╣реИрдВрдбрд▓рд░ рд╕реЗ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реЛ, рдФрд░ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдЖрдк рдПрдХ рд╕рд╛рде рдореВрд▓реНрдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдерд╛ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рд╣реЛрдЧрд╛, рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рд░рд╛рдЬреНрдп рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкреНрд░рд╛рд░реВрдк "рд╕рдВрдкрддреНрддрд┐" рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП % рдирд╛рдо%%% рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдкрд╣рд▓реЗ% => рдпрд╣% рдХреЗ рдмрд╛рдж% рдореВрд▓реНрдп рдмрди рдЧрдпрд╛ тАЭрдФрд░ рдЗрд╕рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред

рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛


рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрд┐рд╕реА рднреА рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдХреЗ рдХрд┐рд╕реА рднреА рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рд╣рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╣рдореЗрдВ рдХреМрди рд╕реЗ рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП рд╣реИрдВ, рдЗрд╕рдХреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ infoblock рджреЛ рдореВрд▓реНрдпреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ: infoblock рд╕реНрд╡рдпрдВ ('IBLOCK_ID') рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрднрд╛рдЧ ('IBLOCK_SECTION_ID'), рдФрд░ рдЕрдиреБрднрд╛рдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрднреА-рдХрднреА рд╕реВрдЪрдХрд╛рдВрдХ 'IBLOCK_SECTION_ID', рдФрд░ рдХрднреА-рдХрднреА 'IBLOCK_SECTION' рдХреЗ рд╕рд╛рде рдорд╛рдиреЛрдВ рдХреЗ рд╕рд░рдгреА рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдиреБрднрд╛рдЧ рдкрдврд╝рддрд╛ рд╣реВрдВред 'IBLOCK_SECTION' рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реА рджреЛрдиреЛрдВ рдХреБрдВрдЬрд┐рдпрд╛рдБред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЕрдиреБрднрд╛рдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдСрдбрд┐рдЯ рд▓реЙрдЧ рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗрд╡рд▓ рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдФрд░ рдЕрдиреБрднрд╛рдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдкрддреНрд░рд┐рдХрд╛ рдореЗрдВ рдШрдЯрдирд╛ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред

рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдкрд╣рд▓реЗ рд░рд╛рдЬреНрдп рдХреА рдмрдЪрдд


рдкреНрд░рддреНрдпреЗрдХ infoblock рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ, рдПрдХ рднрд╛рдЧ "рдлрд╝реАрд▓реНрдб" рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  • CIBlockElement :: рдЬреЛрдбрд╝реЗрдВ ()
  • CIBlockElement :: рдЕрдкрдбреЗрдЯ ()
  • CIBlockElement :: рд╣рдЯрд╛рдПрдВ ()

рдЕрдиреНрдп рднрд╛рдЧ "рдЧреБрдг" рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ:
  • CIBlockElement :: SetPropertyValues тАЛтАЛ()
  • CIBlockElement :: SetPropertyValuesEx ()

рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ CIBlockElement :: SetPropertyValuesEx () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдЗрд╕рдХреЗ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП, "рд╕рд╣реЗрдЬреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рдСрдбрд┐рдЯ рд▓реЙрдЧ рдореЗрдВ рджреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред

"рдлрд╝реАрд▓реНрдб" рдФрд░ "рдЧреБрдг" рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ, "рдлрд╝реАрд▓реНрдб" рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣рдо рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдорд╛рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ "рдЧреБрдг" рдХреЗ рд╕рд╛рде рд╣рдо рдЧреБрдгреЛрдВ рдФрд░ рдЙрдирдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред

рд╣рдо "рдкрд╣рд▓реЗ" рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдкрдВрдЬреАрдХрд░рдг рдмрджрд▓реЗрдВ


"рдЖрдлреНрдЯрд░" рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рд╣рдо рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдХреА рд╕реВрдЪреА рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХрдИ рдорд╛рди рд▓реЗ рд╕рдХрддреА рд╣реИред рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХреЛ "рдкрд╣рд▓реЗ" рдФрд░ "рдмрд╛рдж рдореЗрдВ" рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдЗрддрдирд╛ рдЕрд▓рдЧ рд╣реИ рдХрд┐ рдХреЛрдИ рджреВрд╕рд░реЗ рдХреЛ рдШрдЯрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╣рдореЗрд╢рд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ рдХрд┐ рдкрдВрдЬреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИред Src / Topliner / Scheme / Logger.php рдлрд╝рд╛рдЗрд▓
рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдСрдбрд┐рдЯ рдХрд╛ рд╕реЛрд░реНрд╕ рдХреЛрдб ред

рдЗрдВрдлрд╝реЛрдмреНрд▓реЙрдХ рдХрд╛рд░реНрдб (рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреНрд▓рд╛рд╕рд┐рдлрд╝рд╛рдпрд░ рдореЗрдВ) рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рдЯреИрдм рдЬреЛрдбрд╝рдирд╛


рдХрд╛рд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдСрдбрд┐рдЯрд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╣рдо рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

AddEventHandler('main', 'OnAdminIBlockElementEdit',
    Array(PermitTab::class, 'OnInit'));

'рдСрдирдЗрдирд┐рдЯ' рдкрджреНрдзрддрд┐ рдореЗрдВ, рд╣рдо рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЯреИрдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

class PermitTab
{
    const LINKS = 'links';

    function OnInit($arArgs)
    {
        $permits = BitrixScheme::getPermits();
        $pubPermits = BitrixScheme::getPublishedPermits();
        $blockId = (int)$arArgs['IBLOCK']['ID'];
        $letShow = $blockId === $permits->getBlock()
            || $blockId === $pubPermits->getBlock();
        $result = false;
        if ($letShow) {
            $result = [
                'TABSET' => 'LinksToConstructs',
                'GetTabs' => [static::class, 'GetTabs'],
                'ShowTab' => [static::class, 'ShowTab'],
                'Action' => [static::class, 'Action'],
                'Check' => [static::class, 'Check'],
            ];
        }

        return $result;
    }
}

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреИрдм рджрд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рддрд░реАрдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИ, src / Topliner / Scheme / PermitTab.php рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕реЛрд░реНрд╕ рджреЗрдЦреЗрдВ , рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдкрдврд╝реЗрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрд▓ рдореЙрдбрд▓


рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдВ рдПрдХ рд░реИрдЦрд┐рдХ рдЕрдзрд┐рдХрд╛рд░ рдкреИрдорд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдПрдХ рдРрд╕рд╛ рдкрд░рд┐рджреГрд╢реНрдп рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рдХрд╛ рдкрд╣рд▓рд╛ рдФрд░ рджреВрд╕рд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддреАрд╕рд░рд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рджреВрд╕рд░рд╛ рдФрд░ рддреАрд╕рд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдЖрдк рд╕реАрдзреЗ Bitrix рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдРрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдХреБрдЫ рдЕрдиреБрдорддрд┐ рдХреА рдЬрд╛рдВрдЪ рд╣реЛрддреА рд╣реИ, рдФрд░ рдХреЛрдб рдореЗрдВ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╕рдордп, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорддрд┐ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдЖрдк рдкрд╣рд▓реА рдФрд░ рджреВрд╕рд░реА рднреВрдорд┐рдХрд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рдФрд░ рддреАрд╕рд░реА рд╡рд╛рд▓реА рджреВрд╕рд░реА рднреВрдорд┐рдХрд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

        $constSec = BitrixScheme::getConstructs();
        $isAllow = CIBlockSectionRights::UserHasRightTo(
            $constSec->getBlock(), $constSec->getSection(),
            BitrixPermission::ELEMENT_ADD, false);
        if (!$isAllow) {
            $output['message'] = 'Forbidden, not enough permission;';
        }

  1. $ constSec-> getBlock () - рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
  2. $ constSec-> getSection () - рдЕрдиреБрднрд╛рдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
  3. BitrixPermission :: ELEMENT_ADD - рдЕрдиреБрдорддрд┐ рдХреЛрдб

рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдмреНрд▓реЙрдХ рдФрд░ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░рд┐рдпрд░ (рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдореЗрдВ, рдЖрдк рднреВрдорд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рднреВрдорд┐рдХрд╛рдПрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╣реЛрдЧрд╛ред

рдкреНрд░рдорд╛рдгреАрдХрд░рдг


рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЬреЛрдбрд╝реЗрдВ:

<?php
define("NEED_AUTH", true);
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
?>

//      

<?php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php");
?>

рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреЗрдЬ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдПрдХ рд▓реЙрдЧрд┐рди рдлреЙрд░реНрдо рджреЗрдЧрд╛ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЕрднреА рддрдХ рд▓реЙрдЧ рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ:

require_once($_SERVER['DOCUMENT_ROOT']
    . '/bitrix/modules/main/include/prolog_before.php');

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ "рдирдпрд╛" (рдирд╡рдВрдмрд░ 2019 рддрдХ) рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ "рд╣рд╛рдИрд▓реЛрдбрдмреНрд▓реЙрдХ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЧреИрд░-рдорд╛рдирдХ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ Hyload рдмреНрд▓реЙрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдЖрдкрдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓рдЧрд╛рддрд╛рд░ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

CModule::IncludeModule('highloadblock');
$entity = HighloadBlockTable::compileEntity('ConstructionTypes');
$reference = $entity->getDataClass();

рдЬрд╣рд╛рдБ 'ConstructionTypes' рд╕рдВрджрд░реНрдн рдХреЛрдб рд╣реИред

рдЗрди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╡рд░реНрдЧ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдЙрджрд╛рд╣рд░рдг ( src / Topliner / Bitrix / BitrixReference.php ) рдмрдирд╛рдПрдЧрд╛ ред

рдЕрдЧрд▓рд╛, рд╣рдо рд╕рд╛рдорд╛рдиреНрдп Bitrix ORM рд╡рд░реНрдЧ (D7) рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:

/* @var $reference DataManager */
$data = $reference::getList(array(
    'select' => array('UF_NAME', 'UF_XML_ID'),
    'filter' => array('UF_TYPE_ID' => 0)
    ));

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рдзреНрдпрд╛рди рд╕реЗ, рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдПрдХ рдмрд╣реБрдд)

рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

All Articles