Имя: Пароль:
1C
1С v8
v8: ЗУП данные об окладе, премиальным
,
0 kosmit
 
08.02.12
11:25
Подскажите, где хранятся данные.

Нужно написать отчет, который выводит данные:

Подразделение, должность, оклад, премиальный оклад
1 almar
 
08.02.12
11:27
(0) Все уже написано до вас. Используй готовый отчет "Списки сотрудников организаций"
2 Armando
 
08.02.12
11:29
В регистрах сведений.
Подразделение, должность: РаботникиОрганизаций
оклад: ПлановыеНачисленияРаботниковОрганизаций
"премиальный оклад" скорее всего там же, где оклад
3 kosmit
 
08.02.12
12:13
ВЫБРАТЬ
   ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.ТекущееПодразделениеОрганизации КАК Подразделение,
   ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.ТекущаяДолжностьОрганизации КАК Должность,
   ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 КАК Оклад
ПОМЕСТИТЬ ОсновнойОклад
ИЗ
   РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&Дата, ВидРасчета.Код = "00001") КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
ГДЕ
   НЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 = 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.ТекущееПодразделениеОрганизации КАК Подразделение,
   ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник.ТекущаяДолжностьОрганизации КАК Должность,
   ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 КАК Оклад
ПОМЕСТИТЬ ПремиальныйОклад
ИЗ
   РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&Дата, ВидРасчета.Код = "00082") КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
ГДЕ
   НЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 = 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
   ЕСТЬNULL(ОсновнойОклад.Подразделение, ПремиальныйОклад.Подразделение) КАК Подразделение,
   ЕСТЬNULL(ОсновнойОклад.Должность, ПремиальныйОклад.Должность) КАК Должность,
   ОсновнойОклад.Оклад КАК ОсновнойОклад,
   ПремиальныйОклад.Оклад КАК ПремиальныйОклад
ИЗ
   ОсновнойОклад КАК ОсновнойОклад
       ЛЕВОЕ СОЕДИНЕНИЕ ПремиальныйОклад КАК ПремиальныйОклад
       ПО ОсновнойОклад.Подразделение = ПремиальныйОклад.Подразделение
           И ОсновнойОклад.Должность = ПремиальныйОклад.Должность

УПОРЯДОЧИТЬ ПО
   Подразделение,
   Должность
4 kosmit
 
08.02.12
12:13
Вот такой запрос сваял
5 Armando
 
08.02.12
12:15
Оценка 2
6 kosmit
 
08.02.12
12:28
(5) Из-за ВидРасчета.Код = "00082" ?
7 Armando
 
08.02.12
12:32
(6) В том числе. Вообще все неправильно.
8 kosmit
 
08.02.12
12:36
(7) А как правильно?
9 kosmit
 
08.02.12
12:44
Да, действительно переписать нужно
10 Armando
 
08.02.12
12:54
Для подразделения, должности, и оклада как-то так:
Для своего "премиальный оклад", думаю, сам доделаешь.
Ну там еще организацию прикрутить можно, если несколько.

ВЫБРАТЬ
   РаботникиОрганизацийСрезПоследних.Сотрудник,
   ВЫБОР
       КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения МЕЖДУ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 1) И &Период
           ТОГДА РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизацииЗавершения
       ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации
   КОНЕЦ КАК Подразделение,
   ВЫБОР
       КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения МЕЖДУ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 1) И &Период
           ТОГДА РаботникиОрганизацийСрезПоследних.ДолжностьЗавершения
       ИНАЧЕ РаботникиОрганизацийСрезПоследних.Должность
   КОНЕЦ КАК Должность
ПОМЕСТИТЬ ВТ_Сотрудники
ИЗ
   РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Период, ) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
   (НЕ ВЫБОР
               КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения МЕЖДУ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 1) И &Период
                   ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
               ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
           КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение))
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТ_Сотрудники.Сотрудник,
   ВТ_Сотрудники.Подразделение,
   ВТ_Сотрудники.Должность,
   ЕСТЬNULL(ВЫБОР
           КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения МЕЖДУ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 1) И &Период
               ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1Завершения
           ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1
       КОНЕЦ, 0) КАК Оклад
ИЗ
   ВТ_Сотрудники КАК ВТ_Сотрудники
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
               &Период,
               ВидРасчетаИзмерение = НЕОПРЕДЕЛЕНО
                   И Сотрудник В
                       (ВЫБРАТЬ
                           Т.Сотрудник
                       ИЗ
                           ВТ_Сотрудники КАК Т)) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
       ПО ВТ_Сотрудники.Сотрудник = ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник
           И ((НЕ ВЫБОР
                   КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения МЕЖДУ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 1) И &Период
                       ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ДействиеЗавершения
                   ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Действие
               КОНЕЦ = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)))
11 kosmit
 
09.02.12
09:01
(10) Благодарю.