Имя: Пароль:
1C
 
1С СКД вывод последней цены.
,
0 Олеся92
 
16.01.15
08:36
Подскажите пожалуйста, уже всю голову сломала :(
Формирую отчет выводится несколько одинаковых наименований  с разной ценой. Как сделать так что бы бралась последняя цена ? То есть должно выводиться 1 наименование с последней ценой.  
Скрин:http://lvkr.ru/f/jsAtHZ/640.jpg

Вот сам запрос:
ВЫБРАТЬ
    ПриходнаяНакладнаяТаблЧасть.Цена,
    ПриходнаяНакладнаяТаблЧасть.Номенклатура.Наименование КАК НоменклатураНаименование1,
    СпецификацияТКТаблицаSMD.Номенклатура.Наименование,
    СпецификацияТКТаблицаSMD.Quantity,
    СпецификацияТКТаблицаSMD.MyData,
    СпецификацияТКТаблицаSMD.Ссылка,
    СпецификацияТКТаблицаSMD.Ссылка.Наименование
ИЗ
    Справочник.СпецификацияТК.ТаблицаSMD КАК СпецификацияТКТаблицаSMD
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная.ТаблЧасть КАК ПриходнаяНакладнаяТаблЧасть
        ПО СпецификацияТКТаблицаSMD.Номенклатура.Наименование = ПриходнаяНакладнаяТаблЧасть.Номенклатура.Наименование
1 zulu_mix
 
16.01.15
08:40
Взять срезпоследних из регистра
2 butterbean
 
16.01.15
08:41
нужно получить таблицу с Номенклатура и МАКСИМУМ(ПриходнаяНакладная.Дата), потом ее соединять с Документ.ПриходнаяНакладная.ТаблЧасть для получения цен, потом уже все это соединять с СпецификацияТКТаблицаSMD
3 ам794123
 
16.01.15
08:50
(1) где там регистр в запросе?
4 zulu_mix
 
16.01.15
08:51
(3) в том то и дело
5 Cube
 
16.01.15
08:57
(0) А у тебя что за конфа? Там вообще хоть один регистр есть?
6 Олеся92
 
16.01.15
10:01
(5) Да есть не типовая ...по складскому
7 Cube
 
16.01.15
10:15
(6) Ну, ежели есть регистры, то почему ты из регистров информацию не берешь?
8 Олеся92
 
16.01.15
10:31
(7) Да там не было ресурса цена я добавила, щас попробую
9 Cube
 
16.01.15
10:35
(8) Стоять!
Отойди-ка от конфигуратора... :)
Где не было ресурса цена?
10 Metman
 
16.01.15
10:50
(8) вот это по-пятничному!
11 ИС-2
 
naïve
16.01.15
11:19
(7) если она просто свяжет с регистром по номенклатуре, то у нее пойдет дублирование строк (например из-за того, что несколько типов цен).
12 Олеся92
 
16.01.15
13:05
(11) Вот такая история у меня Скрин : http://lvkr.ru/f/4DenaU/1280.jpg
Ошибка Т.к повторяется номенклатура . Подскажите пожалуйста как можно сделать цикл чтобы отфильтровались одинаковые номенклатуры. Нужно чтобы в регистр записались только не повторяющиеся номенклатуры.


// регистр ЦеныТоваров
    Движения.ЦеныТоваров.Записывать = Истина;
    Для Каждого ТекСтрокаТаблЧасть Из ТаблЧасть Цикл
        Движение = Движения.ЦеныТоваров.Добавить();
        Движение.Период = Дата;
        Движение.Товар = ТекСтрокаТаблЧасть.Номенклатура;
        Движение.Цена = ТекСтрокаТаблЧасть.Цена;
            КонецЦикла;
13 Cube
 
16.01.15
13:07
(12) На (9) ответь сначала :)
14 Олеся92
 
16.01.15
14:48
(9) Да там вообще регистра сведений не было.
Создала новый Сделала срез последних : а почему то выводятся все цены(

Запрос: ВЫБРАТЬ
    СпецификацияТКТаблицаSMD.Номенклатура.Наименование,
    СпецификацияТКТаблицаSMD.Quantity,
    СпецификацияТКТаблицаSMD.MyData,
    СпецификацияТКТаблицаSMD.Ссылка,
    СпецификацияТКТаблицаSMD.Ссылка.Наименование,
    ЦеныТоваровСрезПоследних.Цена,
    ЦеныТоваровСрезПоследних.Товар.Наименование
ИЗ
    Справочник.СпецификацияТК.ТаблицаSMD КАК СпецификацияТКТаблицаSMD
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныТоваров.СрезПоследних КАК ЦеныТоваровСрезПоследних
        ПО СпецификацияТКТаблицаSMD.Номенклатура.Наименование = ЦеныТоваровСрезПоследних.Товар.Наименование




запись в регистр из документа приходная накладная
// регистр ЦеныТоваров
    Движения.ЦеныТоваров.Записывать = Истина;
    Для Каждого ТекСтрокаТаблЧасть Из ТаблЧасть Цикл
        Движение = Движения.ЦеныТоваров.Добавить();
        Движение.Период = Дата;
        Движение.Товар = ТекСтрокаТаблЧасть.Номенклатура;
        Движение.Цена = ТекСтрокаТаблЧасть.Цена;
        Движение.ШК=ТекСтрокаТаблЧасть.ШК;
            КонецЦикла;
15 Бубка Гоп
 
16.01.15
14:52
(14) а почему не задаете дату, на которую нужен срез?
16 Бубка Гоп
 
16.01.15
14:53
(14) ну и соединять по наименованию, это мягко говоря не айс
17 ИС-2
 
naïve
16.01.15
14:57
(12)
Движения.ЦеныТоваров.Записывать = Истина;
    Для Каждого ТекСтрокаТаблЧасть Из ТаблЧасть Цикл
Если  Движения.ЦеныТоваров.Найти(ТекСтрокаТаблЧасть.Номенклатура) = неопределено тогда
        Движение = Движения.ЦеныТоваров.Добавить();
        Движение.Период = Дата;
        Движение.Товар = ТекСтрокаТаблЧасть.Номенклатура;
        Движение.Цена = ТекСтрокаТаблЧасть.Цена;
конецесли;
            КонецЦикла;
18 Бубка Гоп
 
16.01.15
14:59
(17) вы не допускаете того что в одной накладной будет две позиции с одной номенклатурой и разной ценой?
19 Олеся92
 
16.01.15
15:02
(18)Так не должно быть
20 Бубка Гоп
 
16.01.15
15:03
(19) "Не должно" и "не будет" разные вещи. Ну это уже на ваше усмотрение
21 Бубка Гоп
 
16.01.15
15:10
(14) и зачем дважды наименование вытягивать? и из справочника и из регистра
22 Олеся92
 
19.01.15
12:40
(17) Метод объекта не обнаружен (Найти)
23 Олеся92
 
19.01.15
13:34
Движения.ЦеныТоваров.Записывать = Истина;
    Для Каждого ТекСтрокаТаблЧасть Из ТаблЧасть Цикл
Если  Движения.ЦеныТоваров.!!!!!!!!(Каким методом можно воспользоваться?)Найти(ТекСтрокаТаблЧасть.Номенклатура) = неопределено тогда
        Движение = Движения.ЦеныТоваров.Добавить();
        Движение.Период = Дата;
        Движение.Товар = ТекСтрокаТаблЧасть.Номенклатура;
        Движение.Цена = ТекСтрокаТаблЧасть.Цена;
конецесли;
            КонецЦикла;