Смотрел много информации в интернете, а именно по такой ситуации:
У нас в организации премия(процентом) начисляется месям позже, но есть такие случаии что человек уволился, а премию необходимо ему выплатить в следующем месяце за предыдущий, с этим проблем нет создаем документ Начисление премии и вперед, но на него также необходимо расчитать районный коэффициент и НДФЛ, что не возможно сделать штатными средствами, т.к. человек уже уволенный и приходилось вручную всем начислять районник и НДФЛ.
Соответственно было много советов, но ни один из них не подходил, пришлось дописывать конфигурацию, а именно для того чтобы все работало необходимо сделать в Документе "НачислениеЗарплатыРаботникамОрганизаций" новую кнопку, в моем случае я ее назвал "Заполнить уволенных", в действие кнопки необходимо добавить модуль:
Процедура Заполнить_уволенныхНажатие(Элемент)
//очищает список перед заполнением с предупреждением
Если Начисления.Количество()>0
ИЛИ ДополнительныеНачисления.Количество()>0
ИЛИ ДоговорыНаВыполнениеРабот.Количество()>0
ИЛИ НДФЛ.Количество()>0
ИЛИ ПогашениеЗаймов.Количество()>0
ИЛИ Удержания.Количество()>0 Тогда
ТекстВопроса = "Все таблицы документа будут очищены. Продолжить?";
Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да,);
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
Начисления.Очистить();
ДополнительныеНачисления.Очистить();
ДоговорыНаВыполнениеРабот.Очистить();
Удержания.Очистить();
НДФЛ.Очистить();
ПогашениеЗаймов.Очистить();
КонецЕсли;
ЭлементыФормы.ТабличноеПолеРасчетногоЛистка.Очистить();
мТекущееФизлицо = Справочники.ФизическиеЛица.ПустаяСсылка();
мТекущийСотрудник = Справочники.СотрудникиОрганизаций.ПустаяСсылка();
//выбор уволенных сотрудников из регистра сведений
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СписокУволенных.Сотрудник,
| СписокУволенных.ПричинаИзмененияСостоянияЗавершения КАК Пр
|ИЗ
| РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Конец,) КАК СписокУволенных
|ГДЕ
| ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) И
| Период>=&Начало и Период<=&Конец";
ДатаНач=Дата(Год(ПериодНачисленияДатаНачала),Месяц(ПериодНачисленияДатаНачала)-1,1);
Запрос.УстановитьПараметр("Начало",ДатаНач);
Запрос.УстановитьПараметр("Конец",КонецМесяца(ДатаНач)+1);
Запрос.УстановитьПараметр("Причина",Перечисления.ПричиныИзмененияСостояния.Увольнение);
Рез = Запрос.Выполнить().Выбрать();
//заполнение таблицы начисления
Пока Рез.Следующий() Цикл
//выбор сумм по физлицам и характеру взаиморасчета из регистра накоплений
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Премии.Физлицо,
| СУММА(Премии.СуммаВзаиморасчетов) КАК Начислено
|ИЗ
| РегистрНакопления.ЗарплатаЗаМесяцОрганизаций КАК Премии
|ГДЕ
| Премии.ПериодВзаиморасчетов >= &ДатаНачала И Премии.ПериодВзаиморасчетов <= &ДатаКонца
| И Премии.ФизЛицо =&ФизЛ
| И Премии.СуммаВзаиморасчетов <> 0
| И Премии.Организация = &Организация
| И Премии.ХарактерВыплаты = &Хар
|СГРУППИРОВАТЬ ПО
| Премии.Физлицо";
Запрос.УстановитьПараметр("Организация",Справочники.Организации.НайтиПоКоду("000000001"));
Запрос.УстановитьПараметр("ФизЛ",Рез.Сотрудник.ФизЛицо);
Запрос.УстановитьПараметр("ДатаНачала",ПериодНачисленияДатаНачала);
Запрос.УстановитьПараметр("ДатаКонца",ПериодНачисленияДатаОкончания);
Запрос.УстановитьПараметр("Хар",Перечисления.ХарактерВыплатыЗарплаты.Премии);
Пр = Запрос.Выполнить().Выбрать();
//заполнение таблицы начисления
Пока Пр.Следующий() Цикл
НоваяСтрока=Начисления.Добавить();
НоваяСтрока.Сотрудник=Рез.Сотрудник;
НоваяСтрока.ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоКоду("00150");
НоваяСтрока.ПодразделениеОрганизации=Рез.Сотрудник.ТекущееПодразделениеОрганизации;
НоваяСтрока.Показатель1=25;
НоваяСтрока.Результат=Пр.Начислено*0.25;
НоваяСтрока.ДатаНачала=ПериодНачисленияДатаНачала;
НоваяСтрока.ДатаОкончания=ПериодНачисленияДатаОкончания;
НоваяСтрока.ДатаНачалаСобытия=ПериодНачисленияДатаНачала;
мТекущееФизЛицо=Рез.Сотрудник.ФизЛицо;
РассчитатьРаботника(Ложь);
НоваяСтрока.Авторасчет=1;
КонецЦикла;
КонецЦикла;
КонецПроцедуры