Имя: Пароль:
1C
 
Прошу помощи по скд - посчитать количество месяцев по условию.
0 alt_
 
01.11.24
13:34
Добрый день. Прошу помощи по скд . Есть отчет с кросс-таблицей. По строкам - номенклатура. По столбцам-сгруппированные по месяцам расходы (продажи) и остатки на конец месяца данной номенклатуры. Задача посчитать количество "хороших" месяцев и вывести их в столбец. "Хорошим" считается месяц, в котором расход или остаток не равны нулю. Что сделал. Добавил два вычисляемых поля: ХорошийМесяц и СуммаХорошихМесяцев с пустыми выражениями. Добавил их в ресурсы. В ресурсах в выражение для  поля ХорошийМесяц прописал

ВЫБОР
КОГДА ЗначениеЗаполнено(Сумма(Расход)) ИЛИ ЗначениеЗаполнено(Сумма(КонечныйОстаток)) 
	ТОГДА 1
ИНАЧЕ
		0	
КОНЕЦ


Для поля СуммаХорошихМесяцев написал (чтобы посмотреть, что за массив получается).

ВычислитьВыражениеСГруппировкойМассив("
ВЫБОР
	КОГДА ЗначениеЗаполнено(Сумма(Расход)) ИЛИ ЗначениеЗаполнено(Сумма(КонечныйОстаток)) 
		ТОГДА 1
	ИНАЧЕ
		0	
КОНЕЦ","ПериодМесяц")	


Обнаружил, что поле ХорошийМесяц заполняется правильно. А вот поле СуммаХорошихМесяцев заполняется неверно. У меня ощущение, что ВычислитьВыражениеСГруппировкойМассив убирает дубляжи. Скрин результата можно увидеть по ссылке https://cloud.mail.ru/public/yVD8/UCVGNzGaJ




Из скрина видно, что для Товар1 и Товар2 в столбце СуммаХорошихМесяцев должно быть 1; 1; 1. А стоит 1; 1 (в этих строках два одинаковых числа для расхода и остатков в 01.08.24 и в 01.09.24.
Есть подозрение, что ВычислитьВыражениеСГруппировкойМассив убрала по одному дубляжу). А вот для строк Товар3, Товар4 все посчитано правильно (но там в группировках по месяцам дубляжей нет).
Может быть я что-то не учитываю. В-общем, прошу помощи. Как исправить ошибку? Или может можно посчитать по-другому?
1 toypaul
 
01.11.24
15:36
(0) попробуй в ВычислитьВыражениеСГруппировкойМассив в группировке прописать не "ПериодМЕсяца", а "Номенклатура"
2 alt_
 
01.11.24
16:06
Спасибо за совет. Попробовал. Стало так https://cloud.mail.ru/public/KUmk/Le1LN2zY9




То есть теперь все строки считаются неправильно.