Имя: Пароль:
1C
1С v8
Запрос - выборка последней цены
0 1cUser015
 
24.08.17
18:23
Доброго времени суток всем!
С запросами только начинаю работать, подскажите, пожалуйста,
такая ситуация, есть документ "Списание товаров", к нему нужно прикрутить классический АКТ ТМЦ, проблема в том, что в силу определенных обстоятельств, цена товара, из документа "Поступление товаров услуг" не фиксируется должным образом в регистрах. А точнее, почему то идет дублирование, хотя  цена неизменна.

Написал запрос, в котором информация о цене берется из справочника номенклатуры, но кроме как "первые 10 000" никак не смог получить последнюю цену по товару.

Как оптимизировать его? без выборки "первые 10 000"

ВЫБРАТЬ
    |    Д.Ссылка КАК Ссылка,
    |    Д.Ссылка.Номер КАК Номер,
    |    Д.Ссылка.Дата КАК Дата,
    |    Д.Ссылка.Организация.Префикс КАК Префикс,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.Склад) КАК Склад,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.Подразделение) КАК Подразделение,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.Организация) КАК Организация,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.ХозяйственнаяОперация) КАК СтатьяСписания,
    |    Д.НомерСтроки КАК НомерСтроки,
    |    Д.Номенклатура КАК Номенклатура,
    |    Д.Количество КАК Количество,
    |    МАКСИМУМ(ВЗПЦН.Цена) КАК Цена,
    |    ЕСТЬNULL((Д.Количество*ВЗПЦН.Цена),0) КАК Сумма,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Номенклатура.ЕдиницаИзмерения) КАК ЕдИзм
    |
    |        ИЗ Документ.ВнутреннееПотреблениеТоваров.Товары КАК Д
    |            Левое СОЕДИНЕНИЕ (ВЫБРАТЬ первые 100000
    |            Номенклатура,
    |                МАКСИМУМ(ЦЕНА)
    |            ИЗ Документ.ПоступлениеТоваровУслуг.Товары
    |            СГРУППИРОВАТЬ ПО Номенклатура
    |            УПОРЯДОЧИТЬ ПО МАКСИМУМ(ЦЕНА) УБЫВ) КАК ВЗПЦН
    |            ПО Д.Номенклатура = ВЗПЦН.Номенклатура
    |        ГДЕ Д.Ссылка В (&МассивОбъектов)
    |    
    |    СГРУППИРОВАТЬ ПО
    |    Д.Ссылка,
    |    Д.Ссылка.Номер,
    |    Д.Ссылка.Дата,
    |    Д.Ссылка.Организация.Префикс,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.Склад),
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.Подразделение),
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.Организация),
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Ссылка.ХозяйственнаяОперация),
    |    Д.НомерСтроки,
    |    Д.Номенклатура,
    |    Д.Количество,
    |    ВЗПЦН.Цена,
    |    ЕСТЬNULL((Д.Количество*ВЗПЦН.Цена),0),
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Д.Номенклатура.ЕдиницаИзмерения)
    |
    |    УПОРЯДОЧИТЬ ПО
    |            Д.Ссылка.Дата,
    |            Д.Ссылка.Ссылка,
    |            Д.НомерСтроки    
    

Версия 1С УТ 11.2, используется только для складских операций. Документы поступления идут только по регистрам себестоимости, но он не совсем информативен, так как "почему то" при вводе 2-го документа от одного же контрагента, по такой же сумме закупки, цена штуки товара уже разница от предыдущего заказа, на сотые, хотя округление везде стоит. А следовательно цена "актуальная" на уровне системы изменилась.
Заранее спасибо!
1 Alex87r
 
24.08.17
19:45
Еще есть РН Закупки, в него пишется цена закупки из документа поступления. (0)
2 laeg
 
25.08.17
10:26
Сначала получите таблицу с группировкой по Номенклатуре и Макс(ПТУ.Дата), потом к ней присоедините ПТУ с ценами
3 Peltzer
 
25.08.17
10:29
(2) Лучше к РН
4 GANR
 
25.08.17
11:00
(0) А нельзя ли из регистра сведений ЦеныНоменклатуры взять простым срезом последних? Это уж что-то совсем извращенное.
5 1cUser015
 
25.08.17
23:43
(4) "ЦеныНоменклатрцы" - пуст, в силу того, что нет документов "заказов" поставщикам. Начальный документ в системе, это "Поступление товаров и услуг". Остальные варианты попробую - спасибо!
6 Klesk
 
26.08.17
02:08
Примечание. В программе предусмотрена возможность автоматической регистрации цен поставщика по документу поставки, без ввода дополнительного документа Регистрация цен поставщика. Для автоматической регистрации цен поставщика установите флажок Регистрировать цены поставщика на странице Дополнительно. Флажок устанавливается автоматически при оформлении документа поставки по соглашению с установленным флажком Регистрировать цены поставщика автоматически (по умолчанию).
7 Klesk
 
26.08.17
02:10
+ проставь, перепроведи, установи для всех соглашений, установи по умолчанию, ищи в РС "Цены номенклатуры поставщиков"
8 Мимохожий Однако
 
26.08.17
08:43
9 breezee
 
26.08.17
10:48
(0)
> Написал запрос, в котором информация о цене берется из справочника номенклатуры
>   ИЗ Документ.ПоступлениеТоваровУслуг.Товары
Зачем цена по максимуму? А если у вас было поступление товара "товар1" в 2003 по цене 100р, а потом в 2017 по цене 10р - вы сумму выберете 100р. И спишите непонятно что. Надо понять, какие документы списывает Списание и брать цену из этих документов, если там партионный учет, если не партионный - тоже посмотреть, что в регистр себестоимости товаров пишется. Оптимизировать запрос можено - выведе максимальную цену по кажой номенклатуре, поместя все во временную табилицу и связаться с этой таблицей в еще одном пакете запроса
10 1cUser015
 
04.09.17
18:34
(6) Всем привет.
Галочка "Флажок Регистрировать цены поставщика" включен в каждом документе, и документы перепроводили, но РС "Цены номенклатуры поставщиков" - пустой, в этом м то и странность ситуации. Делал update версии конфигурации, в рамках 11.2.х но они никак не повлияли на то, чтобы заполнялся этот РС автоматом.
И как я говорил это связано с тем, что "соглашения" или "договора" не используются в системе, она просто грубо как склад работает и все.