Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Динамический список в карточке товара

Динамический список в карточке товара
Я
   Roma1314704
 
24.05.18 - 00:39
Задача вывести в карточку товара значения цен с РегистраСведений
Добавляю в карточку товара Реквизит  динамический список в него 
добавляю запрос

ВЫБРАТЬ
    Товар.Ссылка КАК Ссылка,
    Цены.ЦенаЗакупочнаяДоллар,
    Цены.ЦенаОптовая,
    Цены.ЦенаПродажи
    
ИЗ
    Справочник.Номенклатура КАК Товар
    ЛЕВОЕ СОЕДИНЕНИЕ 
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК Цены
    ПО (Товар.Ссылка = Цены.Номенклатура)
    ГДЕ 
    Ссылка = Цены.Номенклатура    

В итоге получаю список всех товаров со справочника
Как получить значения цен только 1 товара (текущего)?
Что не так?
 
 
   Злопчинский
 
1 - 24.05.18 - 00:40
(0) где фильтр по текущей номенклатуре на список цен?
   Roma1314704
 
2 - 24.05.18 - 00:41
Не могу понять что не так?
   Roma1314704
 
3 - 24.05.18 - 00:44
С таблице получаю весь список товаров со справочника номенклатура , а нужно получить значения только текущей карточки
   Злопчинский
 
4 - 24.05.18 - 00:49
я не спец по запросам но нафига здесь вообще ВЕСЬ СПРАВОЧНИК номенклатуры левым соединением коннектится с ценами?
почему нельзя просто список цен отфильтровать по условию типа
Выбрать Цены
где Цены.Номенклатура = ТекущаяСсылкаОбъектаКарточкиТовара

???
   Roma1314704
 
5 - 24.05.18 - 00:57
ТекущаяСсылкаОбъектаКарточкиТовара
как все таки правильно  ссылка на объект?
   Злопчинский
 
6 - 24.05.18 - 00:58
(5) а я откуда знаю как правильно? ты восьмерчоник - ты и должен знать.
я - мохнатый клюшечник
   Roma1314704
 
7 - 24.05.18 - 01:20
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ЦенаЗакупочная КАК ЦенаЗакупочная,
    ЦеныНоменклатурыСрезПоследних.ЦенаПродажи КАК ЦенаПродажи
    
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ГДЕ
    ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура


+ ПриСозданииНаСервере еще нужно прописать
Цены.Параметры.УстановитьЗначениеПараметра("Номенклатура",Объект.Ссылка);

Иначе не работает
   Roma1314704
 
8 - 24.05.18 - 01:21
если это не правильный вариант - поправьте пож.
   Eiffil123
 
9 - 24.05.18 - 01:54
(7) Почти всё верно, но нужно фильтр по номенклатуре устанавливать в параметрах виртуальной таблицы, а не в условии ГДЕ:
ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних

При этом срез последних сформируется только по номенклатуре. А если делать фильтр в условии "ГДЕ", тогда сначала будет получена таблица среза последних по всей номенклатуре, потом на нее наложится условие (хотя может sql это как-то и оптимизирует, но полагаться на это не надо).
   Сияющий в темноте
 
10 - 24.05.18 - 09:42
У вас так часто цены меняются что нужно базу динамическим списком теребить?простой запрос и кнопка обновить не спасают?особенно,если хочется цены на дату,а динамику цен лучше отчетом и графически
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует