Получить расчетную базу

1. CHELLL 53 04.09.18 23:47 Сейчас в теме
Доброго дня суток.

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

Может кто знает, как можно её получить за некий интервал времени
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Cooler 22 04.09.18 23:52 Сейчас в теме
(1)
Может кто знает, как можно её получить за некий интервал времени
Гугль знает... что никак нельзя: https://forum.infostart.ru/forum68/topic198149/
3. shnurov 05.09.18 01:53 Сейчас в теме
Я же в том топике отписал как считать

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


Модифицируйте под себя, или поройте в конфигурации посмотрите как подобный код используется в различных документах.
4. CHELLL 53 05.09.18 08:48 Сейчас в теме
(3) я нашел, сейчас ковыряю.
5. CHELLL 53 05.09.18 11:51 Сейчас в теме
(3) воспользовался этим кодом.
	//Рассчитываем зарплату
	МенеджерРасчета = РасчетЗарплатыРасширенный.СоздатьМенеджерРасчета(Объект.МесяцНачисления, Объект.Организация);
	МенеджерРасчета.НастройкиРасчета.РассчитыватьНачисления = Истина;
	МенеджерРасчета.ИсключаемыйРегистратор = Объект.Ссылка;
	
	СотрудникиДляНачислений = МенеджерРасчета.ТаблицаСотрудников();
	СотрудникиДляРассчета = Новый Массив;
	Для Каждого Стр Из КадровыеПереводыСотрудников Цикл
		СотрудникиДляРассчета.Добавить(Стр);
		НоваяСтрока = СотрудникиДляНачислений.Добавить();
		НоваяСтрока.Сотрудник = Стр.Сотрудник;
		НоваяСтрока.ДатаНачала = Стр.Начало;
		НоваяСтрока.ДатаОкончания = Стр.Окончание;            
	КонецЦикла;        
	МенеджерРасчета.НастройкиРасчета.Сотрудники = СотрудникиДляРассчета;                        
	ОтборМенеджераРасчета = МенеджерРасчета.СоздатьОтборы();
	ОтборМенеджераРасчета.Подразделение = Объект.Подразделение;
	МенеджерРасчета.ЗаполнитьНачислениеЗарплаты(СотрудникиДляНачислений, ОтборМенеджераРасчета);
	МенеджерРасчета.РассчитатьЗарплату();
Показать


Но не получается понять одну вещь - допустим я рассчитываю сентябрь месяц, база должна быть за август с учетом кадровых перемещений. Для этого я меняю период расчета базы у начисления "Премия" на "Текущий месяц" и должен "вернуться в прошлое". Если ставлю
Объект.ПериодРегистрации
как август, то расчета нет, так как он уже рассчитан и проведен. Оставляю сентябрь, при этом в
СотрудникиДляНачислений 
добавляю ДатаНачала и ДатаОкончания периодом август. В итоге имею после расчета таблицу с правильными основными начислениями и неверно рассчитанной премией.

Может где еще надо "поиграться" периодами?
6. shnurov 06.09.18 01:29 Сейчас в теме
(5) В настройках начислений. Раз хотите базу прошлого месяца, то начисление должно быть так настроено. Период менять не надо, период должен быть текущий, все остальное должна сделать конфигурация.
7. CHELLL 53 06.09.18 08:18 Сейчас в теме
(6) если база прошлого периода, то конфигурация не видит кадровые перемещения.
8. shnurov 07.09.18 02:01 Сейчас в теме
(7)Что-то странное говорите, или я мож чего не понимаю. База это сумма начислений входящих в базу, если вы в настройках начисления ставите расчет базы "Предыдущий месяц", то конфигурация должна просуммировать уже рассчитанные в прошлом месяце начисления и подставить в показатель расчетная база. Причем тут кадровые переводы непонятно. Единственное что приходит на ум, это когда в месяце есть кадровый перевод и начисления базы разбиваются на периоды, то и сам а премия должна разбиться на периоды.
9. CHELLL 53 08.09.18 20:46 Сейчас в теме
(8) правильно, я пытаюсь реализовать схему расчета премии по принципу расчета базы текущего (с кадровыми перемещениями) для базы прошлого
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот