|
ТаблицаЗначений.Свернуть() | ☑ | ||
---|---|---|---|---|
0
korableg
14.03.13
✎
13:42
|
Имеется таблица с начислениям, допустим в первой строке дата = 00010101, в второй 20120305
ФИО Начисление Дата СотрудникА 13464 00010101 СотрудникА 0 20120305 Как свернуть таблицу чтоб было: СотрудникА 13464 20120305 ТаблицаЗначений.Свернуть("СотрудникА", "Начисление, Дата") не работает, дата получается 0. Есть какие нибудь идеи? кроме перебора значений. |
|||
1
butterbean
14.03.13
✎
13:43
|
запрос
|
|||
2
Maxus43
14.03.13
✎
13:43
|
запросом
|
|||
3
ДенисЧ
14.03.13
✎
13:44
|
ЗАпрос, разумеется, не предлагать?
|
|||
4
Wobland
14.03.13
✎
13:45
|
а ещё можно получать эту таблицу в нужном виде. тоже без перебора
|
|||
5
korableg
14.03.13
✎
13:45
|
Пример запроса можете привести пожалуйста
|
|||
6
MadHead
14.03.13
✎
13:45
|
живи мужиком формируй структуру максимальных дат )
|
|||
7
Галахад
гуру
14.03.13
✎
13:45
|
Что-то не понял. А как тут даты суммируются?
|
|||
8
korableg
14.03.13
✎
13:45
|
эти данные и есть результат обьединения запросов, что в них добавить я чет не допираю
|
|||
9
Wobland
14.03.13
✎
13:46
|
(8) не добавить, а поправить
|
|||
10
Wobland
14.03.13
✎
13:46
|
выбрать (выбрать объединить выбрать) сгруппировать
|
|||
11
Wobland
14.03.13
✎
13:47
|
(10) это как вариант, без понимания логики запросов
|
|||
12
Maxus43
14.03.13
✎
13:47
|
(7) дак не суммируются, коли Свернуть не по числу - то будет 0
|
|||
13
MadHead
14.03.13
✎
13:47
|
(8) Нудно сгруппировать по сотруднику, Сумма(Начисление), Максимум (Дата)
|
|||
14
Wobland
14.03.13
✎
13:48
|
(12) даже не пробовать никогда. а если по строкам сворачивать? тоже ноль?
|
|||
15
Wobland
14.03.13
✎
13:48
|
(14) *не пробовал
|
|||
16
korableg
14.03.13
✎
13:48
|
(10) щас попробую сгруппировать в запросе
|
|||
17
Галахад
гуру
14.03.13
✎
13:49
|
(7), (8) А, понял, чего автор хочет.
|
|||
18
Maxus43
14.03.13
✎
13:49
|
(14) это в СП написано)
|
|||
19
Wobland
14.03.13
✎
13:51
|
(18) хрен! "... где будет преобразован к значению по умолчанию для типа, установленного в колонке"
|
|||
20
Maxus43
14.03.13
✎
13:52
|
(19) СП хреновый у вас!
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться. Если в колонке несколько типов и среди них нет типа Число, то результат суммирования будет 0, который будет присвоен в соответствующую колонку, где будет преобразован к значению по умолчанию для типа, установленного в колонке. (с) |
|||
21
Wobland
14.03.13
✎
13:53
|
(20) ну и я о том же
|
|||
22
Maxus43
14.03.13
✎
13:54
|
(21) ну 0 же будет в результате, а потом как попрёт уж, после преобразования
|
|||
23
Wobland
14.03.13
✎
13:56
|
(22) я ожидал "0". но получил таки число ;)
ТЗ=Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("раз"); ТЗ.Колонки.Добавить("два"); стр=ТЗ.Добавить(); стр.раз=40; стр.два="три"; ТЗ.Свернуть("раз", "два"); |
|||
24
korableg
15.03.13
✎
05:26
|
"ВЫБРАТЬ
| РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &Период, МЕСЯЦ) КАК Стаж, | РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, | ВЫБОР | КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения < &ПериодКонец | И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения <> &НачальнаяДата | ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1Завершения | ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 | КОНЕЦ КАК Показатель1, | ВЫБОР | КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения < &ПериодКонец | И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения <> &НачальнаяДата | ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаЗавершения | ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета | КОНЕЦ КАК ВидРасчета, | &НачальнаяДата КАК ДатаУвольнения |ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&Период, ) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Период, ) КАК РаботникиОрганизацийСрезПоследних | ПО ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник |ГДЕ | ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета В(&ВидРасчета) | И РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> &ПричинаИзмененияСостояния | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | 0, | РаботникиОрганизаций.Сотрудник, | ВЫБОР | КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения < &ПериодКонец | И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения <> &НачальнаяДата | ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1Завершения | ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 | КОНЕЦ, | ВЫБОР | КОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения < &ПериодКонец | И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ПериодЗавершения <> &НачальнаяДата | ТОГДА ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаЗавершения | ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета | КОНЕЦ, | РаботникиОрганизаций.Период |ИЗ | РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних | ПО РаботникиОрганизаций.Сотрудник = ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник |ГДЕ | РаботникиОрганизаций.Период МЕЖДУ &Период И &ПериодКонец | И РаботникиОрганизаций.ПричинаИзмененияСостояния = &ПричинаИзмененияСостояния | И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета В(&ВидРасчета)"; Вот запрос, он берет сотрудников на начало периода и если сотрудник уволился в заданном промежутке должен добавлять его и проставлять дату увольнения и как то их надо обьединить вот пока не получается |
|||
25
korableg
15.03.13
✎
05:29
|
Одним запросом это делать невозможно, потому что если действия в плановых начислениях = прекратить, то оклад там 0 становится, а мне нужно оклад вытащить
|
|||
26
korableg
15.03.13
✎
05:54
|
Пока решил проблему весьма Албанским способом разбиения даты на год месяц день, они суммируются без проблем)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |