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