|
Запрос. Временная таблица. | ☑ | ||
---|---|---|---|---|
0
Ghost1830
28.11.22
✎
11:00
|
Есть временная таблица и Запрос пакета 2, в котором берутся данные из Временной таблицы и делается расчет. Есть столбцы Номенклатура, Количество(расход за период), Дней Продажи.
Расчет пока убрала из выводимых полей, с ним проблем нет. Только в столбце "Количество" итоги считает неправильно. А расшифровывает верно. Он в итоги почему-то не считает одинаковые значения. Например, было списание товара: 1. 502кг 2. 506кг 3. 502кг. В расшифровке считает верно 1510кг, а в общей таблице выводит 1008кг. Т.е. если значение повторяется, он не суммируется в общий котёл. В чем причина этого? Итоги нормально заведены. Что могла пропустить? https://ibb.co/Hp452bC https://ibb.co/mG9pk5M https://ibb.co/bRGg3pg |
|||
1
НафНаф
28.11.22
✎
11:03
|
где-то стоит РАЗЛИЧНЫЕ
|
|||
2
Kesim
28.11.22
✎
13:19
|
(0) не надо группировать по количеству
|
|||
3
mikecool
28.11.22
✎
13:55
|
(1) или взят минимум-максимум при расчете ресурсов
|
|||
4
Ghost1830
28.11.22
✎
14:48
|
(1) Проверяла в конструкторе запросов,даже в коде поиск сделала, не там Различные
|
|||
5
Ghost1830
28.11.22
✎
14:50
|
(2) группировки нет, есть итоги. А Без итогов он ничего не выведет
|
|||
6
Ghost1830
28.11.22
✎
14:51
|
(3) эм....ну если будет минимум-максимум, он мне даст либо 502,либо 506.а мне то сумма нужна....странный совет)А в временной таблице итоги(минимум,максимум) не устанавливаются
|
|||
7
Said_We
28.11.22
✎
15:33
|
(6) "если будет минимум-максимум, он мне даст либо 502,либо 506" - это смотря как группировать. Можно получить и 502 и 506 в единственном экземпляре для каждого значения.
A, B ------------- 1, 1 1, 1 1, 4 1, 7 1, 7 2, 4 2, 1 2, 1 select a,b from t group by a,b даст аналогичный результат как запрос: select DISTINCT a,b from t A, B ------------- 1, 1 1, 4 1, 7 2, 4 2, 1 В (0) нет информации о тексте запроса и вообще вопрос не задан. Какой-то "угадайка". Всё что угодно может быть. Не понятно какой ответ Вы ждете. |
|||
8
Жан Пердежон
28.11.22
✎
16:32
|
(0) скриншоты нельзя было еще меньше сделать, чтобы вообще ничего понятно не было? По-хорошему, вместо этих обрезков надо было текст запроса опубликовать.
|
|||
9
Жан Пердежон
28.11.22
✎
16:33
|
Это чтобы хотя бы убедиться, что дело в запросе, а не в настройках СКД
|
|||
10
Ghost1830
28.11.22
✎
17:43
|
(9)это не скд,а универсальный отчет
|
|||
11
Ghost1830
28.11.22
✎
17:43
|
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| РАЗНОСТЬДАТ(&ДатаНачала, &ДатаКонца, ДЕНЬ) + 1 КАК ДнейПродажи, | ТоварыНаСкладахОбороты.Номенклатура, | ТоварыНаСкладахОбороты.КоличествоРасход КАК Количество, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ТоварыНаСкладахОбороты.Регистратор, | 0 КАК ВПути, | 0 КАК Заказано |ПОМЕСТИТЬ ВТ_Расчет |{ВЫБРАТЬ | Номенклатура.*, | ДнейПродажи, | Количество, | КоличествоОстаток} |ИЗ | РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ТоварыНаСкладахОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки | ПО ТоварыНаСкладахОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура |ГДЕ | (ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.ТребованиеНакладная | ИЛИ ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг | ИЛИ ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров) |{ГДЕ | ТоварыНаСкладахОбороты.Номенклатура.*} | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | 0, | ЗаказыПоставщикамОстатки.Номенклатура, | 0, | 0, | ЗаказыПоставщикамОстатки.ЗаказПоставщику, | ЗаказыПоставщикамОстатки.КоличествоОстаток, | 0 |{ВЫБРАТЬ | Номенклатура.*, | ВПути} |ИЗ | РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки |ГДЕ | ЗаказыПоставщикамОстатки.ЗаказПоставщику.ТоварВПути = ИСТИНА |{ГДЕ | ЗаказыПоставщикамОстатки.Номенклатура.*} | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | 0, | ЗаказыПоставщикамОстатки.Номенклатура, | 0, | 0, | ЗаказыПоставщикамОстатки.ЗаказПоставщику, | 0, | ЗаказыПоставщикамОстатки.КоличествоОстаток |{ВЫБРАТЬ | Номенклатура.*, | Заказано} |ИЗ | РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки |ГДЕ | ЗаказыПоставщикамОстатки.ЗаказПоставщику.ТоварВПути = ЛОЖЬ |{ГДЕ | ЗаказыПоставщикамОстатки.Номенклатура.*} |{УПОРЯДОЧИТЬ ПО | Номенклатура.*, | Регистратор.*} |{ИТОГИ ПО | Номенклатура.*, | Регистратор} |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ_Расчет.КоличествоОстаток - ВТ_Расчет.Заказано КАК РасчетныйЗаказ, | ВТ_Расчет.ДнейПродажи КАК ДнейПродажи, | ВТ_Расчет.Номенклатура, | ВТ_Расчет.Количество КАК Количество, | ВТ_Расчет.КоличествоОстаток КАК КоличествоОстаток, | ВТ_Расчет.Регистратор, | ВТ_Расчет.ВПути КАК ВПути, | ВТ_Расчет.Заказано КАК Заказано |{ВЫБРАТЬ | ВТ_Расчет.Номенклатура.*, | ДнейПродажи, | Количество} |ИЗ | ВТ_Расчет КАК ВТ_Расчет |{ГДЕ | ВТ_Расчет.Номенклатура.*} |{УПОРЯДОЧИТЬ ПО | ВТ_Расчет.Номенклатура.*, | Регистратор} |ИТОГИ | МАКСИМУМ(РасчетныйЗаказ), | МАКСИМУМ(ДнейПродажи), | СУММА(Количество), | МАКСИМУМ(КоличествоОстаток), | СУММА(ВПути), | СУММА(Заказано) |ПО | ОБЩИЕ |{ИТОГИ ПО | ВТ_Расчет.Номенклатура.*, | ВТ_Расчет.Регистратор.*}"; |
|||
12
Жан Пердежон
28.11.22
✎
17:57
|
у тебя количество в итогах тупо множится на количество регистраторов по номенклатуре
|
|||
13
mikecool
28.11.22
✎
18:22
|
(6) а я не совет давал, а ванговал
|
|||
14
Said_We
29.11.22
✎
00:38
|
(11) Вот это я вообще не понял. Поправьте меня, если я не прав.
Если берутся не все обороты, а только по определенным регистраторам, то как это можно соединять с общим итоговым остатком, которые сформировались по регистру в целом не зависимо от регистратора? Я даже не говорю про правильность соединения и прочее. Сама природа данных мне не понятна. Это всё равно что скрещивать мух и слонов. |ИЗ | РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ТоварыНаСкладахОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки | ПО ТоварыНаСкладахОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура |ГДЕ | (ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.ТребованиеНакладная | ИЛИ ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг | ИЛИ ТоварыНаСкладахОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров) Следующее замечание мелочь: Во-первых почему "ОБЪЕДИНИТЬ", а не "ОБЪЕДИНИТЬ ВСЕ". |ИЗ | РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки |ГДЕ | ЗаказыПоставщикамОстатки.ЗаказПоставщику.ТоварВПути = ИСТИНА |ОБЪЕДИНИТЬ ИЗ | РегистрНакопления.ЗаказыПоставщикам.Остатки КАК ЗаказыПоставщикамОстатки |ГДЕ | ЗаказыПоставщикамОстатки.ЗаказПоставщику.ТоварВПути = ЛОЖЬ Во-вторых зачем объединять две выборки из одной таблицы. Это должна быть одна выборка из одной таблицы и поле выборки с условием: Выбор когда ЗаказыПоставщикамОстатки.ЗаказПоставщику.ТоварВПути тогда ЗаказыПоставщикамОстатки.ЗаказПоставщику иначе 0 конец В-третьих. Текст задания полностью озвучьте пожалуйста и что за конфигурация. Есть подозрение, что не нужно вообще никакого отчета рисовать. В вашей типовой конфигурации может быть уже готовый отчет, который анализируют остатки товаров с учетом физических остатков, заказов от клиентов и заказов поставщикам. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |