Районный коэффициент на премию текущего месяца уволенным сотрудникам в предыдущем месяце

26.05.11

Разработка - Механизмы типовых конфигураций

Смотрел много информации в интернете, а именно по такой ситуации:

У нас в организации премия(процентом) начисляется месям позже, но есть такие случаии что человек уволился, а премию необходимо ему выплатить в следующем месяце за предыдущий, с этим проблем нет создаем документ Начисление премии и вперед, но на него также необходимо расчитать районный коэффициент и НДФЛ, что не возможно сделать штатными средствами, т.к. человек уже уволенный и приходилось вручную всем начислять районник и НДФЛ.

Соответственно было много советов, но ни один из них не подходил, пришлось дописывать конфигурацию, а именно для того чтобы все работало необходимо сделать в Документе "НачислениеЗарплатыРаботникамОрганизаций" новую кнопку, в моем случае я ее назвал "Заполнить уволенных", в действие кнопки необходимо добавить модуль:

 

Процедура Заполнить_уволенныхНажатие(Элемент)

//очищает список перед заполнением с предупреждением

Если Начисления.Количество()>0

ИЛИ ДополнительныеНачисления.Количество()>0

ИЛИ ДоговорыНаВыполнениеРабот.Количество()>0

ИЛИ НДФЛ.Количество()>0

ИЛИ ПогашениеЗаймов.Количество()>0 

ИЛИ Удержания.Количество()>0 Тогда

ТекстВопроса = "Все таблицы документа будут очищены. Продолжить?";

Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да,);

Если Ответ <> КодВозвратаДиалога.Да Тогда

Возврат;

КонецЕсли;

Начисления.Очистить();

ДополнительныеНачисления.Очистить();

ДоговорыНаВыполнениеРабот.Очистить();

Удержания.Очистить();

НДФЛ.Очистить();

ПогашениеЗаймов.Очистить();

КонецЕсли;

ЭлементыФормы.ТабличноеПолеРасчетногоЛистка.Очистить();

мТекущееФизлицо = Справочники.ФизическиеЛица.ПустаяСсылка();

мТекущийСотрудник = Справочники.СотрудникиОрганизаций.ПустаяСсылка();

//выбор уволенных сотрудников из регистра сведений

Запрос = Новый Запрос;

    Запрос.Текст = 

"ВЫБРАТЬ

    |    СписокУволенных.Сотрудник,

    |    СписокУволенных.ПричинаИзмененияСостоянияЗавершения КАК Пр

    |ИЗ

    |    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Конец,) КАК СписокУволенных

|ГДЕ

| ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) И

| Период>=&Начало и Период<=&Конец";

ДатаНач=Дата(Год(ПериодНачисленияДатаНачала),Месяц(ПериодНачисленияДатаНачала)-1,1);

Запрос.УстановитьПараметр("Начало",ДатаНач);

Запрос.УстановитьПараметр("Конец",КонецМесяца(ДатаНач)+1);

Запрос.УстановитьПараметр("Причина",Перечисления.ПричиныИзмененияСостояния.Увольнение);

Рез = Запрос.Выполнить().Выбрать();

//заполнение таблицы начисления

Пока Рез.Следующий() Цикл

//выбор сумм по физлицам и характеру взаиморасчета из регистра накоплений

Запрос = Новый Запрос;

    Запрос.Текст =

"ВЫБРАТЬ РАЗРЕШЕННЫЕ

    |   Премии.Физлицо,

    |   СУММА(Премии.СуммаВзаиморасчетов) КАК Начислено

    |ИЗ

    |   РегистрНакопления.ЗарплатаЗаМесяцОрганизаций КАК Премии

|ГДЕ

    |    Премии.ПериодВзаиморасчетов >= &ДатаНачала И Премии.ПериодВзаиморасчетов <= &ДатаКонца

|    И Премии.ФизЛицо =&ФизЛ

    |    И Премии.СуммаВзаиморасчетов <> 0

    |    И Премии.Организация = &Организация

| И Премии.ХарактерВыплаты = &Хар

    |СГРУППИРОВАТЬ ПО

    |    Премии.Физлицо";

Запрос.УстановитьПараметр("Организация",Справочники.Организации.НайтиПоКоду("000000001"));

Запрос.УстановитьПараметр("ФизЛ",Рез.Сотрудник.ФизЛицо);

Запрос.УстановитьПараметр("ДатаНачала",ПериодНачисленияДатаНачала);

Запрос.УстановитьПараметр("ДатаКонца",ПериодНачисленияДатаОкончания);

Запрос.УстановитьПараметр("Хар",Перечисления.ХарактерВыплатыЗарплаты.Премии);

Пр = Запрос.Выполнить().Выбрать();

//заполнение таблицы начисления

Пока Пр.Следующий() Цикл

НоваяСтрока=Начисления.Добавить();

НоваяСтрока.Сотрудник=Рез.Сотрудник;

НоваяСтрока.ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоКоду("00150");

НоваяСтрока.ПодразделениеОрганизации=Рез.Сотрудник.ТекущееПодразделениеОрганизации;

НоваяСтрока.Показатель1=25;

   НоваяСтрока.Результат=Пр.Начислено*0.25;

НоваяСтрока.ДатаНачала=ПериодНачисленияДатаНачала;

НоваяСтрока.ДатаОкончания=ПериодНачисленияДатаОкончания;

НоваяСтрока.ДатаНачалаСобытия=ПериодНачисленияДатаНачала;

мТекущееФизЛицо=Рез.Сотрудник.ФизЛицо;

РассчитатьРаботника(Ложь);

НоваяСтрока.Авторасчет=1;

КонецЦикла;

КонецЦикла;

КонецПроцедуры

И все, теперь документ будет брать людей уволенных за предыдущий месяц, но в документе необходимо указывать дату текущую, т.е. если сотрудник уволился в ноябре, то в документе необходимо указывать декабрь. 
Также процедура автоматически расчитывает НДФЛ.

 

См. также

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Россия Бесплатно (free)

Эта ошибка была обнаружена мной в типовой конфигурации 1С:Комплексная автоматизация 2 (2.5.16.115), БСП версия 3.1.9.302. Возникает она после того, как вы добавляете в расширение бизнес-процесс или задачу, выполняете обновление идентификаторов метаданных расширений, но ошибка при записи любого элемента справочника "Профили групп доступа" всё равно остаётся.

01.07.2024    914    Vidz    0    

6

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Очень часто в написании кода требуется обращаться к предопределённым значениям. Если идёт обращение к типовым предопределённым значениям, то проблем не возникает.

24.06.2024    723    olja-ljaaa    0    

3

Механизмы типовых конфигураций Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статистическая выборка сценариев и точек изменения отчетов на общей форме ФормаОтчета в типовых конфигурациях. Примеры кода.

03.06.2024    3115    Serg2000mr    29    

100

Механизмы типовых конфигураций Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

Продолжение темы вынесения кусков повторно-используемого кода в запрос. В прошлый раз мы сделали это с вычислением пользовательских формул. Здесь замахнулись на формулы, задаваемые пользователем запросами.

1 стартмани

11.04.2024    798    tango    5    

3

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Какому-либо элементу списка сопоставляется числовое значение, зависящее от других значений, причем эта зависимость изменяется от элемента к элементу. Так, в справочнике "Валюты" курс какой-либо валюты может быть задан формулой (или даже запросом) от значения другой валюты. А в справочнике "Виды цен" формула определяет расчет цены для товарной позиции, т.е. элементов справочника "Номенклатура", у которых в карточке указан этот вид цены. А в 1С:ERP, например, этот механизм используется в ресурсной спецификации.

10 стартмани

11.04.2024    680    tango    5    

4

Механизмы типовых конфигураций Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Бесплатно (free)

В первом сезоне мы рассмотрели (с точки зрения программиста) внутренний механизм, помещающий цены в регистр "Цены". Из этого регистра цена попадает в исходящие УПД (в продажи). Но эта цена (в прайс-листе) дифференцирована (ценообразована) в разрезах свойств самой номенклатуры. Но стратегия ценообразования, ценовая власть - это в первую очередь о работе с ценами для клиента. И тут вступает в дело второй акт марлезонского, Скидки (наценки) и кешбек.

08.04.2024    988    tango    0    

2

Ценообразование, анализ цен Механизмы типовых конфигураций Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Абонемент ($m)

Ценовая власть - это способность (возможность) компании изменять в некоторых пределах отпускную цену своего товара (услуг, продукции). Чем в более широких пределах вы можете играть в цену продажи, тем больше этой власти у вас. Если вы не можете управлять отпускной ценой, то это или не ваш бизнес, или не бизнес вовсе. Здесь в рубрике "База знаний аналитика и руководителя проекта" слово проект не ограничено "проектом в 1С". Посмотрим, что для этого есть в УТ 11.5.

1 стартмани

05.04.2024    996    tango    12    

2
Оставьте свое сообщение