По сути простой вопрос, помогите разобраться. Нужна срочность, с удовольствием кину 200р на телефон тому, кто поможет.
В конфигурации розница есть отчет ПродажиОстаткиТовараВДняхТорговли. Нужно, чтобы в доступных полях помимо Магазина, Номенклатуры, Товарной группы, Характеристика, появилось поле Склад.
Как я понимаю, нужно добавить пару строчек кода в запрос в схеме компановки данных. Вот код запроса:
В конфигурации розница есть отчет ПродажиОстаткиТовараВДняхТорговли. Нужно, чтобы в доступных полях помимо Магазина, Номенклатуры, Товарной группы, Характеристика, появилось поле Склад.
Как я понимаю, нужно добавить пару строчек кода в запрос в схеме компановки данных. Вот код запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Склады.Магазин КАК Магазин,
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
Склады.Ссылка КАК Ссылка
ПОМЕСТИТЬ ТоварыНаСкладахОстатки
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки({(&КонецПериода)}, {(Номенклатура).* КАК Номенклатура, (Склад.Магазин).* КАК Магазин, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
ПО (Склады.Ссылка = ТоварыНаСкладахОстатки.Склад)
СГРУППИРОВАТЬ ПО
Склады.Магазин,
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.Характеристика,
Склады.Ссылка
ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПродажиОбороты.Период КАК Период,
ПродажиОбороты.Магазин КАК Магазин,
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.Характеристика КАК Характеристика,
СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот,
СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
ПОМЕСТИТЬ ПродажиОбороты
ИЗ
РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, {(Номенклатура).* КАК Номенклатура, (Магазин).* КАК Магазин, (Характеристика).* КАК Характеристика}) КАК ПродажиОбороты
СГРУППИРОВАТЬ ПО
ПродажиОбороты.Период,
ПродажиОбороты.Магазин,
ПродажиОбороты.Номенклатура,
ПродажиОбороты.Характеристика
ИНДЕКСИРОВАТЬ ПО
Период,
Номенклатура,
Характеристика
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Магазины.Ссылка КАК Магазин,
Магазины.ПравилоЦенообразования КАК ПравилоЦенообразования
ПОМЕСТИТЬ ТаблицаМагазиновЦеныНоменклатуры
ИЗ
Справочник.Магазины КАК Магазины
ГДЕ
НЕ(Магазины.ИспользоватьПрименениеЦен
И &ИспользоватьПрименениеЦен)
{ГДЕ
Магазины.Ссылка.* КАК Магазин}
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Магазины.Ссылка КАК Магазин
ПОМЕСТИТЬ ТаблицаМагазиновДействующиеЦены
ИЗ
Справочник.Магазины КАК Магазины
ГДЕ
Магазины.ИспользоватьПрименениеЦен
И &ИспользоватьПрименениеЦен
{ГДЕ
Магазины.Ссылка.* КАК Магазин}
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа,
ЦеновыеГруппы.ВидЦен КАК ВидЦен,
ЦеновыеГруппы.Ссылка КАК ПравилоЦенообразования
ПОМЕСТИТЬ ЦеновыеГруппыПравила
ИЗ
Справочник.ПравилаЦенообразования.ЦеновыеГруппы КАК ЦеновыеГруппы
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО ЦеновыеГруппы.Ссылка = ТаблицаМагазинов.ПравилоЦенообразования
ИНДЕКСИРОВАТЬ ПО
ВидЦен,
ЦеноваяГруппа
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВидЦеныПравила.ВидЦен КАК ВидЦен,
ВидЦеныПравила.Ссылка КАК ПравилоЦенообразования
ПОМЕСТИТЬ ВидЦеныПравила
ИЗ
Справочник.ПравилаЦенообразования КАК ВидЦеныПравила
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО ВидЦеныПравила.Ссылка = ТаблицаМагазинов.ПравилоЦенообразования
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИтоговыйЗапрос.Магазин КАК Магазин,
ИтоговыйЗапрос.Номенклатура КАК Номенклатура,
ИтоговыйЗапрос.Характеристика КАК Характеристика,
ВЫРАЗИТЬ(ВЫБОР
КОГДА ИтоговыйЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ИтоговыйЗапрос.Цена
ИНАЧЕ ИтоговыйЗапрос.Цена / ИтоговыйЗапрос.Упаковка.Коэффициент
КОНЕЦ КАК ЧИСЛО(15, 2)) КАК РозничнаяЦена
ПОМЕСТИТЬ ЦеныМагазинов
ИЗ
(ВЫБРАТЬ
ПодЗапрос.Магазин КАК Магазин,
ПодЗапрос.Номенклатура КАК Номенклатура,
ПодЗапрос.Характеристика КАК Характеристика,
ВЫБОР
КОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам) > 0
ТОГДА МАКСИМУМ(ПодЗапрос.УпаковкаПоЦеновымГруппам)
ИНАЧЕ МАКСИМУМ(ПодЗапрос.УпаковкаПоВидуЦен)
КОНЕЦ КАК Упаковка,
ВЫБОР
КОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам) > 0
ТОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам)
ИНАЧЕ МАКСИМУМ(ПодЗапрос.ЦенаПоВидуЦен)
КОНЕЦ КАК Цена
ИЗ
(ВЫБРАТЬ
ЦеныНоменклатурыПоВидуЦен.Номенклатура КАК Номенклатура,
ЦеныНоменклатурыПоВидуЦен.Характеристика КАК Характеристика,
ЦеныНоменклатурыПоВидуЦен.Упаковка КАК УпаковкаПоВидуЦен,
ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) КАК УпаковкаПоЦеновымГруппам,
ЦеныНоменклатурыПоВидуЦен.Цена КАК ЦенаПоВидуЦен,
0 КАК ЦенаПоЦеновымГруппам,
ТаблицаМагазинов.Магазин КАК Магазин
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыПоВидуЦен
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидЦеныПравила КАК ВидЦеныПравила
ПО (ВидЦеныПравила.ВидЦен = ЦеныНоменклатурыПоВидуЦен.ВидЦены)
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО (ТаблицаМагазинов.ПравилоЦенообразования = ВидЦеныПравила.ПравилоЦенообразования)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
СправочникНоменклатура.Ссылка,
ЦеныНоменклатурыПоЦеновымГруппам.Характеристика,
ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка),
ЦеныНоменклатурыПоЦеновымГруппам.Упаковка,
0,
ЕСТЬNULL(ЦеныНоменклатурыПоЦеновымГруппам.Цена, 0),
ТаблицаМагазинов.Магазин
ИЗ
ЦеновыеГруппыПравила КАК ЦеновыеГруппыПравила
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
ПО ЦеновыеГруппыПравила.ЦеноваяГруппа = СправочникНоменклатура.ЦеноваяГруппа
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
{(&КонецПериода)},
ВидЦены В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ЦеновыеГруппыПравила.ВидЦен
ИЗ
ЦеновыеГруппыПравила) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ЦеныНоменклатурыПоЦеновымГруппам
ПО (ЦеныНоменклатурыПоЦеновымГруппам.Номенклатура = СправочникНоменклатура.Ссылка)
И (ЦеныНоменклатурыПоЦеновымГруппам.ВидЦены = ЦеновыеГруппыПравила.ВидЦен)
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО (ТаблицаМагазинов.ПравилоЦенообразования = ЦеновыеГруппыПравила.ПравилоЦенообразования)) КАК ПодЗапрос
СГРУППИРОВАТЬ ПО
ПодЗапрос.Номенклатура,
ПодЗапрос.Характеристика,
ПодЗапрос.Магазин
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДействующиеЦены.ОбъектЦенообразования,
ДействующиеЦены.Номенклатура,
ДействующиеЦены.Характеристика,
ДействующиеЦены.Упаковка,
ДействующиеЦены.Цена
ИЗ
РегистрСведений.ДействующиеЦеныНоменклатуры.СрезПоследних(
{(&КонецПериода)},
ОбъектЦенообразования В
(ВЫБРАТЬ
ТаблицаМагазиновДействующиеЦены.Магазин
ИЗ
ТаблицаМагазиновДействующиеЦены) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ДействующиеЦены) КАК ИтоговыйЗапрос
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
РезультирующаяТаблица.Магазин КАК Магазин,
РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа КАК ТоварнаяГруппа,
РезультирующаяТаблица.Номенклатура КАК Номенклатура,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмеренияПродажа,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмеренияОстаток,
РезультирующаяТаблица.Характеристика КАК Характеристика,
РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1 КАК КоличествоДнейВПериоде,
СУММА(РезультирующаяТаблица.СтоимостьОборот) КАК СтоимостьОборот,
СУММА(РезультирующаяТаблица.КоличествоОборот) КАК КоличествоОборот,
СУММА(РезультирующаяТаблица.СебестоимостьПродаж) КАК СебестоимостьПродаж,
СУММА(РезультирующаяТаблица.ПродажаДоход) КАК ПродажаДоход,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СтоимостьОборот) / СУММА(РезультирующаяТаблица.КоличествоОборот)
КОНЕЦ КАК ПродажиЦенаРозничная,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьПродаж) / СУММА(РезультирующаяТаблица.КоличествоОборот)
КОНЕЦ КАК ПродажиЦенаСебестоимость,
ВЫБОР
КОГДА &СпособРасчетаДнейТорговли = 1
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.КоличествоОстаток) / СУММА(РезультирующаяТаблица.КоличествоОборот) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОГДА &СпособРасчетаДнейТорговли = 2
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.СебестоимостьПродаж) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьОстаток) / СУММА(РезультирующаяТаблица.СебестоимостьПродаж) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОГДА &СпособРасчетаДнейТорговли = 3
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.СтоимостьОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) / СУММА(РезультирующаяТаблица.СтоимостьОборот) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОНЕЦ КАК День,
СУММА(РезультирующаяТаблица.КоличествоОстаток) КАК КоличествоОстаток,
СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) КАК СуммаРозничнаяОстаток,
СУММА(РезультирующаяТаблица.СебестоимостьОстаток) КАК СебестоимостьОстаток,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОстаток) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьОстаток) / СУММА(РезультирующаяТаблица.КоличествоОстаток)
КОНЕЦ КАК ОстатокЦенаСебестоимость,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОстаток) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) / СУММА(РезультирующаяТаблица.КоличествоОстаток)
КОНЕЦ КАК ОстатокЦенаРозничная
ИЗ
(ВЫБРАТЬ
ПродажиОстаткиЦена.Магазин КАК Магазин,
ПродажиОстаткиЦена.Номенклатура КАК Номенклатура,
ПродажиОстаткиЦена.Характеристика КАК Характеристика,
ПродажиОстаткиЦена.СтоимостьОборот КАК СтоимостьОборот,
ПродажиОстаткиЦена.КоличествоОборот КАК КоличествоОборот,
ПродажиОстаткиЦена.КоличествоОборот * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0) КАК СебестоимостьПродаж,
ПродажиОстаткиЦена.СтоимостьОборот - ПродажиОстаткиЦена.КоличествоОборот * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0) КАК ПродажаДоход,
0 КАК КоличествоОстаток,
0 КАК СуммаРозничнаяОстаток,
0 КАК СебестоимостьОстаток
ИЗ
ПродажиОбороты КАК ПродажиОстаткиЦена
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СебестоимостьНоменклатуры КАК СебестоимостьНоменклатуры
ПО ПродажиОстаткиЦена.Номенклатура = СебестоимостьНоменклатуры.Номенклатура
И ПродажиОстаткиЦена.Характеристика = СебестоимостьНоменклатуры.Характеристика
И (СебестоимостьНоменклатуры.Регистратор В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Регистратор
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ПродажиОстаткиЦена.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ПродажиОстаткиЦена.Номенклатура
И Себестоимость.Характеристика = ПродажиОстаткиЦена.Характеристика
И Себестоимость.Период <= ПродажиОстаткиЦена.Период
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
И (СебестоимостьНоменклатуры.Магазин В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Магазин
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ПродажиОстаткиЦена.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ПродажиОстаткиЦена.Номенклатура
И Себестоимость.Характеристика = ПродажиОстаткиЦена.Характеристика
И Себестоимость.Период <= ПродажиОстаткиЦена.Период
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ОстаткиТоваров.Магазин,
ОстаткиТоваров.Номенклатура,
ОстаткиТоваров.Характеристика,
0,
0,
0,
0,
ОстаткиТоваров.КоличествоОстаток,
ЕСТЬNULL(ЦеныМагазинов.РозничнаяЦена, 0) * ОстаткиТоваров.КоличествоОстаток,
ОстаткиТоваров.КоличествоОстаток * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0)
ИЗ
ТоварыНаСкладахОстатки КАК ОстаткиТоваров
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СебестоимостьНоменклатуры КАК СебестоимостьНоменклатуры
ПО ОстаткиТоваров.Номенклатура = СебестоимостьНоменклатуры.Номенклатура
И ОстаткиТоваров.Характеристика = СебестоимостьНоменклатуры.Характеристика
И (СебестоимостьНоменклатуры.Регистратор В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Регистратор
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ОстаткиТоваров.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ОстаткиТоваров.Номенклатура
И Себестоимость.Характеристика = ОстаткиТоваров.Характеристика
И (Себестоимость.Период <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1))
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
И (СебестоимостьНоменклатуры.Магазин В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Магазин
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ОстаткиТоваров.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ОстаткиТоваров.Номенклатура
И Себестоимость.Характеристика = ОстаткиТоваров.Характеристика
И (Себестоимость.Период <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1))
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
ЛЕВОЕ СОЕДИНЕНИЕ ЦеныМагазинов КАК ЦеныМагазинов
ПО (ЦеныМагазинов.Номенклатура = ОстаткиТоваров.Номенклатура)
И (ЦеныМагазинов.Характеристика = ОстаткиТоваров.Характеристика)
И (ЦеныМагазинов.Магазин = ОстаткиТоваров.Магазин)) КАК РезультирующаяТаблица
СГРУППИРОВАТЬ ПО
РезультирующаяТаблица.Магазин,
РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа,
РезультирующаяТаблица.Номенклатура,
РезультирующаяТаблица.Характеристика,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения
ПоказатьПо теме из базы знаний
- Загрузка данных о продажах WildBerries из API Статистики и Отчетов в формате *.xlsx в документ "Отчет комиссионера"
- Использование отчетов в конфигурациях на базе БСП 3.1.5 на примере 1С: Комплексная автоматизация 2.4
- Доработка типового отчета на СКД с помощью расширения
- Отчет "Анализ начисленных налогов и взносов" в 1С:Бухгалтерии предприятия 3.0
- Расшифровка отчета. Код, который я использую
Найденные решения
Вот измененный текст запроса (как писал ранее - протестировать мне его не на чем. Сравните тексты запросов, будет видно, что и где добавлялось (добавленное поле обрамлено комментарием). В СКД выводить так, как написано ранее). Мог что-то упустить, не обессудьте.:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Склады.Магазин КАК Магазин,
//Новое поле "Склад"
ТоварыНаСкладахОстатки.Склад КАК Склад,
//...Новое поле "Склад"
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
Склады.Ссылка КАК Ссылка
ПОМЕСТИТЬ ТоварыНаСкладахОстатки
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки({(&КонецПериода)}, {(Номенклатура).* КАК Номенклатура, (Склад.Магазин).* КАК Магазин, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
ПО (Склады.Ссылка = ТоварыНаСкладахОстатки.Склад)
СГРУППИРОВАТЬ ПО
Склады.Магазин,
//Новое поле "Склад"
Склады.Склад,
//...Новое поле "Склад"
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.Характеристика,
Склады.Ссылка
ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПродажиОбороты.Период КАК Период,
ПродажиОбороты.Магазин КАК Магазин,
//Новое поле "Склад"
ПродажиОбороты.Склад КАК Склад,
//...Новое поле "Склад"
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.Характеристика КАК Характеристика,
СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот,
СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
ПОМЕСТИТЬ ПродажиОбороты
ИЗ
РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, {(Номенклатура).* КАК Номенклатура, (Магазин).* КАК Магазин, (Характеристика).* КАК Характеристика}) КАК ПродажиОбороты
СГРУППИРОВАТЬ ПО
ПродажиОбороты.Период,
ПродажиОбороты.Магазин,
//Новое поле "Склад"
ПродажиОбороты.Склад,
//...Новое поле "Склад"
ПродажиОбороты.Номенклатура,
ПродажиОбороты.Характеристика
ИНДЕКСИРОВАТЬ ПО
Период,
Номенклатура,
Характеристика
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Магазины.Ссылка КАК Магазин,
Магазины.ПравилоЦенообразования КАК ПравилоЦенообразования
ПОМЕСТИТЬ ТаблицаМагазиновЦеныНоменклатуры
ИЗ
Справочник.Магазины КАК Магазины
ГДЕ
НЕ(Магазины.ИспользоватьПрименениеЦен
И &ИспользоватьПрименениеЦен)
{ГДЕ
Магазины.Ссылка.* КАК Магазин}
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Магазины.Ссылка КАК Магазин
ПОМЕСТИТЬ ТаблицаМагазиновДействующиеЦены
ИЗ
Справочник.Магазины КАК Магазины
ГДЕ
Магазины.ИспользоватьПрименениеЦен
И &ИспользоватьПрименениеЦен
{ГДЕ
Магазины.Ссылка.* КАК Магазин}
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа,
ЦеновыеГруппы.ВидЦен КАК ВидЦен,
ЦеновыеГруппы.Ссылка КАК ПравилоЦенообразования
ПОМЕСТИТЬ ЦеновыеГруппыПравила
ИЗ
Справочник.ПравилаЦенообразования.ЦеновыеГруппы КАК ЦеновыеГруппы
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО ЦеновыеГруппы.Ссылка = ТаблицаМагазинов.ПравилоЦенообразования
ИНДЕКСИРОВАТЬ ПО
ВидЦен,
ЦеноваяГруппа
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВидЦеныПравила.ВидЦен КАК ВидЦен,
ВидЦеныПравила.Ссылка КАК ПравилоЦенообразования
ПОМЕСТИТЬ ВидЦеныПравила
ИЗ
Справочник.ПравилаЦенообразования КАК ВидЦеныПравила
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО ВидЦеныПравила.Ссылка = ТаблицаМагазинов.ПравилоЦенообразования
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИтоговыйЗапрос.Магазин КАК Магазин,
ИтоговыйЗапрос.Номенклатура КАК Номенклатура,
ИтоговыйЗапрос.Характеристика КАК Характеристика,
ВЫРАЗИТЬ(ВЫБОР
КОГДА ИтоговыйЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ИтоговыйЗапрос.Цена
ИНАЧЕ ИтоговыйЗапрос.Цена / ИтоговыйЗапрос.Упаковка.Коэффициент
КОНЕЦ КАК ЧИСЛО(15, 2)) КАК РозничнаяЦена
ПОМЕСТИТЬ ЦеныМагазинов
ИЗ
(ВЫБРАТЬ
ПодЗапрос.Магазин КАК Магазин,
ПодЗапрос.Номенклатура КАК Номенклатура,
ПодЗапрос.Характеристика КАК Характеристика,
ВЫБОР
КОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам) > 0
ТОГДА МАКСИМУМ(ПодЗапрос.УпаковкаПоЦеновымГруппам)
ИНАЧЕ МАКСИМУМ(ПодЗапрос.УпаковкаПоВидуЦен)
КОНЕЦ КАК Упаковка,
ВЫБОР
КОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам) > 0
ТОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам)
ИНАЧЕ МАКСИМУМ(ПодЗапрос.ЦенаПоВидуЦен)
КОНЕЦ КАК Цена
ИЗ
(ВЫБРАТЬ
ЦеныНоменклатурыПоВидуЦен.Номенклатура КАК Номенклатура,
ЦеныНоменклатурыПоВидуЦен.Характеристика КАК Характеристика,
ЦеныНоменклатурыПоВидуЦен.Упаковка КАК УпаковкаПоВидуЦен,
ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) КАК УпаковкаПоЦеновымГруппам,
ЦеныНоменклатурыПоВидуЦен.Цена КАК ЦенаПоВидуЦен,
0 КАК ЦенаПоЦеновымГруппам,
ТаблицаМагазинов.Магазин КАК Магазин
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыПоВидуЦен
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидЦеныПравила КАК ВидЦеныПравила
ПО (ВидЦеныПравила.ВидЦен = ЦеныНоменклатурыПоВидуЦен.ВидЦены)
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО (ТаблицаМагазинов.ПравилоЦенообразования = ВидЦеныПравила.ПравилоЦенообразования)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
СправочникНоменклатура.Ссылка,
ЦеныНоменклатурыПоЦеновымГруппам.Характеристика,
ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка),
ЦеныНоменклатурыПоЦеновымГруппам.Упаковка,
0,
ЕСТЬNULL(ЦеныНоменклатурыПоЦеновымГруппам.Цена, 0),
ТаблицаМагазинов.Магазин
ИЗ
ЦеновыеГруппыПравила КАК ЦеновыеГруппыПравила
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
ПО ЦеновыеГруппыПравила.ЦеноваяГруппа = СправочникНоменклатура.ЦеноваяГруппа
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
{(&КонецПериода)},
ВидЦены В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ЦеновыеГруппыПравила.ВидЦен
ИЗ
ЦеновыеГруппыПравила) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ЦеныНоменклатурыПоЦеновымГруппам
ПО (ЦеныНоменклатурыПоЦеновымГруппам.Номенклатура = СправочникНоменклатура.Ссылка)
И (ЦеныНоменклатурыПоЦеновымГруппам.ВидЦены = ЦеновыеГруппыПравила.ВидЦен)
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО (ТаблицаМагазинов.ПравилоЦенообразования = ЦеновыеГруппыПравила.ПравилоЦенообразования)) КАК ПодЗапрос
СГРУППИРОВАТЬ ПО
ПодЗапрос.Номенклатура,
ПодЗапрос.Характеристика,
ПодЗапрос.Магазин
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДействующиеЦены.ОбъектЦенообразования,
ДействующиеЦены.Номенклатура,
ДействующиеЦены.Характеристика,
ДействующиеЦены.Упаковка,
ДействующиеЦены.Цена
ИЗ
РегистрСведений.ДействующиеЦеныНоменклатуры.СрезПоследних(
{(&КонецПериода)},
ОбъектЦенообразования В
(ВЫБРАТЬ
ТаблицаМагазиновДействующиеЦены.Магазин
ИЗ
ТаблицаМагазиновДействующиеЦены) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ДействующиеЦены) КАК ИтоговыйЗапрос
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
РезультирующаяТаблица.Магазин КАК Магазин,
//Новое поле "Склад"
РезультирующаяТаблица.Склад КАК Склад,
//...Новое поле "Склад"
РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа КАК ТоварнаяГруппа,
РезультирующаяТаблица.Номенклатура КАК Номенклатура,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмеренияПродажа,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмеренияОстаток,
РезультирующаяТаблица.Характеристика КАК Характеристика,
РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1 КАК КоличествоДнейВПериоде,
СУММА(РезультирующаяТаблица.СтоимостьОборот) КАК СтоимостьОборот,
СУММА(РезультирующаяТаблица.КоличествоОборот) КАК КоличествоОборот,
СУММА(РезультирующаяТаблица.СебестоимостьПродаж) КАК СебестоимостьПродаж,
СУММА(РезультирующаяТаблица.ПродажаДоход) КАК ПродажаДоход,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СтоимостьОборот) / СУММА(РезультирующаяТаблица.КоличествоОборот)
КОНЕЦ КАК ПродажиЦенаРозничная,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьПродаж) / СУММА(РезультирующаяТаблица.КоличествоОборот)
КОНЕЦ КАК ПродажиЦенаСебестоимость,
ВЫБОР
КОГДА &СпособРасчетаДнейТорговли = 1
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.КоличествоОстаток) / СУММА(РезультирующаяТаблица.КоличествоОборот) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОГДА &СпособРасчетаДнейТорговли = 2
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.СебестоимостьПродаж) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьОстаток) / СУММА(РезультирующаяТаблица.СебестоимостьПродаж) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОГДА &СпособРасчетаДнейТорговли = 3
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.СтоимостьОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) / СУММА(РезультирующаяТаблица.СтоимостьОборот) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОНЕЦ КАК День,
СУММА(РезультирующаяТаблица.КоличествоОстаток) КАК КоличествоОстаток,
СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) КАК СуммаРозничнаяОстаток,
СУММА(РезультирующаяТаблица.СебестоимостьОстаток) КАК СебестоимостьОстаток,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОстаток) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьОстаток) / СУММА(РезультирующаяТаблица.КоличествоОстаток)
КОНЕЦ КАК ОстатокЦенаСебестоимость,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОстаток) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) / СУММА(РезультирующаяТаблица.КоличествоОстаток)
КОНЕЦ КАК ОстатокЦенаРозничная
ИЗ
(ВЫБРАТЬ
ПродажиОстаткиЦена.Магазин КАК Магазин,
//Новое поле "Склад"
ПродажиОстаткиЦена.Склад КАК Склад,
//...Новое поле "Склад"
ПродажиОстаткиЦена.Номенклатура КАК Номенклатура,
ПродажиОстаткиЦена.Характеристика КАК Характеристика,
ПродажиОстаткиЦена.СтоимостьОборот КАК СтоимостьОборот,
ПродажиОстаткиЦена.КоличествоОборот КАК КоличествоОборот,
ПродажиОстаткиЦена.КоличествоОборот * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0) КАК СебестоимостьПродаж,
ПродажиОстаткиЦена.СтоимостьОборот - ПродажиОстаткиЦена.КоличествоОборот * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0) КАК ПродажаДоход,
0 КАК КоличествоОстаток,
0 КАК СуммаРозничнаяОстаток,
0 КАК СебестоимостьОстаток
ИЗ
ПродажиОбороты КАК ПродажиОстаткиЦена
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СебестоимостьНоменклатуры КАК СебестоимостьНоменклатуры
ПО ПродажиОстаткиЦена.Номенклатура = СебестоимостьНоменклатуры.Номенклатура
И ПродажиОстаткиЦена.Характеристика = СебестоимостьНоменклатуры.Характеристика
И (СебестоимостьНоменклатуры.Регистратор В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Регистратор
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ПродажиОстаткиЦена.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ПродажиОстаткиЦена.Номенклатура
И Себестоимость.Характеристика = ПродажиОстаткиЦена.Характеристика
И Себестоимость.Период <= ПродажиОстаткиЦена.Период
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
И (СебестоимостьНоменклатуры.Магазин В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Магазин
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ПродажиОстаткиЦена.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ПродажиОстаткиЦена.Номенклатура
И Себестоимость.Характеристика = ПродажиОстаткиЦена.Характеристика
И Себестоимость.Период <= ПродажиОстаткиЦена.Период
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ОстаткиТоваров.Магазин,
//Новое поле "Склад"
ОстаткиТоваров.Склад,
//...Новое поле "Склад"
ОстаткиТоваров.Номенклатура,
ОстаткиТоваров.Характеристика,
0,
0,
0,
0,
ОстаткиТоваров.КоличествоОстаток,
ЕСТЬNULL(ЦеныМагазинов.РозничнаяЦена, 0) * ОстаткиТоваров.КоличествоОстаток,
ОстаткиТоваров.КоличествоОстаток * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0)
ИЗ
ТоварыНаСкладахОстатки КАК ОстаткиТоваров
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СебестоимостьНоменклатуры КАК СебестоимостьНоменклатуры
ПО ОстаткиТоваров.Номенклатура = СебестоимостьНоменклатуры.Номенклатура
И ОстаткиТоваров.Характеристика = СебестоимостьНоменклатуры.Характеристика
И (СебестоимостьНоменклатуры.Регистратор В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Регистратор
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ОстаткиТоваров.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ОстаткиТоваров.Номенклатура
И Себестоимость.Характеристика = ОстаткиТоваров.Характеристика
И (Себестоимость.Период <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1))
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
И (СебестоимостьНоменклатуры.Магазин В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Магазин
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ОстаткиТоваров.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ОстаткиТоваров.Номенклатура
И Себестоимость.Характеристика = ОстаткиТоваров.Характеристика
И (Себестоимость.Период <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1))
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
ЛЕВОЕ СОЕДИНЕНИЕ ЦеныМагазинов КАК ЦеныМагазинов
ПО (ЦеныМагазинов.Номенклатура = ОстаткиТоваров.Номенклатура)
И (ЦеныМагазинов.Характеристика = ОстаткиТоваров.Характеристика)
И (ЦеныМагазинов.Магазин = ОстаткиТоваров.Магазин)) КАК РезультирующаяТаблица
СГРУППИРОВАТЬ ПО
РезультирующаяТаблица.Магазин,
//Новое поле "Склад"
РезультирующаяТаблица.Склад,
//...Новое поле "Склад"
РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа,
РезультирующаяТаблица.Номенклатура,
РезультирующаяТаблица.Характеристика,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вам нужно вывести поле "Склад" в ВТ "ТоварыНаСкладахОстатки" и "ПродажиОбороты". Далее в последнем пакете запроса во вложенном запросе "РезультирующаяТаблица" выбрать это поле в обоих запросах объединения. Далее нужно выбрать из этого вложенного запроса поле "Склад", добавить его в группировку последнего пакета, добавить его в ваши группировке на последней закладке схемы компановки.
(3)ВТ это Временная таблица.
Они написаны на ярлычках справа в конструкторе запросов. На самом нижнем ярлычке конструктора запросов выберите ярлык Группировка. Слева у вас будут доступные поля, а в правом верхнем поле у вас будут уже выбранные поля группировки. Слева у вас будет поле Склад, его нужно будет добавить к полям группировки.
ПОМЕСТИТЬ ТоварыНаСкладахОстатки
ПОМЕСТИТЬ ПродажиОбороты
Они написаны на ярлычках справа в конструкторе запросов. На самом нижнем ярлычке конструктора запросов выберите ярлык Группировка. Слева у вас будут доступные поля, а в правом верхнем поле у вас будут уже выбранные поля группировки. Слева у вас будет поле Склад, его нужно будет добавить к полям группировки.
ВТ - временная таблица (Выше подсказали). Тут к СКД не особо относится.
Можете просто по тексту запроса найти перечисленные в певом комменте таблицы и вывести туда склад (Например для пакета запроса "ПродажиОбороты" это будет "ПродажиОбороты.Склад,"). Со схемой компановки все зависит от того, как там сейчас у Вас реализовано. Тут либо просто вывести в выбранные поля (если группировка - "детальные записи") или добавить в саму схему (исли поля группировок указаны) (во вложении картинка с первым попавшимся отчетом. Может прояснит что-то).
Текст запроса, к сожалению, я могу только поправить без тестирования т.к. по рукой нет росийской розницы. По этому лучше Вы самостоятельно доработайте.
Можете просто по тексту запроса найти перечисленные в певом комменте таблицы и вывести туда склад (Например для пакета запроса "ПродажиОбороты" это будет "ПродажиОбороты.Склад,"). Со схемой компановки все зависит от того, как там сейчас у Вас реализовано. Тут либо просто вывести в выбранные поля (если группировка - "детальные записи") или добавить в саму схему (исли поля группировок указаны) (во вложении картинка с первым попавшимся отчетом. Может прояснит что-то).
Текст запроса, к сожалению, я могу только поправить без тестирования т.к. по рукой нет росийской розницы. По этому лучше Вы самостоятельно доработайте.
Прикрепленные файлы:
(6) У тебя в первой ВТ (ТоварыНаСкладахОстатки) в регистре накопления ТоварыНаСкладахОстатки должен быть реквизит "Склад" добавь его как указано на картинке. И потом в итоговом "Запрос пакете" Выбери его из ВТ (ТоварыНаСкладахОстатки) и дальше делай как (5) сказал
Прикрепленные файлы:
Вот измененный текст запроса (как писал ранее - протестировать мне его не на чем. Сравните тексты запросов, будет видно, что и где добавлялось (добавленное поле обрамлено комментарием). В СКД выводить так, как написано ранее). Мог что-то упустить, не обессудьте.:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Склады.Магазин КАК Магазин,
//Новое поле "Склад"
ТоварыНаСкладахОстатки.Склад КАК Склад,
//...Новое поле "Склад"
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
Склады.Ссылка КАК Ссылка
ПОМЕСТИТЬ ТоварыНаСкладахОстатки
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки({(&КонецПериода)}, {(Номенклатура).* КАК Номенклатура, (Склад.Магазин).* КАК Магазин, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
ПО (Склады.Ссылка = ТоварыНаСкладахОстатки.Склад)
СГРУППИРОВАТЬ ПО
Склады.Магазин,
//Новое поле "Склад"
Склады.Склад,
//...Новое поле "Склад"
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.Характеристика,
Склады.Ссылка
ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПродажиОбороты.Период КАК Период,
ПродажиОбороты.Магазин КАК Магазин,
//Новое поле "Склад"
ПродажиОбороты.Склад КАК Склад,
//...Новое поле "Склад"
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.Характеристика КАК Характеристика,
СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот,
СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
ПОМЕСТИТЬ ПродажиОбороты
ИЗ
РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, Регистратор, {(Номенклатура).* КАК Номенклатура, (Магазин).* КАК Магазин, (Характеристика).* КАК Характеристика}) КАК ПродажиОбороты
СГРУППИРОВАТЬ ПО
ПродажиОбороты.Период,
ПродажиОбороты.Магазин,
//Новое поле "Склад"
ПродажиОбороты.Склад,
//...Новое поле "Склад"
ПродажиОбороты.Номенклатура,
ПродажиОбороты.Характеристика
ИНДЕКСИРОВАТЬ ПО
Период,
Номенклатура,
Характеристика
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Магазины.Ссылка КАК Магазин,
Магазины.ПравилоЦенообразования КАК ПравилоЦенообразования
ПОМЕСТИТЬ ТаблицаМагазиновЦеныНоменклатуры
ИЗ
Справочник.Магазины КАК Магазины
ГДЕ
НЕ(Магазины.ИспользоватьПрименениеЦен
И &ИспользоватьПрименениеЦен)
{ГДЕ
Магазины.Ссылка.* КАК Магазин}
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Магазины.Ссылка КАК Магазин
ПОМЕСТИТЬ ТаблицаМагазиновДействующиеЦены
ИЗ
Справочник.Магазины КАК Магазины
ГДЕ
Магазины.ИспользоватьПрименениеЦен
И &ИспользоватьПрименениеЦен
{ГДЕ
Магазины.Ссылка.* КАК Магазин}
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЦеновыеГруппы.ЦеноваяГруппа КАК ЦеноваяГруппа,
ЦеновыеГруппы.ВидЦен КАК ВидЦен,
ЦеновыеГруппы.Ссылка КАК ПравилоЦенообразования
ПОМЕСТИТЬ ЦеновыеГруппыПравила
ИЗ
Справочник.ПравилаЦенообразования.ЦеновыеГруппы КАК ЦеновыеГруппы
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО ЦеновыеГруппы.Ссылка = ТаблицаМагазинов.ПравилоЦенообразования
ИНДЕКСИРОВАТЬ ПО
ВидЦен,
ЦеноваяГруппа
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВидЦеныПравила.ВидЦен КАК ВидЦен,
ВидЦеныПравила.Ссылка КАК ПравилоЦенообразования
ПОМЕСТИТЬ ВидЦеныПравила
ИЗ
Справочник.ПравилаЦенообразования КАК ВидЦеныПравила
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО ВидЦеныПравила.Ссылка = ТаблицаМагазинов.ПравилоЦенообразования
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИтоговыйЗапрос.Магазин КАК Магазин,
ИтоговыйЗапрос.Номенклатура КАК Номенклатура,
ИтоговыйЗапрос.Характеристика КАК Характеристика,
ВЫРАЗИТЬ(ВЫБОР
КОГДА ИтоговыйЗапрос.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА ИтоговыйЗапрос.Цена
ИНАЧЕ ИтоговыйЗапрос.Цена / ИтоговыйЗапрос.Упаковка.Коэффициент
КОНЕЦ КАК ЧИСЛО(15, 2)) КАК РозничнаяЦена
ПОМЕСТИТЬ ЦеныМагазинов
ИЗ
(ВЫБРАТЬ
ПодЗапрос.Магазин КАК Магазин,
ПодЗапрос.Номенклатура КАК Номенклатура,
ПодЗапрос.Характеристика КАК Характеристика,
ВЫБОР
КОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам) > 0
ТОГДА МАКСИМУМ(ПодЗапрос.УпаковкаПоЦеновымГруппам)
ИНАЧЕ МАКСИМУМ(ПодЗапрос.УпаковкаПоВидуЦен)
КОНЕЦ КАК Упаковка,
ВЫБОР
КОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам) > 0
ТОГДА МАКСИМУМ(ПодЗапрос.ЦенаПоЦеновымГруппам)
ИНАЧЕ МАКСИМУМ(ПодЗапрос.ЦенаПоВидуЦен)
КОНЕЦ КАК Цена
ИЗ
(ВЫБРАТЬ
ЦеныНоменклатурыПоВидуЦен.Номенклатура КАК Номенклатура,
ЦеныНоменклатурыПоВидуЦен.Характеристика КАК Характеристика,
ЦеныНоменклатурыПоВидуЦен.Упаковка КАК УпаковкаПоВидуЦен,
ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) КАК УпаковкаПоЦеновымГруппам,
ЦеныНоменклатурыПоВидуЦен.Цена КАК ЦенаПоВидуЦен,
0 КАК ЦенаПоЦеновымГруппам,
ТаблицаМагазинов.Магазин КАК Магазин
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыПоВидуЦен
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВидЦеныПравила КАК ВидЦеныПравила
ПО (ВидЦеныПравила.ВидЦен = ЦеныНоменклатурыПоВидуЦен.ВидЦены)
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО (ТаблицаМагазинов.ПравилоЦенообразования = ВидЦеныПравила.ПравилоЦенообразования)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
СправочникНоменклатура.Ссылка,
ЦеныНоменклатурыПоЦеновымГруппам.Характеристика,
ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка),
ЦеныНоменклатурыПоЦеновымГруппам.Упаковка,
0,
ЕСТЬNULL(ЦеныНоменклатурыПоЦеновымГруппам.Цена, 0),
ТаблицаМагазинов.Магазин
ИЗ
ЦеновыеГруппыПравила КАК ЦеновыеГруппыПравила
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
ПО ЦеновыеГруппыПравила.ЦеноваяГруппа = СправочникНоменклатура.ЦеноваяГруппа
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
{(&КонецПериода)},
ВидЦены В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ЦеновыеГруппыПравила.ВидЦен
ИЗ
ЦеновыеГруппыПравила) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ЦеныНоменклатурыПоЦеновымГруппам
ПО (ЦеныНоменклатурыПоЦеновымГруппам.Номенклатура = СправочникНоменклатура.Ссылка)
И (ЦеныНоменклатурыПоЦеновымГруппам.ВидЦены = ЦеновыеГруппыПравила.ВидЦен)
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаМагазиновЦеныНоменклатуры КАК ТаблицаМагазинов
ПО (ТаблицаМагазинов.ПравилоЦенообразования = ЦеновыеГруппыПравила.ПравилоЦенообразования)) КАК ПодЗапрос
СГРУППИРОВАТЬ ПО
ПодЗапрос.Номенклатура,
ПодЗапрос.Характеристика,
ПодЗапрос.Магазин
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДействующиеЦены.ОбъектЦенообразования,
ДействующиеЦены.Номенклатура,
ДействующиеЦены.Характеристика,
ДействующиеЦены.Упаковка,
ДействующиеЦены.Цена
ИЗ
РегистрСведений.ДействующиеЦеныНоменклатуры.СрезПоследних(
{(&КонецПериода)},
ОбъектЦенообразования В
(ВЫБРАТЬ
ТаблицаМагазиновДействующиеЦены.Магазин
ИЗ
ТаблицаМагазиновДействующиеЦены) {(Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ДействующиеЦены) КАК ИтоговыйЗапрос
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
РезультирующаяТаблица.Магазин КАК Магазин,
//Новое поле "Склад"
РезультирующаяТаблица.Склад КАК Склад,
//...Новое поле "Склад"
РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа КАК ТоварнаяГруппа,
РезультирующаяТаблица.Номенклатура КАК Номенклатура,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмеренияПродажа,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмеренияОстаток,
РезультирующаяТаблица.Характеристика КАК Характеристика,
РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1 КАК КоличествоДнейВПериоде,
СУММА(РезультирующаяТаблица.СтоимостьОборот) КАК СтоимостьОборот,
СУММА(РезультирующаяТаблица.КоличествоОборот) КАК КоличествоОборот,
СУММА(РезультирующаяТаблица.СебестоимостьПродаж) КАК СебестоимостьПродаж,
СУММА(РезультирующаяТаблица.ПродажаДоход) КАК ПродажаДоход,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СтоимостьОборот) / СУММА(РезультирующаяТаблица.КоличествоОборот)
КОНЕЦ КАК ПродажиЦенаРозничная,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьПродаж) / СУММА(РезультирующаяТаблица.КоличествоОборот)
КОНЕЦ КАК ПродажиЦенаСебестоимость,
ВЫБОР
КОГДА &СпособРасчетаДнейТорговли = 1
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.КоличествоОстаток) / СУММА(РезультирующаяТаблица.КоличествоОборот) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОГДА &СпособРасчетаДнейТорговли = 2
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.СебестоимостьПродаж) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьОстаток) / СУММА(РезультирующаяТаблица.СебестоимостьПродаж) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОГДА &СпособРасчетаДнейТорговли = 3
ТОГДА ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.СтоимостьОборот) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) / СУММА(РезультирующаяТаблица.СтоимостьОборот) * (РАЗНОСТЬДАТ(&НачалоПериода, &ДатаОкончанияДляРасчетаДнейТорговли, ДЕНЬ) + 1)
КОНЕЦ
КОНЕЦ КАК День,
СУММА(РезультирующаяТаблица.КоличествоОстаток) КАК КоличествоОстаток,
СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) КАК СуммаРозничнаяОстаток,
СУММА(РезультирующаяТаблица.СебестоимостьОстаток) КАК СебестоимостьОстаток,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОстаток) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СебестоимостьОстаток) / СУММА(РезультирующаяТаблица.КоличествоОстаток)
КОНЕЦ КАК ОстатокЦенаСебестоимость,
ВЫБОР
КОГДА СУММА(РезультирующаяТаблица.КоличествоОстаток) = 0
ТОГДА 0
ИНАЧЕ СУММА(РезультирующаяТаблица.СуммаРозничнаяОстаток) / СУММА(РезультирующаяТаблица.КоличествоОстаток)
КОНЕЦ КАК ОстатокЦенаРозничная
ИЗ
(ВЫБРАТЬ
ПродажиОстаткиЦена.Магазин КАК Магазин,
//Новое поле "Склад"
ПродажиОстаткиЦена.Склад КАК Склад,
//...Новое поле "Склад"
ПродажиОстаткиЦена.Номенклатура КАК Номенклатура,
ПродажиОстаткиЦена.Характеристика КАК Характеристика,
ПродажиОстаткиЦена.СтоимостьОборот КАК СтоимостьОборот,
ПродажиОстаткиЦена.КоличествоОборот КАК КоличествоОборот,
ПродажиОстаткиЦена.КоличествоОборот * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0) КАК СебестоимостьПродаж,
ПродажиОстаткиЦена.СтоимостьОборот - ПродажиОстаткиЦена.КоличествоОборот * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0) КАК ПродажаДоход,
0 КАК КоличествоОстаток,
0 КАК СуммаРозничнаяОстаток,
0 КАК СебестоимостьОстаток
ИЗ
ПродажиОбороты КАК ПродажиОстаткиЦена
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СебестоимостьНоменклатуры КАК СебестоимостьНоменклатуры
ПО ПродажиОстаткиЦена.Номенклатура = СебестоимостьНоменклатуры.Номенклатура
И ПродажиОстаткиЦена.Характеристика = СебестоимостьНоменклатуры.Характеристика
И (СебестоимостьНоменклатуры.Регистратор В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Регистратор
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ПродажиОстаткиЦена.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ПродажиОстаткиЦена.Номенклатура
И Себестоимость.Характеристика = ПродажиОстаткиЦена.Характеристика
И Себестоимость.Период <= ПродажиОстаткиЦена.Период
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
И (СебестоимостьНоменклатуры.Магазин В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Магазин
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ПродажиОстаткиЦена.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ПродажиОстаткиЦена.Номенклатура
И Себестоимость.Характеристика = ПродажиОстаткиЦена.Характеристика
И Себестоимость.Период <= ПродажиОстаткиЦена.Период
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ОстаткиТоваров.Магазин,
//Новое поле "Склад"
ОстаткиТоваров.Склад,
//...Новое поле "Склад"
ОстаткиТоваров.Номенклатура,
ОстаткиТоваров.Характеристика,
0,
0,
0,
0,
ОстаткиТоваров.КоличествоОстаток,
ЕСТЬNULL(ЦеныМагазинов.РозничнаяЦена, 0) * ОстаткиТоваров.КоличествоОстаток,
ОстаткиТоваров.КоличествоОстаток * ЕСТЬNULL(СебестоимостьНоменклатуры.Цена, 0)
ИЗ
ТоварыНаСкладахОстатки КАК ОстаткиТоваров
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СебестоимостьНоменклатуры КАК СебестоимостьНоменклатуры
ПО ОстаткиТоваров.Номенклатура = СебестоимостьНоменклатуры.Номенклатура
И ОстаткиТоваров.Характеристика = СебестоимостьНоменклатуры.Характеристика
И (СебестоимостьНоменклатуры.Регистратор В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Регистратор
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ОстаткиТоваров.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ОстаткиТоваров.Номенклатура
И Себестоимость.Характеристика = ОстаткиТоваров.Характеристика
И (Себестоимость.Период <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1))
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
И (СебестоимостьНоменклатуры.Магазин В
(ВЫБРАТЬ ПЕРВЫЕ 1
Себестоимость.Магазин
ИЗ
РегистрСведений.СебестоимостьНоменклатуры КАК Себестоимость
ГДЕ
(Себестоимость.Магазин = ОстаткиТоваров.Магазин
ИЛИ Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))
И Себестоимость.Номенклатура = ОстаткиТоваров.Номенклатура
И Себестоимость.Характеристика = ОстаткиТоваров.Характеристика
И (Себестоимость.Период <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1))
УПОРЯДОЧИТЬ ПО
Себестоимость.Период УБЫВ,
Себестоимость.Регистратор УБЫВ,
ВЫБОР
КОГДА Себестоимость.Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка)
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ))
ЛЕВОЕ СОЕДИНЕНИЕ ЦеныМагазинов КАК ЦеныМагазинов
ПО (ЦеныМагазинов.Номенклатура = ОстаткиТоваров.Номенклатура)
И (ЦеныМагазинов.Характеристика = ОстаткиТоваров.Характеристика)
И (ЦеныМагазинов.Магазин = ОстаткиТоваров.Магазин)) КАК РезультирующаяТаблица
СГРУППИРОВАТЬ ПО
РезультирующаяТаблица.Магазин,
//Новое поле "Склад"
РезультирующаяТаблица.Склад,
//...Новое поле "Склад"
РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа,
РезультирующаяТаблица.Номенклатура,
РезультирующаяТаблица.Характеристика,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения,
РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот