|
Как же я "люблю" битрикс за его доку и комментарии В общем у нас есть данные которые нужно добавить в реквизиты контакта Этот массив содержит пример данных которые нужно добавить в реквизит Код |
---|
{
"ENTITY_TYPE_ID":4, // Тип родительской сущности (1 - Лиды, 2 - Сделки, 3 - Контакты, 4 - Компании, 5 - Счета, 6 - Дела, 7 - Предложения, 8 - Реквизиты, 9 - Направление сделки, 10 - Пользовательские действия, 11 - ожидания, 12 - обзвон, 13 - рекуррентные сделки, 14 - заказ, 15 - чек, 16 - отгрузка, 17 - оплата)
"ENTITY_ID":20, //В данном случае ID Компании так как ENTITY_TYPE_ID = 4
"PRESET_ID":1, //Прессет тип компании Создается в bitrix 24 (Организация, ИП, Физ лицо)
"NAME":"Организация 1", //Название реквизита
"RQ_COMPANY_NAME":"Сокращенное наименование организации", //Сокращенное наименование организации
"RQ_COMPANY_FULL_NAME":"Полное наименование организации", //Полное наименование организации
"RQ_COMPANY_REG_DATE":"05.07.2019", //Дата регистрации компании
"RQ_DIRECTOR":"Ген директор", //Ген директор
"RQ_ACCOUNTANT":"Гл бухгалтер", //Гл бухгалтер
"RQ_INN":"1111111111", //ИНН
"RQ_KPP":"333333", //КПП
"RQ_OGRN":"322222", //ОГРН
"RQ_OGRNIP":"", //ОГРН Индивидуального предпринимателя
"RQ_OKPO":"44444", //ОКПО
"RQ_OKTMO":"66666", //ОКТМО
"RQ_OKVED":"55555", //ОКВЕД
"RQ_ADDR": //Массив из адресов, каждого типа может быть только по одному
{
"1":{ // Тип 1 - Фактический адрес
"ADDRESS_1":"Улица, дом, корпус, строение Фактический адрес", //Улица, дом, корпус, строение
"ADDRESS_2":"Квартира \/ офис", //Квартира / офис
"CITY":"Город", //Город
"REGION":"Район", //Район
"PROVINCE":"Область", //Область
"POSTAL_CODE":"Почтовый индекс", //Почтовый индекс
"COUNTRY":"Страна", //Страна
"COUNTRY_CODE":"" //Код Страны
},
"4":{ //Тип 4 - Адрес регистрации
"ADDRESS_1":"Улица, дом, корпус, строение Адрес регистрации",
"ADDRESS_2":"Квартира \/ офис",
"CITY":"Город",
"REGION":"Район",
"PROVINCE":"Область",
"POSTAL_CODE":"Почтовый индекс",
"COUNTRY":"Страна",
"COUNTRY_CODE":""
},
"6":{ //Тип 6 - Юридический адрес
"ADDRESS_1":"Улица, дом, корпус, строение Юридический адрес",
"ADDRESS_2":"Квартира \/ офис",
"CITY":"Город",
"REGION":"Район",
"PROVINCE":"Область",
"POSTAL_CODE":"Почтовый индекс",
"COUNTRY":"Страна","COUNTRY_CODE":""
},
"9":{ //Тип 9 - Адрес бенефициара
"ADDRESS_1":"Улица, дом, корпус, строение",
"ADDRESS_2":"Квартира \/ офис",
"CITY":"Город",
"REGION":"Район",
"PROVINCE":"Область",
"POSTAL_CODE":"Почтовый индекс",
"COUNTRY":"Страна",
"COUNTRY_CODE":""
}
}
} |
Этот массив нужен для добавления к реквизиту банковских данных Код |
---|
{
"ENTITY_TYPE_ID":8, //Здесь указывается ID типа реквизита в данном случае (8 - Реквизиты)
"ENTITY_ID":9, //ID реквизита
"COUNTRY_ID":1, //Незнаю что это, скорей всего ID страны но списка сопоставления нет
"NAME":"Банковские реквизиты 1", //Банковские реквизиты
"RQ_BANK_NAME":"Наименование банка", // Наименование банка
"RQ_BANK_ADDR":"Адрес банка:", // Адрес банка
"RQ_BIK":"55555555555", //БИК
"RQ_ACC_NUM":"66666666666", //Расчетный счёт
"RQ_ACC_CURRENCY":"tre", //Валюта счёта
"RQ_COR_ACC_NUM":"777777777", // Кор. счёт
"RQ_SWIFT":"SWIFT", //SWIFT
"COMMENTS":"Комментарий" //Комментарий
}
|
Далее пишем код Код |
---|
CModule::IncludeModule("crm");
//Первый массив
$RequisitString = '{"ENTITY_TYPE_ID":4,"ENTITY_ID":20,"PRESET_ID":1,"DATE_CREATE":"17.10.2019 16:48:46","CREATED_BY_ID":1,"NAME":"Организация 1","RQ_COMPANY_NAME":"Сокращенное наименование организации","RQ_COMPANY_FULL_NAME":"Полное наименование организации","RQ_COMPANY_REG_DATE":"05.07.2019","RQ_DIRECTOR":"Ген директор","RQ_ACCOUNTANT":"Гл бухгалтер","RQ_INN":"1111111111","RQ_KPP":"333333","RQ_OGRN":"322222","RQ_OGRNIP":"","RQ_OKPO":"44444","RQ_OKTMO":"66666","RQ_OKVED":"55555","RQ_ADDR":{"1":{"ADDRESS_1":"Улица, дом, корпус, строение Фактический адрес","ADDRESS_2":"Квартира \/ офис","CITY":"Город","REGION":"Район","PROVINCE":"Область","POSTAL_CODE":"Почтовый индекс","COUNTRY":"Страна","COUNTRY_CODE":""},"4":{"ADDRESS_1":"Улица, дом, корпус, строение Адрес регистрации","ADDRESS_2":"Квартира \/ офис","CITY":"Город","REGION":"Район","PROVINCE":"Область","POSTAL_CODE":"Почтовый индекс","COUNTRY":"Страна","COUNTRY_CODE":""},"6":{"ADDRESS_1":"Улица, дом, корпус, строение Юридический адрес","ADDRESS_2":"Квартира \/ офис","CITY":"Город","REGION":"Район","PROVINCE":"Область","POSTAL_CODE":"Почтовый индекс","COUNTRY":"Страна","COUNTRY_CODE":"" },"9":{"ADDRESS_1":"Улица, дом, корпус, строение","ADDRESS_2":"Квартира \/ офис","CITY":"Город","REGION":"Район","PROVINCE":"Область","POSTAL_CODE":"Почтовый индекс","COUNTRY":"Страна","COUNTRY_CODE":""}},"RQ_BANK":{"1":{"ENTITY_TYPE_ID":8,"ENTITY_ID":9,"COUNTRY_ID":1,"NAME":"Банковские реквизиты 1","RQ_BANK_NAME":"Наименование банка","RQ_BANK_ADDR":"Адрес банка:","RQ_BIK":"55555555555","RQ_ACC_NUM":"66666666666","RQ_ACC_CURRENCY":"tre","RQ_COR_ACC_NUM":"777777777","RQ_SWIFT":"SWIFT","COMMENTS":"Комментарий"},"2":{"ENTITY_TYPE_ID":8,"ENTITY_ID":9,"COUNTRY_ID":1,"NAME":"Банковские реквизиты 1","RQ_BANK_NAME":"Наименование банка","RQ_BANK_ADDR":"Адрес банка:","RQ_BIK":"55555555555","RQ_ACC_NUM":"66666666666","RQ_ACC_CURRENCY":"tre","RQ_COR_ACC_NUM":"777777777","RQ_SWIFT":"SWIFT","COMMENTS":"Комментарий"}}}';
//Второй массив
$BancAddString = '{"ENTITY_TYPE_ID":8,"ENTITY_ID":9,"COUNTRY_ID":1,"NAME":"Банковские реквизиты 1","RQ_BANK_NAME":"Наименование банка","RQ_BANK_ADDR":"Адрес банка:","RQ_BIK":"55555555555","RQ_ACC_NUM":"66666666666","RQ_ACC_CURRENCY":"tre","RQ_COR_ACC_NUM":"777777777","RQ_SWIFT":"SWIFT","COMMENTS":"Комментарий"}';
$Requisit = json_decode($RequisitString,256);
$RequisitBanc = json_decode($BancAddString,256);
$resuleAdd = Bitrix\Crm\EntityRequisite::add($Requisit);//Сюда пихаем первый массив
$id = $resuleAdd->getId();//Из его результата получаем ID созданного реквизита
$RequisitBanc['ENTITY_ID'] = $id;//Подставляем в ENTITY_ID ID реквизита
$resuleAdd = Bitrix\Crm\EntityBankDetail::add($RequisitBanc);//Сюда пихаем второй массив с новым ENTITY_ID |
Набор полей в этих массивах не полный, там есть и другие поля. Как работать с тем чего не видишь ? Чтобы посмотреть доступные поля, можно зайти в класс данной сущности, к примеру Банковские реквизиты bitrix/modules/crm/lib/entitybankdetail.php Реквизиты bitrix/modules/crm/lib/entityrequisite.php ищем в них метод add И в самом начале вызова этого метода ловим стандартный набор данных при изменении этих сущностей через формы редактирования. Код |
---|
public function add($fields, $options = array()){
file_put_contents ( $_SERVER['DOCUMENT_ROOT'] . '/test.txt' , json_encode($fields, 256)."\n", FILE_APPEND); |
После чего анализируем что пришло. Это простейший метод отладки без доки для начинающих.
|