Имя: Пароль:
1C
 
Суммировать ячейки таб дока только по верхнему уровню группировок
0 Novichok_
 
21.10.24
00:29
Всем здравствуйте!
Какая интересная ситуация получается.
В табличном документе выделяю область и в реквизит "Сумма" должна попадать сумма выделенных ячеек табличного документа.
Всё попадает, всё ок. Но есть один нюанс: в таб доке есть группировки..и вертикальные и горизонтальные
Я раскрываю группировку (колонки вправо), выделяю области в ней, а в реквизите "Сумма" ничего не происходит. Смотрю по коду: всё потому что у ячеек которые в группировке свойство "Видимость" = ложь; а в коде (типовом) есть условие:
Если Ячейка.Видимость <> Истина Тогда
        Продолжить;
        КонецЕсли;

Беру я этот типовой код и тащу к себе, комментирую условие это и проверяю. Да, всё работает теперь.
Далее я понимаю, что цифры то не те выдает. Начинаю смотреть..Оказывается, когда я выделяю ячейки, там считаются и все группировки..
Пример:

Развернутый вид:

1 уровень - 10
2 уровень - 5
  3 уровень - 3
  3 уровень - 2
2 уровень - 5
1 уровень - 4
2 уровень - 3
2 уровень - 1

В свёрнутом виде:

1 уровень - 10
1 уровень - 4

Выделяю СВЁРНУТЫЕ ЯЧЕЙКИ, должно получиться в сумме 14, а у меня получается: 33
То есть суммируется всё в группировке (получается дублится)

Как поступить в данной ситуации? Думаю проверять на открытость группировки, но у таб дока нет такого метода.
1 Волшебник
 
21.10.24
07:59
>> в реквизит "Сумма" должна попадать сумма выделенных ячеек табличного документа

очень странный интерфейс
2 osa1C
 
21.10.24
08:44
(1) Это видимо самописная реализация стандартного калькулятора 1С. ТС выделяет ячейки в ТабДок и видит сумму выделенных. Только судя по проблеме реализация кривая
3 osa1C
 
21.10.24
09:11
(0) Если я правильно понял то, что ты хочешь, то читай здесь:
https://helpf.pro/faq/view/588.html
4 Novichok_
 
21.10.24
10:26
У меня работает пересчет суммы, но объясните, как сделать чтобы в группировке не считались значения (если группировка свёрнута). А если я её разверну и в ней что то выделю, то должно считать
То есть если свернута, то при выделении двух ячеек с числами 2 и 3, сумма = 5. А не так 2 (1 уровень), 1 (2 уровень), 1 (2 уровень), 3 (1 уровень), 3 (2 уровень) и в итоге = 10.
5 osa1C
 
21.10.24
10:29
(4) ты до сих пор не объяснил что у тебя такое - реквизит Сумма и нафига тебе в него что-то считать, когда есть и горизонтальные и вертикальные группировки с итогами. А ванговать нафейхуа тебе это никто не будет.
  Опиши задачу и реализацию от начала и до конца.
6 Волшебник
 
21.10.24
10:29
(4) Никак. Меняйте постановку задачи
7 VS-1976
 
21.10.24
10:38
(4) По событию при выделении области можно прописать проверки, к примеру на цвет области и только по признаку определенному суммировать переменную, которую выводить в интерфейс
8 Волшебник
 
21.10.24
10:48
(7) При развороте группировки ТД цвет области не меняется