&НаСервере
Функция ОтчетОплатаГосПошлинВТабДок(Знач
ДатаНачала, Знач ДатаОкончания)
ТабДок =
Новый ТабличныйДокумент();
СКД = Отчеты.ОтчетОплатаГосПошлин.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = СКД.НастройкиПоУмолчанию;
//Задаем параметры
Параметр1 = Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачала");
Параметр1.Значение = ДатаНачала;
Параметр1.Использование = Истина;
Параметр2 = Настройки.ПараметрыДанных.Элементы.Найти("ДатаОкончания");
Параметр2.Значение = ДатаОкончания;
Параметр2.Использование = Истина;
//Задаем отбор
Отбор1 =
Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НомерДелаСП");
Отбор1.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета
= Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные
расшифровки
МакетКомпоновки
= КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);
ВнешниеПараметры
= Новый Структура;
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных
= Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры,
Расшифровка);
//Выводим результат в табличный документ
ПроцессорВывода
= Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);
Возврат ТабДок;
КонецФункции
&НаСервере
Функция ДолжникиДляВыгрузкиВЕДСЧерезФТП(Знач Город, Знач ДолгСУчетомОплатыТекущегоМесяца, Знач
МесяцевДолга)
ТабДок =
Новый ТабличныйДокумент();
СКД = Отчеты.ДолжникиДляВыгрузкиВЕДСЧерезФТП.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = СКД.НастройкиПоУмолчанию;
//Задаем параметры
Параметр1 = Настройки.ПараметрыДанных.Элементы.Найти("Город");
Параметр1.Значение =
Справочники.F1_Города.НайтиПоНаименованию(Город);
Параметр1.Использование = Истина;
Параметр2 =
Настройки.ПараметрыДанных.Элементы.Найти("ДолгСУчетомОплатыТекущегоМесяца");
Параметр2.Значение = ДолгСУчетомОплатыТекущегоМесяца;
Параметр2.Использование = Истина;
Параметр3 = Настройки.ПараметрыДанных.Элементы.Найти("МесяцевДолга");
Параметр3.Значение = МесяцевДолга;
Параметр3.Использование = Истина;
Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета
= Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные
расшифровки
МакетКомпоновки
= КомпоновщикМакета.Выполнить(СКД, Настройки,
Расшифровка);
ВнешниеПараметры
= Новый Структура;
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных
= Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры,
Расшифровка);
//Выводим результат в табличный документ
ПроцессорВывода
= Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);
Возврат ТабДок;
КонецФункции
&НаСервере
Функция СписокНастроек()
Запрос = Новый Запрос;
Запрос.Текст
=
"ВЫБРАТЬ
| ПараметрыДляВыгрузкиНаФТП.Ссылка
КАК Ссылка,
| ПараметрыДляВыгрузкиНаФТП.Код
КАК Код,
| ПараметрыДляВыгрузкиНаФТП.Наименование
КАК Наименование,
| ПараметрыДляВыгрузкиНаФТП.Сервер
КАК Сервер,
| ПараметрыДляВыгрузкиНаФТП.Порт
КАК Порт,
| ПараметрыДляВыгрузкиНаФТП.Логин
КАК Логин,
| ПараметрыДляВыгрузкиНаФТП.Пароль
КАК Пароль,
| ПараметрыДляВыгрузкиНаФТП.Каталог
КАК Каталог,
| ПараметрыДляВыгрузкиНаФТП.SSL
КАК SSL
|ИЗ
| Справочник.ПараметрыДляВыгрузкиНаФТП
КАК ПараметрыДляВыгрузкиНаФТП
|ГДЕ
| ПараметрыДляВыгрузкиНаФТП.ПометкаУдаления
= ЛОЖЬ";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Выгрузка = Результат.Выгрузить();
Масс = Новый Массив;
Пока Выборка.Следующий()
Цикл
Струк = Новый Структура;
Струк.Вставить("Наименование",
Выборка.Наименование);
Струк.Вставить("Сервер",
Выборка.Сервер);
Струк.Вставить("Порт",
Выборка.Порт);
Струк.Вставить("Логин",
Выборка.Логин);
Струк.Вставить("Пароль",
Выборка.Пароль);
Струк.Вставить("Каталог",
Выборка.Каталог);
Струк.Вставить("SSL",
Выборка.SSL);
Масс.Добавить(Струк);
КонецЦикла;
Возврат Масс;
КонецФункции
&НаСервере
Функция СписокГородов()
Запрос = Новый Запрос;
Запрос.Текст
=
"ВЫБРАТЬ
| F1_Города.Ссылка КАК Ссылка,
| F1_Города.Наименование КАК Город
|ИЗ
| Справочник.F1_Города КАК F1_Города
|ГДЕ
| F1_Города.ПометкаУдаления =
ЛОЖЬ";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Выгрузка = Результат.Выгрузить();
Масс = Новый Массив;
Пока Выборка.Следующий()
Цикл
Струк = Новый
Структура;
Струк.Вставить("Город",
Выборка.Город);
Масс.Добавить(Струк);
КонецЦикла;
Возврат Масс;
КонецФункции
Функция ВыгрузкаДляНедолжникаРф() Экспорт
Для Каждого Эл Из СписокНастроек() Цикл
Если Эл.Наименование = "Недолжник.Рф
- Выгрузка" Тогда
//Незащищенное соединение
FTPСоединение = Новый FTPСоединение(Эл.Сервер, Эл.Порт, Эл.Логин, Эл.Пароль, Неопределено, Истина, 0);
ТабДок = ОтчетОплатаГосПошлинВТабДок(НачалоГода(НачалоГода(ТекущаяДата()) - 1), НачалоДня(ТекущаяДата()));//[Начало прошлого года], [Начало этого
дня]
ИмяФайла = "Оплата госпошлин " + Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd")
+ ".xls";
ТемпФайл = КаталогВременныхФайлов()
+ ИмяФайла;
ТабДок.Записать(ТемпФайл,
ТипФайлаТабличногоДокумента.XLS);
Попытка
FTPСоединение.Записать(ТемпФайл,
Эл.Каталог + "/" + ИмяФайла);
Исключение
КонецПопытки;
УдалитьФайлы(ТемпФайл);
КонецЕсли;
КонецЦикла;
КонецФункции
Функция ВыгрузкаДляЕДСЗаявки() Экспорт
Для Каждого Эл Из СписокНастроек() Цикл
Если Эл.Наименование = "ЕДС Заявки - Выгрузка" Тогда
//Защищенное соединение по ФТП
SSL = Новый
ЗащищенноеСоединениеOpenSSL(Неопределено,
Неопределено);
FTPСоединение = Новый FTPСоединение(Эл.Сервер, Эл.Порт, Эл.Логин, Эл.Пароль, Неопределено, Истина, 0, SSL);
Для Каждого
Тек Из СписокГородов() Цикл
ТабДок = ДолжникиДляВыгрузкиВЕДСЧерезФТП(Тек.Город, 20000, 2);
ИмяФайла = "Должники " + Тек.Город
+ " " + Формат(ТекущаяДата(),"ДФ=yyyy-MM-dd") + ".xls";
ТемпФайл = КаталогВременныхФайлов()
+ ИмяФайла;
ТабДок.Записать(ТемпФайл,
ТипФайлаТабличногоДокумента.XLS);
Попытка
FTPСоединение.Записать(ТемпФайл,
Эл.Каталог + "/" + ИмяФайла);
Исключение
КонецПопытки;
УдалитьФайлы(ТемпФайл);
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецФункции
/////////////////////////////////////////////////////////////////////
&НаКлиенте
Процедура
ТестОтправки(Команда)
ВыгрузкаДляНедолжникаРф();
ВыгрузкаДляЕДСЗаявки();
КонецПроцедуры
|