helpf.pro
Регистрация

v8: Помогите с условием в запросе

ArtemKolos
19.10.2011 13:10Прочитано: 4476
Как построить такое условие в запросе например:

Исполнитель= Петорв И Работа=Отгрузка и Исполнитель = Иванов И Работа=Загрузка, суть в том чтобы отфильтровать только данных исполнителей по определенной работе
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
19.10.2011 13:45Ответ № 1
условиями токое сложно сделать, тока если по каждому сотруднику формировать запрос.
попробйу через Выбор, но тогда в результате будет много столбцов
ArtemKolos
19.10.2011 13:52Ответ № 2
Если не сложно, можно маленький пример?
E_Migachev
19.10.2011 14:23Ответ № 3
вот про ВЫБОР в запросе
MaratSpb
20.10.2011 13:28Ответ № 4
Необходимые данные можно получить при помощи ОБЪЕДИНЕНИЕ двух запросов. 1-ый запрос по: Исполнитель= Петорв И Работа=Отгрузка, 2-ой запрос по: Исполнитель = Иванов И Работа=Загрузка
ArtemKolos
20.10.2011 14:32Ответ № 5
Спасибо всем, решил проблему не в запросе, а путем перебора значений после выгрузки в тз, знаю что не очень правильно, но пока лучше не придумал. Просто в итоге надо получить что то типа: Склад1 - загрузил петров, доставил сидоров, получил иванов, и если загрузил петров а получил не иванов, или какое то несовпадение то не выводить строку.
(4) MaratSpb, вариант хорош, я б сказал то что нада, но у меня много условий, соответственно будет много запросов *11, и вот ума не приложу, как потом все это удалять из запроса, если один и параметров не задан?
Изменено 20.10.11 16:15:30
ArtemKolos
20.10.2011 17:10Ответ № 6
Все таки сделал как посоветовал товарищ (4) MaratSpb, привожу пример кода
Код 1C v 8.х
 ВЫБРАТЬ
| МойРегистрСвденийСрезПоследних.Задача КАК Задача,
| МойРегистрСвденийСрезПоследних.Объект КАК Объект
|ИЗ
| РегистрСведений.МойРегистрСвдений.СрезПоследних(&МоментВремени, ) КАК МойРегистрСвденийСрезПоследних
|ГДЕ
| МойРегистрСвденийСрезПоследних.ВидРаботы = &ВидРаботы
| И МойРегистрСвденийСрезПоследних.Исполнитель = &Исполнитель
| И МойРегистрСвденийСрезПоследних.ПлановаяДатаВыполнения < &ПлановаяДатаВыполнения"

И при наличии условия делаю этот запрос вложенным, и с него, по "Задаче" и "Объекту" отбираю по условию
Код 1C v 8.х
 
НачалоЗапроса = " ВЫБРАТЬ МойРегистрСвденийСрезПоследних.Задача КАК Задача,
|МойРегистрСвденийСрезПоследних.Объект КАК Объект ИЗ (";

КонецЗапроса = " ) КАК ВложенныйЗапрос
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МойРегистрСвдений.СрезПоследних(&МоментВремени, ) КАК МойРегистрСвденийСрезПоследних
| ПО ВложенныйЗапрос.Задача = МойРегистрСвденийСрезПоследних.Задача
|И ВложенныйЗапрос.Объект = МойРегистрСвденийСрезПоследних.Объект
|ГДЕ МойРегистрСвденийСрезПоследних.ВидРаботы= &ВидРаботы"+к+"
| И МойРегистрСвденийСрезПоследних.Исполнитель = &Исполнитель"+к+"
|И МойРегистрСвденийСрезПоследних.ПлановаяДатаВыполнения < &ПлановаяДатаВыполнения"+к;

Запрос.Текст = НачалоЗапроса + Запрос.Текст + КонецЗапроса;

Изменено 20.10.11 17:39:51
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.