1. artbear 18.05.09 13:24 Сейчас в теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЗЫ тут странности есть, при некоторых настройках и практически одинаковых формулах иногда поле не считается, а иногда считается, но неверно - пока разницу не понял.
10. СергейКа 673 18.05.09 16:03 Сейчас в теме
Мда, исходя из (8,9) - вообще запутался :)
11. artbear 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 20.05.09 15:19 Сейчас в теме
(12) Берешь практически любой запрос
Например, вот
Код
//Запрос: Имя:  НаборДанных1 ; ИсточникДанных : ИсточникДанных1
ВЫБРАТЬ
   ТребованиеНакладнаяМатериалы.Номенклатура,
   СУММА(ТребованиеНакладнаяМатериалы.Количество) КАК Количество,
   ТребованиеНакладнаяМатериалы.Ссылка
ИЗ
   Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
ГДЕ
   ТребованиеНакладнаяМатериалы.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода

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

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

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

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

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

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

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

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

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

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

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


ЗЫ я вроде и сам хитрый, но до такого не додумался :)
16. pvvpvv 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 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 28.05.09 13:53 Сейчас в теме
(26) Вот-вот, вся фишка в специальной группировке.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день

Программист 1С
Краснодар
зарплата от 80 000 руб. до 160 000 руб.
Полный день

Консультант 1 С
Краснодар
зарплата от 50 000 руб. до 150 000 руб.
Полный день

Консультант-методолог 1С
Краснодар
зарплата от 110 000 руб.
Полный день