Групповая отправка отчетов в контролирующие органы из БГУ 2.0, ЗУП 3.1 и 1С:Зарплата и кадры государственного учреждения, редакция 3.1

Данный код работконсоль отчетов ает в моей конфигурации ЗИК ГУ 3.1, релиз 3.1.17.94

Так же будет работконсоль отчетов ать в БГУ 2.0 и ЗУП 3.1.

Платформа версии 8.3.17, в теории должно работконсоль отчетов ать и на более старых.

Работа интуитивна - открыть обраб Инфостарт отку, нажать кнопку выбора каталога, нажать кнопку отправки

 

 

Обработконсоль отчетов чики назначены на кнопки управляемой формы.

Команда 3 выбирает каталог с файлами

Команда 1 начинает отправку

Остальные команды служебные, и их на форме можно не отображать

&НаКлиенте
Перем Форм1;
&НаКлиенте
Перем Форм2;
&НаКлиенте
Перем ФайлыОтч;
&НаКлиенте
Перем i;

&НаКлиенте
Процедура ПослеЗакрытияПредупреждения(Результат, ДополнительныеПараметры) Экспорт
    //Сообщить("После закрытия предупреждения");
    КонтекстЭДОКлиент = Результат.КонтекстЭДО;
    //Сообщить(Результат.ТекстОшибки);
    ДополнительныеПараметры = Новый Структура("Адрес, ФайлыИмпорта", "1", ФайлыОтч[i].ПолноеИмя);
    КонтекстЭДОКлиент.ПолучениеФайловДляИмпортаНачало(ДополнительныеПараметры.Адрес, ДополнительныеПараметры.ФайлыИмпорта); 
    ПодключитьОбработконсоль отчетов чикОжидания("МойШаг", 3, Истина);
Конец управленияПроцедуры

&НаКлиенте
Процедура МойШаг()
        Команда2(0);
Конец управленияПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗакрытияПредупреждения", ЭтотОбъект, Неопределено);
    ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
Конец управленияПроцедуры

// Окна = ПолучитьОкна();
//Для Каждого Окно Из Окна Цикл
//    Если Не Окно.Основное Тогда
//        Форма = Окно.ПолучитьСодержимое();
//        Форма.Закрыть();
//    Конец управленияЕсли;
//Конец управленияЦикла;   

&НаКлиенте
Процедура Обработконсоль отчетов атьОжидание()
 Форм1.Активизировать();
 Форм1.ПолучитьСодержимое().Закрыть();
 Форм2.Активизировать();
 Для каждого Форма из Форм2.Содержимое Цикл
            Форма.Закрыть(0);
        Конец управленияЦикла;
        Если i<ФайлыОтч.Количество()-1 Тогда
        i=i+1;
        Команда4(0);
        Команда1(0);
        Конец управленияЕсли
Конец управленияПроцедуры

&НаКлиенте
Процедура Команда2(Команда)
    // Вставить содержимое обраб Инфостарт отчика.
    // Получение всех открытых окон приложения
    ОкнаПриложения = ПолучитьОкна();
    Для каждого ОкноПриложения Из ОкнаПриложения Цикл
        // Анализ заголовка окна
        Если Найти(ОкноПриложения.Заголовок, "Загруженный отчет (создание) *") > 0 Тогда
            // Получение формы
            НайденнаяФорма = ОкноПриложения.Содержимое[0];
            Форм2 =   ОкноПриложения;
            // Анализ реквизита формы
            //Если НЕ ЗначениеЗаполнено(НайденнаяФорма.Контрагент) Тогда
            //    ОкноПриложения.Активизировать();
            //    Возврат пользователь ;
            //Конец управленияЕсли;
            //Сообщить(НайденнаяФорма.Заголовок);
            //НайденнаяФорма.КоманднаяПанель.ПодчиненныеЭлементы.Отправить.Заголовок = "dddd";
             ОкноПриложения.Активизировать();
             ОкноПриложения.ПолучитьСодержимое().Записать();
             РегламентированнаяОтчет обработконсоль отчетов киностьКлиент.ПриНажатииНаКнопкуОтправкиВКонтролирующийОрган(НайденнаяФорма, "ФНС");         
                 ОкнаПриложения2 = ПолучитьОкна();
                Для каждого ОкноПриложения2 Из ОкнаПриложения2 Цикл
                            Если Найти(ОкноПриложения2.Заголовок, "Подтверждение отправки отчета") > 0 Тогда
                            //НайденнаяФорма2 = ОкноПриложения2.Содержимое[0];
                            ОкноПриложения2.ПолучитьСодержимое().Закрыть(КодВозврат пользователь аДиалога.ОК);
                                ОкнаПриложения3 = ПолучитьОкна();
                                Для каждого ОкноПриложения3 Из ОкнаПриложения3 Цикл
                                    Если Найти(ОкноПриложения3.Заголовок, "Пожалуйста, подождите...") > 0 Тогда
                                        //Пока ОкноПриложения3.Заголовок<>"Успешно!" Цикл
                                        //    Продолжить;
                                        //Sleep(1);
                                        //Конец управленияЦикла;
                                        Форм1 = ОкноПриложения3;
                                        ПодключитьОбработконсоль отчетов чикОжидания("Обработконсоль отчетов атьОжидание", 8, Истина);
                                        //ОкноПриложения3.ПолучитьСодержимое().Закрыть();
                                    Конец управленияЕсли
                                Конец управленияЦикла
                            Конец управленияЕсли                    
                        Конец управленияЦикла;
                //ОкноПриложения.ПолучитьСодержимое().Закрыть();
         Конец управленияЕсли;
    Конец управленияЦикла;
Конец управленияПроцедуры


&НаКлиенте
Процедура Команда3(Команда)
    i = 0;
     Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
    ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);    
    ДиалогОткрытия.Каталог = "c:\\"; 
    ДиалогОткрытия.МножественныйВыбор = False; 
    ДиалогОткрытия.Заголовок = "Выберите каталог"; 
                                
    Если ДиалогОткрытия.Выбрать() Тогда
        ПутьККаталогу = ДиалогОткрытия.Каталог;
       // Сообщить(ПутьККаталогу);
    Конец управленияЕсли;
ФайлыОтчет обработконсоль отчетов киности = Новый Массив;
    ФайлыОтч = НайтиФайлы(ПутьККаталогу,"*.xml");
    Для Каждого ФайлXLS Из ФайлыОтч Цикл
        Сообщить(ФайлXLS.ПолноеИмя);
    Конец управленияЦикла;
Конец управленияПроцедуры


&НаКлиенте
Процедура Команда4(Команда)
    // Вставить содержимое обраб Инфостарт отчика.
     Окна1 = ПолучитьОкна();
Для Каждого Окно2 Из Окна1 Цикл
    Если Не Окно2.НачальнаяСтраница И Не Окно2.Основное Тогда
        Форма1 = Окно2.ПолучитьСодержимое();
        //Сообщить(Форма1.ИмяФормы);
        Если Форма1 <> ЭтаФорма И Форма1.ИмяФормы="Справочник.ЭлектронныеПредставленияРегламентированныхОтчет обработконсоль отчетов киов.Форма.ФормаЭлемента" Тогда
            Форма1.Закрыть();
        Конец управленияЕсли;
    Конец управленияЕсли;
Конец управленияЦикла; 
Конец управленияПроцедуры

 

Скриншоты


Безымянный.jpg

image.png

image.png

Файлы

Наименование Файл Версия Размер Кол. Скачив.
Групповая отправка отчетности в контролирующие органы из ЗиК ГУ и ЗУП 3.1, БГУ 2.0:
.epf 7,47Kb
0
.epf 7,47Kb 0 Скачать

Полная версия

© ООО "Инфостарт", 2006-2023 www.infostart.ru