Отбор контрагентов в отчете

1. troshin71 14.08.20 14:07 Сейчас в теме
Добрый день, в отчете есть два отбора, первый отбирает контрагентов, второй исключает контрагентов (если по ним не делать отбор он должен выводить всех контрагентов и тогда уже из этих исключаем вторым отбором) как мне сделать в первый отбор если я не выбираю контрагентов что бы он всех выводил, а то он ждет когда я выберу нужных, помогите пожалуйста

"ВЫБРАТЬ
	|	СчетНаОплатуПокупателю.ДатаОплаты КАК ДатаОплаты,
	|	СчетНаОплатуПокупателю.СуммаДокумента КАК СуммаДокумента,
	|	СчетНаОплатуПокупателю.Контрагент,
	|	СчетНаОплатуПокупателю.Ссылка,
	|	СчетНаОплатуПокупателю.Комментарий
	|ИЗ
	|	Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
	|ГДЕ
	|	СчетНаОплатуПокупателю.ДатаОплаты МЕЖДУ &ДатаНачала И &ДатаОкончания
	|	И НЕ СчетНаОплатуПокупателю.ПометкаУдаления
	|	И (СчетНаОплатуПокупателю.Контрагент В (&СписокКонтрагент)
	|			ИЛИ &ВсеКонтрагенты)
	|	И НЕ СчетНаОплатуПокупателю.Контрагент В (&СписокКонтрагентов)
	|
	|УПОРЯДОЧИТЬ ПО
	|	ДатаОплаты
	|ИТОГИ
	|	СУММА(СуммаДокумента)
	|ПО
	|	ОБЩИЕ,
	|	ДатаОплаты";

	Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
	Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
	Запрос.УстановитьПараметр("СписокКонтрагент", Контрагент);
	Запрос.УстановитьПараметр("ВсеКонтрагенты", Контрагент.ЗначениеЗаполнено());
    Запрос.УстановитьПараметр("СписокКонтрагентов", Контрагент1);
	Результат = Запрос.Выполнить();
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
3. shura_a 14.08.20 14:24 Сейчас в теме +0.1 $m
Формируй запрос пс условием:

ТекстЗапроса = "ВЫБРАТЬ
| СчетНаОплатуПокупателю.ДатаОплаты КАК ДатаОплаты,
| СчетНаОплатуПокупателю.СуммаДокумента КАК СуммаДокумента,
| СчетНаОплатуПокупателю.Контрагент,
| СчетНаОплатуПокупателю.Ссылка,
| СчетНаОплатуПокупателю.Комментарий
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
|ГДЕ
| СчетНаОплатуПокупателю.ДатаОплаты МЕЖДУ &ДатаНачала И &ДатаОкончания
| И НЕ СчетНаОплатуПокупателю.ПометкаУдаления
"

Если Проверяешь указаны контрагенты Тогда
 ТекстЗапроса = ТекстЗапроса + "Запрос.УстановитьПараметр("СписокКонтрагент", Контрагент);"
КонецЕсли


ТекстЗапроса = ТекстЗапроса + "
|УПОРЯДОЧИТЬ ПО
| ДатаОплаты
|ИТОГИ
| СУММА(СуммаДокумента)
|ПО
| ОБЩИЕ,
| ДатаОплаты";
"
Показать



примерно так
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. silver_jr 75 14.08.20 14:21 Сейчас в теме
|ГДЕ
| СчетНаОплатуПокупателю.ДатаОплаты МЕЖДУ &ДатаНачала И &ДатаОкончания
| И НЕ СчетНаОплатуПокупателю.ПометкаУдаления
| И %УсловиеПоКонтрагентам%

Вот твой запрос со всеми условиями:
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%УсловиеПоКонтрагентам%","(СчетНаОплатуПокупателю.Контрагент В (&СписокКонтрагент) ИЛИ &ВсеКонтрагенты) И НЕ СчетНаОплатуПокупателю.Контрагент В (&СписокКонтрагентов)")

Проверяешь списки контрагентов и в зависимости от их состояния заменяешь в тексте запроса на нужные условия.
Если вообще хочешь отключить, пишешь просто
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%УсловиеПоКонтрагентам%", ИСТИНА)
3. shura_a 14.08.20 14:24 Сейчас в теме +0.1 $m
Формируй запрос пс условием:

ТекстЗапроса = "ВЫБРАТЬ
| СчетНаОплатуПокупателю.ДатаОплаты КАК ДатаОплаты,
| СчетНаОплатуПокупателю.СуммаДокумента КАК СуммаДокумента,
| СчетНаОплатуПокупателю.Контрагент,
| СчетНаОплатуПокупателю.Ссылка,
| СчетНаОплатуПокупателю.Комментарий
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
|ГДЕ
| СчетНаОплатуПокупателю.ДатаОплаты МЕЖДУ &ДатаНачала И &ДатаОкончания
| И НЕ СчетНаОплатуПокупателю.ПометкаУдаления
"

Если Проверяешь указаны контрагенты Тогда
 ТекстЗапроса = ТекстЗапроса + "Запрос.УстановитьПараметр("СписокКонтрагент", Контрагент);"
КонецЕсли


ТекстЗапроса = ТекстЗапроса + "
|УПОРЯДОЧИТЬ ПО
| ДатаОплаты
|ИТОГИ
| СУММА(СуммаДокумента)
|ПО
| ОБЩИЕ,
| ДатаОплаты";
"
Показать



примерно так
4. troshin71 14.08.20 14:31 Сейчас в теме
(3) а можно я вам отчет сброшу сюда? я пока только учусь сложновато для меня....
5. shura_a 14.08.20 14:39 Сейчас в теме
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день