Запрос для маршрутизации процесса по дополнительному реквизиту
Добрый день, столкнулся со следующей проблемой:
При настройке условий маршрутизации для процесса согласования документа потребовалось использовать дополнительный реквизит "Тип затрат". Реквизит имеет тип значений "дополнительное значение" и все значения текстовые.
Нашел похожий вариант (ниже), но при проверке выдает значение "Ложь", всегда.
Возможно, необходимо откорректировать этот или по-другому написать запрос. Выручайте, пожалуйста!
Заранее Спасибо!!
При настройке условий маршрутизации для процесса согласования документа потребовалось использовать дополнительный реквизит "Тип затрат". Реквизит имеет тип значений "дополнительное значение" и все значения текстовые.
Нашел похожий вариант (ниже), но при проверке выдает значение "Ложь", всегда.
Для Каждого ДопРеквизит Из Предмет.ДополнительныеРеквизиты Цикл
Если (Строка(ДопРеквизит.Свойство) = "Тип затрат") Или (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДопРеквизит.Свойство, "Заголовок") = "Тип затрат") Тогда
ТипЗатрат = ДопРеквизит.Значение;
Прервать;
КонецЕсли;
КонецЦикла;
Результат=Ложь;
Если ЗначениеЗаполнено(ТипЗатрат) Тогда
Если ТипЗатрат = "Охрана труда" Тогда
Результат=Истина;
КонецЕсли;
КонецЕсли;
ПоказатьВозможно, необходимо откорректировать этот или по-другому написать запрос. Выручайте, пожалуйста!
Заранее Спасибо!!
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
Решение данного вопроса:
// ищем значение допреквизита объекта
Для Каждого ДопРеквизит Из Предмет.ДополнительныеРеквизиты Цикл
Если (Строка(ДопРеквизит.Свойство) = "Тип затрат")
Или (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДопРеквизит.Свойство, "Заголовок") = "Тип затрат") Тогда
ТипЗатрат = ДопРеквизит.Значение;
Прервать;
КонецЕсли;
КонецЦикла;
// проверяем наименование на нужные нам
Результат = Ложь;
Если ЗначениеЗаполнено(ТипЗатрат) Тогда
Если (СокрЛП(ТипЗатрат.Наименование) = "Техника") ИЛИ (СокрЛП(ТипЗатрат.Наименование) = "Охрана труда") ИЛИ (СокрЛП(ТипЗатрат.Наименование) = "Вахта") ИЛИ (СокрЛП(ТипЗатрат.Наименование) = "Производственные") Тогда
Результат = Истина;
КонецЕсли;
КонецЕсли;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Решение данного вопроса:
// ищем значение допреквизита объекта
Для Каждого ДопРеквизит Из Предмет.ДополнительныеРеквизиты Цикл
Если (Строка(ДопРеквизит.Свойство) = "Тип затрат")
Или (ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДопРеквизит.Свойство, "Заголовок") = "Тип затрат") Тогда
ТипЗатрат = ДопРеквизит.Значение;
Прервать;
КонецЕсли;
КонецЦикла;
// проверяем наименование на нужные нам
Результат = Ложь;
Если ЗначениеЗаполнено(ТипЗатрат) Тогда
Если (СокрЛП(ТипЗатрат.Наименование) = "Техника") ИЛИ (СокрЛП(ТипЗатрат.Наименование) = "Охрана труда") ИЛИ (СокрЛП(ТипЗатрат.Наименование) = "Вахта") ИЛИ (СокрЛП(ТипЗатрат.Наименование) = "Производственные") Тогда
Результат = Истина;
КонецЕсли;
КонецЕсли;
Показать
На много проще использовать Способ задания условия = В режиме конструктора
Добавляем новое поле отбора
Ссылка.Тип затрат
Вид сравнения В списке
Значения Техника, Охрана труда, Вахта, Производственные
То есть как только после Ссылка вы ставите точку, то вам документооборот выплевывает все реквизиты, в том числе дополнительные.
Добавляем новое поле отбора
Ссылка.Тип затрат
Вид сравнения В списке
Значения Техника, Охрана труда, Вахта, Производственные
То есть как только после Ссылка вы ставите точку, то вам документооборот выплевывает все реквизиты, в том числе дополнительные.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот