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

Автор Тема: Как сравнить Типы Значений в запросе?  (Прочитано 843 раз)

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

Оффлайн barabambler

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-09-30
  • Сайт: 
  • Профессия: Ученик 1С
В платформе версии 8.2 в запросе стоит условие:

ГДЕ ТипЗначения(Регистратор) В (&ТипыДокументов)
параметр “ТипыДокументов” - это список значений из типов документов-регистраторов.

В платформе версии 8.1 запрос не работает, я так понимаю, что функция “ТипЗначения” еще не была реализована, так как же прописать подобное условие в 8.1?


Оффлайн LexaK

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

Где 
    Регистратор Ссылка Документ.РеализацияТоваровУслуг
//при необходимости отбора по нескольким типам
//или Регистратор Ссылка Документ.ПоступлениеТоваровУслуг
//и т.д.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн barabambler

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-09-30
  • Сайт: 
  • Профессия: Ученик 1С
попробуйте такой метод

Где 
    Регистратор Ссылка Документ.РеализацияТоваровУслуг
//при необходимости отбора по нескольким типам
//или Регистратор Ссылка Документ.ПоступлениеТоваровУслуг
//и т.д.

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

Оффлайн ilyay

  • 1С:Специалист, 1С:Эксперт
  • ****
  • Сообщений: 367
  • РЕПУТАЦИЯ: 69
  • КПД: 19%
  • Регистрация: 2011-06-09
  • Сайт: 
  • Профессия: Разработчик 1С
ВЫРАЗИТЬ преобразует значение поля к нужному типу. Не подойдет.

Может быть "ТипЗНч(Регистратор) = Тип(вашТип)" или даже "В (Тип(первый тип), Тип(второй тип))"

Оффлайн LexaK

  • *****
  • Сообщений: 1254
  • РЕПУТАЦИЯ: 345
  • КПД: 28%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
ну вы как будто первый раз 1С видите!
любую конфигурацию открываете и там куча примеров динамического формирования условия запроса
вот как это выглядит на примере
Есть ТЗ где галочками отмечены ваши виды документов

//ваш запрос
Запрос.Текст = "
    |Выбрать
    |...
    |Где
    |   0 = 1
";
//тзВидыДокументов  - ваша ТЗ с отмеченными видами документов
//колонки
//Отметка - (булево) там где пользователь галочки поставил
//ВидДокумента - (строка) вид документа, напр. РеализацияТоваровУслуг
Для каждого лкСтр Из тзВидыДокументов Цикл

Если лкСтр.Отметка Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "0 = 1", "0 = 1 или Регистратор Ссылка Документ." + лкСтр.ВидДокумента);
КонецЕсли;

КонецЦикла;

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


такой фокус точно на 8.1 работает, сам помню когда-то делал так.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн barabambler

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-09-30
  • Сайт: 
  • Профессия: Ученик 1С
О! Попробую обязательно. Я эту проверку реализовал в обходе результата запроса, но хочется в самом запросе.
Заранее спасибо!

Оффлайн Afinogen

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 1
  • КПД: 7%
  • Регистрация: 2016-08-24
  • Сайт: 
  • Профессия: Программист 1С
Добавьте в таблицу из которой пользователь выбирает документы скрытую колонку, в которую инициализируйте при открытии формы "хвосты" текста запроса в формате "Документ.ИмяДокумента"
Запрос переделайте следующим образом
Запрос = Новый Запрос
Запрос.Текст = "Выбрать
|текст запроса
| ГДЕ "+Условие;

Перед тем как запустить запрос просто формируйте строку условия

Для Каждого Стр ИЗ ТаблицаСДокументами Цикл
    Условие = Условие +?(ЗначениеЗаполнено(Условие),""," ИЛИ ")+" Регистратор ССЫЛКА "+Стр.ИмяСкрытойКолонки
КонецЦикла
 ;)


Оффлайн barabambler

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-09-30
  • Сайт: 
  • Профессия: Ученик 1С
Да! Получилось, всем по спасибке :ooifh:


Теги: #1С 8.2 #1С 8.1 
 

Получить номер недели в месяце в запросе [номер недели]

Автор MuI_I_IkaРаздел Алгоритмы

Ответов: 0
Просмотров: 3714
Последний ответ 15 Июл 2015, 18:24
от MuI_I_Ika
РС "СостояниеОСОрганизаций" в запросе

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

Ответов: 1
Просмотров: 1042
Последний ответ 07 Янв 2015, 05:33
от ILLUMI
"Поле не найдено" в запросе, но оно есть.

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

Ответов: 3
Просмотров: 2325
Последний ответ 27 Окт 2015, 10:29
от vitasw
"Таблица значений" в результате запроса - 1С

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

Ответов: 8
Просмотров: 476
Последний ответ 15 Июн 2017, 07:53
от mvk843
Ошибка - Обнаружено дублирование ключевых значений в колонке "Ссылка". Отображение данных в списке не возможно.

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

Ответов: 6
Просмотров: 4194
Последний ответ 24 Ноя 2015, 15:38
от welldone

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

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

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


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

* Реклама

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

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

oleg-x
162 Сообщений
alex0402
85 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
81 Сообщений
Golickoff Golickoff
32 Сообщений
Kironten
29 Сообщений
ilyay ilyay
27 Сообщений
AIFrame
26 Сообщений
BuhRust
25 Сообщений
AsadRoman
22 Сообщений
Варвар
20 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal