breezee 01.10.16 - 22:14 | Добрый день! У меня есть код, взятый из решения задачи по спецу(код ниже), как я понял, разрез в коде служит чтобы отобрать все записи в запросе, кроме текущей. Мне не понятно, почему стоит условие на то что "ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисления.Премия", хотя получается оклад. Объясните, пожалуйста. Так же попробовал на прямую указать что сотрудник - не сотрудник из табличной части. Получилась другая сумма при тетсировании(мой запрос еще ниже). Подскажите, почему не сработало?
// ++КОД РЕШЕНИЯ
Измерения = Новый Массив;
Измерения.Добавить("Подразделение");
Разрез = Новый Массив;
Разрез.Добавить("Сотрудник");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДНБазаОН.НомерСтроки КАК НомерСтроки,
| ДНБазаОН.РезультатБаза КАК РезультатБаза,
| ДНБазаОН.Размер КАК Размер,
| ДНБазаОН.Сотрудник,
| ДНБазаОН.Подразделение
|ИЗ
| РегистрРасчета.ДН.БазаОН(
| &Измерения,
| &Измерения,
| &Разрез,
| Регистратор = &Ссылка
| И ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисления.Премия)) КАК ДНБазаОН
|ГДЕ
| ДНБазаОН.СотрудникРазрез <> ДНБазаОН.Сотрудник
|ИТОГИ
| СУММА(РезультатБаза),
| СРЕДНЕЕ(Размер)
|ПО
| НомерСтроки";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Измерения", Измерения);
Запрос.УстановитьПараметр("Разрез", Разрез);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Для каждого Запись Из Движения.ДН Цикл
СП.НомерСтроки = Запись.НомерСтроки;
Пока Выборка.НайтиСледующий(СП) Цикл
Запись.Результат = Выборка.РезультатБаза*Выборка.Размер/100;
КонецЦикла;
Выборка.Сбросить()
КонецЦикла;
Движения.ДН.Записать(,Истина);
// --КОД РЕШЕНИЯ
// ++Мой запрос
ВЫБРАТЬ
ДНБазаОН.НомерСтроки КАК НомерСтроки,
ДНБазаОН.РезультатБаза КАК РезультатБаза,
ДНБазаОН.Размер КАК Размер,
ДНБазаОН.Сотрудник,
ДНБазаОН.Подразделение
ИЗ
РегистрРасчета.ДН.БазаОН(
&Измерения,
&Измерения,
&Разрез,
Регистратор = &Ссылка
И ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ДополнительныеНачисления.Премия)
И НЕ Сотрудник В
(ВЫБРАТЬ
НачислениеЗарплатыДополнительныеНачисления.Ссылка
ИЗ
Документ.НачислениеЗарплаты.ДополнительныеНачисления КАК НачислениеЗарплатыДополнительныеНачисления
ГДЕ
НачислениеЗарплатыДополнительныеНачисления.Ссылка = &Ссылка)) КАК ДНБазаОН
ИТОГИ
СУММА(РезультатБаза),
СРЕДНЕЕ(Размер)
ПО
НомерСтроки
// --Мой запрос |