Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 16:13
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: УТ 11.1 Получить предпоследнюю цену  (Прочитано 1688 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн roofless

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Stay hungry, stay foolish (с)
  • Регистрация: 2014-06-21
    • Skype: roof-less
  • Компания: РЦ "Капитан"
  • Профессия: Ученик 1С
Собственно, исходный запрос:
ВЫБРАТЬ
ИсходныеДанные.Номенклатура КАК Номенклатура,
ИсходныеДанные.Характеристика КАК Характеристика,
ИсходныеДанные.Упаковка КАК Упаковка,
ИсходныеДанные.Количество КАК Количество,
ИсходныеДанные.Порядок КАК Порядок,
"КоличествоЦенников" КАК КоличествоЦенниковДляПечати,
"КоличествоЭтикеток" КАК КоличествоЭтикетокДляПечати,
"ШаблонЭтикетки" КАК ШаблонЭтикеткиДляПечати,
"ШаблонЦенника" КАК ШаблонЦенникаДляПечати
ПОМЕСТИТЬ ИсходныеДанные
ИЗ

(ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика, ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) КАК Упаковка, 0 КАК Порядок, 0 КАК Количество) КАК ИсходныеДанные

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
Упаковка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Штрихкоды.Номенклатура КАК Номенклатура,
Штрихкоды.Характеристика КАК Характеристика,
Штрихкоды.Упаковка КАК Упаковка,
МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод
ПОМЕСТИТЬ ШтрихкодыНоменклатуры
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК Штрихкоды
ГДЕ
(Штрихкоды.Номенклатура, Штрихкоды.Характеристика, Штрихкоды.Упаковка) В
(ВЫБРАТЬ
ИсходныеДанные.Номенклатура,
ИсходныеДанные.Характеристика,
ИсходныеДанные.Упаковка
ИЗ
ИсходныеДанные)
{ГДЕ
Штрихкоды.Номенклатура.*,
Штрихкоды.Характеристика.*,
Штрихкоды.Упаковка.*}

СГРУППИРОВАТЬ ПО
Штрихкоды.Номенклатура,
Штрихкоды.Характеристика,
Штрихкоды.Упаковка

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
Упаковка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИсходныеДанныеПоследнийЗапрос.Порядок      КАК Порядок,
ИсходныеДанныеПоследнийЗапрос.Номенклатура КАК Номенклатура,
ИсходныеДанныеПоследнийЗапрос.Характеристика КАК Характеристика,
ИсходныеДанныеПоследнийЗапрос.Упаковка КАК Упаковка,
ВЫБОР КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) Тогда
ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаИзмерения
ИНАЧЕ
ИсходныеДанныеПоследнийЗапрос.Упаковка
КОНЕЦ КАК УпаковкаЕдиницаИзмерения,
ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ВЫБОР КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая) ТОГДА Истина Иначе Ложь КОНЕЦ
ИНАЧЕ ВЫБОР КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая) ТОГДА Истина Иначе Ложь КОНЕЦ
КОНЕЦ КАК Весовой,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.Количество) КАК Количество,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.КоличествоЦенниковДляПечати) КАК КоличествоЦенниковДляПечати,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.КоличествоЭтикетокДляПечати) КАК КоличествоЭтикетокДляПечати,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.ШаблонЭтикеткиДляПечати) КАК ШаблонЭтикеткиДляПечати,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.ШаблонЦенникаДляПечати) КАК ШаблонЦенникаДляПечати,
МАКСИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод,
МАКСИМУМ(КодыТоваровПодключаемогоОборудованияOffline.Код) КАК КодПодключаемогоОборудованияOffline,
МАКСИМУМ(ВидыЦен.Ссылка) КАК ВидЦены,
МАКСИМУМ(Организации.Ссылка) КАК Организация,
МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена,
МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК ДатаПоследнегоИзмененияЦены,
МАКСИМУМ(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК ОстатокНаСкладе,
НоменклатураСегмента.Сегмент КАК Сегмент,
МАКСИМУМ(&ТекущееВремя) КАК ТекущееВремя,
МАКСИМУМ(Пользователи.Ссылка) КАК ТекущийПользователь
{ВЫБРАТЬ
Номенклатура.*,
Характеристика.*,
Упаковка.*,
УпаковкаЕдиницаИзмерения,
Весовой,
Количество,
КоличествоЦенниковДляПечати,
КоличествоЭтикетокДляПечати,
ШаблонЦенникаДляПечати,
ШаблонЭтикеткиДляПечати,
Штрихкод,
КодПодключаемогоОборудованияOffline,
ВидЦены.*,
Организация.*,
Цена,
ДатаПоследнегоИзмененияЦены,
ОстатокНаСкладе,
Сегмент.*,
ТекущееВремя,
ТекущийПользователь.*}
ИЗ
ИсходныеДанные КАК ИсходныеДанныеПоследнийЗапрос
{ЛЕВОЕ СОЕДИНЕНИЕ ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = ШтрихкодыНоменклатуры.Характеристика
И ИсходныеДанныеПоследнийЗапрос.Упаковка = ШтрихкодыНоменклатуры.Упаковка}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КодыТоваровПодключаемогоОборудованияOffline КАК КодыТоваровПодключаемогоОборудованияOffline
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = КодыТоваровПодключаемогоОборудованияOffline.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = КодыТоваровПодключаемогоОборудованияOffline.Характеристика
И ИсходныеДанныеПоследнийЗапрос.Упаковка = КодыТоваровПодключаемогоОборудованияOffline.Упаковка
И &ПравилоОбмена = КодыТоваровПодключаемогоОборудованияOffline.ПравилоОбмена}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), ВидЦены = &ВидЦены {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ЦеныНоменклатурыСрезПоследних
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = НоменклатураСегмента.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = НоменклатураСегмента.Характеристика}
{ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
ПО (ВидыЦен.Ссылка = &ВидЦены)}
{ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
ПО (Организации.Ссылка = &Организация)}
{ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО (Пользователи.Ссылка = &ТекущийПользователь)}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = ТоварыНаСкладахОстатки.Характеристика
И (ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка))}
{ГДЕ
ИсходныеДанныеПоследнийЗапрос.Номенклатура.* КАК Номенклатура,
ИсходныеДанныеПоследнийЗапрос.Характеристика.* КАК Характеристика,
ИсходныеДанныеПоследнийЗапрос.Упаковка.* КАК Упаковка,
ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
КодыТоваровПодключаемогоОборудованияOffline.Код КАК КодПодключаемогоОборудованияOffline,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Период КАК ДатаПоследнегоИзмененияЦены,
ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ОстатокНаСкладе,
ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ВЫБОР КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая) ТОГДА Истина Иначе Ложь КОНЕЦ
ИНАЧЕ ВЫБОР КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая) ТОГДА Истина Иначе Ложь КОНЕЦ
КОНЕЦ КАК Весовой,
НоменклатураСегмента.Сегмент.* КАК Сегмент}

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

Пытаюсь получить предпоследнюю цену, написал вот так:
ВЫБРАТЬ
ИсходныеДанные.Номенклатура КАК Номенклатура,
ИсходныеДанные.Характеристика КАК Характеристика,
ИсходныеДанные.Упаковка КАК Упаковка,
ИсходныеДанные.Количество КАК Количество,
ИсходныеДанные.Порядок КАК Порядок,
"КоличествоЦенников" КАК КоличествоЦенниковДляПечати,
"КоличествоЭтикеток" КАК КоличествоЭтикетокДляПечати,
"ШаблонЭтикетки" КАК ШаблонЭтикеткиДляПечати,
"ШаблонЦенника" КАК ШаблонЦенникаДляПечати
ПОМЕСТИТЬ ИсходныеДанные
ИЗ
(ВЫБРАТЬ
ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) КАК Номенклатура,
ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Характеристика,
ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) КАК Упаковка,
0 КАК Порядок,
0 КАК Количество) КАК ИсходныеДанные

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
Упаковка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Штрихкоды.Номенклатура КАК Номенклатура,
Штрихкоды.Характеристика КАК Характеристика,
Штрихкоды.Упаковка КАК Упаковка,
МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод
ПОМЕСТИТЬ ШтрихкодыНоменклатуры
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК Штрихкоды
ГДЕ
(Штрихкоды.Номенклатура, Штрихкоды.Характеристика, Штрихкоды.Упаковка) В
(ВЫБРАТЬ
ИсходныеДанные.Номенклатура,
ИсходныеДанные.Характеристика,
ИсходныеДанные.Упаковка
ИЗ
ИсходныеДанные)
{ГДЕ
Штрихкоды.Номенклатура.*,
Штрихкоды.Характеристика.*,
Штрихкоды.Упаковка.*}

СГРУППИРОВАТЬ ПО
Штрихкоды.Номенклатура,
Штрихкоды.Характеристика,
Штрихкоды.Упаковка

ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
Упаковка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИсходныеДанныеПоследнийЗапрос.Порядок КАК Порядок,
ИсходныеДанныеПоследнийЗапрос.Номенклатура КАК Номенклатура,
ИсходныеДанныеПоследнийЗапрос.Характеристика КАК Характеристика,
ИсходныеДанныеПоследнийЗапрос.Упаковка КАК Упаковка,
ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаИзмерения
ИНАЧЕ ИсходныеДанныеПоследнийЗапрос.Упаковка
КОНЕЦ КАК УпаковкаЕдиницаИзмерения,
ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
КОНЕЦ КАК Весовой,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.Количество) КАК Количество,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.КоличествоЦенниковДляПечати) КАК КоличествоЦенниковДляПечати,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.КоличествоЭтикетокДляПечати) КАК КоличествоЭтикетокДляПечати,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.ШаблонЭтикеткиДляПечати) КАК ШаблонЭтикеткиДляПечати,
МАКСИМУМ(ИсходныеДанныеПоследнийЗапрос.ШаблонЦенникаДляПечати) КАК ШаблонЦенникаДляПечати,
МАКСИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод,
МАКСИМУМ(КодыТоваровПодключаемогоОборудованияOffline.Код) КАК КодПодключаемогоОборудованияOffline,
МАКСИМУМ(ВидыЦен.Ссылка) КАК ВидЦены,
МАКСИМУМ(Организации.Ссылка) КАК Организация,
МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена,
МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК ДатаПоследнегоИзмененияЦены,
МАКСИМУМ(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК ОстатокНаСкладе,
НоменклатураСегмента.Сегмент КАК Сегмент,
МАКСИМУМ(&ТекущееВремя) КАК ТекущееВремя,
МАКСИМУМ(Пользователи.Ссылка) КАК ТекущийПользователь,
ЦеныНоменклатуры.Цена КАК СтараяЦена
{ВЫБРАТЬ
Номенклатура.*,
Характеристика.*,
Упаковка.*,
УпаковкаЕдиницаИзмерения,
Весовой,
Количество,
КоличествоЦенниковДляПечати,
КоличествоЭтикетокДляПечати,
ШаблонЦенникаДляПечати,
ШаблонЭтикеткиДляПечати,
Штрихкод,
КодПодключаемогоОборудованияOffline,
ВидЦены.*,
Организация.*,
Цена,
ДатаПоследнегоИзмененияЦены,
ОстатокНаСкладе,
Сегмент.*,
ТекущееВремя,
ТекущийПользователь.*,
СтараяЦена}
ИЗ
ИсходныеДанные КАК ИсходныеДанныеПоследнийЗапрос
{ЛЕВОЕ СОЕДИНЕНИЕ ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = ШтрихкодыНоменклатуры.Характеристика
И ИсходныеДанныеПоследнийЗапрос.Упаковка = ШтрихкодыНоменклатуры.Упаковка}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КодыТоваровПодключаемогоОборудованияOffline КАК КодыТоваровПодключаемогоОборудованияOffline
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = КодыТоваровПодключаемогоОборудованияOffline.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = КодыТоваровПодключаемогоОборудованияOffline.Характеристика
И ИсходныеДанныеПоследнийЗапрос.Упаковка = КодыТоваровПодключаемогоОборудованияOffline.Упаковка
И (&ПравилоОбмена = КодыТоваровПодключаемогоОборудованияOffline.ПравилоОбмена)}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Дата, ДЕНЬ), ВидЦены = &ВидЦены {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ЦеныНоменклатурыСрезПоследних

ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ЦеныНоменклатурыСрезПоследних.Период > ЦеныНоменклатуры.Период
И (ЦеныНоменклатуры.ВидЦены = &ВидЦены)

ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = НоменклатураСегмента.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = НоменклатураСегмента.Характеристика}
{ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
ПО (ВидыЦен.Ссылка = &ВидЦены)}
{ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
ПО (Организации.Ссылка = &Организация)}
{ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
ПО (Пользователи.Ссылка = &ТекущийПользователь)}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
ПО ИсходныеДанныеПоследнийЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
И ИсходныеДанныеПоследнийЗапрос.Характеристика = ТоварыНаСкладахОстатки.Характеристика
И (ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка))}
{ГДЕ
ИсходныеДанныеПоследнийЗапрос.Номенклатура.* КАК Номенклатура,
ИсходныеДанныеПоследнийЗапрос.Характеристика.* КАК Характеристика,
ИсходныеДанныеПоследнийЗапрос.Упаковка.* КАК Упаковка,
ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
КодыТоваровПодключаемогоОборудованияOffline.Код КАК КодПодключаемогоОборудованияOffline,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Период КАК ДатаПоследнегоИзмененияЦены,
ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ОстатокНаСкладе,
(ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА ИсходныеДанныеПоследнийЗапрос.Упаковка.ЕдиницаИзмерения.ТипЕдиницыИзмерения = ЗНАЧЕНИЕ(Перечисление.ТипыЕдиницИзмерения.Весовая)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
КОНЕЦ) КАК Весовой,
НоменклатураСегмента.Сегмент.* КАК Сегмент}

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

УПОРЯДОЧИТЬ ПО
ИсходныеДанныеПоследнийЗапрос.Порядок

но запрос возвращает все неодинаковые ранее установленные цены


Оффлайн Rasty

  • *****
  • Сообщений: 988
  • РЕПУТАЦИЯ: 139
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
Берем последние цены, потом по дате сравниваем и ищем самую ближайшую
Добавлено: 06 Май 2015, 14:24

Или берешь все цены, сортируешь по дате и берешь значение n-2, где n - кол-во
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн roofless

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Stay hungry, stay foolish (с)
  • Регистрация: 2014-06-21
    • Skype: roof-less
  • Компания: РЦ "Капитан"
  • Профессия: Ученик 1С
Берем последние цены, потом по дате сравниваем и ищем самую ближайшую
Добавлено: 06 Май 2015, 14:24

Или берешь все цены, сортируешь по дате и берешь значение n-2, где n - кол-во
отдельным запросом получается, а в рамках допила этого стандартного запроса не выходит. либо могу получить только 1 номенклатуру, либо все номенклатуру + ранее установленные цены

Оффлайн Rasty

  • *****
  • Сообщений: 988
  • РЕПУТАЦИЯ: 139
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
Зашибень цикл, установит параметр запроса номенклатура, и записывай в ТЗ че та типа
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура");
ТЗ.Колонки.Добавить("Цена");
НоваяСтрока = ТЗ.Добавить();
Запрос.текст =
"Тут твой текст"
Для каждого Стр из ТвоейТЧОткудаБерешьНомеклатуру Цикл
    Запрос.УстановитьПараметр("ИмяПараметра",Стр.Номенклатура);
    Выборка = Запрос.Выполнить().Выбрать();
    Результ = Выборка.Получить(Выборка.Количество()-2);   
    НоваяСтрока.Номенклатура = Стр.Номенклатура;
    НоваяСтрока.Цена = Результ.Цена;
КонецЦикла;
Это полное извращение, но все же
Можно еще вложенный запрос, но это очень долго объяснять       
Добавлено: 09 Май 2015, 10:53

Бдин, только НоваяСтрока=ТЗ.Добавить() в цикл запихнуть
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Последний раз редактировалось: Rasty; 09 Май 2015, 10:53. Причина: Объединение сообщений

Оффлайн nemox

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 4
  • КПД: 31%
  • Регистрация: 2015-04-18
  • Сайт: 
  • Профессия: Программист 1С
А конструкция ВЫБРАТЬ ПЕРВЫЕ 1 не подойдет?

Оффлайн roofless

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Stay hungry, stay foolish (с)
  • Регистрация: 2014-06-21
    • Skype: roof-less
  • Компания: РЦ "Капитан"
  • Профессия: Ученик 1С
А конструкция ВЫБРАТЬ ПЕРВЫЕ 1 не подойдет?
в таком случае получу только одну номенклатуру


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 812
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal