Имя: Пароль:
1C
1С v8
Свернуть таблицу в запросе
,
0 Sayan_mi
 
30.01.18
09:45
Народ не подскажите ли можно ли в запросе преобразовать таблицу из вида
Сотрудник Начислено Удержано
Иванов      1000
Иванов                200

В
Сотрудник Начислено Удержано
Иванов      1000      2оо

Естественно строк начислено  и удержано не по одной и не совпадает
1 cw014
 
30.01.18
09:46
СУММА(Начислено),
Сумма(Удержано)

...

СГРУППИРОВАТЬ ПО
Сотрудник
2 cw014
 
30.01.18
09:46
С вас 500 рублев
3 Sayan_mi
 
30.01.18
09:50
Не годится, в том то и дело что там ещё фигурирует вид расчета, т.е. количество строк начислений и количество строк удержаний по человеку должно остаться неизменным.
4 cw014
 
30.01.18
09:51
(3) А теперь объясни, что ты хочешь, человек. Тебе нужно что бы из двух строк стала одна, но количество строк не изменилось
5 vicof
 
30.01.18
09:51
(3) С такой постановкой вопроса, ответ - никак. С вас еще 1000 рублев.
6 vicof
 
30.01.18
09:52
(4) Не загоняй парня в долги)
7 cw014
 
30.01.18
09:55
(6) Попилим на пополам :)
8 DrShad
 
30.01.18
09:55
пошел за попкорном
9 DrShad
 
30.01.18
09:58
может ИТОГИ помогут ТС?
10 _Дайвер_
 
30.01.18
09:58
(0) У тебя в названии ветки все написано.
Получаешь данные запроса, сворачиваешь их по сотруднику и выводишь результат. Либо настрой связи, хотя они тут не помогут вроде. Запрос покажи
11 DrShad
 
30.01.18
10:00
(10) ты просто не в теме
12 _Дайвер_
 
30.01.18
10:04
(11) Ну остальное предложили уже, а так да, я не писал подобное, или очень давно делал. Обычно все группировкой решается, но есть моменты когда нет)
13 lodger
 
30.01.18
10:05
(3) тогда Объединить ВСЕ. с вас 500 рублей.
14 Рэйв
 
30.01.18
10:05
(0)Да выгрузи ты результат в ТЗ и сверни как надо
15 Рэйв
 
30.01.18
10:10
+ можешь даже потом свернутую тз опять в запрос запихать если дальше юзать надо
16 pasha_d
 
30.01.18
10:13
ТЗ.Свернуть("Сотрудник", "Начислено, Удержано")
17 cw014
 
30.01.18
10:14
(14)(15)(16) Эххх, вы самой сути не понимаете. Там нужно свернуть так, что бы количество строк не поменялось
18 Ненавижу 1С
 
гуру
30.01.18
10:15
(17) то есть ничего не делать? бинго!
19 cw014
 
30.01.18
10:16
(18) Забыл попросить 500 рублей
20 _Дайвер_
 
30.01.18
10:18
(18) 8=======> количество строк начислений и количество строк удержаний по человеку должно остаться неизменным.*
What!?
21 DrShad
 
30.01.18
10:19
(20) я же говорил - ты не в теме
22 lodger
 
30.01.18
10:22
(20) это что за указующий половой орган?
23 arsik
 
гуру
30.01.18
10:36
(20) итог ему нужен.
50 лет, не старый еще вроде. Да и итоги в клиппере даже были, наверно :)
24 ejikbeznojek
 
30.01.18
10:43
(0) Может что-то вроде

СУММА(Начислено),
Сумма(Удержано),
Сумма(выбор когда Начислено>0 тогда 1 конец) как количествоСтрокНачислено

...

СГРУППИРОВАТЬ ПО
Сотрудник
25 DrShad
 
30.01.18
10:43
(24) еще один
читай ветку
26 ejikbeznojek
 
30.01.18
10:44
(25) Это ты просто отгоняешь конкурентов, чтобы 2000 рублей только тебе заплатили?))
27 wondkind
 
30.01.18
10:47
Ребят, я кажется решил!
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
                   |    Сотрудник КАК Сотрудник,
                   |    СУММА(Начислено) КАК Начислено,
                   |    СУММА(Удержано) КАК Удержано,
                   |    КОЛИЧЕСТВО(*) КАК Количество
                |ИЗ
                   |    Таблица КАК Таблица
                |СГРУППИРОВАТЬ ПО
                   |    Сотрудник

а потом:
Таблица = Запрос.Выполнить().Выгрузить();
Для Каждого Строка Из Таблица Цикл
    СчетчикКоличество = Строка.Количество;
    Если СчетчикКоличество > 1 Тогда
        НоваяСтрока = Таблица.Добавить();
        НоваяСтрока.Сотрудник = Строка.Сотрудник;
        НоваяСтрока.Начислено = Строка.Начислено;
        НоваяСтрока.Удержано = Строка.Удержано;
        СчетчикКоличество = СчетчикКоличество - 1;
    КонецЕсли;
КонецЦикла;

Запрос.Текст = "ВЫБРАТЬ Сотрудник, начислено, удержано ИЗ &Таблица";
Запрос.УстановитьПараметр("Таблица", Таблица);

тогда количество строк останется то же самое!
28 dezss
 
30.01.18
10:47
(3) (1) +

СГРУППИРОВАТЬ ПО
Сотрудник,
ВидРасчета

Мне б тож 500 рублев.
Хотя надо еще как-то в запросе 200 преобразовать в 2оо...но это уже отдельно...
29 dandykry
 
30.01.18
10:54
Эм.

ВЫБРАТЬ
Сотрудник КАК Сотрудник,
СУММА(Начислено) + СУММА(Удержано) КАК СУММА,
СУММА(Начислено) КАК Начислено,
СУММА(Удержано) КАК Удержано,
КОЛИЧЕСТВО(*) КАК Количество
ИЗ
Таблица КАК Таблица
СГРУППИРОВАТЬ ПО
Сотрудник;
30 wondkind
 
30.01.18
11:03
(29)
Зачем складывать Начислено и Удержано?
31 ejikbeznojek
 
30.01.18
11:04
(29) Срочно нужно написать в 1С, чтобы она запилила метод "Развернуть()" для таблицы значений.
32 chelentano
 
30.01.18
11:06
ИТОГИ спасут отца русской демократии
33 PCcomCat
 
30.01.18
11:10
Похоже автор пошел за попкорном...
34 igorPetrov
 
30.01.18
11:11
Автор тролль просто. Вбросил, все купились.
35 alxxsssar
 
30.01.18
11:13
а ведь это все будет в коде. И потом кому-то с этим разбираться
36 Sayan_mi
 
30.01.18
11:52
(34) Да нет не совсем. Просто решил и в самом деле обработать выгрузку.
37 Sserj
 
30.01.18
11:52
Сделать можно почти всякие нереальные хотелки, вот только зачем это нужно обычно ответить не могут :)


(ВЫБРАТЬ
  Сотрудник,Статья,Начислено,Удержано
ПОМЕСТИТЬ
  БазовыеДАнные
ИЗ
НекиеНужныеТаблицы
;
ВЫБРАТЬ
  БазовыеДанные.Сотрудник
  , БазовыеДанные.Статья
  , БазовыеДанные.Начислено
  , БазовыеДанные.Удержано
  , ИтогиДанных.ИтогоНачислено
  , ИтогиДанных.ИтогоУдержано
ИЗ
  БазовыеДанные КАК СтрокиДанных
  СОЕДИНЕНИЕ
  (ВЫБРАТЬ
    Сотрудник
    ,СУММА(Начислено) КАК ИтогНачислено
    ,СУММА(Удержано) КАК ИтогУдержано
   ИЗ
     БазовыеДанные
   СГРУППИРОВАТЬ
     Сотрудник
  ) КАК ИтогиДанных
  ПО БазовыеДанные.Сотрудник = ИтогиДанных.Сотрудник
38 Sserj
 
30.01.18
11:55
(37) Ну там конечно ошибочка:

ВЫБРАТЬ

  СтрокиДанных.Сотрудник
  , СтрокиДанных.Статья
  , СтрокиДанных.Начислено
  , СтрокиДанных.Удержано
  , ИтогиДанных.ИтогоНачислено
  , ИтогиДанных.ИтогоУдержано
ИЗ
  БазовыеДанные КАК СтрокиДанных