![]() |
![]() |
![]() |
|
Показывать всегда цены по Остаткам | ☑ | ||
---|---|---|---|---|
0
myr4ik07
14.08.15
✎
16:07
|
Делаю запрос и что то не получается, в итоге хочу что бы, всегда выводилось либо 0 либо то что есть по конкретному остатку
ВЫБРАТЬ ПЕРВЫЕ 1 Закупка.Цена КАК Цена, Закупка.Номенклатура ПОМЕСТИТЬ Закупка ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, Номенклатура = &Номенклатура) КАК Закупка УПОРЯДОЧИТЬ ПО Закупка.Период УБЫВ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Остатки.СтруктурнаяЕдиница КАК Склад, Остатки.КоличествоОстаток КАК Остаток, ЕСТЬNULL(Закупочная.Цена, 0) КАК Последняя, ЕСТЬNULL(Закупочная.Цена, 0) КАК Закупочная, ЕСТЬNULL(Прайс.Цена, 0) КАК Прайс, ЕСТЬNULL(Интернет.Цена, 0) КАК Интернет ИЗ РегистрНакопления.ЗапасыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК Остатки ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура = &Номенклатура И ВидЦен = &ВидЦен3) КАК Интернет ПО Остатки.Номенклатура = Интернет.Номенклатура ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура = &Номенклатура И ВидЦен = &ВидЦен4) КАК Прайс ПО Остатки.Номенклатура = Прайс.Номенклатура ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура = &Номенклатура И ВидЦен = &ВидЦен1) КАК Закупочная ПО Остатки.Номенклатура = Закупочная.Номенклатура ВНУТРЕННЕЕ СОЕДИНЕНИЕ Закупка КАК Последняя ПО Остатки.Номенклатура = Последняя.Номенклатура |
|||
1
myr4ik07
14.08.15
✎
16:08
|
играюсь с этими соедининениями и не могу добиться, небось не то что то делаю и не рисуется в голове как верно
|
|||
2
jsmith82
14.08.15
✎
16:09
|
нафига внутренне?
|
|||
3
myr4ik07
14.08.15
✎
16:09
|
(2) я уже пробовал и полное и левое сначала к остаткам короче не то что т о
|
|||
4
разработчик 1с
14.08.15
✎
16:10
|
слева справочник номенклатура например
|
|||
5
myr4ik07
14.08.15
✎
16:10
|
короче в итоге должно выйти, в выборе справочника номенклатуры должно быть показано закупочная цена, и несколько параметризованных цен и цены должны только тогда показываться когда есть остаток по конкр номенклатуре
|
|||
6
myr4ik07
14.08.15
✎
16:12
|
(4) не понял, подробнее пожалуйста
|
|||
7
GreatOne
14.08.15
✎
16:13
|
ВЫБРАТЬ
И обходишь результат по группировкам. |
|||
8
myr4ik07
14.08.15
✎
16:18
|
(7) очень хотелось бы в запросе все это делать, выборку, без последующих условий в обходе
|
|||
9
myr4ik07
14.08.15
✎
16:27
|
Как бы вроде оно
ВЫБРАТЬ ЗапасыНаСкладахОстатки.СтруктурнаяЕдиница КАК Склад, ЗапасыНаСкладахОстатки.КоличествоОстаток КАК Остаток, ВложенныйЗапрос.Цена КАК Последняя, ЕСТЬNULL(Закупочная.Цена, 0) КАК Закупочная, ЕСТЬNULL(Прайс.Цена, 0) КАК Прайс, ЕСТЬNULL(Интернет.Цена, 0) КАК Интернет ИЗ РегистрНакопления.ЗапасыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ЗапасыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура = &Номенклатура И ВидЦен = &ВидЦен1) КАК Закупочная ПО ЗапасыНаСкладахОстатки.Номенклатура = Закупочная.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура = &Номенклатура И ВидЦен = &ВидЦен3) КАК Прайс ПО ЗапасыНаСкладахОстатки.Номенклатура = Прайс.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура = &Номенклатура И ВидЦен = &ВидЦен4) КАК Интернет ПО ЗапасыНаСкладахОстатки.Номенклатура = Интернет.Номенклатура, (ВЫБРАТЬ ПЕРВЫЕ 1 ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних УПОРЯДОЧИТЬ ПО ЦеныНоменклатурыКонтрагентовСрезПоследних.Период УБЫВ) КАК ВложенныйЗапрос |
|||
10
GreatOne
14.08.15
✎
16:32
|
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.КоличествоОстаток, ТипыЦенНоменклатуры.Ссылка ПОМЕСТИТЬ ВТ_Номенклатура ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки, Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры ГДЕ ТипыЦенНоменклатуры.Ссылка В(&типыцен) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Номенклатура.Номенклатура, ВТ_Номенклатура.КоличествоОстаток, ВТ_Номенклатура.Ссылка, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК цена ИЗ ВТ_Номенклатура КАК ВТ_Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних ПО ВТ_Номенклатура.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И ВТ_Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.ТипЦен |
|||
11
GreatOne
14.08.15
✎
16:34
|
так лучше. Метод не идеальный,но думаю то, что тебе нужно
|
|||
12
myr4ik07
14.08.15
✎
16:47
|
спасибо, на мой запрос не смотреть даже, он зацикляный какой то )
|
|||
13
разработчик 1с
14.08.15
✎
16:50
|
(6) в твой изначальный запрос добавь справочник номенклатура. с условием где. и все остальные таблицы к нему левым соединением. и в запрос выбери справочник.ссылка. тогда у тебя по-любому будет запись в результате
|
|||
14
myr4ik07
14.08.15
✎
16:57
|
(13) понял, спасибо
|
|||
15
myr4ik07
14.08.15
✎
19:07
|
вот так гуд
ВЫБРАТЬ ПЕРВЫЕ 1 ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура КАК Номенклатура, ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена ПОМЕСТИТЬ вт ИЗ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних УПОРЯДОЧИТЬ ПО ЦеныНоменклатурыКонтрагентовСрезПоследних.Период УБЫВ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ОстатокТоваров.СтруктурнаяЕдиница КАК Склад, ОстатокТоваров.КоличествоОстаток КАК Остаток, ВременнаяТаблица.Цена, Цена1.Цена КАК Цена1, Цена3.Цена КАК Цена2, Цена4.Цена КАК Цена3 ИЗ РегистрНакопления.ЗапасыНаСкладах.Остатки( , Номенклатура В (ВЫБРАТЬ вт.Номенклатура ИЗ вт КАК вт)) КАК ОстатокТоваров ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт КАК ВременнаяТаблица ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура В (ВЫБРАТЬ вт.Номенклатура ИЗ вт КАК вт) И ВидЦен = &Цена1) КАК Цена1 ПО ВременнаяТаблица.Номенклатура = Цена1.Номенклатура ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура В (ВЫБРАТЬ вт.Номенклатура ИЗ вт КАК вт) И ВидЦен = &Цена3) КАК Цена3 ПО ВременнаяТаблица.Номенклатура = Цена3.Номенклатура ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , Номенклатура В (ВЫБРАТЬ вт.Номенклатура ИЗ вт КАК вт) И ВидЦен = &Цена4) КАК Цена4 ПО ВременнаяТаблица.Номенклатура = Цена4.Номенклатура ПО ОстатокТоваров.Номенклатура = ВременнаяТаблица.Номенклатура |
|||
16
myr4ik07
14.08.15
✎
21:22
|
(11) дело в том, что мне еще до продажной еще и закупку нужно втулить и закупку брать единственную последнюю прошедшую по регистру, а не всю закупку контрагентов
|
|||
17
GreatOne
15.08.15
✎
00:43
|
Мсье знает толк в извращениях.
http://v8.1c.ru/metod/books/book.jsp?id=436 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |