Имя: Пароль:
1C
 
Срез последних цен из документов поступления
0 Vovka-x13
 
07.07.15
09:04
Возникла необходимость получить последние цены товаров. Конфигурация УПП 1.3 функционал регистрации цен контрагентов не используется. В итоге решил вытягивать цены запросом из документов только не пойму как выбрать только последние цены. Подскажите как лучше сделать?
1 Metman
 
07.07.15
09:06
из регистра?
2 Mankubus
 
07.07.15
09:07
выбери максимальные даты и соединяй с ними
3 Metman
 
07.07.15
09:07
про регистрацию не заметил.
4 Одинесю
 
07.07.15
09:09
Лучше задействовать механизм регистрации цен и брать из регистра.
5 Cyberhawk
 
07.07.15
09:10
Сначала выбираешь в табличку "Номенклатура - Дата документа", группируешь эту табличку п омаксимальной дате. В итоге для каждой номенклатуры знаешь дату документа. Это все в первый запрос пакета.
Затем во втором запросе пакета к первой табличке по дате присоединяешь сам документ и из него берешь цену (не забудь учесть случаи, когда в одном документе несколько строк с одной и той же номенклатурой).
6 Vovka-x13
 
07.07.15
09:11
ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена КАК Цена,
    ПоступлениеТоваровУслугТовары.Ссылка,
    ПоступлениеТоваровУслугТовары.Ссылка.Дата
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
            МАКСИМУМ(ПоступлениеТоваровУслугТовары.Ссылка.Дата) КАК Дата
        ИЗ
            Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        
        СГРУППИРОВАТЬ ПО
            ПоступлениеТоваровУслугТовары.Номенклатура) КАК ВложенныйЗапрос
        ПО ПоступлениеТоваровУслугТовары.Номенклатура = ВложенныйЗапрос.Номенклатура
            И ПоступлениеТоваровУслугТовары.Ссылка.Дата = ВложенныйЗапрос.Дата

Такой запрос будет корректен? механизм регистрации мне не очень нравиться замороченный хотя он лучше
7 spectre1978
 
07.07.15
09:21
Я не советую брать из поступления, потому что могут быть и другие пути попадания товаров в систему. Например ввод остатков.
8 dmrjan
 
07.07.15
09:23
Лучше брать из документа установки цен.
9 spectre1978
 
07.07.15
09:23
Когда-то делал так:

Процедура ПолучитьРыночныеЦены () Экспорт
    
    ЗапросЦены = Новый Запрос;
    ЗапросЦены.Текст =
    
    "ВЫБРАТЬ
    |    ЗакупкиОбороты.Номенклатура,
    |    МАКСИМУМ(ЗакупкиОбороты.Период) КАК Период
    |ПОМЕСТИТЬ
    |    Временная
    |ИЗ
    |    РегистрНакопления.Закупки.Обороты(, , День, ) КАК ЗакупкиОбороты
    |ГДЕ
    |    ЗакупкиОбороты.Номенклатура В ИЕРАРХИИ (&СписокКомпонентов)  
    |
    |СГРУППИРОВАТЬ ПО
    |    ЗакупкиОбороты.Номенклатура;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |
    |ВЫБРАТЬ
    |    Временная.Номенклатура,
    |    Временная.Период,
    |    ЗакупкиОбороты.КоличествоОборот,
    |    ЗакупкиОбороты.СтоимостьОборот,
    |    ЗакупкиОбороты.НДСОборот
    |ИЗ
    |    Временная КАК Временная
    |ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |    РегистрНакопления.Закупки.Обороты(, , День, ) КАК ЗакупкиОбороты
    |ПО
    |    Временная.Номенклатура = ЗакупкиОбороты.Номенклатура
    |И Временная.Период = ЗакупкиОбороты.Период;";
    
    ЗапросЦены.УстановитьПараметр("СписокКомпонентов", Разделка.ВыгрузитьКолонку("Номенклатура"));
    
    Выборка = ЗапросЦены.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        
        СтрокиРазделки = Разделка.НайтиСтроки(Новый Структура ("Номенклатура", Выборка.Номенклатура));
        Для Каждого СтрокаРазделки из СтрокиРазделки Цикл
            // СтрокаРазделки.ЦенаРыночная = (Выборка.СтоимостьОборот + Выборка.НДСОборот) / Выборка.КоличествоОборот;
            СтрокаРазделки.ЦенаРыночная = Выборка.СтоимостьОборот / Выборка.КоличествоОборот;
            СтрокаРазделки.ДатаЗакупки = Выборка.Период;
            РасчетРезультата (СтрокаРазделки);
        КонецЦикла
        
    КонецЦикла;
    
КонецПроцедуры
10 spectre1978
 
07.07.15
09:24
(8) а с чего вы взяли что его заполняют?
11 dmrjan
 
07.07.15
09:24
(10) Ну это вроде как правило хорошего тона.
12 Одинесю
 
07.07.15
09:25
(10) А с чего ты взял, что у него заполняются регистры? ))
13 dmrjan
 
07.07.15
09:27
А еще лучше брать из регистра сведений.
14 spectre1978
 
07.07.15
09:27
(10) здесь нет никакого наезда. Объяснюсь. На производственном предприятии могут быть тысячи видов сырья и цены на него могут меняться как на бирже, с каждой поставкой новые. Я очень сильно сомневаюсь, что кто-то будет помимо приходных документов забивать голову еще и установкой цен.
То что требуется ТС - в УПП хранится в регистре закупок. Оттуда и берем.
15 spectre1978
 
07.07.15
09:29
(13) см. (9), (14)
16 spectre1978
 
07.07.15
09:30
(14) к (11), (12)
17 dmrjan
 
07.07.15
09:32
Мне лично очень сильно не понравился типовой документ "Установка цен номенклатуры", поэтому в документе Поступление товаров и услуг была добавлена промежуточная обработка (в которой отображается в т.ч. и предпоследняя цена на товар и еще куча разных фич) и уже только потом данные отправляются в документ "Установка цен номенклатуры".
18 spectre1978
 
07.07.15
13:18
(17) Объясните, зачем вам цены на материалы хранить в отдельном регистре? При проведении документ ПТиУ делает все необходимые движения, в себестоимости цены и так учтутся, а для последующего анализа рынка материалов есть отличный регистр "Закупки". Зачем все это дублировать еще и в регистр цен? Я понимаю, зачем этот регистр нужен для готовой продукции, но мне совершенно непонятно, зачем пихать туда материалы.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn