Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/35: Рейтинг темы: голосов - 35, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 34
1

Проверить результат запроса на пустоту

04.03.2016, 13:38. Показов 7307. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток

В запросе выбираю табличную часть документа. Необходимо проверить запрос на пустоту и если он пустой поставить пометку на удаление.

На форме я специально выбираю документ с пустой ТЧ, но пометка на удаление все равно не ставится.
1C
1
2
3
4
5
6
Результат = Запрос.Выполнить();
 Если Результат.Пустой() Тогда
    Документ = Документ.ПолучитьОбъект();
    Документ.УстановитьПометкуУдаления(Истина);
    Документ.Записать();
КонецЕсли;

Запрос.Выполнить().Выбрать().Количество почему то равно 1.

Подскажите в чем может быть ошибка?

Вот текст запроса
1C
1
2
3
4
5
6
7
8
9
10
Запрос.Текст = "ВЫБРАТЬ
                    |   ВозвратТоваровПоставщику.Товары.(
                    |       Номенклатура,
                    |       Количество,
                    |       ДокументПоступления
                    |   )
                    |ИЗ
                    |   Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
                    |ГДЕ
                    |   ВозвратТоваровПоставщику.Ссылка = &Документ"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2016, 13:38
Ответы с готовыми решениями:

Проверка параметра запроса на пустоту
как проверить указан параметр запроса материалы или нет? хотелось бы если не указан чтобы выводил...

Результат бухгалтерского запроса
Почему при выводе результата запроса в окно сообщений следующим способом:...

Некорректный результат запроса
доброго дня Сделал отчет вроде бы ищет ,а вроде и нет он находит несколько позиций и все начинаешь...

Как проверить на пустоту поле с фиксированными списком для запроса?
Доброго всем дня! Запарился искать, перепробовал все варианты что мог придумать и в гугле и в...

7
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
04.03.2016, 14:02 2
haka, попробуйте обращаться к ТЧ напрямую в запросе:
1C
1
2
3
4
5
6
7
8
Запрос.Текст = "ВЫБРАТЬ
                    |   ВозвратТоваровПоставщикуТовары.Номенклатура,
                    |   ВозвратТоваровПоставщикуТовары.Количество,
                    |   ВозвратТоваровПоставщикуТовары.ДокументПоступления
                    |ИЗ
                    |   Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
                    |ГДЕ
                    |   ВозвратТоваровПоставщикуТовары.Ссылка = &Документ"
0
10 / 7 / 0
Регистрация: 08.05.2013
Сообщений: 268
05.03.2016, 19:17 3
GreenkO, автору нужно проверить на пустоту табличную часть. А в ТЧ может быть ситуация, что строк несколько, а количество = 0.
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
05.03.2016, 19:40 4
Цитата Сообщение от vadim008 Посмотреть сообщение
А в ТЧ может быть ситуация, что строк несколько, а количество = 0.
это как так?)
1
10 / 7 / 0
Регистрация: 08.05.2013
Сообщений: 268
05.03.2016, 19:55 5
Только что: создал документ Расходная накладная, в ТЧ ввел товар, задал цену. А количество не задал.
Документ записался. Но в проведении было отказано.
0
Эксперт 1С
3057 / 2004 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
05.03.2016, 20:08 6
vadim008, и?
Проверка запроса на пустоту - подразумевает отсутствие записей в результате запроса. В моем примере идет запрос к табличной части документа. Если строк в ТЧ нет - количество записей = 0, если есть хоть одна строка результат запроса не будет пустым.
Поле количество здесь не при чем. Смотрите код темы, там идет проверка на Результат.Пустой().
0
10 / 7 / 0
Регистрация: 08.05.2013
Сообщений: 268
05.03.2016, 20:18 7
GreenkO, наверно вы правы, не знаю. Как проверю - скажу утвердительно.
0
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 34
09.03.2016, 12:06  [ТС] 8
GreenkO, результат запроса все равно не был пустым. Видимо после программного удаления строки ТЧ оставалась пустая строка. Сделал по колхозному, добавил условие в запрос, чтобы номенклатура не была пустой и все заработало.

Добавлено через 23 секунды
Спасибо всем за ответы, тема закрыта
0
09.03.2016, 12:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2016, 12:06
Помогаю со студенческими работами здесь

Как проверить объект на пустоту или коллекцию на пустоту?
Например, JavaBean, как его проверить, что он пустой? Есть ли универсальная библиотека, которая...

Проверить результат запроса
Здравствуйте, составил запрос $sql="SELECT MIN(cn) as cn from ldqx1_u_cl where `id_cont`=".$z_id;...

Проверить результат запроса
Добрый день, подскажите как с помощью VBA подсчитать количество строк в результате запроса и...

MaskEdit: Как проверить на пустоту номер телефона, а также проверить ввод всех его цифр?
Туплю с утра... есть MaskEdit с маской !\(000\)000-0000;1;_ ..телефона. Как его проверить на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru