Π‘ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ: IT ΠΎΡΠ΄Π΅Π». ΠΡΠ΅Π³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²: 1 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ. ΠΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΡΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΠΈΡΡΠΈΠΊΡ 24. 1. ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ²Π°Ρ ΠΏΠΎ ΠΏΡΡΠΈ crm ΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΊΠ»Π°Π΄Ρ - ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΎΠ²Π°ΡΠΎΠ² Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ (call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method MyHandlers::OnBeforeIBlockElementUpdateHandler() cannot be called statically [TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method MyHandlers::OnBeforeIBlockElementUpdateHandler() cannot be called statically (0) /home/bitrix/www/bitrix/modules/main/tools.php:5246 #0: ExecuteModuleEventEx /home/bitrix/www/bitrix/modules/iblock/classes/general/iblockelement.php:5242 #1: CAllIBlockElement->CheckFields /home/bitrix/www/bitrix/modules/iblock/classes/mysql/iblockelement.php:1236 #2: CIBlockElement->Update /home/bitrix/www/bitrix/modules/catalog/lib/v2/BaseIblockElementRepository.php:397 #3: Bitrix\Catalog\v2\BaseIblockElementRepository->updateInternal /home/bitrix/www/bitrix/modules/catalog/lib/v2/BaseIblockElementRepository.php:84 #4: Bitrix\Catalog\v2\BaseIblockElementRepository->save /home/bitrix/www/bitrix/modules/catalog/lib/v2/BaseEntity.php:269 #5: Bitrix\Catalog\v2\BaseEntity->saveInternalEntity /home/bitrix/www/bitrix/modules/catalog/lib/v2/BaseEntity.php:243 #6: Bitrix\Catalog\v2\BaseEntity->saveInternal /home/bitrix/www/bitrix/modules/catalog/lib/v2/BaseIblockElementEntity.php:292 #7: Bitrix\Catalog\v2\BaseIblockElementEntity->saveInternal /home/bitrix/www/bitrix/modules/catalog/lib/v2/Product/BaseProduct.php:184 #8: Bitrix\Catalog\v2\Product\BaseProduct->saveInternal /home/bitrix/www/bitrix/modules/catalog/lib/v2/BaseEntity.php:206 #9: Bitrix\Catalog\v2\BaseEntity->save /home/bitrix/www/bitrix/components/bitrix/catalog.productcard.details/class.php:2178 #10: CatalogProductDetailsComponent->saveInternal /home/bitrix/www/bitrix/components/bitrix/catalog.productcard.details/class.php:2003 #11: CatalogProductDetailsComponent->saveAction #12: ReflectionMethod->invokeArgs /home/bitrix/www/bitrix/modules/main/lib/engine/autowire/binder.php:207 #13: Bitrix\Main\Engine\AutoWire\Binder->invoke /home/bitrix/www/bitrix/modules/main/lib/engine/action.php:117 #14: Bitrix\Main\Engine\Action->runWithSourceParametersList /home/bitrix/www/bitrix/modules/main/lib/engine/component/inlineaction.php:60 #15: Bitrix\Main\Engine\Component\InlineAction->runWithSourceParametersList /home/bitrix/www/bitrix/modules/main/lib/engine/controller.php:425 #16: Bitrix\Main\Engine\Controller->run /home/bitrix/www/bitrix/modules/main/lib/httpapplication.php:140 #17: Bitrix\Main\HttpApplication->runController /home/bitrix/www/bitrix/modules/main/lib/httpapplication.php:107 #18: Bitrix\Main\HttpApplication->run /home/bitrix/www/bitrix/modules/main/services/ajax.php:29 #19: require(string) /home/bitrix/www/bitrix/services/main/ajax.php:1) 2. ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ, Π½ΠΎ Π½Π΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ([TypeError] ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method MyHandlers::OnBeforeIBlockElementAddHandler() cannot be called statically (0) /home/bitrix/www/bitrix/modules/main/tools.php:5246 #0: ExecuteModuleEventEx /home/bitrix/www/bitrix/modules/iblock/classes/general/iblockelement.php:5242 #1: CAllIBlockElement->CheckFields /home/bitrix/www/bitrix/modules/iblock/classes/general/iblockelement.php:4010 #2: CAllIBlockElement->Add /home/bitrix/www/bitrix/modules/intranet/classes/general/handlers.php:1078 #3: CIntranetEventHandlers::OnAfterUserAdd /home/bitrix/www/bitrix/modules/main/tools.php:5253 #4: ExecuteModuleEventEx /home/bitrix/www/bitrix/modules/main/classes/general/user.php:328 #5: CAllUser->Add /home/bitrix/www/bitrix/modules/main/admin/user_edit.php:319 #6: require_once(string) /home/bitrix/www/bitrix/admin/user_edit.php:2) ΠΠ° Π½ΠΎΠ²ΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΠΊΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠΏΠ°Π»Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Ρ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΠ ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ²( Ρ ΡΡΠ°ΡΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΠΎΡΡ) ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° β2 3. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ Π·Π°Π΄Π°Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Error: count(): Argument #1 ($value) must be of type Countable|array, bool given 4, ΠΠ΅ΡΠ΅ΡΡΠ°Π» Π·Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°Π½Π΅Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π½ΡΠΎΠΌΠ° Π² ΡΡΠ΅ΡΠΊΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ 5. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ΄Π΅Π»ΠΎΠΊ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠ±ΠΎΡΠ΅ ΡΠΎΠ²Π°ΡΠ°. ΠΠ°ΡΡΠΎΡΠΊΠ° ΡΠΎΠ²Π°ΡΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π΅ ΡΠ΄Π΅Π»ΠΊΠΈ Π² ΡΡΠ°Π΄ΠΈΡ Π·Π°ΠΊΠ°Π· Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅ ΡΠΎΠ±ΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ( ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»ΡΠ΅Ρ ΡΠ΅ΡΡΠ΅ΠΆ, Π½Π΅ ΠΏΠΈΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°, ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π²ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΠΎΠ²Π°Ρ Π·Π° Π΄Π²ΠΎΠΈΠ² Π·Π°Π΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠΎΠ²Π°ΡΡ).