INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Ткаченко Денис | Конструктор | ОАО "РЖД"

«Корпоративные IT отделы на Дальнем Востоке обречены. Обречены на изменения»

Трансформируйся или умри, это Неизбежность корпоративного АйТи отдела. Модные слова про цифровизацию и клиентоориентированность спасут ненадолго, на срок провального проекта. Изменениям должна быть подвергнута система управления IT. Потому что IT изменилось и мы изменились. Эта отрасль уже не хобби энтузиастов и калька с учебников по управлению прошлого века не работает. Поднимаем голову от интриг и смотрим что случилось с кадровым рынком, если еще не посмотрели. Ну и где мы будем брать сотрудников в штат? А через пять лет? Из институтов? Готовим сами?, окей. Создали систему подготовки, мотивации и развития своих кадров? Эта система убъёт Ваш IT отдел. Отдали разработку и поддержку на аутсорс. Вы же понимаете, что это временно, их убьют те же проблемы. В общем нужно учиться управлять по другому, управлять не управляя. Нужно ли быть специалистом, чтобы управлять специалистами? Несомненно! это и есть ключевой момент. Заманчиво выглядит растворить систему менеджмента, в операционных процессах не увеличивая затраты? Очень. Формулируем Проблему. Рисуем Решение. Намечаем Шаги. Строим Систему.

Печать дополнительного соглашения в ЗУП 2.5

Печать - Печатные формы документов

0
Пример печати дополнительного соглашения договора с сотрудником для проверки государственной инспекцией труда (ГИТ) в ЗУП 2.5 (релиз 2.5.129.3) из шаблона WORD.

Много прочитала информации о работе с OLE Word, пока создавала эту обработку, но так и не нашла как удалить последнюю страницу в готовом документе - изначально вставляется шаблон и далее не обрабатывается. 

Обработка представляет из себя печать в одном документе дополнительные соглашения по работающим сотрудникам на текущую дату в двух экземплярах из шаблона word. В коде ограничение на 100  сотрудников, т.е. 200  экземпляров соглашений, чтобы документ был не слишком объемным. Шаблон копируется во временный файл, вставляется в документ word, создается разрыв страницы, заполняется по сотруднику. 

По кнопке "Дополнительное соглашение" на печать выводится документна выбранного сотрудника в поле "Сотрудник", по кнопке "На всех", на всех работающих сотрудников на текущую дату.

Проверено на релизе 2.5.129.3.

Основной код:


    // сохранить шаблон во временном файле
    Макет = ПолучитьМакет("ДопСоглашение");
    УИД = Новый УникальныйИдентификатор;
    ИмяВременногоФайла = ВременныйПуть + "" + УИД + ".doc";
    Макет.Записать(ИмяВременногоФайла);
    
    Счетчик = 0;
    СчетчикКопий = 0;
    СчетчикКомплектов = 0;
    Для каждого ЭлементСписка Из Сотрудники Цикл
        
        СчетчикКомплектов = СчетчикКомплектов + 1; // счетчик сотрудников
        Если СчетчикКомплектов = 1 Тогда
            
            Попытка
                Word = Новый COMОбъект("Word.Application");
                Документ = Word.Documents.Add(ИмяВременногоФайла); // важно! вставляется шаблон и вместе с ним - форматирование
                Документ.GrammarChecked = 0; // грамматику не проверять
                Документ.ShowGrammaticalErrors = 0; // ошибки в документе не показывать
                Содержание = Word.Selection;
            Исключение
                Сообщить(ОписаниеОшибки());
                Возврат;
            КонецПопытки;
            
        КонецЕсли;
        
        Для Индекс = 1 По 2 Цикл // два экземпляра каждого соглашения
            
            Если Индекс = 1 Тогда // тот же сотрдник и для второго экземпляра
                Физлицо = ЭлементСписка.Значение.Физлицо;
                Работник = ЭлементСписка.Значение;
                СтруктураПараметровПоСотруднику = ПолучитьДанныеПоСотруднику(Работник);
            КонецЕсли;
            
            Если СтруктураПараметровПоСотруднику = Неопределено Тогда
                Продолжить;
            Иначе
                Счетчик = Счетчик + 1; // счетчик соглашений
                Содержание.InsertFile(ИмяВременногоФайла); // вставить очередной шаблон
                Содержание.InsertBreak(2); // разрыв страницы
            КонецЕсли; 
            
            Замена = Документ.Content.Find; // нужно в каждой замене
            Замена.Execute("{Speciality}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметровПоСотруднику.Должность));
            Замена = Документ.Content.Find;
            Замена.Execute("{Department}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметровПоСотруднику.ПодразделениеОрганизации));
            Замена = Документ.Content.Find;
            Замена.Execute("{ContractDate}", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(СтруктураПараметровПоСотруднику.ДатаПриема, "Л=ru; ДЛФ=DD; ДП='НеЗаполнено'"));
            Замена = Документ.Content.Find;
            Замена.Execute("{AgreementDate}", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(СтруктураПараметровПоСотруднику.ДатаНачала, "Л=ru; ДЛФ=D; ДП='НеЗаполнено'"));
            Замена = Документ.Content.Find;
            Замена.Execute("{AgreementDate1}", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(СтруктураПараметровПоСотруднику.ДатаНачала, "Л=ru; ДЛФ=DD; ДП='НеЗаполнено'"));
            ДатаДоверенности = ДобавитьМесяц(НачалоГода(ДобавитьМесяц(СтруктураПараметровПоСотруднику.ДатаНачала, -12)), 11);
            Замена = Документ.Content.Find;
            Замена.Execute("{AttorneyDate}", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(ДатаДоверенности, "Л=ru; ДЛФ=D; ДП='НеЗаполнено'"));
            Замена = Документ.Content.Find;
            Замена.Execute("{Employee}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(Физлицо));
            Замена = Документ.Content.Find;
            Замена.Execute("{Employee}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(Физлицо));
            
            РезультатСклонения = "";
            Если УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), Физлицо, 5, Физлицо.Пол, РезультатСклонения) Тогда
                Работник = РезультатСклонения;
            КонецЕсли;
            Замена = Документ.Content.Find;
            Замена.Execute("{Employee1}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(РезультатСклонения));
            
            // Подписи
            ИОФамилия = ОбщегоНазначенияЗК.ИнициалыФизЛицаФамилия(Физлицо);
            Замена = Документ.Content.Find;
            Замена.Execute("{Employee2}", Ложь, Истина, Ложь, , , Истина, , Ложь, ИОФамилия);
            Замена = Документ.Content.Find;
            Замена.Execute("{DateOfBirth}", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(СтруктураПараметровПоСотруднику.ДатаРождения, "ДФ=dd.MM.yyyy; ДЛФ=D"));
            Замена = Документ.Content.Find;
            Замена.Execute("{Number}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметровПоСотруднику.ДокументНомер));
            Замена = Документ.Content.Find;
            Замена.Execute("{Series}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметровПоСотруднику.ДокументСерия));
            Замена = Документ.Content.Find;
            Замена.Execute("{DateOfIssue}", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(СтруктураПараметровПоСотруднику.ДокументДатаВыдачи, "ДФ=dd.MM.yyyy; ДЛФ=D"));
            Замена = Документ.Content.Find;
            Замена.Execute("{IssuedBy}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметровПоСотруднику.ДокументКемВыдан));
            Замена = Документ.Content.Find;
            Замена.Execute("{Address}", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(СтруктураПараметровПоСотруднику.Адрес));
            
        КонецЦикла;
        
        Если СчетчикКомплектов = 100 Тогда // когда счетчик 100, то начинать заново
            СчетчикКомплектов = 0;
            Word.ActiveWindow.View.ShowFieldCodes = Ложь;
            Word.Visible = Истина;
            Прервать;
        КонецЕсли;
        
    КонецЦикла;
    
    Word.ActiveWindow.View.ShowFieldCodes = Ложь;
    Word.Visible = Истина;

 

0

Скачать файлы

Наименование Файл Версия Размер
Печать дополнительного соглашения в ЗУП 2.5:
.epf 77,32Kb
27.04.18
1
.epf 77,32Kb 1 Скачать

См. также

Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение