Имя: Пароль:
1C
1С v8
СКД выражение ресурса ГрупповаяОбработка
0 kittystark
 
08.10.14
11:32
пытаюсь разобраться как работает сабж и чего-то недопонимаю...
может кто что подскажет, умную ссылку даст

ВЫЗОВ ФУНКЦИИ которой в качестве параметра передается ГрупповаяОбработка зачем-то/почему-то ПРОИЗВОДИТСЯ по 2 раза для каждой строки Данные.ТекущийЭлемент

+ еще 2 раза вызов когда Данные.ТекущийЭлемент = неопределено
видимо для итогов ?

ВременныеДанныеОбработки заполнены через раз

как оно работает на группировках по иерархии ваще непонятно

может кто что подскажет ?
1 kittystark
 
08.10.14
16:53
метод научного тыка...

создан простенький отчетик по регистру ПродажиОбороты - поля Номенклатура, Контрагент, ОборотКоличество

для ресурса прописано МояФункция(ГрупповаяОбработка("Номенклатура как Номенклатура, Контрагент как Контрагент, Сумма(ОборотКоличество) как Колво"))

сидим в отладчике на этой самой МояФункция

настройки вар.1 - группировка по Номенклатуре с иерархией:
- несколько вызовов производится так, что в ТЗ "Данные" сидят только группы самого верхнего уровня
- потом производится несколько рекурсивных вызовов по иерархии для каждой вложенной подгруппы
- на определенной итерации видим уже не группы справочника номенклатуры а элементы, т.е. товары
ВАЖНО!!!: в ТЗ "Данные" поле колво заполнено корректными данными для всех вызовов

настройки вар.2 - группировка Номенклатуры с иерархией
подчинена группировке по Контрагентам (или наоборот):
- все тоже самое

настройки вар.3 - группировка Номенклатуры без иерархии:
- во всех вызовах в ТЗ "Данные" элементы справочника номенклатуры, с корректными!!! значениями колонки Колво

настройки вар.4 - уже не "плоские" группировки строк,
а таблица, в строках группировка по иерархии Номенклатуры, в колонках группировка по Контрагентам

И ВОТ ТУТ ОБЛОМ: когда функция вызывается для групповых записей номенклатуры в ТЗ "Данные" значения Колво правильные, а вот при тех вызовах где в ТЗ "Данные" перечислены ЭЛЕМЕНТЫ справочника номенклатуры в Колво сидит ПОЛНЫЙ НОЛЬ!!!

С чем может быть связана последняя ситуация и как с этим бороться?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.