Рубрики
Bitrix

D7

Источник: https://blog.budagov.ru/bitrix-d7-dlya-infoblokov/

Рубрики
Bitrix

Получать данные с карточки и подписываться

//получить значение
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();

Рубрики
Bitrix

Копировать из Компании в Контакт адреса

$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
);
}
}

     

           
Рубрики
Bitrix

Добавить статус в сущность Лид

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

Просмотр всех событий происходящих на странице

В файле bitrix\js\main\core\core.js находим function onCustomEvent(eventObject, eventName, eventParams, secureParams). В начале функции пишем console.log( eventName, eventParams, eventObject)

Рубрики
Bitrix

Логирование содержимого переменной (вывод информации в лог)

\Bitrix\Main\Diag\Debug::writeToFile(
$CRM, //Переменная (объект, string и т.д.)
‘$CRM = ‘, // идентификация переменной
‘log/debug/logfile.log’ //место создания файла
);

Рубрики
Bitrix

Вывод сообщения об ошибки с сервера на экран пользователя (клиента)

$result = new Result();

$result->addError(new \Bitrix\Main\Error(«Текст ошибки»));

return $result;

Источник: https://dev.1c-bitrix.ru/api_d7/bitrix/main/result/adderror.php

Рубрики
Bitrix

Перенос настроек в Битрикс между средами

Установка

Проект на этой странице
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

Изменение названия сущности «Лид»

Создается файл по пути

/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’] = «Проактивка»; ?>

Источники:

https://dev.1c-bitrix.ru/community/blogs/vad/1560.php

Рубрики
Bitrix

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/