Имя: Пароль:
1C
1С v8
Выборка 2-х последних окладов ЗУП
0 Tanis
 
02.04.13
09:58
Добрый день!
Подскажите, верно ли будет работать запрос, чтоб выбрать последний и предпоследний оклад сотрудника?

ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 2
   ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
   ПлановыеНачисленияРаботниковОрганизаций.Показатель1,
   ПлановыеНачисленияРаботниковОрганизаций.Период КАК Период
ИЗ
   РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
ГДЕ
   ПлановыеНачисленияРаботниковОрганизаций.Сотрудник.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
   ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
   ПлановыеНачисленияРаботниковОрганизаций.Показатель1,
   ПлановыеНачисленияРаботниковОрганизаций.Период

УПОРЯДОЧИТЬ ПО
   Период УБЫВ
1 Tanis
 
02.04.13
10:02
А второй вопрос, как полученный оклад столбец, получить сначала 1-ую, а потом 2-ую строку.
2 Tanis
 
02.04.13
10:11
Подскажите, как вытащить оба значения из столбцов
3 Tanis
 
02.04.13
10:36
Подскажите, пожалуйста?
Как получить оба значения, для разных значений
4 Tanis
 
02.04.13
11:14
Вопрос, вроде, не сложный, помогите с этим решением...
5 hhhh
 
02.04.13
13:57
ну Запрос.Выполнить() потом Выбрать(). Любой запрос открой в типовой, там ведь видно,как из запроса данные получить.
6 Фёдор14
 
02.04.13
14:01
(0) У тебя нет отбора по виду расчета "Оклад"
7 hhhh
 
02.04.13
14:03
по ходу Показатель1 - это оклад у него.
8 Tanis
 
02.04.13
16:53
Да, это он.

Т.к строчки всего 2, сделал что
окладНов = Оклад,
Рез.Следующий();
ОкладДо = Оклад;

Работает. Хоть и не правильно написал.
9 kosts
 
03.04.13
07:06
(7) Показатель­1 есть у любого вида расчета. В (6) правильно сказано.

(0) Структура регистра ПлановыеНа­численияРа­ботниковОр­ганизаций в ЗУП несколько сложнее. Регистр периодичес­кий + есть "дата завершения­" (фактическ­и   "дата по"+сутки)­, и значение завершения­.

Т.е. в регистре вполне могут быть такие данные:


С|Вид Расчета измерение|­Вид Расчета|По­казатель1|Дата завершения­|Показател­ь1Завершения­
01.12.2012|Пустая ссылка|Окл­ад|110| .   .    |
01.01.2013|Пустая ссылка|Окл­ад|100|01.02.2013|110
15.01.2013|Пустая ссылка|Окл­ад|60|10.03.2013|110


По факту у сотрудника­ будут такие оклады

с 01.12.2012 - 110
с 01.01.2013 - 100
с 15.01.2013 - 60
с 10.03.2013 - 110


как-то так. Поправьте кто в курсе.
PS + в регистре еще есть Действие и ДействиеЗа­вершения (Начать, прекратить­).

Пример для наглядности

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