База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С создать отчет по запасам с датой последнего закупа?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 минуты назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
19 сентября 2026 в 23:13 #38671
как в 1с бухгалтерии сформировать отчет по запасам с датой последнего закупа
-
19 сентября 2026 в 23:13 #38672
В типовой 1С:Бухгалтерии 3.0 готового отчета, который одновременно показывает остаток и дату последней закупки, обычно нет. Отчет «Ведомость по товарам на складах» показывает остатки и движения, но отдельного поля «Дата последнего закупа» в нем нет.
Есть два практичных варианта.
## Вариант 1. Быстро через стандартные отчеты и Excel
1. Откройте раздел Склад.
2. Сформируйте отчет «Ведомость по товарам на складах» за нужный период.
3. В настройках отчета установите:
— нужную организацию;
— склады;
— номенклатуру;
— период до даты, на которую нужны остатки.
4. Выведите поля:
— Номенклатура;
— Склад;
— Остаток на конец периода;
— Приход.
5. Отдельно сформируйте отчет по документам «Поступление товаров и услуг» за весь период.
6. Выведите:
— Номенклатура;
— Дата документа;
— Поставщик;
— Количество;
— Склад.
7. Выгрузите оба отчета в Excel.
8. В Excel по каждой номенклатуре определите максимальную дату поступления.Этот способ подходит для разовой проверки, но для регулярной работы лучше сделать внешний отчет на СКД.
—
# Вариант 2. Создать отчет на СКД
Отчет должен получать:
— номенклатуру;
— склад;
— текущий остаток;
— дату последнего поступления;
— поставщика последнего поступления, если требуется;
— количество в последней закупке;
— цену последней закупки, если требуется.Основу запроса можно сделать следующим образом.
> Названия реквизитов могут немного отличаться в зависимости от релиза 1С:Бухгалтерии. В типовой БП 3.0 обычно используются регистр
ТоварыНаСкладахи табличная частьДокумент.ПоступлениеТоваровУслуг.Товары.1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960|ВЫБРАТЬ| Остатки.Номенклатура КАК Номенклатура,| Остатки.Склад КАК Склад,| Остатки.КоличествоОстаток КАК Остаток,| ПоследниеЗакупки.ДатаПоследнегоЗакупа КАК ДатаПоследнегоЗакупа,| ПоследниеЗакупки.Поставщик КАК Поставщик,| ПоследниеЗакупки.Количество КАК КоличествоПоследнейЗакупки,| ПоследниеЗакупки.Цена КАК ЦенаПоследнейЗакупки|ИЗ| РегистрНакопления.ТоварыНаСкладах.Остатки(| &ДатаОтчета,| Организация = &Организация| ) КАК Остатки| ЛЕВОЕ СОЕДИНЕНИЕ| (| ВЫБРАТЬ| Строки.Номенклатура КАК Номенклатура,| Документы.Организация КАК Организация,| Документы.Склад КАК Склад,| МАКСИМУМ(Документы.Дата) КАК ДатаПоследнегоЗакупа| ИЗ| Документ.ПоступлениеТоваровУслуг.Товары КАК Строки| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК Документы| ПО Строки.Ссылка = Документы.Ссылка| ГДЕ| Документы.Проведен| И Документы.Организация = &Организация| И Документы.Дата <= &ДатаОтчета| СГРУППИРОВАТЬ ПО| Строки.Номенклатура,| Документы.Организация,| Документы.Склад| ) КАК ДатыПоследнихЗакупок| ПО Остатки.Номенклатура = ДатыПоследнихЗакупок.Номенклатура| И Остатки.Организация = ДатыПоследнихЗакупок.Организация| И Остатки.Склад = ДатыПоследнихЗакупок.Склад| ЛЕВОЕ СОЕДИНЕНИЕ| (| ВЫБРАТЬ| Строки.Номенклатура КАК Номенклатура,| Документы.Организация КАК Организация,| Документы.Склад КАК Склад,| Документы.Дата КАК ДатаДокумента,| Документы.Контрагент КАК Поставщик,| Строки.Количество КАК Количество,| Строки.Цена КАК Цена| ИЗ| Документ.ПоступлениеТоваровУслуг.Товары КАК Строки| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК Документы| ПО Строки.Ссылка = Документы.Ссылка| ГДЕ| Документы.Проведен| И Документы.Организация = &Организация| И Документы.Дата <= &ДатаОтчета| ) КАК ПоследниеЗакупки| ПО Остатки.Номенклатура = ПоследниеЗакупки.Номенклатура| И Остатки.Склад = ПоследниеЗакупки.Склад| И ПоследниеЗакупки.ДатаДокумента = ДатыПоследнихЗакупок.ДатаПоследнегоЗакупа|ГДЕ| Остатки.КоличествоОстаток <> 0Но у этого запроса есть важный нюанс: если по одной номенклатуре на одну и ту же дату было несколько поступлений, соединение может вернуть несколько строк. Кроме того, дата последней закупки и данные строки последней закупки надежнее определяются через временную таблицу или выбор последнего документа с использованием дополнительного отбора.
Для простого отчета лучше сначала вывести только дату последней закупки. Запрос будет надежнее и короче:
1С (Код)1234567891011121314151617181920212223242526272829303132|ВЫБРАТЬ| Остатки.Номенклатура КАК Номенклатура,| Остатки.Склад КАК Склад,| Остатки.КоличествоОстаток КАК Остаток,| ПоследняяЗакупка.ДатаПоследнегоЗакупа КАК ДатаПоследнегоЗакупа|ИЗ| РегистрНакопления.ТоварыНаСкладах.Остатки(| &ДатаОтчета,| Организация = &Организация| ) КАК Остатки| ЛЕВОЕ СОЕДИНЕНИЕ| (| ВЫБРАТЬ| Строки.Номенклатура КАК Номенклатура,| Документы.Склад КАК Склад,| МАКСИМУМ(Документы.Дата) КАК ДатаПоследнегоЗакупа| ИЗ| Документ.ПоступлениеТоваровУслуг.Товары КАК Строки| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК Документы| ПО Строки.Ссылка = Документы.Ссылка| ГДЕ| Документы.Проведен| И Документы.Организация = &Организация| И Документы.Дата <= &ДатаОтчета| СГРУППИРОВАТЬ ПО| Строки.Номенклатура,| Документы.Склад| ) КАК ПоследняяЗакупка| ПО Остатки.Номенклатура = ПоследняяЗакупка.Номенклатура| И Остатки.Склад = ПоследняяЗакупка.Склад|ГДЕ| Остатки.КоличествоОстаток <> 0## Настройка параметров отчета
В СКД создайте параметры:
###
ДатаОтчетаТип:
1С (Код)1ДатаВ значение передавайте конец выбранного пользователем дня:
1С (Код)1КонецДня(ДатаОтчета)###
ОрганизацияТип:
1С (Код)1СправочникСсылка.ОрганизацииВ настройках отчета можно добавить пользовательские отборы:
— Склад;
— Номенклатура;
— Группа номенклатуры;
— Организация;
— Остаток больше нуля;
— Дата последнего закупа до указанной даты.## Важное ограничение
Такой отчет по документам «Поступление товаров и услуг» покажет закупки, оформленные именно этими документами.
Если в вашей базе товары могут поступать также через:
— авансовые отчеты;
— перемещения;
— оприходование товаров;
— возвраты от покупателей;
— документы складского контура;
— обмен с другой базой;то нужно заранее определить, что считать закупкой. Обычно для управленческого отчета закупкой считают только проведенные документы «Поступление товаров и услуг» от поставщиков.
Также обратите внимание на дату. Если отчет сформирован на 31.12.2025, то последняя закупка должна определяться только среди документов, проведенных до конца 31.12.2025. Для этого в запросе обязательно используется условие:
1С (Код)1|Документы.Дата <= &ДатаОтчетаЕсли требуется показывать номенклатуру, по которой остатка сейчас нет, но закупка была, источником отчета нужно сделать не регистр остатков, а справочник Номенклатура, а остатки подключать левым соединением. В стандартном варианте выше выводится только номенклатура, по которой есть ненулевой остаток.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.