При новом поступлении в отчете СКД внешний плюсует общее количество и выводит в старый и новый срок годности
Здравствуйте, форумчане! Помогите пожалуйста, уже не один день пытаюсь исправить внешний отчет СКД. При новом поступлении в отчете СКД внешний, плюсует общее количество и выводит в старый и новый срок годности в общей таблице отчета. Как настроить отчет, чтобы он правильно выводил данные?
Скриншот:
Скриншот:
Прикрепленные файлы:
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(2) Я не могу скинуть файлом, запрос всего отчета могу написать!
Написать запрос всего отчета?
И почему не понятно по скриншоту, все вроде бы понятно, скриншот объясняет, что при поступлении нового товара со сроком годности, он плюсует его со старым сроком годности, даже если остатки нулевые!
Написать запрос всего отчета?
И почему не понятно по скриншоту, все вроде бы понятно, скриншот объясняет, что при поступлении нового товара со сроком годности, он плюсует его со старым сроком годности, даже если остатки нулевые!
(2) Весь запрос отчета СКД:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
СправочникНоменклатура.Ссылка КАК Номенклатура,
СправочникНоменклатура.Код КАК Код,
СправочникНоменклатура.Наименование КАК Наименование,
СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
СправочникНоменклатура.ТоварнаяКатегория КАК ТоварнаяКатегория,
СправочникНоменклатура.Марка КАК Марка,
ВЫБОР
КОГДА СправочникНоменклатура.ЭтоГруппа
ТОГДА ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 7
ИНАЧЕ 6
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ + ВЫБОР
КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
ТОГДА 0
ИНАЧЕ 2
КОНЕЦ
КОНЕЦ КАК ИндексКартинки,
СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
СправочникНоменклатура.Артикул КАК Артикул,
СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
СправочникНоменклатура.Вес КАК Вес,
СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток1,
ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК Резерв,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК СвободныйОстаток,
МАКСИМУМ(ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2))) КАК Остаток,
ТоварыНаСкладахОстатки.Склад КАК Склад,
МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод,
Штрихкоды.Владелец КАК Владелец,
Штрихкоды.Характеристика КАК Характеристика,
Штрихкоды.Упаковка КАК Упаковка,
Штрихкоды.ТипШтрихкода КАК ТипШтрихкода,
Штрихкоды.ПредставлениеШтрихкода КАК ПредставлениеШтрихкода,
ЦеныНоменклатурыСрезПоследних.Период КАК Период,
ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Ссылка,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОбщаяСуммаТовара,
ДвиженияСерийТоваровОбороты.Серия КАК Серия,
ДвиженияСерийТоваровОбороты.Номенклатура КАК Номенклатура1,
ДвиженияСерийТоваровОбороты.Характеристика КАК Характеристика1,
ДвиженияСерийТоваровОбороты.Документ КАК Документ,
ДвиженияСерийТоваровОбороты.Магазин КАК Магазин,
ДвиженияСерийТоваровОбороты.СкладскаяОперация КАК СкладскаяОперация,
МАКСИМУМ(ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеИзлишков)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаКомплектующихПослеРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоВозвратуОтКлиента)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПеремещению)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПрочемуОприходованию)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаСобранныхКомплектов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков)
И ДвиженияСерийТоваровОбороты.КоличествоОборот > 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
И ДвиженияСерийТоваровОбороты.КоличествоОборот > 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.Пересчет)
И ДвиженияСерийТоваровОбороты.КоличествоОборот > 0
ТОГДА ДвиженияСерийТоваровОбороты.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ) КАК Приемка,
МАКСИМУМ(ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаВРозницу)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектовДляРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектующихДляСборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаНаВнутренниеНужды)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоВозвратуПоставщику)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоПеремещению)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеНедостач)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеПорчи)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков)
И ДвиженияСерийТоваровОбороты.КоличествоОборот < 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
И ДвиженияСерийТоваровОбороты.КоличествоОборот < 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.Пересчет)
И ДвиженияСерийТоваровОбороты.КоличествоОборот < 0
ТОГДА ДвиженияСерийТоваровОбороты.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ) КАК Отгрузка,
ДвиженияСерийТоваровОбороты.КоличествоОборот КАК КоличествоОборот,
ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков)
ТОГДА 0
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика)
ТОГДА 1
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПеремещению)
ТОГДА 2
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеИзлишков)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеНедостач)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеПорчи)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПрочемуОприходованию)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаСобранныхКомплектов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаКомплектующихПослеРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.Пересчет)
ТОГДА 3
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектовДляРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектующихДляСборки)
ТОГДА 4
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаВРозницу)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаНаВнутренниеНужды)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоВозвратуПоставщику)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоПеремещению)
ТОГДА 5
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоВозвратуОтКлиента)
ТОГДА 6
ИНАЧЕ 10
КОНЕЦ КАК Поле3,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена1,
ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены1
ИЗ
Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ПО (ТоварыНаСкладахОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
ПО (Штрихкоды.Владелец = СправочникНоменклатура.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Период >= &Период) КАК ЦеныНоменклатурыСрезПоследних
ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СправочникНоменклатура.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияСерийТоваров.Обороты КАК ДвиженияСерийТоваровОбороты
ПО (ДвиженияСерийТоваровОбороты.Номенклатура = СправочникНоменклатура.Ссылка)
ГДЕ
НЕ СправочникНоменклатура.ЭтоГруппа
СГРУППИРОВАТЬ ПО
СправочникНоменклатура.Код,
СправочникНоменклатура.Наименование,
СправочникНоменклатура.ВидНоменклатуры,
СправочникНоменклатура.ТоварнаяКатегория,
СправочникНоменклатура.Марка,
СправочникНоменклатура.ЕдиницаИзмерения,
СправочникНоменклатура.Артикул,
СправочникНоменклатура.НаименованиеПолное,
СправочникНоменклатура.Вес,
СправочникНоменклатура.СтавкаНДС,
СправочникНоменклатура.ТипНоменклатуры,
ТоварыНаСкладахОстатки.Склад,
Штрихкоды.Владелец,
Штрихкоды.Характеристика,
Штрихкоды.Упаковка,
Штрихкоды.ТипШтрихкода,
Штрихкоды.ПредставлениеШтрихкода,
ВЫБОР
КОГДА СправочникНоменклатура.ЭтоГруппа
ТОГДА ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 7
ИНАЧЕ 6
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ + ВЫБОР
КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
ТОГДА 0
ИНАЧЕ 2
КОНЕЦ
КОНЕЦ,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0),
ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0),
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0),
ЦеныНоменклатурыСрезПоследних.Период,
ЦеныНоменклатурыСрезПоследних.ВидЦены,
ЦеныНоменклатурыСрезПоследних.Цена,
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ТоварыНаСкладахОстатки.КоличествоОстаток,
ДвиженияСерийТоваровОбороты.Характеристика,
ДвиженияСерийТоваровОбороты.Документ,
ДвиженияСерийТоваровОбороты.Магазин,
ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков)
ТОГДА 0
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика)
ТОГДА 1
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПеремещению)
ТОГДА 2
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеИзлишков)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеНедостач)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеПорчи)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПрочемуОприходованию)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаСобранныхКомплектов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаКомплектующихПослеРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.Пересчет)
ТОГДА 3
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектовДляРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектующихДляСборки)
ТОГДА 4
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаВРозницу)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаНаВнутренниеНужды)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоВозвратуПоставщику)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоПеремещению)
ТОГДА 5
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоВозвратуОтКлиента)
ТОГДА 6
ИНАЧЕ 10
КОНЕЦ,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0),
ДвиженияСерийТоваровОбороты.Номенклатура,
СправочникНоменклатура.Ссылка,
ДвиженияСерийТоваровОбороты.Серия,
ДвиженияСерийТоваровОбороты.СкладскаяОперация,
ДвиженияСерийТоваровОбороты.КоличествоОборот,
ЦеныНоменклатурыСрезПоследних.Цена,
ЦеныНоменклатурыСрезПоследних.ВидЦены
Показать
(11)
(Это кстати не спасет тебя от найма программиста. Ну только если придет сестра Тереза softwind)
Ребята, просто скажите, напиши конфигурацию, или еще что-то, я обязательно напишу!
Это надо сразу говорить в установочных данных. А не тянуть клещами. Потому что специалисты тут по разным конфигурациям. Кто-то чинит экскаваторы, кто-то мерседесы, а кто-то самолеты.
(Это кстати не спасет тебя от найма программиста. Ну только если придет сестра Тереза softwind)
(22) Разные варианты есть...
Вот один:
а) Сначала сформировать ВТ остатков по регистру ДвиженияСерийНоменклатуры (по отобранной номенклатуре). Не забыть проиндексировать по будущим полям связи.
б) Сформировать ВТ движений Приёмка-Отгрузка по отобранной номенклатуре с учетом серий (не забыть проиндексировать)
в) Связать эти две ВТ-таблицы между собой.
Вот один:
а) Сначала сформировать ВТ остатков по регистру ДвиженияСерийНоменклатуры (по отобранной номенклатуре). Не забыть проиндексировать по будущим полям связи.
б) Сформировать ВТ движений Приёмка-Отгрузка по отобранной номенклатуре с учетом серий (не забыть проиндексировать)
в) Связать эти две ВТ-таблицы между собой.
Вакансии
Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день