СКД: итоги по пользовательским полям

1. artbear 1448 18.05.09 13:24 Сейчас в теме
Народ, есть проблема, которую пока не смог решить :(
У меня есть схема СКД, набор данных запрос, есть поля СКД Товар и Количество
юзаю простейшую настройку - группировку Товаров по иерархии.

В режиме Предприятия создаю пользовательское поле КоличествоУпаковок.
Формула детальных записей -
" [Количество] *
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ "

- обратите внимание, что поле зависит от группировки - это важно !
Формулу итоговых записей пишу " Сумма(формула вышел) " или другие вариант - все бесполезно :(

Формирую отчет и вижу, что для детальных/простых итоговых записей (товары) пользов. поле считается,
а для итоговых/иерархических (группы товаров) не считается.

Как написать формулу детальных и/или итоговых записей для расчета, чтобы поле считалось и для иерархии?
Как можно решить проблему?

ЗЫ изменение исходного запроса не предлагать, хочется универсального решения именно для пользовательских полей.

ЗЗЫ особенно проблема актуальна при использовании универсальных отчетов на базе СКД в последних версиях типовых конф от 1С :(
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. СергейКа 669 18.05.09 14:37 Сейчас в теме
Проверил на ЗУПе.
Создал пользовательское поле, установил поле ИТОГИ в Сумма.
И... посчиталось всё с учетом иерархии.
3. artbear 1448 18.05.09 15:03 Сейчас в теме
(2)
1. Что значит "установил поле ИТОГИ в Сумма" ?
2. ты создал пользовательское поле "Итоги" или вычисляемое поле?
Жду более точного описания и выложи,плиз, схему СКД из конструктора.
4. СергейКа 669 18.05.09 15:11 Сейчас в теме
Тут проблема в том, что нельзя посмотреть эту СКД (изначальный отчёт).
Я привел пример на типовой ЗУП, в типовом отчёте "Списки работников организаций".
В настройках отчёта при добавлении пользовательского поля, в форме настройки есть поле "ИТОГИ", в котором ставится тип итогов.
Всё в режиме предприятия, без программирования.
Если посмотреть схему, то можно что-то подсказать...
5. artbear 1448 18.05.09 15:19 Сейчас в теме
(4) 1.А попробуй в ЗУП "Универсальный отчет по метаданным" ? там по-другому.

2. Какое выражение у тебя стоит для твоего пользовательского поля?
Как я уже писал, тут важно, чтобы выражение частично зависело от группировки, как у меня - "Количество * [Товар.МинУпаковка] "

Для простых полей все путем, тут нет проблем.
Возможно, у тебя как раз простое поле?
6. СергейКа 669 18.05.09 15:28 Сейчас в теме
(5) Не поверишь, но и в универсальном отчёте точно так же добавляется :) С Итогом...
Какого типа "Товар.МинУпаковка" ?
7. artbear 1448 18.05.09 15:38 Сейчас в теме
(6) 1. Ага, я понял, как ты делаешь - без флажка "Расш.настройка"
2. Естественно, что тип поля "Число" :)
8. artbear 1448 18.05.09 15:43 Сейчас в теме
(6) Ага, понял, в чем еще отличие от реального запроса - я сам на форуме задачу неточно описал :(

Попробуй поставить формулу типа
[Количество] *
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ

Вот так у меня не работает.

ЗЫ формула исключительно для примера приведена :)
9. artbear 1448 18.05.09 15:49 Сейчас в теме
И вот результат :(
Товар == Количество == Поле
гр.ТЕХСНАБ == 2 000,00 == 2 000
Деталь == 2 000,00 == -2 000

т.е. видно, что, хотя итоги посчитаны, результаты совершенно неверны :(

ЗЫ тут странности есть, при некоторых настройках и практически одинаковых формулах иногда поле не считается, а иногда считается, но неверно - пока разницу не понял.
10. СергейКа 669 18.05.09 16:03 Сейчас в теме
Мда, исходя из (8,9) - вообще запутался :)
11. artbear 1448 19.05.09 06:41 Сейчас в теме
(10) Ты запутался?
Попробую еще раз переформулировать:
Использую Формулу для пользовательского поля типа
[Количество] *
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ

Она у меня не работает.

ЗЫ формула исключительно для примера приведена :)

Результат применения :(
колонки == Товар == Количество == Поле
группа == ТЕХСНАБ == 2 000,00 == 2 000
товар == Деталь == 2 000,00 == -2 000

т.е. видно, что, хотя итоги посчитаны, результаты совершенно неверны :(

ЗЫ тут странности есть, при некоторых настройках и практически одинаковых формулах иногда поле не считается, а иногда считается, но неверно - пока разницу не понял.
12. new_creation 19.05.09 23:02 Сейчас в теме
artbear Артур,
Выложите запрос полностью.
А если это сделать через конфигуратор - считает нормально?
13. artbear 1448 20.05.09 15:19 Сейчас в теме
(12) Берешь практически любой запрос
Например, вот
Код
//Запрос: Имя:  НаборДанных1 ; ИсточникДанных : ИсточникДанных1
ВЫБРАТЬ
   ТребованиеНакладнаяМатериалы.Номенклатура,
   СУММА(ТребованиеНакладнаяМатериалы.Количество) КАК Количество,
   ТребованиеНакладнаяМатериалы.Ссылка
ИЗ
   Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
ГДЕ
   ТребованиеНакладнаяМатериалы.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
   ТребованиеНакладнаяМатериалы.Номенклатура,
   ТребованиеНакладнаяМатериалы.Ссылка
Показать полностью

И попробуй сделать сделать настройку в СКД - группировку по Товару в иерархии с выводом количества.
После этого начни добавлять пользовательское поле по приведенной мной формулой ( в формуле должна быть зависимость от товара).

ЗЫ мне нужно решить проблему с пользовательскими полями. В конфигуратор заходить не хочу - это спец. условие, поэтому предлагать сделать поле ресурсом не нужно!
14. new_creation 20.05.09 18:59 Сейчас в теме
взял другой запрос, но там есть группировка по складу. Итог считает правильно
Выражение детальных записей:
Сумма(Количество * Выбор
		Когда [Номенклатура.Пометка удаления] = Истина
			Тогда -1
		Иначе 1
	Конец)

Выражение итоговых записей:
Сумма(Количество * Выбор
		Когда [Номенклатура.Пометка удаления] = Истина
			Тогда -1
		Иначе 1
	Конец)

Даже если без группировки по складу, а просто по товарам иерархически, тоже считает правильно.
Надеюсь я правильно тебя понял и тебе поможет это )
LeontyevaEK; Shilov; adva; Serg_KSV; EliasShy; +5 Ответить
15. artbear 1448 21.05.09 15:48 Сейчас в теме
(14) Такой вариант я также пробовал, бесполезно.
Я не знаю, как ты считал :(

Выведи в СКД рядом 2 поля/колонки: 1- исх.Количество, 2-пользовательское поле с показанной тобой формулой.
Выбери/найди товар с пометкой удаления,
и ты увидишь, что поле Количество, например, +1, а пользовательское поле -1.
А итоги по группе товаров, в которую входит выб.товар, одинаковые по обоим колонкам/полям!!
В этом и есть баг :(

ЗЫ возможно, что ты забыл проверить товары, помеченнные на удаление.
17. new_creation 22.05.09 18:53 Сейчас в теме
(15) у тебя видно в данных дело, потому что у меня итоги разные и считаются правильно.
artbear Артур , какая конкретно задача стоит ?
18. artbear 1448 23.05.09 13:18 Сейчас в теме
(17) Стоит задача использования универсальных отчетов для удобства и получения нужных отчетов без написания кода, а простого выбора необходимых настроек универсального отчета.
У меня 50 менеджеров по разным группам товаров, производителей и т.д. Не хочу под каждый чих писать новый отчет :)

Но есть затык в виде получения данных по иерархии :(

У тебя какая-нибудь типовая конфа есть? Если да, можно было бы сделать отчет/настройку СКД с пользовательскими полями и проверить его работу как у тебя, так и у меня, чтобы точно протестировать.
22. new_creation 27.05.09 19:58 Сейчас в теме
artbear Артур, вот как я делаю пользовательское поле (Универсальный отчет 1С Розница):
1. Открываю отчет, выставляю Тип данных: Регистр накопления, Объект: Продажи, Таблица: Обороты.
2. Настройка / Удаляю группировку «Склад», добавляю группировки «Номенклатура.Родитель» и «Номенклатура», Тип группировки: без иерархии.
3. Расширенная настройка / Добавляю «Новое поле выражение» на вкладке «Пользовательские поля»
4. Любое имя, добавляю код из (14)
5. На вкладке «Поля» добавляю из папки «Пользовательские поля» новое поле
6. Завершить

с Богом! )
LeontyevaEK; +1 Ответить
23. artbear 1448 28.05.09 10:05 Сейчас в теме
(22) Ага, интересный вариант с отдельными группировками по родителю и элементу, такой вариант я не проверял.
Посмотрю.
Спасибо.
24. artbear 1448 28.05.09 10:17 Сейчас в теме
(22) Максим, твой вариант для данной группировки сработал.
Это именно то, что нужно - подсчет пользовательских полей в итогах для довольно хитрых формул.

Большое спасибо.
Молодец!


ЗЫ я вроде и сам хитрый, но до такого не додумался :)
16. pvvpvv 10 21.05.09 20:49 Сейчас в теме
Суть в том, что при вычислении пользовательских полей выражение "Номенклатура.ПометкаУдаления" для иерархических записей применяется к группам справочника, на которых пометки удаления нет.
19. new_creation 25.05.09 13:18 Сейчас в теме
Есть типовая УТ(10.3.6.8, 10.3.7.8), также есть цф-ка Розницы (1.0.4.1.6) в ней очень хорошо работать с СКД, но цф-ка :(.
20. artbear 1448 25.05.09 13:37 Сейчас в теме
(19) Можешь свой рабочий вариант/настройку отчета для СКД выслать ?
aartbear собака gmail.com
21. new_creation 25.05.09 14:49 Сейчас в теме
К сожалению, у меня для УТ нет конкретного отчета СКД, я пользовался СКД из 1С Розница. В Рознице я ничего не разрабатывал своего, взял только в предприятии вызвал Универсальный отчет, который сделан через СКД и там сделал отчет по регистру Продажи. И уже там добавлял пользовательское поле.
Пока что времени нет, может быть вечером для УТ сделаю.
25. new_creation 28.05.09 10:43 Сейчас в теме
Способности мои от Бога! :) В Библии написано - "даром получили, даром давайте"!

Тебе спасибо - я научился работать с пользовательскими полями! :)
26. new_creation 28.05.09 13:24 Сейчас в теме
Если брать просто по одному измерению иерархически, то итоги по группам считает неверно. В этом ты был прав artbear Артур. Я сразу не заметил (не вглядывался), потому что смотрел на общий итог, где цифры были разные.
27. artbear 1448 28.05.09 13:53 Сейчас в теме
(26) Вот-вот, вся фишка в специальной группировке.
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день