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

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

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

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

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

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

СМОТРЕТЬ >>


Оффлайн vitasw

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

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

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

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

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

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


Оффлайн vitasw

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

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

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

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

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

А ссылкой

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

Оффлайн LexaK

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

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

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


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

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

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


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

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


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

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

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

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

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
150 Сообщений
alex0402
109 Сообщений
MuI_I_Ika MuI_I_Ika
53 Сообщений
Norfolk
51 Сообщений
LexaK
48 Сообщений
AsadRoman
27 Сообщений
SlimShady
22 Сообщений
друган
21 Сообщений
alexandr_ll
19 Сообщений
Константин5825
17 Сообщений

* Кто онлайн

  • Точка Гостей: 1009
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 

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