Имя: Пароль:
1C
1С v8
БП 3 Помогите настроить динамический список
0 егаис
 
14.03.14
08:06
Есть такая проблемка, на одном подотчетнике по 10 счету может числиться один и тот же материал по разным субсчетам. Например, клапан может быть на 10.01 и 10.05.
В обработке подбора валится ошибка насчет дублирования ключевых значений
ВЫБРАТЬ
    СправочникНоменклатура.Ссылка,
    ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Валюта, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) КАК Валюта,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
    СправочникНоменклатура.Наименование,
    СправочникНоменклатура.Артикул,
    СправочникНоменклатура.ЕдиницаИзмерения,
    СправочникНоменклатура.Услуга,
    СправочникНоменклатура.Код,
    СправочникНоменклатура.НаименованиеПолное
ИЗ
    Справочник.Номенклатура КАК СправочникНоменклатура
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&ДатаОстаткиЦены)}, {(Номенклатура).* КАК Ссылка, (ТипЦен) КАК ТипЦен, (Валюта) КАК ВалютаЦены}) КАК ЦеныНоменклатурыСрезПоследних
        ПО СправочникНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура}
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки({(&ДатаОстаткиЦены)}, {(Счет).* КАК Счет}, {(&ВидыСубконто)}, {(Организация).* КАК Организация, (Подразделение).* КАК Подразделение, (ВЫРАЗИТЬ(Субконто1 КАК Справочник.Номенклатура)).* КАК Ссылка, (Субконто2)}) КАК ХозрасчетныйОстатки
        ПО СправочникНоменклатура.Ссылка = ХозрасчетныйОстатки.Субконто1}
ГДЕ
    НЕ СправочникНоменклатура.ЭтоГруппа
    И ВЫБОР
            КОГДА &ПоказыватьТолькоОстатки
                ТОГДА ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0) <> 0
            ИНАЧЕ ИСТИНА
    КОНЕЦ
Что поменять в запросе, чтобы не было группировки по счету, а в список показывало общее значение по ТМЦ
1 Feunoir
 
14.03.14
08:10
А ты уверен, что проблема в счетах, а не в разных типах цен?
2 егаис
 
14.03.14
08:12
типы цен не используются
3 егаис
 
14.03.14
08:14
проблема появляется если есть остатки по одному складу на разных субсчетах
4 m-serg74
 
14.03.14
08:16
(0) запихнуть все это во вложенный не пробовал?
5 егаис
 
14.03.14
08:20
что это даст?
6 m-serg74
 
14.03.14
08:25
(5) наверное не будет "валится ошибка насчет дублирования ключевых значений" ежели внутрях сгруппировать и просуммировать
7 m-serg74
 
14.03.14
08:30
(5) а еще лучше вот это
"{ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки({(&ДатаОстаткиЦены)}, {(Счет).* КАК Счет}, {(&ВидыСубконто)}, {(Организация).* КАК Организация, (Подразделение).* КАК Подразделение, (ВЫРАЗИТЬ(Субконто1 КАК Справочник.Номенклатура)).* КАК Ссылка, (Субконто2)}) КАК ХозрасчетныйОстатки"

сгруппировать перед соединением
8 m-serg74
 
14.03.14
08:32
(7) да и цены на всякий случай тоже
9 егаис
 
14.03.14
08:57
может кому пригодиться )
ВЫБРАТЬ
    СправочникНоменклатура.Ссылка,
    ВложенныйЗапрос.КоличествоОстаток,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Валюта, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) КАК Валюта,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
    СправочникНоменклатура.Наименование,
    СправочникНоменклатура.Артикул,
    СправочникНоменклатура.ЕдиницаИзмерения,
    СправочникНоменклатура.Услуга,
    СправочникНоменклатура.Код,
    СправочникНоменклатура.НаименованиеПолное
ИЗ
    Справочник.Номенклатура КАК СправочникНоменклатура
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&ДатаОстаткиЦены)}, {(Номенклатура).* КАК Ссылка, (ТипЦен) КАК ТипЦен, (Валюта) КАК ВалютаЦены}) КАК ЦеныНоменклатурыСрезПоследних
        ПО СправочникНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура}
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СУММА(ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0)) КАК КоличествоОстаток,
            ХозрасчетныйОстатки.Субконто1 КАК Субконто1
        ИЗ
            РегистрБухгалтерии.Хозрасчетный.Остатки({(&ДатаОстаткиЦены)}, {(Счет).* КАК Счет}, {(&ВидыСубконто)}, {(Организация).* КАК Организация, (Подразделение).* КАК Подразделение, (ВЫРАЗИТЬ(Субконто1 КАК Справочник.Номенклатура)).* КАК Ссылка, (Субконто2)}) КАК ХозрасчетныйОстатки
        ГДЕ
            НЕ ХозрасчетныйОстатки.Счет.Забалансовый
        
        СГРУППИРОВАТЬ ПО
            ХозрасчетныйОстатки.Субконто1) КАК ВложенныйЗапрос
        ПО СправочникНоменклатура.Ссылка = ВложенныйЗапрос.Субконто1
ГДЕ
    НЕ СправочникНоменклатура.ЭтоГруппа
    И ВЫБОР
            КОГДА &ПоказыватьТолькоОстатки
                ТОГДА ЕСТЬNULL(ВложенныйЗапрос.КоличествоОстаток, 0) <> 0
            ИНАЧЕ ИСТИНА
        КОНЕЦ
10 m-serg74
 
14.03.14
09:15
(9) наврядли

[ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток, 0)]

:)
11 m-serg74
 
14.03.14
09:26
и это
[ГДЕ
            НЕ ХозрасчетныйОстатки.Счет.Забалансовый]

в параметры вирт. таб. унести надо было
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.