![]() |
|
помогите прочитать верно запрос | ☑ | ||
---|---|---|---|---|
0
lamme
11.01.17
✎
16:45
|
как я считаю ..
запрос находит цену товаров (по документу) по последнему приходу, с учетом того - что в РС цены контрагентов цены есть и они пересчитываются по курсу на дату документа не понимаю каким боком тут РС цены контрагентов "ВЫБРАТЬ | &ДокументДвижения |ПОМЕСТИТЬ втДокумент |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ.Номенклатура, | ВТ.Количество |ПОМЕСТИТЬ втТовары |ИЗ | &ВТ КАК ВТ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втТовары.Номенклатура, | СУММА(втТовары.Количество) КАК Количество |ПОМЕСТИТЬ втТоварыСгруппированы |ИЗ | втТовары КАК втТовары | |СГРУППИРОВАТЬ ПО | втТовары.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ ПЕРВЫЕ 1 | ПартииТоваровНаСкладах.Номенклатура, | МАКСИМУМ(ПартииТоваровНаСкладах.Регистратор.Дата) КАК РегистраторДата |ПОМЕСТИТЬ втПоследнийРегистратор |ИЗ | РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах |ГДЕ | ПартииТоваровНаСкладах.ВидДвижения = &Приход | И ПартииТоваровНаСкладах.Номенклатура В | (ВЫБРАТЬ | Т.Номенклатура | ИЗ | втТоварыСгруппированы КАК Т) | И ПартииТоваровНаСкладах.Склад = &Склад | И ПартииТоваровНаСкладах.Стоимость > 0 | И ПартииТоваровНаСкладах.Количество > 0 | И ПартииТоваровНаСкладах.Регистратор.Дата < &ДатаПродажи | |СГРУППИРОВАТЬ ПО | ПартииТоваровНаСкладах.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втПоследнийРегистратор.Номенклатура, | МАКСИМУМ(ПартииТоваровНаСкладах.Стоимость / ПартииТоваровНаСкладах.Количество) КАК Цена |ПОМЕСТИТЬ втЦены |ИЗ | втПоследнийРегистратор КАК втПоследнийРегистратор | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах | ПО втПоследнийРегистратор.Номенклатура = ПартииТоваровНаСкладах.Номенклатура | И втПоследнийРегистратор.РегистраторДата = ПартииТоваровНаСкладах.Регистратор.Дата | |СГРУППИРОВАТЬ ПО | втПоследнийРегистратор.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТипыЦенНоменклатурыКонтрагентов.Ссылка КАК ТипЦен |ПОМЕСТИТЬ втТипыЦен |ИЗ | Справочник.ТипыЦенНоменклатурыКонтрагентов КАК ТипыЦенНоменклатурыКонтрагентов |ГДЕ | НЕ ТипыЦенНоменклатурыКонтрагентов.ПометкаУдаления | И ТипыЦенНоменклатурыКонтрагентов.Владелец = &Контрагент |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | втЦены.Номенклатура, | втЦены.Цена КАК ЦенаПоступления, | втДокумент.ДокументДвижения КАК ДокументПродажи, | ЕСТЬNULL(втТоварыСгруппированы.Количество, 0) КАК Количество, | ВЫБОР | КОГДА ЦеныНоменклатурыКонтрагентовСрезПоследних.Валюта <> &Рубль | ТОГДА ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена * КурсыВалютСрезПоследних.Курс | ИНАЧЕ ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена | КОНЕЦ КАК ЦенаИзЗакупки |ИЗ | втЦены КАК втЦены | ЛЕВОЕ СОЕДИНЕНИЕ втТоварыСгруппированы КАК втТоварыСгруппированы | ПО втЦены.Номенклатура = втТоварыСгруппированы.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ втДокумент КАК втДокумент | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних( | &ДатаПродажи, | ТипЦен В | (ВЫБРАТЬ | Т.ТипЦен | ИЗ | втТипыЦен КАК Т)) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаПродажи, ) КАК КурсыВалютСрезПоследних | ПО ЦеныНоменклатурыКонтрагентовСрезПоследних.Валюта = КурсыВалютСрезПоследних.Валюта | ПО втЦены.Номенклатура = ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура"; |
|||
1
Kolls
11.01.17
✎
16:49
|
"не понимаю каким боком тут РС цены контрагентов " могу предположить, что целью было сравнение факт. цен прихода с заявленными прайсовыми поставщиков
|
|||
2
Kolls
11.01.17
✎
16:50
|
только вот пакет "втПоследнийРегистратор" вернет 1 запись, и след. пакет "втЦены" как следствие тоже 1 запись, а не список из ТЧ документа
|
|||
3
lamme
11.01.17
✎
16:52
|
там я уже баловался
поставил лишнее |ВЫБРАТЬ ПЕРВЫЕ 1 | ПартииТоваровНаСкладах.Номенклатура, |
|||
4
lamme
11.01.17
✎
16:52
|
лишнее - первые 1
|
|||
5
lamme
11.01.17
✎
16:53
|
те если цена отличается от заявленной поставщиком - то такая запись не найдется
|
|||
6
Kolls
11.01.17
✎
16:57
|
(5) нет, если убрать "первые 1" то найдутся все из документа, но куда тут далее идет запрос? если в скд, то там отбор может быть навешен, или в ТЗ и обходом далее идет какое либо сравнение, на выходе этого запроса будет просто список номенклатуры, с двумя ценами из партий и контрагентов. зачем правда на выходе "втДокумент.ДокументДвижения КАК ДокументПродажи" если он и так идет параметром, непонятно
|
|||
7
lamme
11.01.17
✎
16:59
|
в ТЗ
на выходе - товар/колво/цена/дата все |
|||
8
lamme
11.01.17
✎
17:00
|
спасибо
общая идея понятна зачем только так сложно дергать РН Партиитоваров - долго .. слабое место |
|||
9
Kolls
11.01.17
✎
17:00
|
(7) смотри лучше, должна быть еще "ЦенаИзЗакупки"
|
|||
10
lamme
11.01.17
✎
17:04
|
да. правильно. а еще и "валюта"
|
|||
11
lamme
11.01.17
✎
17:05
|
(9)
Спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |