Имя: Пароль:
1C
 
Прошу помочь с запросом. Ошибка
🠗 (Волшебник 19.02.2024 16:55)
0 Gennady
 
naïve
19.02.24
13:57
Фрагмент кода обработки:
Запрос = Новый Запрос;
					Запрос.Текст = "ВЫБРАТЬ
						|Ссылка
						|ИЗ Справочник.ДоговорыКонтрагентов КАК Договоры
						|ГДЕ Ссылка.Контрагент = &Параметр";
					Запрос.УстановитьПараметр("Параметр",ТекКонтрагент);
					РезультатЗапроса = Запрос.Выполнить();
					Выборка = РезультатЗапроса.Выбрать(); 
					ПризРез=0;
					Пока Выборка.Следующий() Цикл
						ЭлемДог = Ссылка.ПолучитьОбъект();
						Если ЭлемДог.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту Тогда
							ПризРез=1;
							Прервать;
						КонецЕсли;
						
					КонецЦикла;

Ошибка в строке Ссылка.ПолучитьОбъект()
Как получить из запроса Элемент справочника-Объект?
1 Kigo_Kigo
 
19.02.24
13:44
Выборка.Ссылка.ПолучитьОбъект();
2 Климов Сергей
 
19.02.24
13:44
Выборка.Ссылка.ПолучитьОбъект()
3 steep1
 
19.02.24
13:47
Выборка.Ссылка.ПолучитьОбъект()
4 Gennady
 
naïve
19.02.24
13:49
Спасибо большое!
5 Смотрящий
 
19.02.24
13:49
ВЫБРАТЬ
Договоры.Ссылка
ИЗ Справочник.ДоговорыКонтрагентов КАК Договоры
ГДЕ Договоры.Контрагент = &Параметр";
6 2S
 
19.02.24
13:50
Пока Выборка.Следующий() Цикл
                        ЭлемДог = Ссылка.ПолучитьОбъект();
                        Если ЭлемДог.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту Тогда
                            ПризРез=1;
                            Прервать;
                        КонецЕсли;


все в запрос
7 Garykom
 
гуру
19.02.24
13:51
(0) Зачем тебе в цикле отбирать
ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.РеализацияКлиенту

когда это можно сразу в запросе?
8 Garykom
 
гуру
19.02.24
13:52
Ну и в целом рановато код писать да и спрашивать на форуме
Пока никакого понимания нет, на курсы или учебники изучать
9 Fedor-1971
 
19.02.24
13:56
(0) для начала корректно написать запрос, а потом получать Объект
Запрос.Текст =
"ВЫБРАТЬ
|Договоры.Ссылка как Ссылка
|ИЗ Справочник.ДоговорыКонтрагентов КАК Договоры
|ГДЕ Договоры.Контрагент = &Параметр";
10 Волшебник
 
19.02.24
13:57
(0) "Параметр" - плохое имя параметра
11 Волшебник
 
19.02.24
13:58
(0) >> Ошибка в строке Ссылка.ПолучитьОбъект()

Не указан текст ошибки.

См. также:
OFF: Рекомендации по созданию новых веток
12 1Снеговик
 
гуру
19.02.24
15:25
Зачем там вообще получать объект?

Что такое "ПризРез"?
13 Гена
 
гуру
19.02.24
15:31
(12) признак результата... квазибулевый
14 Fedor-1971
 
19.02.24
15:34
(12) Погоди, пусть ТС получит объект, для понимания что и как устроено
Потом дойдёт до получения нужных полей в запросе и их сравнения с неким значением в обходе результата
И последним этапом: прямо сразу запросить нужные договоры с конкретными параметрами и проверкой "Есть ли что в выборке?"
15 Fedor-1971
 
19.02.24
15:38
(13) Так не факт, может ему потом на сию штуку нужно что-то умножить.
Типа есть вот такие договоры, значит включаем сумму оборота иначе нет

Нам того неизвестно, что ТС пилит, может просто лаба по запросам, а может и отчёт какой
16 Волшебник
 
19.02.24
16:38
(15) Да нет никакого ТС...
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший