|
Запрос по табличной части документа с полем булево | ☑ | ||
---|---|---|---|---|
0
NIGHTHUNTER
14.04.22
✎
14:32
|
По табличной части документа нужно сделать запрос, и определить есть ли в колонке, хоть одна галка.
Колонка с типом булево. Как правильно сделать такой запрос? то есть что бы если есть хоть одна галка, в запросе есть что то, иначе ничего. Как такие операции можно сделать? |
|||
1
Kassern
14.04.22
✎
14:35
|
(0) беда.. Вы можете и без запроса это сделать, ТЧ.Найти(Истина,"ИмяКолонкиСБулево")
|
|||
2
Fish
14.04.22
✎
14:40
|
(0) Возьми максимум по колонке, и если максимум будет истина - то хоть одна галка есть.
|
|||
3
Kassern
14.04.22
✎
14:41
|
(2) если запросом, то еще проще, где Таблица.КолонкаБулево=Истина, если запрос не пустой, то значит есть галка
|
|||
4
NIGHTHUNTER
14.04.22
✎
14:45
|
Наверное так
ВЫБРАТЬ ДОК_Товары.Ссылка КАК Ссылка, ДОК_Товары.ЧастичноПринято КАК ЧастичноПринято ИЗ Документ.ДОК.Товары КАК ДОК_Товары ГДЕ ДОК_Товары.ЧастичноПринято = ИСТИНА |
|||
5
NIGHTHUNTER
14.04.22
✎
14:45
|
(1) А может оптимально делать это запросом? И нельзя функцией?
|
|||
6
Kassern
14.04.22
✎
14:46
|
(4) в этом случае вы получите все строки с этой галочкой
|
|||
7
NIGHTHUNTER
14.04.22
✎
14:47
|
(6) Или ни одной если галки в этом поле ни одной нет?
|
|||
8
Fish
14.04.22
✎
14:48
|
(7) Так ты получишь все строки всех документов, где есть эта галочка.
|
|||
9
Kassern
14.04.22
✎
14:49
|
(7) вы же не первый год 1ску мучаете, уж банальное ГДЕ в запросе должны понимать как работает
|
|||
10
NIGHTHUNTER
14.04.22
✎
14:49
|
.(8) А да, я забыл ссылку на документ ещё, извиняюсь
|
|||
11
Kassern
14.04.22
✎
14:49
|
Или вам на яблочках с бананами объяснить?)
|
|||
12
NIGHTHUNTER
14.04.22
✎
15:05
|
ЧастичноПринято = Объект.Товары.Найти(Истина,"ЧастичноПринято");
ошибка Метод объекта не обнаружен (Найти) от чего она? &НаСервере Функция ПроверкаВыбораПринятоОТКНаСервере() ЧастичноПринято = Объект.Товары.Найти(Истина,"ЧастичноПринято"); Если ЧастичноПринято <> Неопределено Тогда Возврат Истина; КонецЕсли; Возврат Ложь; КонецФункции |
|||
13
dreizehn
14.04.22
✎
15:07
|
(12) Что говорит отладчик о типе значения Объект.Товары?
|
|||
14
Kassern
14.04.22
✎
15:07
|
(12) скорее всего вы работаете с коллекцией Объект.Товары. А метод "найти" принадлежить табличной части. Зато у коллекции есть метод НайтиСтроки(), СП вам в помощь)
|
|||
15
Kassern
14.04.22
✎
15:07
|
*принадлежит
|
|||
16
NIGHTHUNTER
14.04.22
✎
15:10
|
(14) Я не увидел в СП что возвратит НайтиСтроки, если не найдет
|
|||
17
Kassern
14.04.22
✎
15:12
|
(16) Возвращаемое значение:
Тип: Массив. Массив из строк табличной части, соответствующих заданному условию поиска. Замечание! Массив хранит ссылки на строки табличной части, то есть при изменении строки в табличной части, значение в массиве тоже будет изменено. |
|||
18
NIGHTHUNTER
14.04.22
✎
15:12
|
так если Объект.Товары.Выгрузить().Найти(Истина,"ЧастичноПринято")
|
|||
19
Kassern
14.04.22
✎
15:12
|
(16) если строк не будет подходящих, то просто вернет пустой массив
|
|||
20
Kassern
14.04.22
✎
15:13
|
Синтаксис:
НайтиСтроки(<ПараметрыОтбора>) |
|||
21
NIGHTHUNTER
14.04.22
✎
15:13
|
(18) Не знаю, много точек. Можно ли такое делать.
|
|||
22
Kassern
14.04.22
✎
15:16
|
(21) а много точек, это сколько? Если вы будете одно и тоже вызывать через множество точек, тогда стоит задуматься об объявлении переменной. Не хотите выгружать в ТЗ, работайте с коллекцией, для ваших целей подходит метод НайтиСтроки()
|
|||
23
Fish
14.04.22
✎
15:20
|
А вообще, неплохо бы озвучить всю задачу. Какова цель определить, есть ли хоть одна строка с истина. Тогда будет проще выбрать и способ определения.
|
|||
24
rsv
14.04.22
✎
17:53
|
(0) правильно не забыть указать top 1 ( первые)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |