Имя: Пароль:
1C
1С v8
Динамика СКД
,
0 Nenaviwu1c20
 
24.10.12
16:40
Делаю отчет по регистру ПлановыеНачислениеСотрудниковОрганизацииСрезПоследних с помощью СКД.Динамику по месяцам получил и разницу сделал с помощью ВЫчислитьВыражение.Осталась одна глобальная проблема-как мне сделать так чтобы при выводе месяцов СКД у меня каждый раз брал срез последних на текущий месяц.Заранее благодарю
1 Nenaviwu1c20
 
24.10.12
16:40
вот код
2 Nenaviwu1c20
 
24.10.12
16:40
ВЫБРАТЬ
   КонЗарп.Сотрудник КАК Сотрудник,
   КонЗарп.Сотрудник.ДатаПриемаНаРаботу КАК СотрудникДатаПриемаНаРаботу,
   КонЗарп.Сотрудник.ДатаУвольнения КАК СотрудникДатаУвольнения,
   СУММА(КонЗарп.Показатель1) КАК ЭтотМесяц,
   ВЫБОР
       КОГДА ЕСТЬNULL(КонЗарп.Показатель1, 0) = 0
           ТОГДА "Уволен"
       ИНАЧЕ "Работает"
   КОНЕЦ КАК СостояниеВОрганизации,
   КОНЕЦПЕРИОДА(КонЗарп.Период, МЕСЯЦ) КАК Месяц,
   РаботникиОрганизацийСрезПоследних.Должность
{ВЫБРАТЬ
   Сотрудник.*,
   СотрудникДатаПриемаНаРаботу,
   СотрудникДатаУвольнения,
   ЭтотМесяц,
   СостояниеВОрганизации}
ИЗ
   РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаКон, МЕСЯЦ), ) КАК КонЗарп
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаКон, МЕСЯЦ), ) КАК РаботникиОрганизацийСрезПоследних
       ПО КонЗарп.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
           И КонЗарп.Организация = РаботникиОрганизацийСрезПоследних.Организация
ГДЕ
   КонЗарп.Сотрудник.ДатаПриемаНаРаботу > ДАТАВРЕМЯ(1, 1, 1, 1, 1, 2)
   И КонЗарп.Период МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ДатаКон, МЕСЯЦ)

СГРУППИРОВАТЬ ПО
   КонЗарп.Сотрудник,
   ВЫБОР
       КОГДА ЕСТЬNULL(КонЗарп.Показатель1, 0) = 0
           ТОГДА "Уволен"
       ИНАЧЕ "Работает"
   КОНЕЦ,
   РаботникиОрганизацийСрезПоследних.Должность,
   КонЗарп.Сотрудник.ДатаПриемаНаРаботу,
   КонЗарп.Сотрудник.ДатаУвольнения,
   КОНЕЦПЕРИОДА(КонЗарп.Период, МЕСЯЦ)
3 Nenaviwu1c20
 
24.10.12
16:42
Он у меня периоды начала и конца берет по Месяцу когда выводит
4 Nenaviwu1c20
 
24.10.12
16:43
то есть если сотрудник принят в этом месяце или его зарплата изменена в этом месяце только тогда он выводит мне зарплату за месяц
5 Nenaviwu1c20
 
24.10.12
16:44
Разница вычисляется так: ЭтотМесяц -ВычислитьВыражение("ЭтотМесяц", "[Месяц]", "Группировка", "Предыдущая", "Предыдущая")
6 Nenaviwu1c20
 
24.10.12
16:45
ну чтож я еще немного с собой пообщаюсь)
7 Nenaviwu1c20
 
24.10.12
16:49
ап
8 Nenaviwu1c20
 
24.10.12
17:05
апав
9 Nenaviwu1c20
 
24.10.12
17:09
Я уже второй набор создал толку нет
10 х86
 
24.10.12
17:22
11 Nenaviwu1c20
 
30.10.12
13:05
Огромное человеческое спасибо!
Программист всегда исправляет последнюю ошибку.