Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Проверка на заполнение параметра в запросе          
vet07 Подменю пользователя
сообщение 08.10.15, 10:01
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Харьков
Спасибо сказали: 0 раз
Рейтинг: 0

1C 8.3 конфигурация самописная, управляемая.
Есть запрос в ГДЕ передается праметр (ТИП Массив):
 ВЫБОР
     КОГДА &Контрагенты ЕСТЬ NULL
         ТОГДА ИСТИНА
      ИНАЧЕ Закупки.Контрагент В (&Контрагенты)
КОНЕЦ


Запрос не работает. Как в запросе проверить массив на заполненность?


Или на НЕОПРЕДЕЛЕНО?

Цитата(vet07 @ 08.10.15, 10:52) *
1C 8.3 конфигурация самописная, управляемая.
Есть запрос в ГДЕ передается праметр (ТИП Массив):
 ВЫБОР
     КОГДА &Контрагенты ЕСТЬ NULL
         ТОГДА ИСТИНА
      ИНАЧЕ Закупки.Контрагент В (&Контрагенты)
КОНЕЦ


Запрос не работает. Как в запросе проверить массив на заполненность?


Или на НЕОПРЕДЕЛЕНО?


Пробовал
 ВЫБОР
     КОГДА &Контрагенты = НЕОПРЕДЕЛЕНО
         ТОГДА ИСТИНА
      ИНАЧЕ Закупки.Контрагент В (&Контрагенты)
КОНЕЦ

Вообще выдает ошибку.

TipsyKID Подменю пользователя
сообщение 08.10.15, 11:03
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 413
Из: Киев
Спасибо сказали: 161 раз
Рейтинг: 0

Проверить до выполнения, на этапе установки параметра в запрос.
Запрос.УстановитьПараметр("Контрагенты", ?(ВашМассив.Количество() = 0, неопределено, ВашМассив))


Signature
Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины

Petre Подменю пользователя
сообщение 08.10.15, 12:18
Сообщение #3

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2909
Из: Київ, Україна
Спасибо сказали: 1162 раз
Рейтинг: 1248.1

Или пользовать построитель запроса.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

vet07 Подменю пользователя
сообщение 08.10.15, 12:33
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 37
Из: Харьков
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(TipsyKID @ 08.10.15, 12:03) *
Проверить до выполнения, на этапе установки параметра в запрос.
Запрос.УстановитьПараметр("Контрагенты", ?(ВашМассив.Количество() = 0, неопределено, ВашМассив))


Я так понял, в запросе проверку сделать никак?

Petre Подменю пользователя
сообщение 08.10.15, 12:50
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2909
Из: Київ, Україна
Спасибо сказали: 1162 раз
Рейтинг: 1248.1

Цитата(vet07 @ 08.10.15, 13:33) *
Я так понял, в запросе проверку сделать никак?

Делайте запрос количества различных к справочнику контрагенты с условием ссылка в вашем списке, помещайте во временную таблицу.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

VXIIIZ Подменю пользователя
сообщение 09.10.15, 11:43
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 32
Спасибо сказали: 6 раз
Рейтинг: 0

Я, не понимаю общей идеи, зачем делать такую конструкцию в чем её преимущество.
Вы уже до выполнения запросам можете знать есть контрагенты в массиве или нет.
Зачем же городить огород?

Можно:
1. Делать через построитель запроса и заполнять этот отбор в построитель при наличии заполненного массива.
2. При формировании текста запроса добавлять это условие в зависимости от заполненности.
3. Добавить второй параметр в запрос
ВЫБОР КОГДА &ОтборПоКонтрагентам ТОГДА _.Контрагент В (&МассивКонтрагентов) ИНАЧЕ ИСТИНА КОНЕЦ

Запрос.УстановитьПараметр("ОтборПоКонтрагентам", МассивКонтрагентов.Количество() > 0)

Спасибо сказали: drug_com, vet07,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.11.24, 2:32
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!