Вход | Регистрация

1С:Предприятие ::

Метки: 

Печатная форма вывод на печать

↓ [Волшебник, 29.03.18 - 14:14]
Я
   Mr_Black1515
 
29.03.18 - 14:13
Недавно писал на форуме по поводу ПФ. Собственно теперь проблема в другом, как сделать так чтоб она вызывалась на печать из документа Кадровый перевод? В данный момент ее можно вызвать из док. трудовой договор.
 
  Рекламное место пустует
   Mr_Black1515
 
1 - 29.03.18 - 14:13
Функция СведенияОВнешнейОбработке() Экспорт
     
    МассивОбъектов = Новый Массив;
    МассивОбъектов.Добавить("ДокументСсылка.ПриемНаРаботу");  // Меняем документ


    
    ТЗКоманды = Новый ТаблицаЗначений;
    ТЗКоманды.Колонки.Добавить("Представление");
    ТЗКоманды.Колонки.Добавить("Идентификатор");
    ТЗКоманды.Колонки.Добавить("Использование");
    ТЗКоманды.Колонки.Добавить("ПоказыватьОповещение");
    ТЗКоманды.Колонки.Добавить("Модификатор");
    
    НоваяСтрокаТЗКоманды = ТЗКоманды.Добавить();
    НоваяСтрокаТЗКоманды.Представление = "Дополнительное соглашение";
    НоваяСтрокаТЗКоманды.Идентификатор = "ДополнительноеСоглашение";    //Важно!!! Запомнить параметр


    НоваяСтрокаТЗКоманды.Использование = "ВызовСерверногоМетода";
    НоваяСтрокаТЗКоманды.ПоказыватьОповещение =    Ложь;
    НоваяСтрокаТЗКоманды.Модификатор = "ПечатьMXL";
    
    ДанныеОбработки = Новый Структура;
    ДанныеОбработки.Вставить("Наименование", "Дополнительное соглашение");        //наименование в администрировании


    ДанныеОбработки.Вставить("Информация", "Дополнительное соглашение");
    ДанныеОбработки.Вставить("Назначение", МассивОбъектов);
    ДанныеОбработки.Вставить("Вид", "ПечатнаяФорма");
    ДанныеОбработки.Вставить("Версия", "1.0");
    ДанныеОбработки.Вставить("БезопасныйРежим", Ложь);
    ДанныеОбработки.Вставить("Команды", ТЗКоманды);
    
    Возврат ДанныеОбработки;
        
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещание = Ложь, Модификатор = "")
    
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещание = ПоказыватьОповещание;
    НоваяКоманда.Можификатор = Модификатор;
    
КонецПроцедуры

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
    
    ПодходящиеОбъекты = Новый Массив;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "МакетДопСоглашение")Тогда
            
        Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "МакетДопСоглашение") Тогда
            ИмяМакета = "МакетДопСоглашение";
            Представление = НСтр("ru='Дополнительное соглашение'");
                КонецЕсли;
        
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
            КоллекцияПечатныхФорм,
            ИмяМакета, Представление,
            ТабличныйДокументТрудовойДоговор(
                ИмяМакета,
                МассивОбъектов,
                ОбъектыПечати),
            ,
            "МакетДопСоглашение");
            
        КонецЕсли;    
    
КонецПроцедуры

Функция ТабличныйДокументТрудовойДоговор(ИмяМакета, МассивОбъектов, ОбъектыПечати)
    
    Макет = ПолучитьМакет ("МакетДопСоглашение");
    
    ДокументРезультат = Новый ТабличныйДокумент;
    НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1;
    
    ДокументРезультат.КлючПараметровПечати = "ПараметрыПечати_ДополнительноеСоглашение";
    МассивДанныхЗаполнения = ДанныеДляПечатиТрудовогоДоговора(МассивОбъектов, ИмяМакета);
    
    ПервыйПриказ = Истина;
    Для каждого ПараметрыМакета Из МассивДанныхЗаполнения Цикл
        
        Если Не ПервыйПриказ Тогда
            ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
        Иначе
            ПервыйПриказ = Ложь;
        КонецЕсли;
        
        НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1;
        
        ОбластьЧасть10 = Макет.ПолучитьОбласть("Часть10");
        ОбластьЧасть10.Параметры.Заполнить(ПараметрыМакета);
        ДокументРезультат.Вывести(ОбластьЧасть10);
        
        
        ОбластьЧасть20 = Макет.ПолучитьОбласть("Часть20");
        ОбластьЧасть20.Параметры.Заполнить(ПараметрыМакета);
        ДокументРезультат.Вывести(ОбластьЧасть20);
        
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ДокументРезультат, НомерСтрокиНачало, ОбъектыПечати, ПараметрыМакета.Ссылка);
        
    КонецЦикла;
    
    Возврат ДокументРезультат;
    
КонецФункции

Функция ДанныеДляПечатиТрудовогоДоговора(МассивОбъектов, ИмяМакета)
    
    МассивПараметров = Новый Массив;
    
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
    
    Запрос.Текст =
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    ПриемНаРаботу.Номер КАК ПриказОПриемеНомер,
        |    ПриемНаРаботу.Дата КАК ПриказОПриемеДата,
        |    ПриемНаРаботу.Организация.НаименованиеПолное КАК ОрганизацияНаименованиеПолное,
        |    ПриемНаРаботу.Организация.НаименованиеСокращенное КАК ОрганизацияНаименованиеСокращенное,
        |    ПриемНаРаботу.Сотрудник,
        |    ПриемНаРаботу.Должность,
        |    ПриемНаРаботу.Подразделение,
        |    ПриемНаРаботу.ВидЗанятости,
        |    ПриемНаРаботу.ТрудовойДоговорНомер,
        |    ПриемНаРаботу.ТрудовойДоговорДата,
        |    ПриемНаРаботу.Руководитель,
        |    ПриемНаРаботу.ДолжностьРуководителя,
        |    ПриемНаРаботу.ДатаПриема,
        |    ПриемНаРаботу.Ссылка,
        |    ПриемНаРаботу.Организация,
        |    ПриемНаРаботу.ДатаЗавершенияТрудовогоДоговора,
        |    ПриемНаРаботу.РазрешениеНаРаботу,
        |    ПриемНаРаботу.РазрешениеНаПроживание,
        |    ПриемНаРаботу.УсловияОказанияМедпомощи,
        |    ПриемНаРаботу.ОснованиеПредставителяНанимателя,
        |    ПриемНаРаботу.ОборудованиеРабочегоМеста,
        |    ПриемНаРаботу.ИныеУсловияДоговора
        |ПОМЕСТИТЬ ВТДанныеПриказаОПриеме
        |ИЗ
        |    Документ.ПриемНаРаботу КАК ПриемНаРаботу
        |ГДЕ
        |    ПриемНаРаботу.Ссылка В(&МассивОбъектов)
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.Номер,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.Дата,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.Организация.НаименованиеПолное,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.Организация.НаименованиеСокращенное,
        |    ПриемНаРаботуСпискомСотрудники.Сотрудник,
        |    ПриемНаРаботуСпискомСотрудники.Должность,
        |    ПриемНаРаботуСпискомСотрудники.Подразделение,
        |    ПриемНаРаботуСпискомСотрудники.ВидЗанятости,
        |    ПриемНаРаботуСпискомСотрудники.ТрудовойДоговорНомер,
        |    ПриемНаРаботуСпискомСотрудники.ТрудовойДоговорДата,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.Руководитель,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.ДолжностьРуководителя,
        |    ПриемНаРаботуСпискомСотрудники.ДатаПриема,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.Организация,
        |    ПриемНаРаботуСпискомСотрудники.ДатаЗавершенияТрудовогоДоговора,
        |    ПриемНаРаботуСпискомСотрудники.РазрешениеНаРаботу,
        |    ПриемНаРаботуСпискомСотрудники.РазрешениеНаПроживание,
        |    ПриемНаРаботуСпискомСотрудники.УсловияОказанияМедпомощи,
        |    ПриемНаРаботуСпискомСотрудники.Ссылка.ОснованиеПредставителяНанимателя,
        |    ПриемНаРаботуСпискомСотрудники.ОборудованиеРабочегоМеста,
        |    ПриемНаРаботуСпискомСотрудники.ИныеУсловияДоговора
        |ИЗ
        |    Документ.ПриемНаРаботуСписком.Сотрудники КАК ПриемНаРаботуСпискомСотрудники
        |ГДЕ
        |    ПриемНаРаботуСпискомСотрудники.Ссылка В(&МассивОбъектов)
        |;
        |
        ////////////////////////////////////////////////////////////////////////////////


        |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        |    ДанныеПриказаОПриеме.Сотрудник,
        |    ДанныеПриказаОПриеме.ДатаПриема КАК Период
        |ПОМЕСТИТЬ ВТСотрудникиПериоды
        |ИЗ
        |    ВТДанныеПриказаОПриеме КАК ДанныеПриказаОПриеме
        |;
        |
        ////////////////////////////////////////////////////////////////////////////////


        |ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ДанныеПриказаОПриеме.Руководитель КАК ФизическоеЛицо,
        |    ДанныеПриказаОПриеме.ДатаПриема КАК Период
        |ПОМЕСТИТЬ ВТФизическиеЛицаПериоды
        |ИЗ
        |    ВТДанныеПриказаОПриеме КАК ДанныеПриказаОПриеме";
    
    Запрос.Выполнить();
    
    // Получение кадровых данных сотрудника.


    ОписательВременныхТаблиц = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(
        Запрос.МенеджерВременныхТаблиц,
        "ВТСотрудникиПериоды");
    КадровыеДанные = "ФИОПолные,ФамилияИО,АдресПоПропискеПредставление,ДокументПредставление,Пол,Страна,КоличествоДнейОтпускаОбщее";
    КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВременныхТаблиц, Истина, КадровыеДанные);
    
    // Получение ФИО руководителей.


    ОписательВременныхТаблиц = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеФизическихЛиц(
        Запрос.МенеджерВременныхТаблиц,
        "ВТФизическиеЛицаПериоды");
    КадровыеДанные = "ФИОПолные,ФамилияИО,Пол";
    КадровыйУчет.СоздатьВТКадровыеДанныеФизическихЛиц(ОписательВременныхТаблиц, Истина, КадровыеДанные);
    
    ТаблицаНачислений = КадровыйУчет.ТаблицаНачисленийСотрудниковПоВременнойТаблице(Запрос.МенеджерВременныхТаблиц, "ВТСотрудникиПериоды", , , , Ложь, Истина);
    
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    ДанныеПриказаОПриеме.Организация,
        |    ДанныеПриказаОПриеме.ПриказОПриемеДата КАК Период
        |ИЗ
        |    ВТДанныеПриказаОПриеме КАК ДанныеПриказаОПриеме";
    
    СведенияОбОрганизациях = Новый ТаблицаЗначений;
    СведенияОбОрганизациях.Колонки.Добавить("Организация", Новый ОписаниеТипов("СправочникСсылка.Организации"));
    СведенияОбОрганизациях.Колонки.Добавить("Период", Новый ОписаниеТипов("Дата"));
    СведенияОбОрганизациях.Колонки.Добавить("НаименованиеПолное", Новый ОписаниеТипов("Строка"));
    СведенияОбОрганизациях.Колонки.Добавить("АдресЮридический", Новый ОписаниеТипов("Строка"));
    СведенияОбОрганизациях.Колонки.Добавить("АдресФактический", Новый ОписаниеТипов("Строка"));
    СведенияОбОрганизациях.Колонки.Добавить("ОрганизацияГородФактическогоАдреса", Новый ОписаниеТипов("Строка"));
    
    РезультатЗапросаПоШапке = Запрос.Выполнить();
    
    АдресаОрганизаций = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресаОрганизаций(РезультатЗапросаПоШапке.Выгрузить().ВыгрузитьКолонку("Организация"));
    
    Выборка = РезультатЗапросаПоШапке.Выбрать();
    Пока Выборка.Следующий() Цикл
        
        НоваяСтрокаСведенияОбОрганизациях = СведенияОбОрганизациях.Добавить();
        
        Сведения = Новый СписокЗначений;
        Сведения.Добавить("", "НаимЮЛПол");
    
        ОргСведения = РегламентированнаяОтчетностьВызовСервера.ПолучитьСведенияОбОрганизации(Выборка.Организация, Выборка.Период, Сведения);
        
        НоваяСтрокаСведенияОбОрганизациях.Организация = Выборка.Организация;
        НоваяСтрокаСведенияОбОрганизациях.Период = Выборка.Период;
        НоваяСтрокаСведенияОбОрганизациях.НаименованиеПолное = ОргСведения.НаимЮЛПол;
        
        ОписаниеЮридическогоАдреса = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресОрганизации(
            АдресаОрганизаций,
            Выборка.Организация,
            Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);
        НоваяСтрокаСведенияОбОрганизациях.АдресЮридический = ОписаниеЮридическогоАдреса.Представление;
        
        ОписаниеФактическогоАдреса = УправлениеКонтактнойИнформациейЗарплатаКадры.АдресОрганизации(
            АдресаОрганизаций,
            Выборка.Организация,
            Справочники.ВидыКонтактнойИнформации.ФактАдресОрганизации);
        НоваяСтрокаСведенияОбОрганизациях.АдресФактический = ОписаниеФактическогоАдреса.Представление;
        НоваяСтрокаСведенияОбОрганизациях.ОрганизацияГородФактическогоАдреса = ОписаниеФактическогоАдреса.Город;
        
    КонецЦикла;
    
    Запрос.УстановитьПараметр("СведенияОбОрганизациях", СведенияОбОрганизациях);
    
    Запрос.Текст =
        "ВЫБРАТЬ
        |    СведенияОбОрганизациях.Период,
        |    СведенияОбОрганизациях.Организация,
        |    СведенияОбОрганизациях.НаименованиеПолное КАК ОрганизацияНаименованиеПолное,
        |    СведенияОбОрганизациях.АдресЮридический КАК ОрганизацияАдресЮридический,
        |    СведенияОбОрганизациях.АдресФактический КАК ОрганизацияАдресФактический,
        |    СведенияОбОрганизациях.ОрганизацияГородФактическогоАдреса КАК ОрганизацияГородФактическогоАдреса
        |ПОМЕСТИТЬ ВТДанныеОрганизаций
        |ИЗ
        |    &СведенияОбОрганизациях КАК СведенияОбОрганизациях
        |;
        |
        ////////////////////////////////////////////////////////////////////////////////


        |ВЫБРАТЬ
        |    ДанныеПриказаОПриеме.Ссылка,
        |    ДанныеПриказаОПриеме.ПриказОПриемеНомер,
        |    ДанныеПриказаОПриеме.ПриказОПриемеДата,
        |    ДанныеПриказаОПриеме.Подразделение,
        |    ДанныеПриказаОПриеме.Должность,
        |    ДанныеПриказаОПриеме.Сотрудник,
        |    ДанныеПриказаОПриеме.ВидЗанятости,
        |    ДанныеПриказаОПриеме.ТрудовойДоговорНомер,
        |    ДанныеПриказаОПриеме.ТрудовойДоговорДата,
        |    ДанныеПриказаОПриеме.ДолжностьРуководителя КАК РуководительДолжность,
        |    ДанныеПриказаОПриеме.ДатаПриема,
        |    ДанныеПриказаОПриеме.ДатаЗавершенияТрудовогоДоговора,
        |    ВЫБОР
        |        КОГДА КадровыеДанныеСотрудников.Страна = ЗНАЧЕНИЕ(Справочник.СтраныМира.Россия)
        |            ТОГДА """"
        |        ИНАЧЕ ДанныеПриказаОПриеме.РазрешениеНаРаботу
        |    КОНЕЦ КАК РазрешениеНаРаботу,
        |    ВЫБОР
        |        КОГДА КадровыеДанныеСотрудников.Страна = ЗНАЧЕНИЕ(Справочник.СтраныМира.Россия)
        |            ТОГДА """"
        |        ИНАЧЕ ДанныеПриказаОПриеме.РазрешениеНаПроживание
        |    КОНЕЦ КАК РазрешениеНаПроживание,
        |    ВЫБОР
        |        КОГДА КадровыеДанныеСотрудников.Страна = ЗНАЧЕНИЕ(Справочник.СтраныМира.Россия)
        |            ТОГДА """"
        |        ИНАЧЕ ДанныеПриказаОПриеме.УсловияОказанияМедпомощи
        |    КОНЕЦ КАК УсловияОказанияМедпомощи,
        |    ДанныеПриказаОПриеме.ОснованиеПредставителяНанимателя,
        |    ДанныеПриказаОПриеме.ОборудованиеРабочегоМеста,
        |    ДанныеПриказаОПриеме.ИныеУсловияДоговора,
        |    ДанныеОрганизаций.ОрганизацияНаименованиеПолное,
        |    ДанныеОрганизаций.ОрганизацияАдресЮридический,
        |    ДанныеОрганизаций.ОрганизацияАдресФактический,
        |    ДанныеОрганизаций.ОрганизацияГородФактическогоАдреса,
        |    КадровыеДанныеСотрудников.Страна,
        |    КадровыеДанныеФизическихЛиц.ФИОПолные КАК РуководительФИОПолные,
        |    КадровыеДанныеФизическихЛиц.ФамилияИО КАК РуководительФамилияИО,
        |    КадровыеДанныеФизическихЛиц.Пол КАК РуководительПол,
        |    КадровыеДанныеСотрудников.ФИОПолные КАК ФИОПолные,
        |    КадровыеДанныеСотрудников.ФамилияИО КАК ФамилияИО,
        |    КадровыеДанныеСотрудников.Пол КАК Пол,
        |    КадровыеДанныеСотрудников.АдресПоПропискеПредставление КАК АдресПоПропискеПредставление,
        |    КадровыеДанныеСотрудников.ДокументПредставление КАК ДокументПредставление,
        |    КадровыеДанныеСотрудников.КоличествоДнейОтпускаОбщее
        |ИЗ
        |    ВТДанныеПриказаОПриеме КАК ДанныеПриказаОПриеме
        |        ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОрганизаций КАК ДанныеОрганизаций
        |        ПО ДанныеПриказаОПриеме.Организация = ДанныеОрганизаций.Организация
        |            И ДанныеПриказаОПриеме.ПриказОПриемеДата = ДанныеОрганизаций.Период
        |        ЛЕВОЕ СОЕДИНЕНИЕ ВТКадровыеДанныеФизическихЛиц КАК КадровыеДанныеФизическихЛиц
        |        ПО ДанныеПриказаОПриеме.Руководитель = КадровыеДанныеФизическихЛиц.ФизическоеЛицо
        |            И ДанныеПриказаОПриеме.ДатаПриема = КадровыеДанныеФизическихЛиц.Период
        |        ЛЕВОЕ СОЕДИНЕНИЕ ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
        |        ПО ДанныеПриказаОПриеме.Сотрудник = КадровыеДанныеСотрудников.Сотрудник
        |            И ДанныеПриказаОПриеме.ДатаПриема = КадровыеДанныеСотрудников.Период";
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
        ПараметрыТрудовогоДоговора = ПараметрыТрудовогоДоговора();
        ЗаполнитьЗначенияСвойств(ПараметрыТрудовогоДоговора, Выборка);
        
        РезультатСклонения = "";
        Если ФизическиеЛицаЗарплатаКадры.Просклонять(Строка(ПараметрыТрудовогоДоговора.РуководительФИОПолные), 2, РезультатСклонения, ПараметрыТрудовогоДоговора.РуководительПол) Тогда
            ПараметрыТрудовогоДоговора.РуководительФИОПолные = РезультатСклонения
        КонецЕсли;
        
        ПараметрыТрудовогоДоговора.РуководительДолжностьВПадеже = СклонениеПредставленийОбъектов.ПросклонятьПредставление(Строка(ПараметрыТрудовогоДоговора.РуководительДолжность), 2);
        
        ПараметрыТрудовогоДоговора.ТрудовойДоговорДата = Формат(Выборка.ТрудовойДоговорДата, "ДЛФ=DD; ДП='""___"" ____________ 20___ г.'");
        ПараметрыТрудовогоДоговора.ПриказОПриемеДата = Формат(Выборка.ПриказОПриемеДата, "ДЛФ=D; ДЛФ=DD");
        ПараметрыТрудовогоДоговора.ДатаПриема = Формат(Выборка.ДатаПриема, "ДЛФ=D; ДЛФ=DD");
        
        ОплатаТруда = "";
        СтрокиНачислений = ТаблицаНачислений.НайтиСтроки(Новый Структура("Сотрудник,Период", Выборка.Сотрудник, Выборка.ДатаПриема));
        Если СтрокиНачислений.Количество() > 0 Тогда
            
            Если Не ПустаяСтрока(СтрокиНачислений[0].ОписаниеОклада) Тогда
                ОплатаТруда = СтрокиНачислений[0].ОписаниеОклада;
            КонецЕсли;
        
            Если ЗначениеЗаполнено(СтрокиНачислений[0].Надбавка) Тогда
                ОплатаТруда = ?(ПустаяСтрока(ОплатаТруда), "", ОплатаТруда + "; ") + СтрокиНачислений[0].Надбавка;
            КонецЕсли;
            
        КонецЕсли;
        
        Если ПустаяСтрока(ОплатаТруда) Тогда
            ОплатаТруда = Символы.ПС + "_____________________________________________________________________________________";
        КонецЕсли;
        
        УсловияОплатыТруда = НСтр("ru='Согласно настоящему договору Работнику выплачивается заработная плата'");
        Если ПолучитьФункциональнуюОпцию("ИспользоватьШтатноеРасписание") Тогда
            УсловияОплатыТруда = УсловияОплатыТруда + " " + НСтр("ru='в соответствии со штатным расписанием.'");
        КонецЕсли;
        
        УсловияОплатыТруда = УсловияОплатыТруда + " " + НСтр("ru='На момент заключения договора заработная плата состоит из'") + ": " + ОплатаТруда;
        ПараметрыТрудовогоДоговора.УсловияОплатыТруда = УсловияОплатыТруда + ?(Прав(УсловияОплатыТруда, 1) = ".", "", ".");
        
        Если ЗначениеЗаполнено(Выборка.ОснованиеПредставителяНанимателя) Тогда
            ПараметрыТрудовогоДоговора.ОснованиеРуководителя = Выборка.ОснованиеПредставителяНанимателя;
        Иначе
            ПараметрыТрудовогоДоговора.ОснованиеРуководителя = "__________________";
        КонецЕсли;
        
        Если ЗначениеЗаполнено(Выборка.ОборудованиеРабочегоМеста) Тогда
            ПараметрыТрудовогоДоговора.ОборудованиеРабочегоМеста = " (" + Выборка.ОборудованиеРабочегоМеста + ")"
        Иначе
            ПараметрыТрудовогоДоговора.ОборудованиеРабочегоМеста = "";
        КонецЕсли;
        
        Если ЗначениеЗаполнено(Выборка.ИныеУсловияДоговора) Тогда
            
            Если ИмяМакета = "ПФ_MXL_ТрудовойДоговорПриДистанционнойРаботе" Тогда
                ПараметрыТрудовогоДоговора.ИныеУсловияДоговора = "8.5.";
            Иначе
                ПараметрыТрудовогоДоговора.ИныеУсловияДоговора = "7.3.";
            КонецЕсли;
            
            ПараметрыТрудовогоДоговора.ИныеУсловияДоговора = ПараметрыТрудовогоДоговора.ИныеУсловияДоговора + " " + Выборка.ИныеУсловияДоговора + ".";
            
        Иначе
            ПараметрыТрудовогоДоговора.ИныеУсловияДоговора = "";
        КонецЕсли;
        
        Если Выборка.ВидЗанятости = Перечисления.ВидыЗанятости.ОсновноеМестоРаботы Тогда
            ПараметрыТрудовогоДоговора.ВидЗанятостиПоДоговору = НСтр("ru='основным местом работы'");
        Иначе
            ПараметрыТрудовогоДоговора.ВидЗанятостиПоДоговору = НСтр("ru='местом работы по совместительству'");
        КонецЕсли;
        
        Если ЗначениеЗаполнено(Выборка.ДатаЗавершенияТрудовогоДоговора) Тогда
            
            ПараметрыТрудовогоДоговора.СрокДействияПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru='на срок до %1'"),
                Формат(Выборка.ДатаЗавершенияТрудовогоДоговора, "ДЛФ=DD"));
                
            Если Прав(ПараметрыТрудовогоДоговора.СрокДействияПредставление, 1) = "." Тогда
                ПараметрыТрудовогоДоговора.СрокДействияПредставление =
                    Лев(ПараметрыТрудовогоДоговора.СрокДействияПредставление, СтрДлина(ПараметрыТрудовогоДоговора.СрокДействияПредставление) - 1);
            КонецЕсли;
                
        Иначе
            ПараметрыТрудовогоДоговора.СрокДействияПредставление = НСтр("ru='на неопределенный срок'");
        КонецЕсли;
        
        Если Не ЗначениеЗаполнено(ПараметрыТрудовогоДоговора.КоличествоДнейОтпускаОбщее) Тогда
            ПараметрыТрудовогоДоговора.КоличествоДнейОтпускаОбщее = "____";
        КонецЕсли;
        
        Если ПараметрыТрудовогоДоговора.Страна <> Справочники.СтраныМира.Россия Тогда
            
            Если Не ЗначениеЗаполнено(ПараметрыТрудовогоДоговора.РазрешениеНаРаботу) Тогда
                ПараметрыТрудовогоДоговора.РазрешениеНаРаботу = Символы.ПС
                    + "______________________________________________________________________________________";
            КонецЕсли;
            
            Если Не ЗначениеЗаполнено(ПараметрыТрудовогоДоговора.РазрешениеНаПроживание) Тогда
                ПараметрыТрудовогоДоговора.РазрешениеНаПроживание = Символы.ПС
                    + "______________________________________________________________________________________";
            КонецЕсли;
            
            Если Не ЗначениеЗаполнено(ПараметрыТрудовогоДоговора.УсловияОказанияМедпомощи) Тогда
                ПараметрыТрудовогоДоговора.УсловияОказанияМедпомощи = Символы.ПС
                    + "______________________________________________________________________________________";
            КонецЕсли;
            
        КонецЕсли;
        
        МассивПараметров.Добавить(ПараметрыТрудовогоДоговора);
        
    КонецЦикла;
    
    Возврат МассивПараметров;
    
КонецФункции

Функция ПараметрыТрудовогоДоговора()
    
    Параметры = Новый Структура;
    
    Параметры.Вставить("Ссылка", Неопределено);
    Параметры.Вставить("ПриказОПриемеНомер", "");
    Параметры.Вставить("ПриказОПриемеДата", '00010101');
    Параметры.Вставить("ОрганизацияНаименованиеПолное", "");
    Параметры.Вставить("ОрганизацияАдресЮридический", "");
    Параметры.Вставить("ОрганизацияАдресФактический", "");
    Параметры.Вставить("ОрганизацияГородФактическогоАдреса", "");
    Параметры.Вставить("Сотрудник", Справочники.Сотрудники.ПустаяСсылка());
    Параметры.Вставить("Подразделение", Справочники.ПодразделенияОрганизаций.ПустаяСсылка());
    Параметры.Вставить("Должность", Справочники.Должности.ПустаяСсылка());
    Параметры.Вставить("ВидЗанятостиПоДоговору", "");
    Параметры.Вставить("ТрудовойДоговорНомер", "");
    Параметры.Вставить("ТрудовойДоговорДата", '00010101');
    Параметры.Вставить("СрокДействияПредставление", "");
    Параметры.Вставить("РуководительФамилияИО", "");
    Параметры.Вставить("РуководительФИОПолные", "");
    Параметры.Вставить("РуководительПол");
    Параметры.Вставить("РуководительДолжность", Справочники.Должности.ПустаяСсылка());
    Параметры.Вставить("ДатаПриема", '00010101');
    Параметры.Вставить("ФИОПолные", "");
    Параметры.Вставить("ФамилияИО", "");
    Параметры.Вставить("Пол");
    Параметры.Вставить("АдресПоПропискеПредставление", "");
    Параметры.Вставить("ДокументПредставление", "");
    Параметры.Вставить("Страна", Справочники.СтраныМира.Россия);
    Параметры.Вставить("РазрешениеНаРаботу", "");
    Параметры.Вставить("РазрешениеНаПроживание", "");
    Параметры.Вставить("УсловияОказанияМедпомощи", "");
    Параметры.Вставить("КоличествоДнейОтпускаОбщее", "");
    Параметры.Вставить("ОснованиеРуководителя", "");
    Параметры.Вставить("ОборудованиеРабочегоМеста", "");
    Параметры.Вставить("ИныеУсловияДоговора", "");
    Параметры.Вставить("РуководительДолжностьВПадеже", "");
    Параметры.Вставить("УсловияОплатыТруда");
    
    Возврат Параметры;
    
КонецФункции
   Волшебник
 
2 - 29.03.18 - 14:14
(0) Извольте формулировать свои вопросы внятно.
   Mr_Black1515
 
3 - 29.03.18 - 14:25
(2) Сейчас эта форма выводится на печать из трудового договора, требуется чтобы она выводилась из кадрового перевода. Макет и заполнение остаются без изменений.
   Волшебник
 
4 - 29.03.18 - 14:34
(3) Пригласите программиста. Он прикрутит кнопку.
   Mr_Black1515
 
5 - 29.03.18 - 14:38
(4) Вся соль в том что я и есть программист...
   Волшебник
 
6 - 29.03.18 - 14:47
(5) Только не соль, а горечь


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует