Народ, есть проблема, которую пока не смог решить :(
У меня есть схема СКД, набор данных запрос, есть поля СКД Товар и Количество
юзаю простейшую настройку - группировку Товаров по иерархии.
В режиме Предприятия создаю пользовательское поле КоличествоУпаковок.
Формула детальных записей -
- обратите внимание, что поле зависит от группировки - это важно !
Формулу итоговых записей пишу " Сумма(формула вышел) " или другие вариант - все бесполезно :(
Формирую отчет и вижу, что для детальных/простых итоговых записей (товары) пользов. поле считается,
а для итоговых/иерархических (группы товаров) не считается.
Как написать формулу детальных и/или итоговых записей для расчета, чтобы поле считалось и для иерархии?
Как можно решить проблему?
ЗЫ изменение исходного запроса не предлагать, хочется универсального решения именно для пользовательских полей.
ЗЗЫ особенно проблема актуальна при использовании универсальных отчетов на базе СКД в последних версиях типовых конф от 1С :(
У меня есть схема СКД, набор данных запрос, есть поля СКД Товар и Количество
юзаю простейшую настройку - группировку Товаров по иерархии.
В режиме Предприятия создаю пользовательское поле КоличествоУпаковок.
Формула детальных записей -
" [Количество] *
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ "
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ "
- обратите внимание, что поле зависит от группировки - это важно !
Формулу итоговых записей пишу " Сумма(формула вышел) " или другие вариант - все бесполезно :(
Формирую отчет и вижу, что для детальных/простых итоговых записей (товары) пользов. поле считается,
а для итоговых/иерархических (группы товаров) не считается.
Как написать формулу детальных и/или итоговых записей для расчета, чтобы поле считалось и для иерархии?
Как можно решить проблему?
ЗЫ изменение исходного запроса не предлагать, хочется универсального решения именно для пользовательских полей.
ЗЗЫ особенно проблема актуальна при использовании универсальных отчетов на базе СКД в последних версиях типовых конф от 1С :(
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Проверил на ЗУПе.
Создал пользовательское поле, установил поле ИТОГИ в Сумма.
И... посчиталось всё с учетом иерархии.
Создал пользовательское поле, установил поле ИТОГИ в Сумма.
И... посчиталось всё с учетом иерархии.
Тут проблема в том, что нельзя посмотреть эту СКД (изначальный отчёт).
Я привел пример на типовой ЗУП, в типовом отчёте "Списки работников организаций".
В настройках отчёта при добавлении пользовательского поля, в форме настройки есть поле "ИТОГИ", в котором ставится тип итогов.
Всё в режиме предприятия, без программирования.
Если посмотреть схему, то можно что-то подсказать...
Я привел пример на типовой ЗУП, в типовом отчёте "Списки работников организаций".
В настройках отчёта при добавлении пользовательского поля, в форме настройки есть поле "ИТОГИ", в котором ставится тип итогов.
Всё в режиме предприятия, без программирования.
Если посмотреть схему, то можно что-то подсказать...
(4) 1.А попробуй в ЗУП "Универсальный отчет по метаданным" ? там по-другому.
2. Какое выражение у тебя стоит для твоего пользовательского поля?
Как я уже писал, тут важно, чтобы выражение частично зависело от группировки, как у меня - "Количество * [Товар.МинУпаковка] "
Для простых полей все путем, тут нет проблем.
Возможно, у тебя как раз простое поле?
2. Какое выражение у тебя стоит для твоего пользовательского поля?
Как я уже писал, тут важно, чтобы выражение частично зависело от группировки, как у меня - "Количество * [Товар.МинУпаковка] "
Для простых полей все путем, тут нет проблем.
Возможно, у тебя как раз простое поле?
(6) Ага, понял, в чем еще отличие от реального запроса - я сам на форуме задачу неточно описал :(
Попробуй поставить формулу типа
Вот так у меня не работает.
ЗЫ формула исключительно для примера приведена :)
Попробуй поставить формулу типа
[Количество] *
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ
Вот так у меня не работает.
ЗЫ формула исключительно для примера приведена :)
И вот результат :(
т.е. видно, что, хотя итоги посчитаны, результаты совершенно неверны :(
ЗЫ тут странности есть, при некоторых настройках и практически одинаковых формулах иногда поле не считается, а иногда считается, но неверно - пока разницу не понял.
Товар == Количество == Поле
гр.ТЕХСНАБ == 2 000,00 == 2 000
Деталь == 2 000,00 == -2 000
гр.ТЕХСНАБ == 2 000,00 == 2 000
Деталь == 2 000,00 == -2 000
т.е. видно, что, хотя итоги посчитаны, результаты совершенно неверны :(
ЗЫ тут странности есть, при некоторых настройках и практически одинаковых формулах иногда поле не считается, а иногда считается, но неверно - пока разницу не понял.
(10) Ты запутался?
Попробую еще раз переформулировать:
Использую Формулу для пользовательского поля типа
Она у меня не работает.
ЗЫ формула исключительно для примера приведена :)
Результат применения :(
т.е. видно, что, хотя итоги посчитаны, результаты совершенно неверны :(
ЗЫ тут странности есть, при некоторых настройках и практически одинаковых формулах иногда поле не считается, а иногда считается, но неверно - пока разницу не понял.
Попробую еще раз переформулировать:
Использую Формулу для пользовательского поля типа
[Количество] *
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ
ВЫБОР [Товар.Пометка удаления] ТОГДА -1
ИНАЧЕ 1
КОНЕЦ
Она у меня не работает.
ЗЫ формула исключительно для примера приведена :)
Результат применения :(
колонки == Товар == Количество == Поле
группа == ТЕХСНАБ == 2 000,00 == 2 000
товар == Деталь == 2 000,00 == -2 000
группа == ТЕХСНАБ == 2 000,00 == 2 000
товар == Деталь == 2 000,00 == -2 000
т.е. видно, что, хотя итоги посчитаны, результаты совершенно неверны :(
ЗЫ тут странности есть, при некоторых настройках и практически одинаковых формулах иногда поле не считается, а иногда считается, но неверно - пока разницу не понял.
artbear Артур,
Выложите запрос полностью.
А если это сделать через конфигуратор - считает нормально?
Выложите запрос полностью.
А если это сделать через конфигуратор - считает нормально?
(12) Берешь практически любой запрос
Например, вот
И попробуй сделать сделать настройку в СКД - группировку по Товару в иерархии с выводом количества.
После этого начни добавлять пользовательское поле по приведенной мной формулой ( в формуле должна быть зависимость от товара).
ЗЫ мне нужно решить проблему с пользовательскими полями. В конфигуратор заходить не хочу - это спец. условие, поэтому предлагать сделать поле ресурсом не нужно!
Например, вот
Код |
---|
//Запрос: Имя: НаборДанных1 ; ИсточникДанных : ИсточникДанных1
ВЫБРАТЬ
ТребованиеНакладнаяМатериалы.Номенклатура,
СУММА(ТребованиеНакладнаяМатериалы.Количество) КАК Количество,
ТребованиеНакладнаяМатериалы.Ссылка
ИЗ
Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
ГДЕ
ТребованиеНакладнаяМатериалы.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
ТребованиеНакладнаяМатериалы.Номенклатура,
ТребованиеНакладнаяМатериалы.Ссылка
Показать полностью |
И попробуй сделать сделать настройку в СКД - группировку по Товару в иерархии с выводом количества.
После этого начни добавлять пользовательское поле по приведенной мной формулой ( в формуле должна быть зависимость от товара).
ЗЫ мне нужно решить проблему с пользовательскими полями. В конфигуратор заходить не хочу - это спец. условие, поэтому предлагать сделать поле ресурсом не нужно!
взял другой запрос, но там есть группировка по складу. Итог считает правильно
Выражение детальных записей:
Выражение итоговых записей:
Даже если без группировки по складу, а просто по товарам иерархически, тоже считает правильно.
Надеюсь я правильно тебя понял и тебе поможет это )
Выражение детальных записей:
Сумма(Количество * Выбор
Когда [Номенклатура.Пометка удаления] = Истина
Тогда -1
Иначе 1
Конец)
Выражение итоговых записей:
Сумма(Количество * Выбор
Когда [Номенклатура.Пометка удаления] = Истина
Тогда -1
Иначе 1
Конец)
Даже если без группировки по складу, а просто по товарам иерархически, тоже считает правильно.
Надеюсь я правильно тебя понял и тебе поможет это )
(14) Такой вариант я также пробовал, бесполезно.
Я не знаю, как ты считал :(
Выведи в СКД рядом 2 поля/колонки: 1- исх.Количество, 2-пользовательское поле с показанной тобой формулой.
Выбери/найди товар с пометкой удаления,
и ты увидишь, что поле Количество, например, +1, а пользовательское поле -1.
А итоги по группе товаров, в которую входит выб.товар, одинаковые по обоим колонкам/полям!!
В этом и есть баг :(
ЗЫ возможно, что ты забыл проверить товары, помеченнные на удаление.
Я не знаю, как ты считал :(
Выведи в СКД рядом 2 поля/колонки: 1- исх.Количество, 2-пользовательское поле с показанной тобой формулой.
Выбери/найди товар с пометкой удаления,
и ты увидишь, что поле Количество, например, +1, а пользовательское поле -1.
А итоги по группе товаров, в которую входит выб.товар, одинаковые по обоим колонкам/полям!!
В этом и есть баг :(
ЗЫ возможно, что ты забыл проверить товары, помеченнные на удаление.
(17) Стоит задача использования универсальных отчетов для удобства и получения нужных отчетов без написания кода, а простого выбора необходимых настроек универсального отчета.
У меня 50 менеджеров по разным группам товаров, производителей и т.д. Не хочу под каждый чих писать новый отчет :)
Но есть затык в виде получения данных по иерархии :(
У тебя какая-нибудь типовая конфа есть? Если да, можно было бы сделать отчет/настройку СКД с пользовательскими полями и проверить его работу как у тебя, так и у меня, чтобы точно протестировать.
У меня 50 менеджеров по разным группам товаров, производителей и т.д. Не хочу под каждый чих писать новый отчет :)
Но есть затык в виде получения данных по иерархии :(
У тебя какая-нибудь типовая конфа есть? Если да, можно было бы сделать отчет/настройку СКД с пользовательскими полями и проверить его работу как у тебя, так и у меня, чтобы точно протестировать.
artbear Артур, вот как я делаю пользовательское поле (Универсальный отчет 1С Розница):
1. Открываю отчет, выставляю Тип данных: Регистр накопления, Объект: Продажи, Таблица: Обороты.
2. Настройка / Удаляю группировку «Склад», добавляю группировки «Номенклатура.Родитель» и «Номенклатура», Тип группировки: без иерархии.
3. Расширенная настройка / Добавляю «Новое поле выражение» на вкладке «Пользовательские поля»
4. Любое имя, добавляю код из (14)
5. На вкладке «Поля» добавляю из папки «Пользовательские поля» новое поле
6. Завершить
с Богом! )
1. Открываю отчет, выставляю Тип данных: Регистр накопления, Объект: Продажи, Таблица: Обороты.
2. Настройка / Удаляю группировку «Склад», добавляю группировки «Номенклатура.Родитель» и «Номенклатура», Тип группировки: без иерархии.
3. Расширенная настройка / Добавляю «Новое поле выражение» на вкладке «Пользовательские поля»
4. Любое имя, добавляю код из (14)
5. На вкладке «Поля» добавляю из папки «Пользовательские поля» новое поле
6. Завершить
с Богом! )
(22) Максим, твой вариант для данной группировки сработал.
Это именно то, что нужно - подсчет пользовательских полей в итогах для довольно хитрых формул.
Большое спасибо.
Молодец!
ЗЫ я вроде и сам хитрый, но до такого не додумался :)
Это именно то, что нужно - подсчет пользовательских полей в итогах для довольно хитрых формул.
Большое спасибо.
Молодец!
ЗЫ я вроде и сам хитрый, но до такого не додумался :)
Суть в том, что при вычислении пользовательских полей выражение "Номенклатура.ПометкаУдаления" для иерархических записей применяется к группам справочника, на которых пометки удаления нет.
Есть типовая УТ(10.3.6.8, 10.3.7.8), также есть цф-ка Розницы (1.0.4.1.6) в ней очень хорошо работать с СКД, но цф-ка :(.
К сожалению, у меня для УТ нет конкретного отчета СКД, я пользовался СКД из 1С Розница. В Рознице я ничего не разрабатывал своего, взял только в предприятии вызвал Универсальный отчет, который сделан через СКД и там сделал отчет по регистру Продажи. И уже там добавлял пользовательское поле.
Пока что времени нет, может быть вечером для УТ сделаю.
Пока что времени нет, может быть вечером для УТ сделаю.
Способности мои от Бога! :) В Библии написано - "даром получили, даром давайте"!
Тебе спасибо - я научился работать с пользовательскими полями! :)
Тебе спасибо - я научился работать с пользовательскими полями! :)
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот