Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Янв 2017, 00:54
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Проблема с запросом  (Прочитано 570 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Пустовалов Артем

  • **
  • Сообщений: 88
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
Добрый всем день! У меня возник такой вопрос. Делаю запрос где ставлю есть условие по складу, которое выбирается из поля ввода, ссылка на справочник. Как сделать такой отбор : если поле пустое тогда выводит все склады. И как сделать тоже самое если тип поля ввода не ссылка а строка??

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Со складом - попробуйте составить условие проверки вхождения в список( по-моему, если список пустой то отбор не выполняется). По строке - только аналитически корректировать текст запроса.
А вообще, если это отчет, то пишите на СКД, а отборы выведите пользователю.

Оффлайн Пустовалов Артем

  • **
  • Сообщений: 88
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
Со складом - попробуйте составить условие проверки вхождения в список( по-моему, если список пустой то отбор не выполняется). По строке - только аналитически корректировать текст запроса.
А вообще, если это отчет, то пишите на СКД, а отборы выведите пользователю.

Может я не правильно выразился, условие в запросе

Где регСведений.Склад = &Склад

как слелать чтобы если не вводили Склад тогда по всем складам вывел


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Где регСведений.Склад в (&спСклад)
...
спСклад=Новый СписокЗначений;
спСклад.Добавить(Склад)
Запрос.УстановитьПараметр("спСклад",спСклад);

Оффлайн Пустовалов Артем

  • **
  • Сообщений: 88
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
Где регСведений.Склад в (&спСклад)
...
спСклад=Новый СписокЗначений;
спСклад.Добавить(Склад)
Запрос.УстановитьПараметр("спСклад",спСклад);

Спасибо что окликнулся помогла такая конструкция запроса

ВЫБОР
    КОГДА "" = &СкладТОГДА ИСТИНА
    ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Склад.Наименование = &Склад
КОНЕЦ

А ссылкой

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

Оффлайн LexaK

  • *****
  • Сообщений: 1084
  • РЕПУТАЦИЯ: 284
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
:D попробуйте такой вариант

Выбрать 
    ...
где
    регСведений.Склад = &Склад
или &ВсеСклады = Истина

...
Запрос.УстановитьПараметр("Склад", <ВашаПеременнаяСклад>);
Запрос.УстановитьПараметр("ВсеСклады", Не ЗначениеЗаполнено(<ВашаПеременнаяСклад>));


правда здесь могут быть приличные тормоза
продвинутые геймеры используют динамическую модификацию кода запроса (в отличие от лузеров от 1С которые собирают текст запроса сложением кусков текста)

описание способа
в запросе пишем следующее условие

Выбрать 
    ...
где
    0 = 0


Если ЗначениеЗаполнено(<ВашаПеременнаяСклад>) Тогда
    Запрос.УстановитьПараметр("Склад", <ВашаПеременнаяСклад>);
    Запрос.Текст = СтрЗаменить(Запрос.Текст, "0 = 0", "регСведений.Склад = &Склад" );
КонецЕсли;

лкРезультат = Запрос.Выполнить().Выгрузить();


если склад не выбран, запрос отработает на ура по всем складам,
если же склад выбран, то срабатывает условие ниже, модифицируется код и отбор будет по одному складу

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

Помогло? - Нажми СПАСИБО!!!
                       :)


Теги:
 

Проблема с выгрузкой НН в "Звит" Не найдено соответствие для схемы "J1201008"

Автор AldemaHРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 657
Последний ответ 06 Июл 2016, 09:19
от AldemaH
проблема с "ЗагрузкаДанныхИзТабличногоДокумента"

Автор bratmaratРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 3797
Последний ответ 08 Янв 2014, 14:30
от LordWizard
Проблема с развертыванием окон и сохранением окон

Автор SokresРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 1150
Последний ответ 09 Дек 2015, 14:09
от pavl_vs
Проблема с отчетом "Перемещение товаров"

Автор sailРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2738
Последний ответ 14 Дек 2010, 20:27
от progmikon
1C 8.2 УПП проблема с отчетом "Задолженость по контрагентам"

Автор LeonidLeonidРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2924
Последний ответ 26 Сен 2011, 20:42
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
159 Сообщений
alex0402
63 Сообщений
MuI_I_Ika MuI_I_Ika
47 Сообщений
crow1983
35 Сообщений
LexaK
32 Сообщений
alexandr_ll
30 Сообщений
sertak sertak
25 Сообщений
Vzonder
22 Сообщений
дфтын дфтын
17 Сообщений
BuhRust
17 Сообщений

* Кто онлайн

  • Точка Гостей: 211
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal