База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить документы «Чек» с движением по регистру за период?
- В этой теме 1 ответ, 2 участника, последнее обновление 8 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
26 октября 2026 в 11:58 #38920
Есть документ Чек. Этот документ создает записи в регистре накоплений Товары На Скаладах. Составь запрос который будет показывать документы за выбранный период, у которых есть движения по регистру сведений ТоварыНаСкладах.
-
26 октября 2026 в 11:58 #38921
Регистр ТоварыНаСкладах является регистром накопления, поэтому для получения документов, которые сформировали движения, используйте виртуальную таблицу Обороты. Поле
Регистраторсодержит ссылку на документ, создавший движение.### Запрос по документам «Чек» за выбранный период
1С (Код)123456789101112131415161718|ВЫБРАТЬ РАЗЛИЧНЫЕ| Чеки.Ссылка КАК Документ,| Чеки.Номер КАК Номер,| Чеки.Дата КАК Дата|ИЗ| Документ.Чек КАК Чеки| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(| &НачалоПериода,| &КонецПериода,| Регистратор,| ) КАК ДвиженияТоваров| ПО ДвиженияТоваров.Регистратор = Чеки.Ссылка|ГДЕ| Чеки.Дата МЕЖДУ &НачалоПериода И &КонецПериода||УПОРЯДОЧИТЬ ПО| Дата,| НомерПараметры запроса устанавливаются так:
1С (Код)12Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(НачалоПериода));Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));Ключевое слово
РАЗЛИЧНЫЕнеобходимо, поскольку один документ «Чек» может сформировать несколько движений по регистру, например по нескольким товарам. В результате каждый чек будет выведен только один раз.Если необходимо вывести также склад, номенклатуру и количество, запрос можно дополнить полями регистра:
1С (Код)12345678910111213141516171819202122|ВЫБРАТЬ| Чеки.Ссылка КАК Документ,| Чеки.Номер КАК Номер,| Чеки.Дата КАК Дата,| ДвиженияТоваров.Номенклатура,| ДвиженияТоваров.Склад,| ДвиженияТоваров.КоличествоОборот КАК Количество|ИЗ| Документ.Чек КАК Чеки| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(| &НачалоПериода,| &КонецПериода,| Регистратор,| ) КАК ДвиженияТоваров| ПО ДвиженияТоваров.Регистратор = Чеки.Ссылка|ГДЕ| Чеки.Дата МЕЖДУ &НачалоПериода И &КонецПериода||УПОРЯДОЧИТЬ ПО| Дата,| Номер,| НоменклатураВ этом варианте имена
Номенклатура,СкладиКоличествоОборотдолжны соответствовать структуре регистра. Если в регистре, например, ресурс называетсяКоличество, то в виртуальной таблице оборотов он будет называтьсяКоличествоОборот.Если период нужно отбирать не по дате документа, а именно по периоду движений регистра, условие:
1С (Код)12|ГДЕ| Чеки.Дата МЕЖДУ &НачалоПериода И &КонецПериодаможно убрать, так как период уже задается параметрами виртуальной таблицы
Обороты. Но обычно лучше оставить фильтр по дате документа, чтобы в отчет не попали чеки с датой вне выбранного периода.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.