Формирование отчета по периоду регистра накопления и по реквизиту документа-регистратора
Всем добрый день, буду очень благодарен за идеи, за помощь. В чем суть: есть регистр накопления, у него несколько документов-регистраторов. По этому регистру формируется системный отчет - отчет смотрит в период самого регистра. Мне же нужно сделать так, чтобы в определенном случае (когда регистратором является конкретный документ) - отчет обращался не к периоду регистра, а к реквизиту этого документа с типом данных - "Дата" (если что, это не дата создания документа и не дата проведения - записи не попадают в регистр). Иными словами, при формировании отчета все должно происходить штатно, но если регистратором записи является один конкретный документ, то отчет должен смотреть не на период регистра, а на реквизит этого документа, проверять эту дату. Подскажите, это вообще возможно? Я уже несколько дней по-разному пробую изменять запрос, но ничего не получается или получается ерунда.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) Звучит разумно, но есть нюанс...Задача довольно срочная, а я на предприятии в целом еще новичок, не все производственные процессы усвоил еще как минимум. И я подумал, что всяко быстрее будет подкорректировать запрос существующего отчета - тем более, что на словах изменения минимальны - чем разбираться во всех данных, что тянутся, с нуля, ибо там многие поля еще вычисляются по ходу, а не просто берутся готовые
(16) Спасибо, так и сделал. Проблема возникла в другом: когда прописал это условие в параметрах виртуальной таблицы на вкладке компоновки - система начала ругаться, что указываемых полей (регистратор, период) - там якобы нет. И, таким образом, сохранить эти все изменения в принципе не удается, уже полчаса пытался найти причину этого
(20) А, понял, спасибо. Я вообще пробовал так делать ещё до обращения на форум - ну и без каких-либо изменений в тех же параметрах виртуальной таблицы - просто подобное в запросе прописал. Результат был таким: документы все равно выводились по периоду регистра, но при этом они же отдельно выводились также нужной датой, которая идёт из реквизита документа - даже если эта дата была за пределами периода, задаваемого в настройках отчёта
(22) Справедливо...Вот он полностью, если что
ВЫБРАТЬ РАЗЛИЧНЫЕ
ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
ПересчетТоваровТовары.Характеристика КАК Характеристика,
ПересчетТоваровТовары.Серия КАК Серия,
ИСТИНА КАК ИспользуетсяОтборПоПересчетуТоваров
ПОМЕСТИТЬ ОтборПоПересчетуТоваров
ИЗ
Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
{ГДЕ
ПересчетТоваровТовары.Ссылка.* КАК ПересчетТоваров}
ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
Серия,
ИспользуетсяОтборПоПересчетуТоваров
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
Сегменты.Номенклатура КАК Номенклатура,
Сегменты.Характеристика КАК Характеристика,
ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
Сегменты.Сегмент.* КАК СегментНоменклатуры,
Сегменты.Номенклатура.* КАК Номенклатура,
Сегменты.Характеристика.* КАК Характеристика}
ИНДЕКСИРОВАТЬ ПО
Номенклатура,
Характеристика,
ИспользуетсяОтборПоСегментуНоменклатуры
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстаткиИОбороты.Характеристика КАК Характеристика,
ТоварыНаСкладахОстаткиИОбороты.Назначение,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаХранения,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов КАК ЕдиницаДляОтчетов,
ТоварыНаСкладахОстаткиИОбороты.Серия КАК Серия,
ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
ТоварыНаСкладахОстаткиИОбороты.Помещение КАК Помещение,
ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
КОНЕЦ КАК Регистратор,
ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда,
ТоварыНаСкладахОстаткиИОбороты.ПериодДень КАК ПериодДень,
ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя КАК ПериодНеделя,
ТоварыНаСкладахОстаткиИОбороты.ПериодДекада КАК ПериодДекада,
ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц КАК ПериодМесяц,
ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал КАК ПериодКвартал,
ТоварыНаСкладахОстаткиИОбороты.ПериодГод КАК ПериодГод,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК НачальныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КонечныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК Приход,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК Расход,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КОтгрузкеНачальныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КОтгрузкеКонечныйОстаток,
ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ КАК КОтгрузкеПриход,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаВесНоменклатуры КАК НачальныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КонечныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаВесНоменклатуры КАК ПриходВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаВесНоменклатуры КАК РасходВес,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК НачальныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КонечныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаОбъемНоменклатуры КАК ПриходОбъем,
ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаОбъемНоменклатуры КАК РасходОбъем,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеНачальныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеКонечныйОстатокВес,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеПриходВес,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеНачальныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеКонечныйОстатокОбъем,
ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеПриходОбъем
{ВЫБРАТЬ
Номенклатура.*,
Характеристика.*,
ЕдиницаХранения.*,
ЕдиницаДляОтчетов.*,
Серия.*,
Склад.*,
Помещение.*,
Регистратор.*,
ПериодСекунда,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодГод,
НачальныйОстаток,
КонечныйОстаток,
Приход,
Расход,
КОтгрузкеНачальныйОстаток,
КОтгрузкеКонечныйОстаток,
КОтгрузкеПриход,
НачальныйОстатокВес,
КонечныйОстатокВес,
ПриходВес,
РасходВес,
НачальныйОстатокОбъем,
КонечныйОстатокОбъем,
ПриходОбъем,
РасходОбъем,
КОтгрузкеНачальныйОстатокВес,
КОтгрузкеКонечныйОстатокВес,
КОтгрузкеПриходВес,
КОтгрузкеНачальныйОстатокОбъем,
КОтгрузкеКонечныйОстатокОбъем,
КОтгрузкеПриходОбъем}
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , {((Номенклатура, Характеристика) В
(ВЫБРАТЬ
ОтборПоСегментуНоменклатуры.Номенклатура,
ОтборПоСегментуНоменклатуры.Характеристика
ИЗ
ОтборПоСегментуНоменклатуры
ГДЕ
ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), ((Номенклатура, Характеристика, Серия) В
(ВЫБРАТЬ
ОтборПоПересчетуТоваров.Номенклатура,
ОтборПоПересчетуТоваров.Характеристика,
ОтборПоПересчетуТоваров.Серия
ИЗ
ОтборПоПересчетуТоваров
ГДЕ
ОтборПоПересчетуТоваров.ИспользуетсяОтборПоПересчетуТоваров = &ИспользуетсяОтборПоПересчетуТоваров))}) КАК ТоварыНаСкладахОстаткиИОбороты
{ГДЕ
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.*,
ТоварыНаСкладахОстаткиИОбороты.Характеристика.*,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения.*,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.*,
ТоварыНаСкладахОстаткиИОбороты.Серия.*,
ТоварыНаСкладахОстаткиИОбороты.Склад.*,
ТоварыНаСкладахОстаткиИОбороты.Помещение.*,
(ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
ТОГДА NULL
ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
КОНЕЦ).* КАК Регистратор,
ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда,
ТоварыНаСкладахОстаткиИОбороты.ПериодДень,
ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя,
ТоварыНаСкладахОстаткиИОбороты.ПериодДекада,
ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц,
ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал,
ТоварыНаСкладахОстаткиИОбороты.ПериодГод,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК НачальныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КонечныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК Приход,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК Расход,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КОтгрузкеНачальныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КОтгрузкеКонечныйОстаток,
(ВЫБОР
КОГДА &ЕдиницыКоличества = 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход
КОГДА &ЕдиницыКоличества = 1
ТОГДА ВЫБОР
КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КОтгрузкеПриход,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК НачальныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КонечныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаВесНоменклатуры) КАК ПриходВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаВесНоменклатуры) КАК РасходВес,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК НачальныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КонечныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаОбъемНоменклатуры) КАК ПриходОбъем,
(ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаОбъемНоменклатуры) КАК РасходОбъем,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеНачальныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеКонечныйОстатокВес,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеПриходВес,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеНачальныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеКонечныйОстатокОбъем,
(ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеПриходОбъем}
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот