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

отчет о новых товарах

Автор gliokker, 14 окт 2015, 14:58

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

gliokker

Всем привет есть отчет на СКД. Мне нужно чтобы в отчет не выводились продажи по определённой организации вот код.
ВЫБРАТЬ
   ТоварыВРозницеОбороты.Номенклатура КАК Номенклатура,
   ТоварыВРозницеОбороты.Склад КАК Склад
ПОМЕСТИТЬ ВТ_НовыеТовары
ИЗ
   РегистрНакопления.ТоварыВРознице.Обороты({(&НачалоПериодаНовыхТоваров)}, {(&НачалоПериодаМинус1День)}, Регистратор, ) КАК ТоварыВРозницеОбороты
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице КАК ТоварыВРознице
      ПО ТоварыВРозницеОбороты.Склад = ТоварыВРознице.Склад
         И ТоварыВРозницеОбороты.Номенклатура = ТоварыВРознице.Номенклатура
      
ГДЕ
   ТоварыВРознице.ВидДвижения = &Приход
   И ТИПЗНАЧЕНИЯ(ТоварыВРозницеОбороты.Регистратор.Ссылка) <> ТИП(Документ.ПереоценкаТоваровВРознице)

СГРУППИРОВАТЬ ПО
   ТоварыВРозницеОбороты.Склад,
   ТоварыВРозницеОбороты.Номенклатура,
   ТоварыВРознице.Период

ИМЕЮЩИЕ
   КОЛИЧЕСТВО(ТоварыВРозницеОбороты.Регистратор) = 1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТоварыВРозницеОстатки.Склад,
   ТоварыВРозницеОстатки.Номенклатура,
   ТоварыВРозницеОстатки.КоличествоКонечныйОстаток,
   ТоварыВРозницеОстатки.КоличествоНачальныйОстаток,
   ПартииТоваровНаСкладахОстатки.СтоимостьОстаток КАК СуммаЗакупочнаяОстаток,
   ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоРасход, 0) КАК КоличествоПродано,
   ТоварыВРозницеОстатки.СуммаПродажнаяРасход КАК СуммаПродано,
   ТоварыВРозницеОстатки.Номенклатура.ЕдиницаДляОтчетов КАК ЕдИзм,
   МАКСИМУМ(ТоварыВРознице.Период) КАК ДатаПоследнейПродажи,
   МАКСИМУМ(ТоварыВРозницеПоступление.Период) КАК ДатаПоследнегоПрихода,
   ТоварыВРозницеПоступление.Количество
ИЗ
   ВТ_НовыеТовары КАК ВТ_НовыеТовары
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , Номенклатура.ВидНоменклатуры = &ВидНоменклатуры ,
      Регистратор.Организация <> &Нефть  ) КАК ТоварыВРозницеОстатки
      
         ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки({(&КонецПериода)}, ) КАК ПартииТоваровНаСкладахОстатки
         ПО ТоварыВРозницеОстатки.Номенклатура = ПартииТоваровНаСкладахОстатки.Номенклатура
            И ТоварыВРозницеОстатки.Склад = ПартииТоваровНаСкладахОстатки.Склад
      ПО (ТоварыВРозницеОстатки.Склад = ВТ_НовыеТовары.Склад)
         И (ТоварыВРозницеОстатки.Номенклатура = ВТ_НовыеТовары.Номенклатура)
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице КАК ТоварыВРознице
      ПО ВТ_НовыеТовары.Склад = ТоварыВРознице.Склад
         И ВТ_НовыеТовары.Номенклатура = ТоварыВРознице.Номенклатура
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице КАК ТоварыВРозницеПоступление
      ПО ВТ_НовыеТовары.Склад = ТоварыВРозницеПоступление.Склад
         И ВТ_НовыеТовары.Номенклатура = ТоварыВРозницеПоступление.Номенклатура
ГДЕ
   (ТоварыВРозницеОстатки.Склад ЕСТЬ НЕ NULL
         ИЛИ ТоварыВРозницеОстатки.Номенклатура ЕСТЬ НЕ NULL )
   И ТоварыВРознице.Период <= &КонецПериода
   И ТоварыВРознице.Период >= &НачалоПериода
   И ТоварыВРознице.ВидДвижения = &Расход
   И ТоварыВРозницеПоступление.ВидДвижения = &Приход
   И ТоварыВРозницеПоступление.Период <= &НачалоПериодаМинус1День
   И ТоварыВРозницеПоступление.Период >= &НачалоПериодаНовыхТоваров
   СГРУППИРОВАТЬ ПО
   ТоварыВРозницеОстатки.Склад,
   ТоварыВРозницеОстатки.Номенклатура,
   ТоварыВРозницеОстатки.КоличествоКонечныйОстаток,
   ТоварыВРозницеОстатки.КоличествоНачальныйОстаток,
   ПартииТоваровНаСкладахОстатки.СтоимостьОстаток,
   ТоварыВРозницеОстатки.СуммаПродажнаяРасход,
   ТоварыВРозницеОстатки.Номенклатура.ЕдиницаДляОтчетов,
   ЕСТЬNULL(ТоварыВРозницеОстатки.КоличествоРасход, 0),
   ТоварыВРозницеПоступление.Количество
Вот этот кусок кода не работает
Регистратор.Организация <> &Нефть
То есть параметр Нефть имеет тип справочникссылка.организации
при открытии я его добавил
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Нефть", Справочники.Организации.НайтиПоКоду("УТ0000002"));
вот не могу понять куда его вставить чтобы условие выполнялось

ferrari314

Вставьте его в программиста.:)
1 правило СКД : Если вы не знаете как редактировать СКД - не редактируйте СКД

gliokker

Цитата: ferrari314 от 14 окт 2015, 15:12
Вставьте его в программиста.:)
1 правило СКД : Если вы не знаете как редактировать СКД - не редактируйте СКД
Откуда вы такие умные берётесь?
Я не чего не редактирую это мой личный код, не знаете решение проблемы идите лесом.

ferrari314

Цитироватьэто мой личный код
Человек написал код на СКД но не знает как его вставить в СКД.
Что еще сказать..:lol: Уникальный случай.
Цитироватьэто мой личный код
Прям личный? :lol:

gliokker

Ну где вы великие умы
Могу чуть пояснить,
в первом запросе мы выбираем новые товары и помещаем их в таблицу значений, потом работаем только с ними
Самая сложность заключается в том что нам нужно чтобы расход по организации (нефть) не попадал в отчёт
Приход не катит.
ИЗ
   ВТ_НовыеТовары КАК ВТ_НовыеТовары
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , Номенклатура.ВидНоменклатуры = &ВидНоменклатуры ,
      Регистратор.Организация <> &Нефть  ) КАК ТоварыВРозницеОстатки
здесь регистратор не видит
а Номенклатура.ВидНоменклатуры = &ВидНоменклатур  Номенклатуру увидел.

Добавлено: 14 окт 2015, 15:33


Цитата: ferrari314 от 14 окт 2015, 15:30
Цитироватьэто мой личный код
Человек написал код на СКД но не знает как его вставить в СКД.
Что еще сказать..:lol: Уникальный случай.
Цитироватьэто мой личный код
Прям личный? :lol:
Лесом едь

ferrari314

ну так уже понятнее.
нужно добавить в скд набор данных-объект и в процедуре ПроцессорКомпоновкиДанных.Инициализировать() передать значение внешнего набора.
только зачем такие сложности.
Добавлено: 14 окт 2015, 15:35


ЦитироватьЛесом едь
помогай вам потом :^454^:

gliokker

Цитата: ferrari314 от 14 окт 2015, 15:34
ну так уже понятнее.
нужно добавить в скд набор данных-объект и в процедуре ПроцессорКомпоновкиДанных.Инициализировать() передать значение внешнего набора.
только зачем такие сложности.
Добавлено: 14 окт 2015, 15:35


ЦитироватьЛесом едь
помогай вам потом :^454^:
Я конечно не понял в чем здесь сложности, у вас есть другие варианты отбора новых товаров?
Такой процедуры (ПроцессорКомпоновкиДанных.Инициализировать()у меня нету но я попробую то что вы сказали. Но я думаю что отчёт будет работать медленнее
Если ещё у кого какие нибудь догадки?

vitasw

Какая конфигурация?
Вынесите код поиска организации в экспортную функции общего модуля и вызывайте ее в качестве выражения для параметра в СКД.

Теги:

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

Рейтинг@Mail.ru

Поиск