База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как учесть разные типы регистратора в запросе 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 8 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
25 августа 2026 в 18:01 #38452
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИсточникДанных.Номенклатура КАК Номенклатура,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление,
ИсточникДанных.Регистратор КАК Регистратор,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление,
ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения) КАК БазоваяЕдиницаИзмеренияПредставление,
ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕдНачальныйОстаток,
ИсточникДанных.Регистратор.Дата КАК РегистраторДата
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
&ДатаНач,
&ДатаКон,
Регистратор,
,
Склад = &Параметр1
И Номенклатура В ИЕРАРХИИ (&Параметр2)) КАК ИсточникДанных
ГДЕ
ТИПЗНАЧЕНИЯ(ИсточникДанных.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)УПОРЯДОЧИТЬ ПО
ИсточникДанных.Регистратор.Дата
ИТОГИ
СУММА(КоличествоБазовыхЕдНачальныйОстаток)
ПО
ОБЩИЕ,
Номенклатура КАК Номенклатура,
Регистратор КАК Регистратор,
РегистраторДата КАК РегистраторДата
АВТОУПОРЯДОЧИВАНИЕ -
25 августа 2026 в 18:01 #38453
Запрос корректный, но есть несколько важных моментов, которые стоит учесть:
1. В условии фильтрации:
|ТИПЗНАЧЕНИЯ(ИсточникДанных.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)Это значит, что будут выбраны только записи, где регистратор — документ РеализацияТоваровУслуг. Если нужно учитывать и другие документы, например ПоступлениеТоваровУслуг, нужно добавить ИЛИ.
2. В выражении расчёта количества:
|ИсточникДанных.КоличествоНачальныйОстаток * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕдНачальныйОстатокУбедитесь, что у номенклатуры заполнен реквизит ЕдиницаХраненияОстатков и у неё есть коэффициент. Иначе возможны ошибки или нулевые значения.
3. Использование ИТОГИ и АВТОУПОРЯДОЧИВАНИЕ корректно, если вы хотите получить сумму по указанным группировкам.
Если хотите получить итог по номенклатуре и регистратору с датой, то всё сделано правильно.
Если нужна помощь с доработкой запроса под конкретную задачу — уточните, что именно хотите получить.
Пример расширения фильтра по регистратору:
|ГДЕ
| (ТИПЗНАЧЕНИЯ(ИсточникДанных.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
| ИЛИ ТИПЗНАЧЕНИЯ(ИсточникДанных.Регистратор) = ТИП(Документ.ПоступлениеТоваровУслуг))
| И ИсточникДанных.Номенклатура В ИЕРАРХИИ(&Параметр2)
| И ИсточникДанных.Склад = &Параметр1Если нужна помощь с конкретным примером — пишите.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.