Версия для печати темы (https://pro1c.org.ua/index.php?s=93508f53a502bcc40c6c15b058d41125&showtopic=64743)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Расчет отклонений между двумя датами на СКД

Автор: burza 17.02.21, 15:41

Есть отчет вытягивает из регистра данные за каждый день. Нужно сравнить по предыдущему поля дат по реквизиту ТДн на отклонения и это все в одном поле вмести с датой должен быть. то есть 17.02 ТДн 133 а 18.02 ТДн 800 = 667

ВЫБРАТЬ
    СВОД.ДОЛ,
    СВОД.Партнер,
    СВОД.Агент,
    СВОД.ОплатаЕсть,
    СВОД.ДатаЗагрузки,
    СВОД.ТДн,
    СВОД.Сумма
ИЗ
    РегистрСведений.СВОД КАК СВОД



Автор: fly 17.02.21, 15:57

burza @ Сегодня, 15:41 * ,
Добавляете поле "Отклоение"
Поле "СВОД.Сумма" предположим в отчете называется "Сумма".

В его значении прописываете ВычислитьВыражение("Сумма", "ТДн", , "Предыдущая", "Предыдущая")/Сумма

Полный синтаксис функции следующий:
ВычислитьВыражение(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка)

но надо смотреть схему - Список/Таблица и какие Группировки указаны в Схеме (возможно нужно добавить группировки или вместо Списка - сделать таблицу)

Автор: burza 17.02.21, 16:05

burza @ Сегодня, 15:41 * ,


burza @ Сегодня, 15:59 * ,


наверное не там написал ибо не работает пустые поля выводит.

Автор: fly 17.02.21, 16:08

burza @ Сегодня, 15:59 * ,
ок
значит меняете
Сумма/ВычислитьВыражение("Сумма", "ТДн", , "Предыдущая", "Предыдущая")

fly @ Сегодня, 16:05 * ,
не там прописали - это вкладка "Ресурсы", и тут прописываются результаты Группировок. как ресурс будет считаться на уровне группировки...
хотя и тут надо прописать, для итоговых
но уже
Сумма(Сумма)/ВычислитьВыражение("Сумма(Сумма)", "ТДн", , "Предыдущая", "Предыдущая")

Автор: burza 17.02.21, 16:10

fly @ Сегодня, 16:08 * ,
прописал и в вычисляемых и в ресурсах то что написали и ничего.

Автор: fly 17.02.21, 16:12

burza @ Сегодня, 16:10 * ,
"...но надо смотреть схему - Список/Таблица и какие Группировки ..."

скрин Группировок в студию smile.gif Cкрины итоговых табличек для пользователей.

Автор: burza 17.02.21, 16:13

fly @ Сегодня, 16:12 * ,


оно?)

Автор: fly 17.02.21, 16:18

ТДн - у вас ресурс, по ресурсу не получиться вычислять отклонение

ТДн = ПолеКомпоновки а не ВычисляеемоеПоле

По логике - "Сумма" есть Ресурс...

Автор: burza 17.02.21, 16:20

fly @ Сегодня, 16:18 * ,
мне нужно считать количество мест то есть ТДн. Если я не вношу ТДн в ресурсы он не в лазит в колону даты, а лезит отдельно

Автор: fly 17.02.21, 16:21

ну или переписываете

ВычислитьВыражение("Сумма(ТДн)", "ДатаЗагрузки", , "Текущая", "Текущая")/ВычислитьВыражение("Сумма(ТДн)", "ДатаЗагрузки", , "Предыдущая", "Предыдущая")

ИЛИ просто
Сумма(ТДн)/ВычислитьВыражение("Сумма(ТДн)", "ДатаЗагрузки", , "Предыдущая", "Предыдущая")
по сути то же самое

Автор: burza 17.02.21, 16:27

fly @ Сегодня, 16:21 * ,
Происходят страшные вещи)) не разницу а общее количество строк посчитало если я правильно понял

Автор: fly 17.02.21, 16:36

burza @ Сегодня, 16:27 * ,
ТДн - тип значения?

Автор: burza 17.02.21, 16:39

fly @ Сегодня, 16:36 * ,числовое поле записанное в регистре

Автор: burza 18.02.21, 8:54

burza @ Вчера, 16:39 * ,
или я не так понял вопроса?

burza @ Сегодня, 16:39 * ,
вот как сделал Работает)

ВычислитьВыражение("Сумма(ТДн)", "ДатаЗагрузки","Группировка","Текущая","Текущая", "", "","")- ВычислитьВыражение("Сумма(ТДн)", "ДатаЗагрузки","Группировка","Предыдущая","Предыдущая", "", "","")

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua