Универсальный отчет - фильтр по типу регистратора
Конфигурация - Управление торговлей, редакция 10.3.
Что нужно? Простой отчет по документам "Возврат поставщику" с отборами по контрагенту и дописанному реквизиту "причина возврата".
Ранее не работал с универсальными отчетами, но клиенту нужен отчет именно на основе универсального (поэтому написать отчет любым другим способом нельзя). Взял за основу стандартный отчет "Продажи" и переписал все в процедуре, которая отвечает за отборы, поля группировок и т.д.
Все работает хорошо, за исключением одного. Реквизит "причина возврата" есть только в документе "возврат поставщику", поэтому если я ставлю в отборе "равен" пустому значению или конкретному значению из справочника, то показываются нужные документы. Если же я убираю отбор по причине возврата, то в отчет попадают и документы "поступление". То есть увидеть в отчете абсолютно все причины возврата никак не получится. Можно ли как-то включить в такой отчет фильтр по типа регистратора?
Заранее спасибо!
Что нужно? Простой отчет по документам "Возврат поставщику" с отборами по контрагенту и дописанному реквизиту "причина возврата".
Ранее не работал с универсальными отчетами, но клиенту нужен отчет именно на основе универсального (поэтому написать отчет любым другим способом нельзя). Взял за основу стандартный отчет "Продажи" и переписал все в процедуре, которая отвечает за отборы, поля группировок и т.д.
Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
УниверсальныйОтчет.мНазваниеОтчета = "Причины возврата поставщикам";
УниверсальныйОтчет.мВыбиратьИмяРегистра = Истина;
УниверсальныйОтчет.ИмяРегистра = "Закупки";
УниверсальныйОтчет.УстановитьНачальныеНастройки(Истина);
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Контрагент");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Регистратор");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Регистратор.ПричинаВозвратаОтПоставщика");
УниверсальныйОтчет.ДобавитьОтбор("Контрагент");
УниверсальныйОтчет.ДобавитьОтбор("Регистратор");
УниверсальныйОтчет.ДобавитьОтбор("Регистратор.ПричинаВозвратаОтПоставщика",Истина);
КонецПроцедуры // УстановитьНачальныеНастройки()
ПоказатьВсе работает хорошо, за исключением одного. Реквизит "причина возврата" есть только в документе "возврат поставщику", поэтому если я ставлю в отборе "равен" пустому значению или конкретному значению из справочника, то показываются нужные документы. Если же я убираю отбор по причине возврата, то в отчет попадают и документы "поступление". То есть увидеть в отчете абсолютно все причины возврата никак не получится. Можно ли как-то включить в такой отчет фильтр по типа регистратора?
Заранее спасибо!
По теме из базы знаний
- Сравнение оборотов по бухгалтерскому учету между двумя базами по COM соединению
- Составные типы — бесплатный сыр мышеловки производительности
- Конфигурация Flowcon
- Универсальный отчет для сравнения записей регистров накопления между базами по COM-соединению, для обычных форм
- Обработка по настройке прав доступа пользователей в 1С 8 (ЗУП, КА, УТ, ЕРП, ERP, УНФ, Розница, Управление холдингом)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) starjevschik, я же написал в заглавном посте, что клиенту нужен отчет отчет только на основе универсального! С таким же интерфейсом. Если я сделаю через схему компоновки данных или просто вручную создам форму с полями для контрагента и причины, будет совсем не то.
(2) dimalf, нельзя в отборе выбрать тип документа-регистратора.
Отчет этот находится в УТ в разделе Отчеты - Универсальный Отчет. Там можно выбрать раздел учета, задать в пользователем непосредственно в программе все группировки, условия, но вот как задать условие на тип регистратора - никак не пойму. Запросов самих в отчетах нет, они все в "УниверсальныйОтчет", а остальные отчеты имеют такой же реквизит и в них лишь задаются настройки по умолчанию.
(2) dimalf, нельзя в отборе выбрать тип документа-регистратора.
Отчет этот находится в УТ в разделе Отчеты - Универсальный Отчет. Там можно выбрать раздел учета, задать в пользователем непосредственно в программе все группировки, условия, но вот как задать условие на тип регистратора - никак не пойму. Запросов самих в отчетах нет, они все в "УниверсальныйОтчет", а остальные отчеты имеют такой же реквизит и в них лишь задаются настройки по умолчанию.
(6) JustLucky, в твоем, конечно. В нем есть реквизит Универсальный отчет, перед открытием надо передать ему настройки - запрос, группировки, условия.
Посмотри, например, в УТ 10.3 как устроен какой-нибудь отчет не по регистру. Например, ВаловаяПрибыль. В модуле отчета
ну и так далее, там пояснения есть.
Посмотри, например, в УТ 10.3 как устроен какой-нибудь отчет не по регистру. Например, ВаловаяПрибыль. В модуле отчета
Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
ну и так далее, там пояснения есть.
(1) JustLucky,
в исходной запрос отчета добавь вычисляемое поле следующего вида:
в исходной запрос отчета добавь вычисляемое поле следующего вида:
ВЫБОР
КОГДА ХХХХ.Регистратор ССЫЛКА Документ.УУУУ1 ТОГДА
// Ф(УУУУ1) что-то определенного типа
КОГДА ХХХХ.Регистратор ССЫЛКА Документ.УУУУ2 ТОГДА
// Ф(УУУУ2) что-то определенного типа
КОГДА ХХХХ.Регистратор ССЫЛКА Документ.УУУУ3 ТОГДА
// Ф(УУУУ3) что-то определенного типа
ИНАЧЕ
// пустое предопределенное значение определенного типа
КОНЕЦ
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот