9 февраля 2017 в 11:00:21
(7 лет 45 недель 3 дня 13 часов назад)
25.09.2016 14:29:15
Текст задания
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{ОбщийМодуль.ПроведениеРасчетов.Модуль(78)}: Ошибка при вызове метода контекста (Выполнить)
ВыборкаРезультата = Запрос.Выполнить().Выбрать();
по причине:
{(6, 5)}: Ожидается выражение ")"
<<?>>&ВидРасчета И Сотрудник В (&СписокСотрудников))
//Рассчитать первичные записи
Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад
Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НачисленияДанныеГрафика.ЗначениеПериодДействия КАК Норма,
| НачисленияДанныеГрафика.ЗначениефактическийПериодДействия КАК факт,
| НачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки
|ИЗ
| РегистрРасчета.Начисления.ДанныеГрафика(Регистратор = &Регистратор И
| ВидРасчета = &ВидРасчета И Сотрудник В (&СписокСотрудников))
| КАК НачисленияДанныеГрафика";
Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
СтруктураНомер = Новый Структура ("НомерСтроки");
СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;
ВыборкаРезультата.Сбросить();
Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда
Если ВыборкаРезультата.Норма=0 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Вид расчета: Оклад - Нет рабочих дней в заданном периоде";
Сообщение.Сообщить();
ЗаписьРегистра.Результат = 0;
Иначе
//Рассчитать оклад по фактическому периоду и исходным данным
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные /ВыборкаРезультата.Норма)*
ВыборкаРезультата.Факт;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Выполнен расчет" + ЗаписьРегистра.Регистратор+ " - " +
ЗаписьРегистра.ВидРасчета + " - " + ЗаписьРегистра.Сотрудник;
Сообщение.Сообщить();
КонецЕсли;
КонецЕсли;
КонецЦикла;
//Рассчитать вторичные записи
ИначеЕсли ТребуемыйВидРасчета =
ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НачисленияБазаНачисления.РезультатБаза КАК База,
| НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки
|ИЗ
| РегистрРасчета.Начисления.БазаНачисления(&ИзмеренияОсновного,&ИзмеренияБазового, , Регистратор = &Регистратор И ВидРасчета
| &ВидРасчета И Сотрудник В (&СписокСотрудников))
| КАК НачисленияБазаНачисления";
Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
СтруктураНомер = Новый Структура("НомерСтроки");
СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;
ВыборкаРезультата.Сбросить();
Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда
ЗаписьРегистра.Результат = ВыборкаРезультата.База * (10/100);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Выполнен Расчет" +ЗаписьРегистра.Регистратор+ " - " +
ЗаписьРегистра.ВидРасчета + " - " + ЗаписьРегистра.Сотрудник;
Сообщение.Сообщить();