Имя: Пароль:
1C
 
Запрос по табличной части документа с полем булево
,
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  ( первые)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн