Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

СКД. Два регистра в запросе.

СКД.  Два регистра в запросе.
Я
   palpetrovich
 
24.03.18 - 14:16
В регистре Резерв нет измерения Партия, надо вывести табличку
1я группировка: Товар - Остаток - Резерв
2я группировка: Товар - Партия - Остаток

запрос

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    ОстаткиТоваров.Склад КАК Склад,
    ОстаткиТоваров.Товар КАК Товар,
    ОстаткиТоваров.КоличествоОстаток КАК Остаток,
    ЕСТЬNULL(РезервТоваров.КоличествоОстаток, 0) КАК Резерв,
    ОстаткиТоваров.Партия КАК Партия
ИЗ
    РегистрНакопления.ОстаткиТоваров.Остатки(&Период, ) КАК ОстаткиТоваров
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервТоваров.Остатки(&Период, ) КАК РезервТоваров
        ПО (РезервТоваров.Склад = ОстаткиТоваров.Склад)
            И (РезервТоваров.Товар = ОстаткиТоваров.Товар)

Ресурсы в СКД -  Остаток и Резерв 

вывод группировки Партия - по флагу  "Выводить партии" в Пользовательскх настройках (группировка)
Если установлен флаг - резерв суммируется, результат неверный. 

С этим можно что-то сделать или все в утиль?
 
 
   jsmith82
 
1 - 24.03.18 - 14:31
в утиль
   jsmith82
 
2 - 24.03.18 - 14:31
регистры вообще не связаны друг с другом
   palpetrovich
 
3 - 24.03.18 - 14:38
"вообще"  - неправда ваша!  Склад, Товар - чем не связь?

Сделал 2 набора данных
отдельно по Остаткам, отдельно по Резерву, связи - те-же (Склад, Товар), задвоение "ушло", но по в строках по партиям - выводится этот РЕзерв. Он хоть "правильный", но глаз режет
   jsmith82
 
4 - 24.03.18 - 14:40
>>Склад, Товар - чем не связь?
Смешно
>>Он хоть "правильный", но глаз режет
Потому что у тебя таблица ненормализованная
Ибо регистры не связаны друг с другом
   jsmith82
 
5 - 24.03.18 - 14:41
По сути ты щас занимаешься денормализацией таблиц
   palpetrovich
 
6 - 24.03.18 - 14:48
(4) что смешного? Ты где-то видел регистр Резерв с измерением Партия?
результат на "сейчас"
Товар    СкладОптовый (Остаток - Резерв)
Трубка   28,000    - 1,00
Партия    СкладОптовый (Остаток - Резерв)
ГТД ХВ-0004936 4,000    1,00
ГТД ХВ-0005385 24,000    1,00
Итого    28,000    1,00    26,000
   jsmith82
 
7 - 24.03.18 - 14:53
>>Ты где-то видел регистр Резерв с измерением Партия?
Барсетка зачёркнуто Управление нашей фирмой
   h-sp
 
8 - 24.03.18 - 14:55
(6) ну там в скд на закладке Ресурсы проставляешь галочки, какой ресурс в какой группировке участвует.
   jsmith82
 
9 - 24.03.18 - 14:56
Тебе резерв надо считать по группировке Товар
   jsmith82
 
10 - 24.03.18 - 14:57
остаток и резерв
а остаток по партии по групировке партия
 
 Рекламное место пустует
   palpetrovich
 
11 - 24.03.18 - 14:58
(8) на закладке Ресурсы  можно установить "Расчитать по", сейчас  установлено, для остаток "Партия, Склад, Товар", для Резерв - "Склад, Товар"
   palpetrovich
 
12 - 24.03.18 - 15:00
(8),(9) вот где эти "галочки, "какой ресурс в какой группировке участвует"?
   palpetrovich
 
13 - 24.03.18 - 15:02
+(12) если это они и есть, то наверное я  их не умею готовить :)
   jsmith82
 
14 - 24.03.18 - 15:03
Тут, наверно, посчитать резерв через язык выражений компоновки данных ВычислитьВыражение по группировке Товар
   palpetrovich
 
15 - 24.03.18 - 15:33
(14) что-то не сильно помогло, все равно Резерв в сгруппировку п опартии попадает, пробовал:
ВычислитьВыражение("Сумма(Резерв)", "Товар", "ГруппировкаНеРесурса")            
ВычислитьВыражение("Сумма(Резерв)", "Товар", "Группировка")            
ВычислитьВыражение("Сумма(Резерв)", "Товар", "Иерархия")
   h-sp
 
16 - 24.03.18 - 16:08
(13) ну ты в группировке Партия ставь МАКСИМУМ(Резерв), а в остальные СУММА(Резерв). Всему тебя учить надо.
   Diman000
 
17 - 24.03.18 - 16:22
Вот так хочется помочь, но я не понял в чем проблема(
На верхнем уровне должен быть товар с остатком за минусом резерва, а на втором уровне партии товара и их остаток без учета резерва?
   h-sp
 
18 - 24.03.18 - 16:27
(17) резерв задваивается
   Diman000
 
19 - 24.03.18 - 16:28
(18) Где? На уровне с Товаром без Партий или там где Партии?
Там где Партии резерв невозможно вывести без предварительной подготовки. Разве что просто общий резерв по Товару в целом.
   palpetrovich
 
20 - 24.03.18 - 16:49
(16) МАКСИМУМ пробовал конечно, получается такая вот картинка

Товар 28,000    1,00
Партия1 4,000    1,00
Партия3 24,000    1,00

По остатку 4+24=28
По резерву 1+1=1

(19) В идеале надо что-б в группировке Товар  Резерв был, а в Группировке Партия - нет
   h-sp
 
21 - 24.03.18 - 16:52
(19) ну вообще же можно поставить МАКСИМУМ(Резерв) у группировки товар
   palpetrovich
 
22 - 24.03.18 - 16:53
Решило-б задачку наверное в ВычПолях для Резерва вот такое выражение:
ВЫБОР КОГДА СистемныеПоля.Уровень=1 ТОГДА Резерв ИНАЧЕ 0 КОНЕЦ

если-б это "СистемныеПоля.Уровень" там доступно было
   Diman000
 
23 - 24.03.18 - 16:54
(20)
Должно быть так?
Товар 28,000    1,00
Партия1 4,000    0,00
Партия3 24,000    0,00
   palpetrovich
 
24 - 24.03.18 - 16:55
(21) сейчас насройка ресурса Резерв
"Резерв" "Максимум(Резерв)" "Склад, Товар"
результата - в (20)

(23) да
   Diman000
 
25 - 24.03.18 - 16:57
(24) Хмммм... И что, галочки ресурсов по измерениям не помогают?
   Diman000
 
26 - 24.03.18 - 17:02
Так, до меня начинает доходить в чем трабла.
Запрос возвращает резерв по каждой партии, использовать СУММА тут нельзя, конечно.
Тебе в (16) дали дельный совет, в (20) у тебя почти все получилось.
Осталось только совсем не выводить резерв у партий...
   Diman000
 
27 - 24.03.18 - 17:06
Тема выглядит простой как дважды два.
А нельзя просто поставить ресурс Резерв = МАКСИМУМ(Резерв) и только по группировке Товар?
Что в этом случае выходит?
   palpetrovich
 
28 - 24.03.18 - 17:09
(27) хочу уточнить, в фразе
"поставить ресурс Резерв = МАКСИМУМ(Резерв) и только по группировке Товар"

"по группировке Товар" - это значит установить Товар в колонке "Рассчитывать по..."
   Diman000
 
29 - 24.03.18 - 17:10
(28) Ага
   palpetrovich
 
30 - 24.03.18 - 17:11
(29)  вот это
Товар 28,000    1,00
Партия1 4,000    1,00
Партия3 24,000    1,00

если что, могу картинку закинуть кужа-нить
   Diman000
 
31 - 24.03.18 - 17:13
(30) Хм хм хм....
А если ткнуть в Резерв два раза
Резерв = МАКСИМУМ(Резерв) Рассчитывать по Товар
Резерв = МАКСИМУМ(0) Рассчитывать по Партия
   palpetrovich
 
32 - 24.03.18 - 17:17
(31) "повторяющееся поле Резерв"
   Diman000
 
33 - 24.03.18 - 17:24
(32) Чего????))))
У тебя что-то не так в остальной СКДшке.
Два выбора ресурса легко должны проходить, я сто раз так делал и есть миллион моих отчетов на СКД, которые сейчас так работают на системах с 100500 охулиардов пользователей...
 
 
   Diman000
 
34 - 24.03.18 - 17:32
В твоей ситуации пора применять метод деструктивного анализа.
Действуешь так. Создаешь новый отчет копированием текущего.
Удаляешь все настройки. Прямо совсем все, чтобы осталось только Отчет вверху.
Удаляешь все в макетах если там что-то есть.
Такая конструкция должна сформироваться с двойным выбором ресурса.
Отчет ничего не выведет, но не будет ругаться про "повторяющееся поле Резерв". А дальше начинаешь потихоньку добавлять свои настройки и макеты...
   palpetrovich
 
35 - 24.03.18 - 17:37
(34)  я првильно понимаю, 2 поля Резерв на закладке Ресурсы?
... полное сообщение ""повторяющееся поле итога Резерв"
   Diman000
 
36 - 24.03.18 - 17:41
(35) Да, правильно.
Сама по себе такая ситуация к ошибке приводить не должна.
К ошибке приводит дальнейшая настройка СКД.
   palpetrovich
 
37 - 24.03.18 - 17:51
(36) новый отчет с 2-мя резервами ошибку не дает, но в строках с партиями все-равно в группировке Партия - не нули
   palpetrovich
 
38 - 24.03.18 - 17:54
+(37)  а вот если поменять местами
Резерв = МАКСИМУМ(Резерв) Рассчитывать по Партия
Резерв = МАКСИМУМ(0) Рассчитывать по Товар

то в групе Товар - нули  :)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует