|
Нужна помощь. Отчет на СКД | ☑ | ||
---|---|---|---|---|
0
petroff_app
18.07.22
✎
21:44
|
Коллеги, очень нужна помощь с отчетом на СКД. Уже месяц с ним мучаюсь.
Вводные: В документе Заказ покупателя в ТЧ "Товары" есть поле "Дата поставки" - дата, до которой товар должны быть поставлен. Имеется заказ покупателя, в котором две одинаковые позиции товара, но с разными датами поставки. На основании этого заказа создано несколько документов Реализация ТиУ. Необходимо написать отчет на СКД, который показывает сколько товаров и на какую сумму было поставлено в срок (дата реализации меньше/равна дате поставки из заказа) и сколько было поставлено с нарушением сроков с группировкой по покупателю. Товар выводить не надо. Дата реализации ограничена периодом отчета. Проблема в том, что я не знаю каким образом заставить СКД определить в какую колонку посадить данные (например количество) - в "количество в срок" или "количество с нарушением сроков". По хорошему надо сначала "посадить" количество в колонку "количество в срок", но не более чем количество из заказа. Затем остаток (если есть) "посадить" в колонку "количество с нарушением сроков". Также может быть такое, что некоторое количество товара уже было реализовано ранее периода отчета и это количество не должно выводиться в отчет, но должно учитываться при распределении количества по колонкам "количество в срок" или "количество с нарушением сроков". Подскажите, каким образом такое можно реализовать? Очень надеюсь на Вашу помощь! Если есть вопросы, задавайте. |
|||
1
Asmody
18.07.22
✎
21:51
|
(0) надо было сначала регистр сделать, а потом уже по нему отчёт строить
|
|||
2
petroff_app
19.07.22
✎
07:18
|
Конфигурацию трогать нельзя. Заказчик просит только отчет.
|
|||
3
Мимохожий Однако
19.07.22
✎
07:42
|
Как связаны между собой одинаковые позиции Номенклатуры в Заказе и в Реализации?
|
|||
4
echo77
19.07.22
✎
08:47
|
(0) Задача заключается в том, чтобы распределить количество из реализаций номенклатуры по заказам по срокам поставки. Это нетривиальная задача для решения запросом, но решить можно. Задача сродни распределения по партиям.
Если в запросе не получается - лучше получать данные одним запросом, распределять алгоритмически и в СКД отправлять таблицу значений в набор данных Объект |
|||
5
petroff_app
19.07.22
✎
11:57
|
(4) Пробовал так. Но проблема в том, что к покупателю надо привязать характеристики. К набору данных Объект привязать характеристики не выходит.
|
|||
6
Ryzeman
19.07.22
✎
12:04
|
(5) Что ты имеешь ввиду?
В общем-то, схожие задачи приходилось несколько раз решать и в 7 и в 8. Если нужна точность, то по сложным и не очень алгоритмам нужно сделать что написал (4). В типовых такое тоже местами встречается, через кучу временных таблиц. Сперва сопоставляешь что к чему, отдельно считаешь просроченные и не просроченные, потом всё группируешь в итоговом запросе. |
|||
7
petroff_app
19.07.22
✎
12:10
|
(6) Пробовал запросом получать данные, затем програмно их обрабатывал и помещал результат в СКД в набор данных Объект. Но как теперь к набору данных Объект прикрутить характеристики (ПВХ)? Они добавляются только в наборе данных Запрос.
|
|||
8
petroff_app
19.07.22
✎
12:14
|
Попробую добавить второй набор данных Запрос, в котором выберу контрагента из Справочника контрагентов. В этом запросе прикручу характеристики. И сделаю соединение двух наборов данных по контрагенту.
|
|||
9
АгентБезопасной Нацио
19.07.22
✎
14:53
|
Хм. а в чем проблема? товар в ТЧ реализации связан с товаром в ТЧ заказа по Заказ+номенклатура+КодСтроки Собираешь, и видишь, какой реализацией товар заказа отгружен, соответственно, имеешь дату отгрузки. Если разница плановой даты и реальной неотрицательна - товар поставлен в срок, иначе - поставлен с опозданием. Выгружаешь это во временную, вычитаешь из заказа - остается непоставленный.
|
|||
10
petroff_app
19.07.22
✎
21:06
|
(9) Товар в ТЧ реализации НЕ связан с товаром в ТЧ заказа. Есть только связка Реализация-Заказ.
|
|||
11
Мультук
гуру
19.07.22
✎
21:14
|
(0)
Конфигурация типовая? Какая? Версия ? |
|||
12
Ryzeman
19.07.22
✎
21:22
|
(9) Вариант - по РН "Заказы клиентов" собирать. Если из ТЧ больше ничего дёргать не надо, там всё есть
|
|||
13
Мимохожий Однако
19.07.22
✎
21:44
|
(10) Почему не связан?
|
|||
14
petroff_app
19.07.22
✎
22:35
|
(11) Управление производственным предприятием, редакция 1.3 (1.3.173.2) сильно доработанная.
|
|||
15
petroff_app
19.07.22
✎
22:35
|
(12) Из ТЧ заказа берется дата поставки
|
|||
16
AlvlSpb
19.07.22
✎
22:38
|
Как понял, отчет должен состоять из таблицы со строками Покупатель и колонками ресурсов кол=во в срок и кол-во с нарушением.
Мне одному непонятно КАК выполнить условие НЕ выводить проданное ДО даты отчета но учитывать в одной из колонок? "Также может быть такое, что некоторое количество товара уже было реализовано ранее периода отчета и это количество не должно выводиться в отчет, но должно учитываться при распределении количества по колонкам "количество в срок" или "количество с нарушением сроков". © Это как? |
|||
17
petroff_app
19.07.22
✎
22:56
|
(13) (16) Ситуация (заказ и реализации по одному контрагенту):
Заказ №1 от 20.01.2022: Станок1, кол-во 10, дата поставки (до) 15.03.2022 Станок1, кол-во 5, дата поставки (до) 20.03.2022 Реализация №1 от 28.02.2022: Станок1, кол-во 7 (все 7 шт. должны сесть в первую строку заказа) Реализация №2 от 14.03.2022: Станок1, кол-во 2 (все 2 шт. должны сесть в первую строку заказа) Реализация №3 от 02.04.2022: Станок1, кол-во 3 (1 шт. должен сесть в первую строку заказа - т.к. в первой строке 10 шт., еще 2 шт. во вторую строку заказа) Формируем отчет с периодом 01.03.2022 - 30.04.2022. Отчет должен выглядеть так: Контрагент | Количество в срок | Количество с нарушением сроков ООО "Миста"| 2 | 3 Реализация №1 не попадает в отчет, т.к. не соответствует периоду отчета Из реализации №2 2 шт. попадают в колонку "Количество в срок", т.к. реализация от 14.03.2022, а дата поставки до 15.03.2022 Из реализации №3 все 3 шт. попадают в колонку "Количество с нарушением сроков", т.к. реализация от 02.04.2022, а даты поставок 15.03.2022 и 20.03.2022 Как-то так. |
|||
18
petroff_app
19.07.22
✎
23:14
|
(16) Я неправильно написал. Надо как-то так: "Также может быть такое, что некоторое количество товара уже было реализовано ранее периода отчета и это количество не должно выводиться в отчет, но должно учитываться при разнесении количества по строкам заказа".
|
|||
19
Ryzeman
19.07.22
✎
23:49
|
(18) ну так связывай основную таблицу (заказы?) с условием по времени, а второстепенную внутренним соединением без ограничения
|
|||
20
petroff_app
20.07.22
✎
19:45
|
Получилось сделать так:
Получил данные запросом, алгоритмом "распределил" по строкам заказа (подтянул соответствующую дату поставки из заказа). Результат передал в СКД в набор данных Объект. Добавил второй набор данных Запрос - выбрал контрагента из справочника Контрагенты и прикрутил характеристики. Сделал соединение двух наборов данных. Тему можно закрывать. |
|||
21
echo77
21.07.22
✎
08:10
|
(20) А можно посмотреть схему, настройки и результат(как выглядит отчет)?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |