Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 05:45

СКД

Автор Tyshkan, 08 мая 2013, 12:43

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

Tyshkan

Добрый день. Необходимо в отчет вывести  Номенклатуру и 2 последним цены по ней. может кто подскажет. Спасибо

Besart

соедините две таблицы ЦеныНоменклатурыСрезПоследних и ЦеныНоменклатуры (физическая таблица), по полю номенклатура и выберите из обоих таблиц цену

Tyshkan

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

Besart

интересная задачка, с помощью СКД решить не удалось,кому не жалко своего времени - помогите решить
Добавлено: 12 мая 2013, 23:07


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

РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ТабДок = РезультатЗапроса.Выгрузить();
Для каждого Строка Из  Табдок Цикл
       Если  Строка.ПредыдущаяЦена = Null Тогда
       Табдок.Удалить(Строка);
   КонецЕсли;
   КонецЦикла;

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
          Номенклатура = Неопределено;
Для каждого Строка Из  Табдок Цикл
Если  Строка.Номенклатура = Номенклатура Тогда
Номенклатура = Строка.Номенклатура;
Табдок.Удалить(Строка);
ВыборкаДетальныеЗаписи.Сбросить();
   Иначе
Номенклатура = Строка.Номенклатура;
             КонецЕсли;      
КонецЦикла;
КонецЦикла;

в ТаюДок попадает та номенклатура у которой хоть раз менялась цена, не попадает номенклатура которая продавалаь один раз, осталось только вывести ТабДок на экран

Dethmontt

Через СКД

Добавлено: 13 мая 2013, 02:10


Немного подправил условия соединения
Добавил по характеристикам и типам цен (в принципе почти готовый отчет)

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Besart

Цитата: Dethmontt от 12 мая 2013, 23:09Через СКД
не работает, так как у вас цена вынесена в ресурсы, то рассчитывается неверно, а если из ресурсов убрать, тогда цены вообще не выходят, я уже так пробовал и не смог победить

Dethmontt

Так ты отбор по типу цен поставь.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Besart

а у меня нету типа цен, а вот рабочий отчет, в отчет не включается один раз проданная номенклатруа, можно было и ее попробовать включить, но надоело возиться

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск