Имя: Пароль:
1C
 
Условие после запроса
0 Varlant1n
 
21.01.21
10:44
Есть запрос к табличной части документа Заказ Клиента. В самом документе Заказ клиента есть реквизит Статус. Мне надо работать с результатом запроса, только при условии, что статус не равен новому. Мне надо в самом запросе написать данное условие или после? Сами значения статуса берутся из Перечисления
1 ДенисЧ
 
21.01.21
10:44
Если Статус <> Новый Тогда
//   тут выполняем запрос и делаем с его результатом всякие непотребности
КонецЕсли
2 Chameleon1980
 
21.01.21
11:16
зависит от конечной задачи.
я придерживаюсь (вангую) варианта: "...Мне надо в самом запросе написать данное условие..."
3 Chameleon1980
 
21.01.21
11:17
Вам, наверное не понятно как поставить условие на реквизит документа, когда у Вас работа с ТЧ
и не понятно как поставить условие на значение перечсления
4 DrShad
 
21.01.21
11:22
вообще-то нужно начать с того, что сам запрос к документу или его ТЧ уже не кошерно, только если это не для формирования печатной формы
5 Тессеракт
 
21.01.21
11:22
В табличной части есть реквизит Ссылка - это ссылка на сам документ. Условие в запросе Где Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисление.КакиеТоТамСтатусыПосмотриВКонфе.Новый)
6 Тессеракт
 
21.01.21
11:24
(5) Перечисление.СтатусыЗаказовКлиентов.Новый
7 Chameleon1980
 
21.01.21
11:25
(4) похоже автору это все для обработки ввода на основании, но автор молчит, как партизан
8 Varlant1n
 
21.01.21
12:01
(5) Таким образом имеете в виду?

Запрос = Новый Запрос;
Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаданиеМенеджераДокументы.Документ КАК Документ,
        |    ЗаданиеМенеджераДокументы.Документ.Номер КАК Номер,
        |    ЗаданиеМенеджераДокументы.Документ.Контрагент КАК Контрагент
        |ИЗ
        |    Документ.ЗаданиеМенеджера.Документы КАК ЗаданиеМенеджераДокументы
        |ГДЕ
        |    ЗаданиеМенеджераДокументы.Ссылка = &ЗаданиеМенеджера
        |    И ЗаданиеМенеджераДокументы.Ссылка <> ЗНАЧЕНИЕ(Перечисления.СтатусыЗаказовКлиентов.НеСогласован.)";
        Запрос.УстановитьПараметр("ЗаданиеМенеджера", Параметры.СсылкаНаДокумент);
        РезультатЗапроса = Запрос.Выполнить().Выгрузить();
        ТаблицаДокументов.Загрузить(РезультатЗапроса);
9 DrShad
 
21.01.21
12:04
*рукалицо*
у тебя же ссылка не с типом перечисление
10 Varlant1n
 
21.01.21
12:05
(7) У меня обработка в которой проверяется наличие документов у менеджера при выборе определенного менеджера, если документ есть, то в зависимости от количества строк в табличной части (заказклиента.ссылка) создаются кнопки определенной строки для заполнения данными из строки форму. Но мне надо, чтобы не появлялись кнопки (строки) в документе которых статус "Новый"
11 Varlant1n
 
21.01.21
12:05
(9) Ссылка.Статус
12 Varlant1n
 
21.01.21
12:08
(11) Но проблема в том, что если в самом запросе я поставлю данное условие, то у меня в принципе ничего не произойдет и пользователь даже не поймет в чем дело. Поэтому я спрашивал как вынести за запрос это условие, чтобы в случае если статус новый сделать предупреждение, чтобы он закошмарил отдел отвечающий за документ заказ клиента
13 Kassern
 
21.01.21
12:11
(12) чем тебя (1)  не устроил?
14 Varlant1n
 
21.01.21
12:13
(13) Всё устроило, но как не задать значение "Статус", чтобы процедура поняла о чем я. Заранее извиняюсь, что очень сильно туплю. Учусь(
15 Varlant1n
 
21.01.21
12:13
(14) мне задать*
16 Тессеракт
 
21.01.21
15:40
(8) И ЗаданиеМенеджераДокументы.Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисления.СтатусыЗаказовКлиентов.НеСогласован.)"; //статус забыл у ссылки и если "не согласован" = "новый" из (0), то да
17 Said_We
 
22.01.21
14:00
(0) "Если Статус <> Новый Тогда" - слово "новый" зарезервировано. Его использовать нельзя.
Все условия в запрос.