В начало

Список кандидатов на обзвон в JSON-формате

 

            Нужно сформировать список кандидатов для обзвона в формате JSON. Номера телефонов должны быть в формате 74951234567, т.е. начинаться с цифры [7], без пробелов, тире и иметь длину 11 символов.

 

Рис. Пример массива кандидатов для обзвона

 

Листинг. Функция формирования кандидатов на обзвон в формате JSON

//Номера телефонов должны быть в формате 74951234567

//Заменяем первую [8] на [7] в номере телефона

Функция Заменить8на7вТелефонах(Знач М)

            Индекс = 0;    

           

            Для Каждого Эл из М Цикл

                        Если Сред(Эл, 1, 1) = "8" Тогда

                                   М[Индекс] = "7" + Сред(Эл, 2, 10);

                        КонецЕсли;   

                        Индекс = Индекс + 1;

            КонецЦикла;                       

           

            Возврат М;

КонецФункции

 

&НаСервере

Функция СписокКандидатовВJSON(autoCallId)           

 

            Запрос = Новый Запрос;

            Запрос.Текст =

                        "ВЫБРАТЬ

                        |           Партнеры.Ссылка КАК Ссылка,

                        |           Партнеры.УК_ФизЛицо.Имя КАК Имя,

                        |           Партнеры.F1_ТелефонСтрока КАК Телефоны

                        |ИЗ

                        |           Справочник.Партнеры КАК Партнеры

                        |ГДЕ

                        |           Партнеры.F1_Долг > 1000000

                        |           И Партнеры.F1_ТелефонСтрока <> """"";

           

            Результат = Запрос.Выполнить();

           

            Выборка = Результат.Выбрать();

           

            batch = Новый Массив();

           

            Пока Выборка.Следующий() Цикл

            variables = Новый Структура();

            variables.Вставить("name", Выборка.Имя);

            variables.Вставить("age", "22");

           

            Если СтрНайти(Выборка.Телефоны, ";") = 0 Тогда

                        phone = СтрРазделить(Выборка.Телефоны, ";");

            Иначе                                                  

                        phone = Новый Массив();

                        phone.Добавить(Выборка.Телефоны);       

            КонецЕсли;

           

            phone = Заменить8на7вТелефонах(phone);

           

            с1 = Новый Структура();

            с1.Вставить("id_debt", "123");

            с1.Вставить("id_num", "456");

           

            callbackData = Новый Массив();

            callbackData.Добавить(с1);

 

            Кандидат = Новый Структура();

            Кандидат.Вставить("phone", phone);

            Кандидат.Вставить("variables", variables);

            Кандидат.Вставить("callbackData", callbackData);

            Кандидат.Вставить("autoCallId", autoCallId);

                       

            batch.Добавить(Кандидат);

 

            КонецЦикла;

           

            Данные = Новый Структура();

            Данные.Вставить("batch", batch);

           

            ЗаписьJSON = Новый ЗаписьJSON;                                

            ЗаписьJSON.УстановитьСтроку();

            ЗаписатьJSON(ЗаписьJSON, Данные);

           

            Возврат ЗаписьJSON.Закрыть();

КонецФункции