В начало

Выгрузка телефонов в TXT-файл

 

            Нужно выгрузить телефоны в сетевую папку в JSON-формате в TXT-файле.

 

Листинг. Модуль внешней обработки

&НаСервере

Функция ВыгрузитьДанные_ВМассивСтруктур()

           

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

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

                        "ВЫБРАТЬ ПЕРВЫЕ 10

                        |           Партнеры.F1_ФИО КАК ФИО,

                        |           Партнеры.F1_Дом.КодДомаПоФИАС КАК КодФИАС,

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

                        |ИЗ

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

                        |ГДЕ

                        |           Партнеры.ПометкаУдаления = ЛОЖЬ

                        |           И Партнеры.F1_ФИО <> """"

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

                        |           И Партнеры.F1_Дом.КодДомаПоФИАС <> """"

                        |           И Партнеры.F1_ТелефонСтрока ПОДОБНО ""%;%""";

           

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

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

           

            мСтрукт = Новый Массив; 

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

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

                        Ст.Вставить("ФИО", Выборка.ФИО);

                        Ст.Вставить("КодФИАС", Выборка.КодФИАС);

                        Ст.Вставить("Телефоны", Выборка.Телефоны);

                        мСтрукт.Добавить(Ст);

            КонецЦикла;

           

            Возврат мСтрукт;

           

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

 

 

Функция ДанныеВJSON(Знач мСтрукт) 

           

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

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

            ЗаписатьJSON(ЗаписьJSON, мСтрукт);

           

            Возврат СтрЗаменить(ЗаписьJSON.Закрыть(),  Символы.ВК + Символы.ПС, "");

           

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

 

&НаСервере

Процедура СохранитьJSONвФайл(Знач Текст)

           

            ТД = новый ТекстовыйДокумент;

            ТД.УстановитьТекст(Текст);

            ИмяФайла = "ЕДСДЗФЛ_" + Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd") + ".txt";

            ТД.Записать("\\0.1.2.3\Темп\ " +  ИмяФайла);

           

КонецПроцедуры

 

&НаСервере

Процедура ВыгрузитьДанные_ДляРеглЗадания() Экспорт

 

            мСт = ВыгрузитьДанные_ВМассивСтруктур();

           

            Если ЗначениеЗаполнено(мСт) Тогда

                        js = ДанныеВJSON(мСт);

                        СохранитьJSONвФайл(js)

            КонецЕсли;   

           

КонецПроцедуры