Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
30 мая 2024, 18:03

Добавить условие

Автор Middle, 07 сен 2022, 11:38

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

Middle

Доброго времени суток.
Подскажите, как сюда добавить условие, чтобы смотрел что в штрихкоде 13 цифр и только тогда брал значение "штрихкод":
Для каждого ДопЗначение Из ПоцизияЭДО.StructedAdditionalInfos Цикл
Если НРег(ДопЗначение.Key) = "штрихкод" Тогда
СтрокаДокумента.Штрихкод = ПоцизияЭДО.StructedAdditionalInfos[0].Value;
Прервать;
КонецЕсли;

Middle

Может так?
Для каждого ДопЗначение Из ПоцизияЭДО.StructedAdditionalInfos Цикл
    Если НРег(ДопЗначение.Key,1,13) = "штрихкод" Тогда
        СтрокаДокумента.Штрихкод = ПоцизияЭДО.StructedAdditionalInfos[0].Value;
    Прервать;
    КонецЕсли;

ls600

Использовать
Глобальный контекст (Global context)
СтрДлина (StrLen)
Синтаксис:
СтрДлина(<Строка>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Исходная строка.
Возвращаемое значение:
Тип: Число.
Длина строки.
Описание:
Получает количество символов в строке.

Middle

Цитата: ls600 от 07 сен 2022, 11:57Использовать
Глобальный контекст (Global context)
СтрДлина (StrLen)
Синтаксис:
СтрДлина(<Строка>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Исходная строка.
Возвращаемое значение:
Тип: Число.
Длина строки.
Описание:
Получает количество символов в строке.
Получается так?:
Для каждого ДопЗначение Из ПоцизияЭДО.StructedAdditionalInfos Цикл
   Если НРег(ДопЗначение.Key) = "штрихкод" И СтрДлина(СтрокаДокумента.Штрихкод) = 13 Тогда
СтрокаДокумента.Штрихкод = ПоцизияЭДО.StructedAdditionalInfos[0].Value;
Прервать;
КонецЕсли;

ls600

Middle, как то так.

antoneus

да ну не так!

Для каждого ДопЗначение Из ПоцизияЭДО.StructedAdditionalInfos Цикл
   Если НРег(ДопЗначение.Key) = "штрихкод" И СтрДлина(ПоцизияЭДО.StructedAdditionalInfos[0].Value) = 13 Тогда
    СтрокаДокумента.Штрихкод = ПоцизияЭДО.StructedAdditionalInfos[0].Value;
Прервать;
КонецЕсли;

LexaK

может так?
Для каждого ДопЗначение Из ПоцизияЭДО.StructedAdditionalInfos Цикл
   Если НРег(ДопЗначение.Key) = "штрихкод" И СтрДлина(ДопЗначение.Value) = 13 Тогда
      СтрокаДокумента.Штрихкод = ДопЗначение.Value;
      Прервать;
   КонецЕсли;
...

если помогло нажмите: Спасибо!

ls600

чего гадать, автор уже сам посмотрит через отладку что подставить в СтрДлина(.....)

LexaK

Если бы автор смог сам подставить что надо, он бы на форум не обратился!  :befhbt:
поэтому помогаем все, кто чем может.
если помогло нажмите: Спасибо!

Middle

Цитата: LexaK от 07 сен 2022, 12:18может так?
Для каждого ДопЗначение Из ПоцизияЭДО.StructedAdditionalInfos Цикл
   Если НРег(ДопЗначение.Key) = "штрихкод" И СтрДлина(ДопЗначение.Value) = 13 Тогда
      СтрокаДокумента.Штрихкод = ДопЗначение.Value;
      Прервать;
   КонецЕсли;
...

Всем спасибо прописал так. У antoneus тоже работает)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск