Столкнулся с небольшой проблемой в Запросе. Я новичок.
Нужно автоматизировать разовое начисление (вредность) по формуле Оклад\Норма рабочего времени как Тарифная ставка.
И по табелю 75% времени - время по вредности как отработанное время для расчёта результата.
Я создал обработку, из которой хочу получить такие данные как всех Сотрудников определенного подразделения и должности если указана, Оклад, Норма рабочего времени и Отработанное время за период для того, чтобы вставить полученные данные в соответствующие поля табличного представления.
Сотрудников с окладом вытащить не проблема, проблема соединить их по отработанному времени без переданного параметра определенного сотрудника.
ВЫБРАТЬ
Начисления.Сотрудник,
ВЫБОР
КОГДА Начисления.ТарифныйРазряд1 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка) ТОГДА РазмерТарифныхСтавок.Размер
ИНАЧЕ Начисления.Показатель1
КОНЕЦ КАК ОкладТариф
ИЗ
РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&парамДатаСобытия, ) КАК Начисления
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамДатаСобытия, ) КАК РазмерТарифныхСтавок
ПО Начисления.ТарифныйРазряд1 = РазмерТарифныхСтавок.ТарифныйРазряд
ГДЕ
Начисления.Сотрудник.ТекущееПодразделениеОрганизации = &подразделениеОрганизации
И Начисления.Сотрудник.ТекущаяДолжностьОрганизации = &Должность
И Начисления.Сотрудник.Актуальность = ИСТИНА
И Начисления.ВидРасчета <> Начисления.ВидРасчетаИзмерение
ВЫБРАТЬ
| ГрафикиРаботы.ГрафикРаботы КАК ГрафикРаботы,
| ГрафикиРаботы.Документ КАК Документ,
| СУММА(ГрафикиРаботы.ОсновноеЗначение) КАК ОсновноеЗначение,
| СУММА(ГрафикиРаботы.ДополнительноеЗначение) КАК
ДополнительноеЗначение
| ИЗ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК
ГрафикиРаботы
| ГДЕ НАЧАЛОПЕРИОДА( ГрафикиРаботы.Дата, МЕСЯЦ ) =
НАЧАЛОПЕРИОДА( &парамДатаСобытия, МЕСЯЦ )
| И ГрафикиРаботы.ВидУчетаВремени =
ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
| И НЕ ГрафикиРаботы.Документ ССЫЛКА
Документ.ТабельУчетаРабочегоВремениОрганизации
| И НЕ ГрафикиРаботы.Документ ССЫЛКА Документ.СдельныйНаряд
| И НЕ ГрафикиРаботы.Документ ССЫЛКА
Документ.ВводИндивидуальныхГрафиковРаботыОрганизации
ВЫБРАТЬ
РабочееВремя.ЧасовОборот
ИЗ
РегистрНакопления.РабочееВремяРаботниковОрганизаций.Обороты(НАЧАЛОПЕРИОДА(&парамДатаСобытия, МЕСЯЦ), КОНЕЦПЕРИОДА(&парамДатаСобытия, МЕСЯЦ), МЕСЯЦ, Сотрудник=&парамНазначение) КАК РабочееВремя
kinoma @ 12.02.19, 22:07
,
Вы ставишТЕ отбор:
И НЕ ГрафикиРаботы.Документ ССЫЛКА
Документ.ТабельУчетаРабочегоВремениОрганизации
"
|ВЫБРАТЬ
| Начисления.Сотрудник,
| ВЫБОР
| КОГДА Начисления.ТарифныйРазряд1 <> ЗНАЧЕНИЕ(Справочник.ТарифныеРазряды.ПустаяСсылка)
| ТОГДА РазмерТарифныхСтавок.Размер
| ИНАЧЕ Начисления.Показатель1
| КОНЕЦ КАК ОкладТариф
|ПОМЕСТИТЬ НачисленияТарифныйРазряд
|ИЗ
| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&парамДатаСобытия, ) КАК Начисления
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмерТарифныхСтавок.СрезПоследних(&парамДатаСобытия, ) КАК РазмерТарифныхСтавок
| ПО Начисления.ТарифныйРазряд1 = РазмерТарифныхСтавок.ТарифныйРазряд
|ГДЕ
| Начисления.Сотрудник.Актуальность = ИСТИНА
| И Начисления.ВидРасчета <> Начисления.ВидРасчетаИзмерение
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СУММА(ГрафикиРаботы.ОсновноеЗначение) КАК ОсновноеЗначение,
| СУММА(ГрафикиРаботы.ДополнительноеЗначение) КАК ДополнительноеЗначение,
| ГрафикиРаботы.Сотрудник
|ПОМЕСТИТЬ ГрафикиРаботы
|ИЗ
| РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботы
|ГДЕ
| НАЧАЛОПЕРИОДА(ГрафикиРаботы.Дата, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&парамДатаСобытия, МЕСЯЦ)
| И ГрафикиРаботы.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням)
| И НЕ ГрафикиРаботы.Документ ССЫЛКА Документ.СдельныйНаряд
| И НЕ ГрафикиРаботы.Документ ССЫЛКА Документ.ВводИндивидуальныхГрафиковРаботыОрганизации
| И ГрафикиРаботы.Сотрудник В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| НачисленияТарифныйРазряд.Сотрудник
| ИЗ
| НачисленияТарифныйРазряд КАК НачисленияТарифныйРазряд)
|
|СГРУППИРОВАТЬ ПО
| ГрафикиРаботы.Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РабочееВремя.Сотрудник,
| РабочееВремя.ЧасовОборот
|ПОМЕСТИТЬ РаБочееВремяСотрудников
|ИЗ
| РегистрНакопления.РабочееВремяРаботниковОрганизаций.Обороты(НАЧАЛОПЕРИОДА(&парамДатаСобытия, МЕСЯЦ), КОНЕЦПЕРИОДА(&парамДатаСобытия, МЕСЯЦ), МЕСЯЦ, ) КАК РабочееВремя
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НачисленияТарифныйРазряд.Сотрудник,
| НачисленияТарифныйРазряд.ОкладТариф,
| ГрафикиРаботы.ОсновноеЗначение,
| ГрафикиРаботы.ДополнительноеЗначение,
| РаБочееВремяСотрудников.ЧасовОборот
|ИЗ
| НачисленияТарифныйРазряд КАК НачисленияТарифныйРазряд
| ЛЕВОЕ СОЕДИНЕНИЕ ГрафикиРаботы КАК ГрафикиРаботы
| ПО НачисленияТарифныйРазряд.Сотрудник = ГрафикиРаботы.Сотрудник
| ЛЕВОЕ СОЕДИНЕНИЕ РаБочееВремяСотрудников КАК РаБочееВремяСотрудников
| ПО НачисленияТарифныйРазряд.Сотрудник = РаБочееВремяСотрудников.Сотрудник
|";
Запрос.Параметры.Вставить("парамДатаСобытия", парамДатаСобытия); // <Дата>
Запрос.Параметры.Вставить("парамНазначение", парамНазначение); // <Сотрудники организаций>;
Запрос.Параметры.Вставить("Должность", Должность); // <Должности организаций>;
Запрос.Параметры.Вставить("подразделениеОрганизации", подразделениеОрганизации); // <Подразделения организаций>;
! | http://pro1c.org.ua/index.php?act=announce&id=2: 1 |
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua