Имя: Пароль:
1C
1С v8
Свернуть ТаблицуЗначений с сообщением
,
0 Denis163
 
19.10.22
21:57
Всем доброй ночи!

Есть таблица значений, мне нужно её свернуть по нескольким колонкам и при этом вывести сообщение юзеру, по каким колонкам она была свернута

Пример: https://disk.yandex.ru/i/kAaGusFTqcbedQ  

Мне нужно свернуть таблицу по "СуммеПлатежа, Валюте, Контрагентам" и вывести сообщение, какие ЗаявкиНаОплату были объединены, какими вариантами можно реализовать это дело?)
1 Franchiser
 
гуру
19.10.22
22:05
Скд
2 Denis163
 
19.10.22
22:08
(1) ммм, причем тут СКД?)
3 Кулибин
 
19.10.22
22:26
Тз.колонки.добавить("счётчик");
Тз.заполнитьзначение или как-то похоже ( см. синтаксис) "счётчик", 1
Тз.свернуть("x,y,z","счётчик")
Для каждого стр из ТЗ цикл
   Если сч больше 1 тогда
      Сообщить().
Чуть пальцы не стер об телефон, может когда зачтется...
4 rudnitskij
 
19.10.22
22:27
(0) пишите код, который это выполнит. Это в принципе единственный вариант
5 СергейК
 
19.10.22
22:29
(3) Садитесь, двойка.
В свернутой таблице нет ЗаявокНаОплату, сообщить какие ЗаявкиНаОплату были свернуты - из свернутой ТЗ не получится...
6 СергейК
 
19.10.22
22:31
а есть в снеговике типа как в клюшках индексированная ТЗ - в клюшках можно исходную ТЗ сгруппировать (некий вариант свертки), и сразу поиметь ТЗ потомок, которая покажет какие Заявки были свернуты для каждой строки получившейся свернтуой ТЗ
7 Кулибин
 
19.10.22
22:33
(5) с чего ты взял, что их там нет? Телепат что ли? Или просто дурачок? Про "необходимое и достаточное" слышал когда-то? Естественно, заявка там тоже должна быть.
8 СергейК
 
19.10.22
22:37
(7) возможно я туплю..
покажи как будет выглядеть свернутая исходная таблица
"заявка, сумма, валюта, контрагент"
когда свертка выполняется по "сумме, валюте, контрагенту" (по постановке задачи сумма - не суммиируемый реквизит, а измерение свертки)
..
?
9 СергейК
 
19.10.22
22:38
(0) у тебя точно "Сумма платежа" - это измерение свертки, а не суммируемый реквизит..?
10 Кулибин
 
19.10.22
22:39
(9) да, был не прав, не вчитался, прости)))
11 Кулибин
 
19.10.22
22:41
(9) это чуть сложнее, но тоже за десять лишних строк реализуется.
12 Denis163
 
19.10.22
22:42
(8) сорян, это я неправильно описал, я примерно так делал

ТаблицаЗначений.Свернуть("Валюта, Контрагент", "СуммаПлатежа");
13 СергейК
 
19.10.22
22:43
(10) уф.. а тоя думал капец мне ;-)
14 Denis163
 
19.10.22
22:45
(3) что таким образом показывать какие заявки были объединены не получится?(
15 Кулибин
 
19.10.22
22:47
(13) Для Каждого Стр ИЗ СвернутаяТаблица Цикл
    Отбор = Новый Структура;
    Отбор.Вставить("Валюта",Стр.Валюта);
    Отбор.Вставить("Контрагент",Стр.Контрагент);
    НайденныеСтроки = ИсходнаяТаблица.НайтиСтроки(Отбор);
    Для Каждого НС ИЗ НайденныеСтроки Цикл
           Сообщить("Для валюты и контрагента: " +Стр.Валюта + " - " + Стр.Контрагент + " в том числе была свернута заявка и: " + НС.Заявка + " или она была всего лишь одна");
16 СергейК
 
19.10.22
22:48
(14) в свернутой таблице у тебя "измерение" Заявка - будет отсутствовать. в этом смысл свертки.
как решить твою задачу - я хз. Можно "тупо". Можно "изящнее".
17 Кулибин
 
19.10.22
22:55
(15) к (14)
18 Serginio1
 
19.10.22
22:56
Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7
https://infostart.ru/public/371762/
19 Мимохожий Однако
 
19.10.22
23:06
(0) Сравни колонки до и после свёртки и выводи сообщение.
20 Denis163
 
19.10.22
23:11
(15) Огромное спасибо за старание, очень помог! Ну просто святой человек для меня, что заморочился и показал примерно как код должен выглядеть )
21 Denis163
 
19.10.22
23:11
Всем огромное спасибо за помощь, очень помогли!)