Массовое редактирование списка полей Компании/Контактов и тд

Рейтинг: 8.5608  
Новая
Предложил Пользователь 1349795 01.08.2019 07:26:14

Массовое редактирование списка полей Компании/Контактов и тд

Столкнулся с проблемой у многих компаний в нашем битриксе не указана была страна и др. поля.
В связи с чем столкнулся с 2мя проблемами в Битрикс:
1. Не возможно отфильтровать списки компаний с незаполненными значениями (чтоб их заполнить их);
2. При выделении группы списков не возможно выбрать определенное поле для группового редактирования. Либо оно вообще в списке не редактируется либо приходится в ручную в нужном поле менять значения у выбранной группы....
Это очень неудобно и напоминает КАМЕННЫЙ ВЕК))  

Рейтинг: 1  
Пользователь 1554831 01.08.2019 08:31:53
Как разовое прикладное решение - можно актуализировать список компаний через Excel.
1. Список компаний -> Экспорт компаний в Excel
2. Там фильтруете/ расставляете актуальные поля и т.п.
3а. Если нет опыта в макросах - ставите в столбец рядом с ID компании формулу вида "=ГИПЕРССЫЛКА(https:/ваш портал.bitrix24.ru/crm/company/show/A2/;A2)"
Скрываете все лишние строки/столбцы, сажаете человека на 1 день на заполнение базы.
3б. Если есть опыт в макросах, то что-то типа приложенного ниже кода (слабонервным просьба не смотреть) обработает ваш список по 1 элементу в секунду. (естественно, надо ещё разбираться с кодировкой данного конкретного поля - скорее всего потребуется в пределах 1 часа для перебора всех вариантов и внесения в исходный список именно кодов стран).

А в целом, согласен, было бы здорово, если бы реализовали ваше предложение.
Или доработали существующий импорт компаний до их обновления из Excel.
Sub ItWorks()

TargetURL = "https://портал.bitrix24.ru/rest/данные рест/crm.company.upd ate.json"
Se t HTTPReq = CreateObject("WinHttp.WinHttpRequest.5.1")
HTTPReq.Option(4) = 13056 '
HTTPReq.Open "POST", TargetURL, False
    HTTPReq.setRequestHeader "Accept-Language", "ru"
    HTTPReq.setRequestHeader "Accept-Charset", "utf-8"
    HTTPReq.setRequestHeader "Content-Language", "ru"
    HTTPReq.setRequestHeader "Content-Charset", "utf-8"
    HTTPReq.setRequestHeader "Content-type", "application/json; charset=utf-8"

n = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To n
    iid = Cells(i, 1).Value
    moddedc = Cells(i, 2).Value
    
    whookstring = "{""ID"": " & iid & ", ""fields"": {""UF_CRM_1508301875"":""" & moddedc}, ""params"": {""REGISTER_SONET_EVENT"": ""N""}}"
    
    HTTPReq.send whookstring
    If HTTPReq.Status <> "200" Then
        Debug.Print HTTPReq.Status & ", error" & iid
        Debug.Print HTTPReq.responseText
    End If
    
    Application.Wait (Now + TimeValue("0:00:01"))
Next i

End Sub
Рейтинг: 1  
Пользователь 574279 05.08.2019 17:03:39
если Б24 облачный, то попробуйте /marketplace/detail/fos.bp/?html=Y, если коробочный, то SQL-запросом
Рейтинг: 0  
Пользователь 3788668 04.03.2020 01:07:34
Абсолютно согласна! КАМЕННЫЙ ВЕК

2. При выделении группы списков не возможно выбрать определенное поле для группового редактирования. Либо оно вообще в списке не редактируется либо приходится в ручную в нужном поле менять значения у выбранной группы....