![]() |
![]() |
![]() |
|
как отобрать цены если документ ведется не всегда в разрезе характеристик | ☑ | ||
---|---|---|---|---|
0
Obama13
01.05.15
✎
14:50
|
Уважаемые форумчане,Надоумьте дурака.В документе установка цен не всегда ведется учет в разрезе характеристик и потом когда делаю левое к запросу;
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК ШтрихКод ПО Номенклатура.Ссылка = ШтрихКод.Владелец ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки ПО Номенклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура И ШтрихКод.ХарактеристикаНоменклатуры=ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура И ШтрихКод.ХарактеристикаНоменклатуры=ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры то получается такая картина: 2000000000398 330,00 2,000 2000000000404 1,000 2000000000411 2,000 2000000000428 2,000 2000000000435 2,000 2000000009926 1,000 2000000009933 1,000 а если делаю так(не беру разрез характеристик по ценам): ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК ШтрихКод ПО Номенклатура.Ссылка = ШтрихКод.Владелец ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки ПО Номенклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура И ШтрихКод.ХарактеристикаНоменклатуры=ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура ///// И ШтрихКод.ХарактеристикаНоменклатуры=ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры то получается такая петрушка: 2000000000398 220,00 2,000 2000000000398 330,00 2,000 2000000000404 220,00 1,000 2000000000404 330,00 1,000 2000000000411 220,00 2,000 2000000000411 330,00 2,000 2000000000428 220,00 2,000 2000000000428 330,00 2,000 2000000000435 220,00 2,000 2000000000435 330,00 2,000 2000000009926 220,00 1,000 2000000009926 330,00 1,000 2000000009933 220,00 1,000 2000000009933 330,00 1,000 Как сделать чтобы было как первый вариант но с ценами не зависимо от того почтавили харктеристику или нет.Спасибо |
|||
1
RomanYS
01.05.15
✎
14:54
|
два левых соединения
одно по характеристика=характеристика второе по характеристика=&пустая ну и ЕстьNull(ЦеныСХарактеристиками.Цена, ЦеныБезХарактеристик.Цена) Как Цена |
|||
2
Obama13
01.05.15
✎
14:56
|
(1)так что ли?
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура И ШтрихКод.ХарактеристикаНоменклатуры=ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура |
|||
3
RomanYS
01.05.15
✎
15:01
|
(2)
"КАК ЦеныНоменклатурыСрезПоследних" - синонимы должны быть разными для второго соединения ПО Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура И ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) работать это будет, только если есть цена в регистре с пустой характеристикой |
|||
4
Obama13
01.05.15
✎
15:03
|
(3)огромное спасибо сейчас проверю
|
|||
5
Obama13
01.05.15
✎
15:32
|
(3)не работает
|
|||
6
Obama13
01.05.15
✎
15:36
|
ВЫБОР
КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) <> 0 ТОГДА ЦеныНоменклатурыСрезПоследних.Цена КОНЕЦ КАК Цена, ......... ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура //И ШтрихКод.ХарактеристикаНоменклатуры=ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследнихПустаяХарактеристика ПО Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследнихПустаяХарактеристика.Номенклатура И ЦеныНоменклатурыСрезПоследнихПустаяХарактеристика.ХарактеристикаНоменклатуры =Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) |
|||
7
Obama13
01.05.15
✎
15:44
|
изменил на
ВЫБОР КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) <> 0 ТОГДА ЦеныНоменклатурыСрезПоследних.Цена КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихПустаяХарактеристика.Цена, 0) <> 0 ТОГДА ЦеныНоменклатурыСрезПоследнихПустаяХарактеристика.Цена КОНЕЦ КАК Цена, получил 10119 2000000000398 330,00 2,000 10119 2000000000404 220,00 1,000 10119 2000000000411 220,00 2,000 10119 2000000000428 220,00 2,000 10119 2000000000435 220,00 2,000 10723 2000000009926 30,00 1,000 10723 2000000009933 30,00 1,000 RomanYS спасибо. желаю удачи и понимания. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |