8.х Как отключить вывод общих итогов при расшифровке по регистратору

Тема в разделе "Система компоновки данных (СКД)", создана пользователем X-Man, 14 мар 2015.

  1. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    Всем доброго времени суток. Подскажите, как в отчете на СКД отключить вывод общего итога начального и конечного остатков при расшифровке по регистратору? Сами остатки при расшифровке рассчитываются верно. Не имеет смысла лишь общий итог. И второй вопрос: как сделать так, чтобы пользователь не мог задавать группировку по регистратору, но мог расшифровывать ячейку по полю компоновки "Регистратор"?

    Вложения:

  2. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    Ничего не понимаю. 16 просмотров, и ни одного ответа. Что никто с таким не сталкивался?
  3. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    Не дождался, сделал пока так:

    Код:
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
     
        ПолеРегистратор = Новый ПолеКомпоновкиДанных("Регистратор");
    
        КоллекцияЭлементовСтруктурыКомпоновки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[2].Структура;
     
        //Проверим, есть ли группировка по регистратору 
        Для Каждого ЭлементСтруктурыКомпоновкиДанных Из КоллекцияЭлементовСтруктурыКомпоновки Цикл
         
            КоллекцияПолейГруппировки = ЭлементСтруктурыКомпоновкиДанных.ПоляГруппировки.Элементы;
         
            Для Каждого ПолеГруппировки Из КоллекцияПолейГруппировки Цикл
             
                Если ПолеГруппировки.Поле = ПолеРегистратор Тогда
                    Если КоллекцияЭлементовСтруктурыКомпоновки.Количество() > 1 Тогда
                        //Отключаем группировку по регистратору
                        КоллекцияЭлементовСтруктурыКомпоновки.Удалить(ЭлементСтруктурыКомпоновкиДанных);
                        Сообщить("Регистратор используется только для расшифровки!", СтатусСообщения.Важное);
                    Иначе
                        //Отключаем вывод общего итога в расшифровке по регистратору
                        КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы[7].Значение = РасположениеИтоговКомпоновкиДанных.Нет;
                    КонецЕсли;
                КонецЕсли;
             
            КонецЦикла; 
         
        КонецЦикла;
     
    КонецПроцедуры
    Может, есть какой-то другой, более короткий способ?
    Последнее редактирование модератором: 15 мар 2015
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    Первый раз вижу, чтобы итоги не имели смысла. Ну да ладно. Нельзя убрать итоги конкретно по каким то полям. Можно убрать всю строку. Можно лишь исключить их из ресурсов. И в таком случае они не будут отображаться в итогах. Группировку по регистратору скорее всего вы не сможете исключить, т.к. в полях выборки он присутствует. А по поводу расшифровки используйте событие поля табличного документа ОбработкаРасшифроки. Там можете задать любые условия.
  5. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    В расшифровке по регистратору общие итоги остатка действительно не имеют смысла(если имеют-буду благодарен за разъяснение) Вышеприведенный вариант работает и исключает группировку по регистратору в составе других полей группировки, но он получен методом тыка в процессе работы с отладчиком. Поэтому был бы рад примеру более правильного решения.
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    Если убрали группировку, то поздравляю. :) Но итоги это просто сумма. В вашем примере три строчки. А когда их будет 1000, то думаю будет интересно узнать на какую сумму у Вас конечный остаток.
  7. TopicStarter Overlay
    X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    Я это легко узнаю из основного отчета без расшифровки по регистратору. При наличии расшифровки-это бессмысленный показатель. Посмотрите сами на приложенные скриншоты.

Поделиться этой страницей