Отбор в журнале документов ( обычное приложение )

1. Александр Бессонов (asd117) 12.10.17 14:23 Сейчас в теме
Всем привет !
Подскажите как сделать отбор в списке документов.
Отбор нужно сделать через запрос ( запрос есть - работает ) , отбор нужен по полю из запроса - поле дата
Ответы
6. Игорь Дайнеко (Dnki) 12.10.17 20:57 Сейчас в теме
"короче нужен новый отбор сделать". Да, коротко и грамотно писать ты умеешь.

Самый простой вариант - добавить в документ реквизит "ДатаЧегоТо" (врожденная лаконичность не позволила тебе объяснить, что это за дата).
Затем подумать над тем, чтобы это дата заполнялась. Если люди сами вносят - замечательно, только придумать удобный способ заполнения. А если ее можно вычислить ("запрос получает оплату"), то как-то программно вписать в документ.

Более сложный вариант: Сделать свой журнал. Точнее форму с большой табличной частью. И она имитирует журнал. Таких наработок много, и это хлопотно.
8. Random Name (BackinSoda) 13.10.17 08:27 Сейчас в теме
(1)
ЖурналДокументовСписок.Отбор.Дата.Использование
ЖурналДокументовСписок.Отбор.Дата.ЗначениеС
ЖурналДокументовСписок.Отбор.Дата.ЗначениеПо
2. Александр Бессонов (asd117) 12.10.17 14:25 Сейчас в теме
Т.е добавить к основному стандартному отбору по дате - новый отбор полученный из запроса и то же отбор по дате.
3. Александр Бессонов (asd117) 12.10.17 14:28 Сейчас в теме
короче нужен новый отбор сделать в журнале документов, выводить в журнал документы полученные из готового запроса.
4. Александр Бессонов (asd117) 12.10.17 14:34 Сейчас в теме
Запрос работает. нужно по нажатию кнопки выводить необходимые документы из запроса
5. Александр Бессонов (asd117) 12.10.17 14:45 Сейчас в теме
т.е есть журнал заказов Ут 10.3, у меня запрос получает оплату этих заказов ..... и мне нужно выводить отбором из этого запроса оплаченные заказы за период. Вот такая загогулина
7. Дмитрий Щеглов (DimDiemon) 52 13.10.17 08:01 Сейчас в теме
Для каких целей такой отбор? Выбрать заказ и поместить его в какое то поле? Я бы лучше в обработке ПередНачаломВыбора это сделал и выбор давал из результата запроса.
9. Алексей Маврин (alx7304) 13.10.17 08:35 Сейчас в теме
В форме списка делал кнопку или переключатели, на событие формы списка "ПриПолученииДанных" делал следующий код
Запрос = Новый Запрос;
		Запрос.Текст ="ВЫБРАТЬ
		              |	VS_СтатусыЗаказовСрезПоследних.Документ,
		              |	VS_СтатусыЗаказовСрезПоследних.Статус
		              |ИЗ
		              |	РегистрСведений.VS_СтатусыЗаказов.СрезПоследних(&Период, Документ = &СписокДокументов) КАК VS_СтатусыЗаказовСрезПоследних";
		Запрос.УстановитьПараметр("Период", ТекущаяДата());
		Для Каждого Строка из ОформленияСтрок Цикл
			
			Запрос.УстановитьПараметр("СписокДокументов", Строка.ДанныеСтроки.Ссылка);
			Выборка = Запрос.Выполнить().Выбрать();
			Выборка.Следующий();
			Если ТипЗнч(Строка.ДанныеСтроки.Ссылка.ДокументОснование) = Тип("ДокументСсылка.VS_ЗаявкаНаПополнениеСклада")   Тогда	
				Если Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.Закрыт Тогда
					Строка.ЦветФона = WebЦвета.Розовый;
				Иначе
					Строка.ЦветФона = WebЦвета.СеребристоСерый;
				КонецЕсли;
			Иначе
				Если Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.ОтданВОтгрузку Тогда
					Строка.ЦветФона = WebЦвета.БледноЗеленый;
				ИначеЕсли Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.Закрыт Тогда
					Строка.ЦветФона = WebЦвета.Розовый;
				ИначеЕсли Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.Формируется Тогда	
					Строка.ЦветФона = WebЦвета.ТопленоеМолоко;
				КонецЕсли;
			КонецЕсли;
			Строка.Ячейки.ДатаДоговора.Значение = ?(ЗначениеЗаполнено(Строка.ДанныеСтроки.Ссылка),Строка.ДанныеСтроки.Ссылка.ДоговорКонтрагента.Дата,"");
		КонецЦикла;
Показать
это УПП пиленная.
10. Алексей Маврин (alx7304) 13.10.17 08:48 Сейчас в теме
Извиняюсь пример выше это раскраска, помню что был и отбор сейчас посмотрю, давно это было.
11. Алексей Маврин (alx7304) 13.10.17 08:58 Сейчас в теме
вот нашел пример но не оптимальный
Процедура ДействияФормыДействиеОтобратьПодписанные(Кнопка)
	СписокОтбора = Новый СписокЗначений;
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Статус", Перечисления.СтатусыДокументовРеализации.Подписан);
	Запрос.УстановитьПараметр("ДатаНачала", ?(ЗначениеЗаполнено(ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеС),ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеС, Дата(1980,1,1)));
	Запрос.УстановитьПараметр("ДатаОкончания", ?(ЗначениеЗаполнено(ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеПо),ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеПо, ТекущаяДата()));
	Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
	               |	СтатусыДокументов.Документ,
	               |	СтатусыДокументов.Статус
	               |ИЗ
	               |	РегистрСведений.СтатусыДокументов КАК СтатусыДокументов
	               |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
	               |		ПО СтатусыДокументов.Документ = РеализацияТоваровУслуг.Ссылка
	               |ГДЕ
	               |	СтатусыДокументов.Статус = &Статус
	               |	И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
	Выборка = Запрос.Выполнить().Выгрузить();
	СписокОтбора.ЗагрузитьЗначения(Выборка.ВыгрузитьКолонку("Документ"));
	ЭлементыФормы.Список.Значение.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
	ЭлементыФормы.Список.Значение.Отбор.Ссылка.Значение = СписокОтбора;
	ЭлементыФормы.Список.Значение.Отбор.Ссылка.Использование = Истина;

КонецПроцедуры
Показать
Оставьте свое сообщение