Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 ноя 2024, 00:10

Не проходит запрос. Расчет премии

Автор Сергей З., 15 янв 2019, 11:36

0 Пользователей и 1 гость просматривают эту тему.

Сергей З.

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

Движения.Записать();

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РегистрНачисленияЗарплатыБазаРегистрНачисленияЗарплаты.СуммаБаза,
| РегистрНачисленияЗарплатыБазаРегистрНачисленияЗарплаты.РасчетныеДанные
|ИЗ
| РегистрРасчета.РегистрНачисленияЗарплаты.БазаРегистрНачисленияЗарплаты(&Измерения, &Измерения, , Регистратор = &Ссылка) КАК РегистрНачисленияЗарплатыБазаРегистрНачисленияЗарплаты";

// дописываем 2 строки
Измерения = Новый Массив;
Измерения.Добавить("Сотрудник");

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

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

// Расчет премии
Если НЕ РезультатЗапроса.Пустой() Тогда

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();

Премия = ВыборкаДетальныеЗаписи.СуммаБаза * ВыборкаДетальныеЗаписи.РасчетныеДанные / 100;

Движение.Сумма = Премия;

Движения.РегистрНачисленияЗарплаты.Записать();

Движения.ДолгиПоЗаработнойПлате.Записывать = Истина;
Движение = Движения.ДолгиПоЗаработнойПлате.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Сотрудник = Сотрудник;
Движение.Сумма = Премия;

КонецЕсли;

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


Сергей З.

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск