Перенос значения из одной ячейки CSV в другую

Тема в разделе "Решение проблем с использованием программы", создана пользователем dimochkaorg, 16 апр 2017.

  1. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    upload_2017-4-16_10-31-49.png

    Господа, возникла необходимость перенести значение ячейки одного столбца в ячейку другого столбца. Именно перенос, а не копирование, но по условию. На рисунке видим, что если у продукта отсутствует старая цена, на ее место надо перенести новую. Перенести, не скопировать. Так чтобы на месте новой цены осталась пустая ячейка. Конечно я могу спарсить новую цену в ячейку старой, но возникает вопрос, как тогда прибить повторяющееся значение в новой.
     
  2. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Здравствуйте
    Используйте макрос [CHECKENTRY()]
    описание читать тут Ссылки недоступны для гостей
     
  3. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    Спасибо. Так... Логика если N3 - Ячейка в третьем столбцу пустая - скопировать туда N2?
    [CHECKENTRY([[ELSETEXT])][GRAN2][/CHECKENTRY] Так? Никак просто с синтаксисом не разберусь а видео на этот счет не вижу.
    Я просто не могу никак понять синтаксис конструкции если текст пустой или ноборот если текст непустой. В примере все смешано, поэтому не могу отделить :(
     
  4. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Да нет, в примере все написано правильно)
    Смотрите
    Код:
    [CHECKENTRY([ANYTEXT])]текст[THENTEXT]если текст не пустой[ELSETEXT]если текст пустой[/CHECKENTRY] -> выведет "если текст не пустой", так как с параметром [ANYTEXT] проверяется наличие любого текста
    Так и пишем
    Код:
    [CHECKENTRY([ANYTEXT])]тут граница для N3[THENTEXT]тут граница для N3[ELSETEXT]тут граница для N2[/CHECKENTRY] 
     
  5. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    Спасибо, подобрал методом тыка раньше на 5 сек, чем посмотрел у вас. Все равно огромнейшее спасибо, теперь остается только вопрос, каким же образом мне прибить скопированное значение в N2 Ведь обработка второго столбца уже прошла и к ней не вернуться... или вернуться? Как?!!! Скажи мудрейший, какую скрижаль макросов мне прочесть? :)
     
  6. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    не совсем понятно что имеется ввиду. Зачем его прибивать?
     
  7. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    В этотм-то и цимес. Модуль обработчик берет из третей старую цену, а из 2-й новую и формирует поле акции по продукту. А если там и там будет стоять одинаковая цена, то пролдукт будет стоить ноль. Поэтому мне и важно чтобы после копирования из второго столбца в третий во втором значение было прибито. Т.е. ячейка была осталась пустой.
     
  8. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    как-то так
    Код:
    [CHECKENTRY2(TRUE)][MATH]новая цена=старая цена[/MATH][THENTEXT][ELSETEXT]новая цена[/CHECKENTRY2]
     
  9. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    Здорово. Логику понял. Огромное спасибо. В моем случае наверно будет так [CHECKENTRY2(TRUE)][MATH][GRAN3]=[GRAN2][/MATH][THENTEXT][ELSETEXT][GRAN3][/CHECKENTRY2]
    где [GRAN3] - старая цена, а [GRAN2] - новая цена. Правильно? Но куда это ставить? Ведь второй столбец мы еже обрабатывали.
     
  10. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    ну если [GRAN3] и [GRAN2] то это у вас повторяющаяся граница ctrl+shift+5
    Вставить туда где обработка [GRAN2] видимо. Когда не видишь проект, это уж простите, методом тыка
     
  11. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    Так... всюду пытался но не срабатывает :( Посмотрите пожалуйста.
     

    Вложения:

  12. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    давно бы так. накрутили конечно много всякого. сейчас посмотрим
     
  13. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Вот
     

    Вложения:

  14. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    Огромное вам спасибо, я хотя бы теперь знаю как надо оформлять проекты. Это же сколько я лишнего действительно накрутил. Блиииин стыдобища. :oops:Оказывается вот как можно было. Разбираюсь, анализирую конспектирую. Сердечная благодарность. :)
     
    Kreol нравится это.
  15. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    Я знаю, это великая наглость, что я опять лезу с вопросами и я знаю, что все описал косо (не разобрался еще с регулярными выражениями), но не могли бы вы меня просветить, почему не срабатывает цикл? Где ошибка? Ведь повторные границы заданы. Там два вхождения Заданы границы парсинга внутри их. Почему скачивается только первый pdf? :(
     

    Вложения:

    • pdf.cdp
      Размер файла:
      34,6 КБ
      Просмотров:
      4
    Последнее редактирование: 18 апр 2017
  16. borsh4

    borsh4 New Member Пользователи

    Регистрация:
    12 дек 2016
    Сообщения:
    2
    Просто хорошее настроение. Вам проект поправил. Старайтесь читать справку к программе (Ссылки недоступны для гостей), к тому же есть очень познавательные ролики от создателя (Ссылки недоступны для гостей).
     

    Вложения:

    • pdf.cdp
      Размер файла:
      32,4 КБ
      Просмотров:
      11
    kagorec и Root нравится это.
  17. dimochkaorg

    dimochkaorg Active Member Пользователи

    Регистрация:
    25 мар 2017
    Сообщения:
    204
    Спасибо, я в самом крайнем случае обращаюсь, когда уже несколько часов посидел все посмотрел, но ничего не вышло. Сердечная благодарность. Спасибо. Понял, что можно оказывается вообще все через повторяющуюся границу было сделать. Теперь только дошло, что ничего попунктово мне не надо было парсить поэтому могу обойтись исключительно задачей границ парсинга в повторяющейся границе. Хорошего настроения вам всегда! :);)

    PS Ролики смотрю постоянно. :)
     
    Root нравится это.

Поделиться этой страницей