Источник: https://blog.budagov.ru/bitrix-d7-dlya-infoblokov/
//получить значение
BX.Crm.EntityEditor.defaultInstance.getAllControls()[2].getFieldValue()
//подписаться на события изменения
let handler=BX.Crm.EntityEditor.defaultInstance.getAllControls()[2]._changeHandler;
function test(e){console.log(e);}
BX.Crm.EntityEditor.defaultInstance.getAllControls()[2]._changeHandler=function(e){
test.call(this,e);
handler.call(this,e);
}
//через слайдер
frames[1].BX.Crm.EntityEditor.defaultInstance.getControls();
$contact = \CCrmContact::GetByID($fields[«ID»]);
if($contact[«COMPANY_ID»])
{
$req = new \Bitrix\Crm\EntityRequisite();
$rs = $req->getList([
«filter» => [
«ENTITY_ID» => $contact[«COMPANY_ID»],
«ENTITY_TYPE_ID» => CCrmOwnerType::Company,
]
]);
$row = $rs->fetch();
$address = \Bitrix\Crm\EntityRequisite::getAddresses($row[‘ID’]);
foreach($address as $key => $value)
{
\Bitrix\Crm\EntityAddress::register(
CCrmOwnerType::Contact,
$fields[«ID»],
$key,
$value
);
}
}
Добавить статус в сущность Лид
BX.rest.callMethod(
«crm.status.add»,
{
fields:
{
«ENTITY_ID»: «STATUS»,
«STATUS_ID»: «CLOSE»,
«NAME»: «Закрыт»,
«SORT»: 70
}
},
function(result)
{
if(result.error())
console.error(result.error());
else
console.info(«Создан элемент справочника с ID » + result.data());
}
);
Источник: https://dev.1c-bitrix.ru/rest_help/crm/auxiliary/status/crm_status_add.php
В файле bitrix\js\main\core\core.js находим function onCustomEvent(eventObject, eventName, eventParams, secureParams). В начале функции пишем console.log( eventName, eventParams, eventObject)
\Bitrix\Main\Diag\Debug::writeToFile(
$CRM, //Переменная (объект, string и т.д.)
‘$CRM = ‘, // идентификация переменной
‘log/debug/logfile.log’ //место создания файла
);
$result = new Result();
$result->addError(new \Bitrix\Main\Error(«Текст ошибки»));
return $result;
Источник: https://dev.1c-bitrix.ru/api_d7/bitrix/main/result/adderror.php
Установка
Проект на этой странице
https://github.com/andreyryabin/sprint.migration
в файл composer.json дополняем
"extra": {
"installer-paths": {
"local/modules/{$name}/": ["type:bitrix-module"]
}
},
в блок require Добавляем «andreyryabin/sprint.migration»: «dev-master»
"require": {
"andreyryabin/sprint.migration": "dev-master"
},
В консоли пишем docker run —rm -it -v «$(pwd):/app» composer/composer update
Для работы через консоль используется скрипт /bitrix/modules/sprint.migration/tools/migrate.php
Можно запускать его напрямую или сделать алиас, создав файл в корне проекта, bin/migrate и прописав в нем:
#!/usr/bin/env php
<?php
$_SERVER['DOCUMENT_ROOT'] = dirname(__DIR__);
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/sprint.migration/tools/migrate.php';
В админке Битрикса появляется пункт «Миграции для разработчика»
Через консоль команыды работают
Примеры команд
php bin/migrate add (создать новую миграцию)
php bin/migrate ls (показать список миграций )
php bin/migrate up (накатить все миграции)
php bin/migrate up [version] (накатить выбранную миграцию)
php bin/migrate down (откатить все миграции)
php bin/migrate down [version] (откатить выбранную миграцию)
Все команды: https://github.com/andreyryabin/sprint.migration/blob/master/commands.txt
Источник: https://github.com/andreyryabin/sprint.migration
Создается файл по пути
| /bitrix/php_interface/user_lang/<код языка>/lang.php |
В файле должны определяться элементы массива $MESS в виде $MESS[‘языковой файл’][‘код фразы’] = ‘новая фраза’, например:
| <? $MESS[«/bitrix/components/bitrix/system.auth.form/templates/.default/lang/ru/template.php»][«AUTH_PROFILE»] = «Мой любимый профиль»; $MESS[«/bitrix/modules/main/lang/ru/public/top_panel.php»][‘top_panel_tab_view’] = «Смотрим»; $MESS[«/bitrix/modules/main/lang/ru/interface/index.php»][‘admin_index_sec’] = «Проактивка»; ?> |
Источники:
Class «CPullWatch» not found
При возникновении ошибки типа «not found» Class «CPullWatch» not found. Возникает из-за того, что не найден класс CPullWatch модуля pull. Для исправления ошибки подключите в коде модуль pull до вызова методов класса CPullWatch
Для подключения модуля pull используйте следующий код.
if(CModule::IncludeModule("pull"))
{
}
Источники:
https://aachibilyaev.com/info/articles/razrabotka-na-bitriks/fatal-error-class-quot-cpullwatch-quot-not-found/