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