Сортировать и свернуть собственные ведущие виды расчета

Учебные задачи

Работаем с настоящей встроенной табличной частью нового незаписанного вида расчета. Числовую колонку Вес в ней не выдумываем.

Где и как запускать

Сервер собственной учебной базы; также толстый клиент или внешнее соединение, если это разрешено указанным API.

Подготовка

  1. Только собственная учебная конфигурация. Все указанные имена сначала создайте в Конфигураторе; объекты рабочей базы не заменяйте. Здесь код не запускается.

  2. Создайте план видов расчета УчебныеНачисления и собственный вид 001. Для вытесняющих видов включите использование периода действия; для базовых — соответствующую зависимость по базовому периоду. Код меняет только новый черновик, Записать() отсутствует.

&НаСервереБезКонтекста
Процедура ПодготовитьУчебныеСвязиРасчета()
    Ссылка = ПланыВидовРасчета.УчебныеНачисления.НайтиПоКоду("001");
    Если Не ЗначениеЗаполнено(Ссылка) Тогда
        ВызватьИсключение "Создайте собственный вид расчета 001";
    КонецЕсли;
    Черновик = ПланыВидовРасчета.УчебныеНачисления.СоздатьВидРасчета();
    Связи = Черновик.ВедущиеВидыРасчета;
    ПерваяСвязь = Связи.Добавить();
    ПерваяСвязь.ВидРасчета = Ссылка;
    ВтораяСвязь = Связи.Добавить();
    ВтораяСвязь.ВидРасчета = Ссылка;
    Сообщить("Строк до свертки: " + Строка(Связи.Количество()));
    Связи.Сортировать("ВидРасчета Возр, Предопределенный Возр");
    Связи.Свернуть("ВидРасчета,Предопределенный");
    Сообщить("Строк после свертки: " + Строка(Связи.Количество()));
    Попытка
        ИтогФлагов = Связи.Итог("Предопределенный");
        Сообщить("Результат суммирования флагов: " + Строка(ИтогФлагов));
    Исключение
        Сообщить("Преобразование флагов к числу не выполнено");
    КонецПопытки;
КонецПроцедуры

Разбор по шагам

  1. Добавьте два одинаковых реальных вида расчета в новую табличную часть.

  2. Сортируйте и сверните по обеим фактическим колонкам.

  3. Попробуйте Итог для настоящего столбца Предопределенный и обработайте результат.

Как проверить результат

  1. До свертки ожидаются две собственные строки, после — одна одинаковая связь.

  2. Итог флагов не объявляется суммой зарплаты или количеством всех строк.

Ожидаемый результат

Показаны сортировка, удаление дубликата сверткой и ограниченное применение Итог к настоящей колонке.

На что обратить внимание

  1. Встроенные колонки — ВидРасчета и Предопределенный. Итог для типа Булево пытается преобразовать значения к числу; возможны Неопределено или исключение, поэтому числовой результат не обещается. Связи расчета не сохраняются.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.