Имя: Пароль:
1C
 
Проверка значения истина в поле таблчной части документа
0 NIGHTHUNTER
 
07.06.22
04:44
У документа есть поля табличной части, со значением булево.
Если ни в одной строке, не стоят галки в этих полях, то нужно это определить.
Как это можно сделать?
Думал, как нибудь так может сработать, но нет Объект.ХХХ_Основание_НарядЗадание.Итог("ОтгруженоЗаказчиком") .
Показывает 0, есть галки там, или нет.
1 NIGHTHUNTER
 
07.06.22
05:14
сделал запросом
2 ChiginAV
 
07.06.22
06:44
Если Объект.ХХХ_Основание_НарядЗадание.Найти(Истина, "ОтгруженоЗаказчиком") = Неопределено Тогда
Сообщить("Галки не стоят");
КонецЕсли
3 Выпрь
 
07.06.22
08:08
Запросом, минимум = ложь
4 Выпрь
 
07.06.22
08:08
Хотя нет, максимум
5 NIGHTHUNTER
 
07.06.22
09:39
(2) Это поиск в колонке табличной части документа? Прикольно. Этот метод и и искал. Не додумался и стал делать запросом.
6 NIGHTHUNTER
 
16.06.22
15:31
(2) Пишет метод не найден найти ! Может чт ото не так? Сейчас только решил вернуться к этому методу.
7 lodger
 
16.06.22
15:33
(6) в СП почитай разницу между Найти и НайтиСтроки, а потом посмотри в отладчике что такое Объект у тебя.
8 2S
 
16.06.22
15:42
(6) У коллекции нет такого метода, ливинг, почитай уже СП
9 NIGHTHUNTER
 
16.06.22
16:05
Так как (0) решаемо или нет? И (2) это просто выдумка?

Пока голова не соображает, завтра только буду. Хочу пока информацию собрать, или пример работающий как в (2).
Работал что бы только.
10 Курцвейл
 
16.06.22
16:11
(0) Это решаемо если использовать не булево а число. 0 - ложь, 1 - истина.
11 Kassern
 
16.06.22
16:13
(9)  И (2) это просто выдумка?  - а вы попробовали, или ждете чье-то одобрение?
12 kimba
 
16.06.22
16:14
Если Объект.ХХХ_Основание_НарядЗадание.НайтиСтроки(Новый Структура("ОтгруженоЗаказчиком", Истина)).Количество() = 0 Тогда
Сообщить("Галки не стоят");
КонецЕсли
13 lodger
 
16.06.22
16:28
(9) у тебя постоянно "голова не соображает". сядь и работай.
14 NIGHTHUNTER
 
16.06.22
16:45
(10) (11) (12) Я буду пробовать.

Сейчас точно не соображает. До 17:00 - 18:00 должна ещё. Помаленьку.
15 AlvlSpb
 
16.06.22
16:49
(6) Табличная часть (Tabular section)
Найти (Find)
Синтаксис:
Найти(<Значение>, <Колонки>)
Параметры:
<Значение> (обязательный)
Тип: Произвольный.
Искомое значение.
<Колонки> (необязательный)
Тип: Строка.
Список имен колонок, в которых будет осуществляться поиск, разделенных запятыми.
Если параметр не указан, поиск осуществляется по всей табличной части.
Значение по умолчанию: Пустая строка.
Возвращаемое значение:
Тип: Строка табличной части, Неопределено.
Строка, которая содержит искомое значение. Если значение не найдено, то возвращается значение Неопределено.
Описание:
Осуществляет поиск значения в указанных колонках табличной части.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Метод эффективно использовать для поиска уникальных значений.
Пример:
НайденнаяСтрока = Состав.Найти(ТекТовар, "Номенклатура");
Если НайденнаяСтрока = Неопределено Тогда
    Предупреждение(НСтр("ru = 'Товар не найден!';"
     + " en = 'Article not found!'"));
Иначе
    Количество = НайденнаяСтрока.Количество;
КонецЕсли;
Использование в версии:
Доступен, начиная с версии


Вот из СП. Метод работает в таб части
16 Kassern
 
16.06.22
16:57
(6) Тип какой у вас? Коллекция, ТЗ, ТЧ?
17 Kassern
 
16.06.22
16:58
Если коллекция, то велком к (12) , или ТЧ=РеквизитФормыВЗначение("ВашаКоллекция");
18 Ryzeman
 
16.06.22
17:04
(17) Сдаётся мне ты говоришь "коллекция", а у человека сразу в голове книжка со вклеенными марками или монетками. Ну или набор машинок
19 Kassern
 
16.06.22
17:06
(18) Да ладно вам, думаете ТС не понимает как работает 3х звенка? Разве он не понимает, что есть данные БД, а есть коллекции формы?)
20 Ryzeman
 
16.06.22
17:17
А представь по ту сторону сидит реально суровый профессионал который может за месяц в одно лицо ERP внедрить, оптимизирует типовые запросы, по техжурналам узкие места находит, смотрит планы запросов и настраивает индексы, шаманит с SQL, а в свободное время просто заходит на мисту поугорать над нами?)
21 lodger
 
16.06.22
17:39
(20) (19) судя по регулярности подобных тем (авторы разные, но почерк весьма похожий), у нас тут свой домашний тролль.
22 Kassern
 
16.06.22
17:41
(21) А может это все дело в: "Москвичей старшего поколения приглашают на бесплатные курсы центра «Профессионал»"?))
https://www.mos.ru/news/item/95665073/
23 hhhh
 
16.06.22
17:42
(17) это не нужно, просто сделать НайтиСтроки.
24 NIGHTHUNTER
 
17.06.22
04:10
(15) Почему у меня это не работает?

&НаСервере
Функция ЕстьДокументыНаПечать2()
    Если Объект.ХХХ_ВидДокумента = Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.НарядЗадание Тогда
        Если Объект.ХХХ_Основание_НарядЗадание.Найти(Истина, "ОтгруженоЗаказчиком") = Неопределено и Объект.ХХХ_Основание_НарядЗадание.Найти(Истина, "ОтгруженоИсполнителем") = Неопределено  Тогда
            Возврат Ложь;
        Иначе
            Возврат Истина;    
        КонецЕсли
    Иначе
        Если Объект.ХХХ_Основание.Найти(Истина, "ОтгруженоЗаказчиком") = Неопределено и Объект.ХХХ_Основание.Найти(Истина, "ОтгруженоИсполнителем") = Неопределено  Тогда
            Возврат Ложь;
        Иначе
            Возврат Истина;    
        КонецЕсли
    КонецЕсли;
КонецФункции
25 NIGHTHUNTER
 
17.06.22
04:19
Вот так строку находит, или не определено Объект.ХХХ_Основание.Выгрузить().Найти(Истина, "ОтгруженоИсполнителем")
не знаю на сколько это правильно .
26 NIGHTHUNTER
 
17.06.22
04:43
(10) не подошло, все так же в том случае
(12) Спасибо, это работает
Объект.ХХХ_Основание.НайтиСтроки(Новый Структура("ОтгруженоИсполнителем", Истина))


(16) На сервере у меня Объект.ХХХ_Основание - это данные формы коллекция, и Найти тут нет. Можно сделать Выгрузить() . как в (25).

Получается в (2) опечатка? Так не бывает? И Возможно только как. -

Если Объект.ХХХ_Основание_НарядЗадание..Выгрузить().Найти(Истина, "ОтгруженоЗаказчиком") = Неопределено Тогда
   Сообщить("Галки не стоят");
КонецЕсли

будет возвращено или неопределено или строка .
27 Kassern
 
17.06.22
09:04
(26) Получается в (2) опечатка? - получается в 2 ТЧ, а не "данные формы коллекция", поэтому метод "найти" доступен. Он так же работает и для ТЗ. Когда вы сделали "Объект.ХХХ_Основание.Выгрузить()" -то получили в итоге ТЗ из коллекции, поэтому у вас отработало. Вы так же могли РеквизитФормыВЗначение("ВашаТаблица") и тогда бы вы получили ТЧ и так же бы отработал метод. Вам же все выше разжевали по 10 раз. Либо использовать метод коллекции - найтистроки
28 hhhh
 
17.06.22
10:13
(26) делай через НайтиСтроки. Выгрузить() это уже следующий этап, не всегда требуется. Бывают задачи, где и требуется.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший