|
Туплю, спать хочу, почему не работает? | ☑ | ||
---|---|---|---|---|
0
Klesk666
26.08.14
✎
04:44
|
Объект.КартаЛояльности = ПолучитьКартуЛояльности(Объект.Партнер);
КонецПроцедуры &НаСервере Функция ПолучитьКартуЛояльности(Партнер) Запрос= Новый Запрос; Запрос.Текст="ВЫБРАТЬ | КартыЛояльности.Ссылка |ИЗ | Справочник.КартыЛояльности КАК КартыЛояльности |ГДЕ | КартыЛояльности.Партнер = &Партнер | И КартыЛояльности.Статус = &Статус"; Запрос.УстановитьПараметр( "Партнер",Партнер); Запрос.УстановитьПараметр( "Статус",Перечисления.СтатусыВидовКартЛояльности.Действует); Результат=Запрос.Выполнить().Выгрузить(); Если Результат.Количество()>0 Тогда Возврат Результат[0].Ссылка; Иначе Возврат Справочники.КартыЛояльности.ПустаяСсылка(); КонецЕсли; КонецФункции в консоле по определенному партнеру возвращает одно значение, в модуле не хочет. Заранее спасибо. |
|||
1
Wobland
26.08.14
✎
04:52
|
параметры
|
|||
2
Klesk666
26.08.14
✎
05:05
|
(1) спасибо
|
|||
3
DrZombi
гуру
26.08.14
✎
06:33
|
(0) Перечисление можно не засовывать в параметры.
Можно так: И КартыЛояльности.Статус = Значение(Перечисление.СтатусыВидовКартЛояльности.Действует) |
|||
4
DrZombi
гуру
26.08.14
✎
06:34
|
+(3) Зачем тебе получать все данные по запросу, когда ты всегда берешь только первую строчку. Так и пиши запрос, где получаешь только одну запись :)
|
|||
5
DrZombi
гуру
26.08.14
✎
06:37
|
+(4) А так же, зачем Выгружать в ТЗ?
Когда делать проще Результат=Запрос.Выполнить(); Выборка = Результат.Выбрать() Если Выборка.Следующий() Тогда Возврат Выборка.Ссылка;; Иначе Возврат Справочники.КартыЛояльности.ПустаяСсылка(); КонецЕсли; |
|||
6
Cube
26.08.14
✎
06:37
|
А ещё вместо
Результат=Запрос.Выполнить().Выгрузить(); Если Результат.Количество()>0 Тогда Возврат Результат[0].Ссылка; Иначе Возврат Справочники.КартыЛояльности.ПустаяСсылка(); КонецЕсли; пиши Выборка = Запрос.Выполнить().Выбрать(); Возврат ?(Выборка.Следующий(), Выборка.Ссылка, Справочники.КартыЛояльности.ПустаяСсылка()); |
|||
7
DrZombi
гуру
26.08.14
✎
06:38
|
(6) Точно, так красивее
:) |
|||
8
Любопытная
26.08.14
✎
06:38
|
(6) Минималист, елки)
|
|||
9
Cube
26.08.14
✎
06:40
|
(8) Дык, зачем плодить сущности, которые далее в коде не используются...
|
|||
10
Cube
26.08.14
✎
06:41
|
(9) Это я про
Результат=Запрос.Выполнить(); Выборка = Результат.Выбрать(); |
|||
11
Любопытная
26.08.14
✎
06:42
|
(9) Не все сразу. Человек же учится, когда-нибудь и до этого голова дойдет
|
|||
12
Godofsin
26.08.14
✎
07:09
|
(9) По шаблону просто пишется. Кто-то привык и на автомате обозначает результат запроса, потому что, к примеру, привык проверять его на пустоту.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |