"Значение для увеличения не может быть приведено к числовому" при суммировании переменных

  • Автор темы Автор темы Boom Zoom
  • Дата начала Дата начала

Boom Zoom

Client
Регистрация
13.03.2020
Сообщения
83
Реакции
10
Баллы
8
Здравствуйте! При запуске проекта через Zennoposter получаю ошибку "Значение для увеличения не может быть приведено к числовому" при суммировании двух переменных через кубик "увеличить счетчик".
В ProjectMacker cве работает идеально, но в Зеннопостер не заводится. Паузы пробовал ставить - не помогает. Суммировал через JS - результат такой же, в ПМ работае, в Зеннопостер не хочет.

Логика такая:
Через парсинг получаю строку с числами,
далее через обработку текста и Regex достаю нужное и кладу в переменную
далее убираю пробелы и лишние знаки
после прибавляю к существующей перемнной полученную цифру
результат описал выше

Ощущение, что зеннопостер не понимает, что прибавляется число, а считает строку текстом. Почему в ProjectMacker все работает и даже с отложенной отрисовкой.
 

Вложения

  • Снимок экрана 2023-09-02 в 14.18.34.png
    Снимок экрана 2023-09-02 в 14.18.34.png
    78,7 KB · Просмотры: 7
пока не будет видно хотя бы регулярки парсинга - ничего нельзя сказать.
а в идеале увидеть содержимое всех кубиков
 
С регулярками все хорошо. Целое число в перемнной на выходе. Те с логикой все ок точно, в проджекте все исполняется. Здесь больше на баг какой-то похоже. Вот может кто-то знает тонкости
 
Вопрос: почему в ПМ шаблон работает, а в ZP нет. Это явно не связано с косяками в парсинге
 
Паузы втыкал после каждого шага. Не помогло. Дело не в этом
 
Что ты конкретно имеешь ввиду?
Я проверял содержимое той переменной, на которую увеличивается изначальное число - с ней все ок, там целое число после обработки через кубик "Обработка текста". Те непонятно почему ЗП при работе пишет "Значение для увеличения не может быть приведено к числовому", ведь в этой переменной число целое "8010"
 
Вообще идеи кончились, что попробовать изменить(
 
Что ты конкретно имеешь ввиду?
Я проверял содержимое той переменной, на которую увеличивается изначальное число - с ней все ок, там целое число после обработки через кубик "Обработка текста". Те непонятно почему ЗП при работе пишет "Значение для увеличения не может быть приведено к числовому", ведь в этой переменной число целое "8010"
но там две переменные участвуют

Кстати, почему экшены красные по уборке пробелов?
 
Я туда вставлял пробелы через копирование просто, пробелы убираются все ок. Но обычный формат как на скрине тоже делал, разницы нет - ошибка повторяется.110994
 
Ладно. Что я думаю. Инфы мало. Но я уверен, что это твой недосмотр, а не какой-то баг. Поэтому я советую тебе на возникновении ошибки в этом экшене повесить сохранение куда-то всех переменных и dom страницы, откуда парсинг идет, для полноценного анализа.

Я по прежнему считаю, что просто при каких-то обстоятельствах числа не парсятся, или неправильно парсятся и вот итог
 
  • Оценить
Реакции: Boom Zoom
Есть ощущение, что в Project Maker ошибка не возникает, потому что в нем даннеы автоматически преобразуются в числове, а вот в зенке этого не происходит. Может быть что-то такое?
 
в зенно все данные текстовые по умолчанию. И, ясное дело, в определенных экшенах они пытаются преобразоваться. Но изначально это всегда текст. Это основа. Баг в основе сам по себе крайне маловероятен. А с учетом того, что проскакивает только у тебя одного так и подавно
 
  • Оценить
Реакции: ZX
Ладно. Что я думаю. Инфы мало. Но я уверен, что это твой недосмотр, а не какой-то баг. Поэтому я советую тебе на возникновении ошибки в этом экшене повесить сохранение куда-то всех переменных и dom страницы, откуда парсинг идет, для полноценного анализа.

Я по прежнему считаю, что просто при каких-то обстоятельствах числа не парсятся, или неправильно парсятся и вот итог
Сделал, как ты сказал. Данные сохраняются. Но увидел, что ПРОБЕЛЫ остаются - дело 100% в них. Но не могу удалить пробелы. Кубики с разными вариантами ставил, через C# вот такой пробовал
C#:
Развернуть Свернуть Копировать
project.Variables["переменная"].Value = project.Variables["переменная"].Value.Replace(" ", "");
В Project Maker пробелы удалаяются, а зенке почему-то нет.
 
там может быть нестандартный пробел. Попробуй удалить по регулярке \s
Если не поможет, попробуй удалить вообще все не цифры по регулярке \D
 
  • Оценить
Реакции: ZX и Boom Zoom
там может быть нестандартный пробел. Попробуй удалить по регулярке \s
Если не поможет, попробуй удалить вообще все не цифры по регулярке \D
Заработало! Спасибо огромное, дружище
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)