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

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

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

Оффлайн barabambler

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

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

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


Оффлайн LexaK

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

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

Оффлайн barabambler

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

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

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

Оффлайн ilyay

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

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

Оффлайн LexaK

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

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

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

КонецЦикла;

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


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

Оффлайн barabambler

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

Оффлайн Afinogen

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

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

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


Оффлайн barabambler

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


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

ФЗ-54 Как насторить работу онлайн-касс через драйвер Штрих-М?

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

Ответов: 1
Просмотров: 6266
Последний ответ 31 Янв 2017, 10:44
от wd
Как заработать на целевых звонках — узнайте от Александра Дужникова

Автор mixqnРаздел Мероприятия

Ответов: 0
Просмотров: 693
Последний ответ 04 Окт 2016, 14:11
от mixqn
Макет в 1С. Как подсчитать итоги в группировке

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

Ответов: 1
Просмотров: 1940
Последний ответ 31 Окт 2016, 07:06
от Андрей Сисюкин
Как ставить булево автоматически при заполнения строки

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

Ответов: 6
Просмотров: 3636
Последний ответ 14 Июл 2016, 10:19
от burza
Как оповестить другого пользователя сразу после проведения документа

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

Ответов: 1
Просмотров: 3038
Последний ответ 01 Авг 2016, 04:18
от Luzer1C

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

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

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


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

* Реклама

* Поиск

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

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
84 Сообщений
LexaK
64 Сообщений
antoneus antoneus
30 Сообщений
Ивашка
27 Сообщений
KATERINA 861
24 Сообщений
neek666
22 Сообщений
alexandr_ll
19 Сообщений
SSC
15 Сообщений
Алексей_1985_06
11 Сообщений
MiThO
8 Сообщений

* Кто онлайн

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

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

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

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

Поиск