Текущее время: Вт, мар 19 2024, 13:45

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 139, 140, 141, 142, 143, 144, 145 ... 161  След.
Автор Сообщение
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, фев 15 2018, 16:54 
Начинающий
Начинающий

Зарегистрирован:
Пт, фев 09 2018, 15:26
Сообщения: 4
Parazit написал:
Сортировка однозначно определяет логику программы. Например, что записи с типом значений VAL_TYPE='V' должны обрабатываться до вывода самого текста, а вызов макросов VAL_TYPE='M' после. Также именованные диапазоны (VAR_NAME) заполняются в алфавитном порядке, что позволяет управлять последовательностью заполнения областей при необходимости. Например, выполнить макрос форматирования только после заполнения всей формы.
Вся логика цикла обработки основана на этом порядке, и его нарушение приведёт к непредсказуемым результатам.

В Вашем случае отключение сортировки принципиально не решит проблему, поскольку истинной причиной является большой объем данных в оперативной памяти. В таких случаях дамп может вывалиться на любой безобидной операции.
Для ускорения вывода больших таблиц и сокращения используемой памяти в ZWWW есть специальный тип VAL_TYPE='T'. Пример использование можно посмотреть в программе ZWWW_ALV_GRID.


Посмотрел примеры с VAL_TYPE. Это действительно должно устранить проблемы с сортировкой больших данных. Спасибо. Проверить, правда, пока не могу.

Возник интересный момент с другой программой. Строки таблицы передаются с типом 'R'. Однако, при достижении около 65500 строк выводится голый шаблон, хотя с меньшим количеством строк шаблон заполняется.
При отладке проблема обнаружилась в ZWWW_MACROS.xls в районе этого кода:
Code:
        If ErrNumber = 0 And Ar(4) <> 0 Then
          r.Copy
          Set Ofs = r.Offset(RowsCount)
          Ofs.Resize(Ar(4) * RowsCount).Insert
          ErrNumber = Err.Number
        End If

Когда Ar(4) = 65500 - всё нормально, когда Ar(4) = 70000 получается ошибка Err.Number = 1004 и строки не копируются. Всё это сильно смахивает на переполнение двухбайтового целого числа (максимум 65535). Может быть, у Excel есть какие-то ограничения на этот счёт... И мне кажется, обойти эту проблему можно, копируя строки порциями.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, фев 15 2018, 17:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1565
Откуда: Пермь
Пол: Мужской
Ну дак 65536 строк - это максимальное число строк, которое может присутствовать на листе Excel формата 97-2003.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, фев 15 2018, 17:18 
Начинающий
Начинающий

Зарегистрирован:
Пт, фев 09 2018, 15:26
Сообщения: 4
Yozhhhhh написал:
Ну дак 65536 строк - это максимальное число строк, которое может присутствовать на листе Excel формата 97-2003.


Я где-то помнил на периферии сознания об этом ограничении, но была надежда, что Excel 2013 с этим как-нибудь справится. У него, всё таки, уже больше миллиона строк ограничение.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пт, фев 16 2018, 16:05 
Начинающий
Начинающий

Зарегистрирован:
Пт, фев 09 2018, 15:26
Сообщения: 4
Смена формата на XLSM помогла обойти ограничение по количеству строк. А передача таблицы с помощью вызова
Code:
  CALL FUNCTION 'ZWWW_PREPARE_TABLE'
    EXPORTING
      line_name         = 'LINE'
      val_type          = 'T'
    TABLES
      it_any_table      = lt_export
      it_values         = lt_val.

ускорила внутреннюю сортировку. Спасибо всем за советы!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, фев 21 2018, 10:50 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
Можно ли установить 2 ZWWW в системе?

Обнаружил что у нас уже есть версия аж 2011 года.
Трогать её не хочу, мало ли где и как кто её использует.
возможна ли установка последней версии под другим именем, и не будут ли они конфликтовать?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, фев 26 2018, 10:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Kuranov.Dmitry написал(а):
Можно ли установить 2 ZWWW в системе?

Обнаружил что у нас уже есть версия аж 2011 года.
Трогать её не хочу, мало ли где и как кто её использует.
возможна ли установка последней версии под другим именем, и не будут ли они конфликтовать?

ZWWW специально разрабатывается так, чтобы можно было безболезненно его обновлять, то есть поддерживается обратная совместимость. Поэтому имена объектов разработки не изменяются, а при установке новой версии при помощи ZWWW_MIGRATE старая версия полностью сносится.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Вт, фев 27 2018, 13:22 
Начинающий
Начинающий

Зарегистрирован:
Пн, май 29 2017, 12:45
Сообщения: 9
Добрый день! Столкнулась с очень странной особенностью работы ФМ.
При удалении закладки в WORD, у которой последний символ пробел, в некоторых случаях текст закладки удаляется, а вот сама закладка не удаляется и в ней остаётся пробел.
И это не столь критично. Но если эта закладка внутри ячейки таблицы - то при удалении закладки с пробелом на конце, удаляется вся ячейка + закладка!
Пробел убираю - закладка корректно удаляется, ячейка остаётся на месте.

Причём воспроизвести получается не во всех ячейках документа. В принципе в программе удаляется достаточно большое количество закладок и вроде всё неплохо работает, но этот момент не могу понять.
В чём может быть проблема? Хотя скажу честно, пока не смотрела особенно макрос по выгрузке.
И воспроизвожу стабильно эту ошибку пока только в двух ячейках таблицы из одной строки (добавляю-удаляю пробел в конце из закладки).

MSword 2010, версия ФМ 3.03


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Вт, фев 27 2018, 13:38 
Начинающий
Начинающий

Зарегистрирован:
Пн, май 29 2017, 12:45
Сообщения: 9
Parazit написал:
moi_n_eau написал(а):
Добрый день!
Столкнулась с проблемой, что в ФМ Open_form макросы срабатывают до удаления закладок.
Насколько это важный момент в программе?
Вряд ли это будет очень критично, если будет добавлена галочка - выполнять макросы после удаления закладок?
Или же удаления закладок до заполнения параметров.

Макросы применяются к закладкам, поэтому могут выполняться только до их удаления.
А что вы хотите реализовать?



У меня окончательный вид документ получает после удаления ненужных закладок (строки таблицы, текст). А нужно было этот документ отформатировать дополнительно (объединить некоторые строки).
Соответственно применить макрос до удаления строк не могу.

В результате пока сделала выгрузку файла, а потом уже средствами OLE открываю готовый файл и в нём запускаю макрос, а потом выдаю пользователю.
Своеобразное у меня решение получилось, но на тот момент не придумала лучше (а на ZWWW* у меня уже куча всего была завязана), а объединять строчки сразу в шаблоне тоже не вариант.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, фев 28 2018, 16:16 
Начинающий
Начинающий

Зарегистрирован:
Пт, апр 20 2012, 11:17
Сообщения: 12
Добрый день,
При переходе на Excel 2016 года при выгрузке файла в Excel с помощью функции 'ZWWW_OPENFORM" перестал запускаться Макрос.
Var_Name = 'mac'
Var_num = 00000
Find_text = ''
Val_type = 'M'
Value = 'Макрос1'
При этом Имя 'mac' прописано в Excel файле.
В 2010 Excel этот же макрос отрабатывает.
Подскажите, как можно решить проблему


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, мар 01 2018, 08:53 
Ассистент
Ассистент

Зарегистрирован:
Чт, окт 23 2008, 07:39
Сообщения: 26
Пол: Мужской
При загрузке на чистую систему или при обновлении существующего пакета не загружаются описания параметров функциональных модулей, а также описания методов класса.

В строке 2533 вызывается ФМ 'FUNCTION_CREATE' программы ZWWW_MIGRATE, которому описания должны быть переданы через табличный параметр "PARAMETER_DOCU = it_DocParameters". Эта таблица заполняется для старого метода (видимо, <2.9), а для нового алгоритма она остаётся девственно пустой, хотя сами тексты из файла загружаются ранее в структуру, содержащую все таблицы загружаемого ФМ.

Видимо, с классом происходит что-то похожее, не стал разбираться.

Также после полного импорта напротив строки с пакетом (классом разработки) выводится жёлтый треугольник и описание "Не обработано!". Что это значит и чем это грозит?

_________________
Ubi nihil - nihil.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, мар 01 2018, 17:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
VoiD написал:
При загрузке на чистую систему или при обновлении существующего пакета не загружаются описания параметров функциональных модулей, а также описания методов класса.

В строке 2533 вызывается ФМ 'FUNCTION_CREATE' программы ZWWW_MIGRATE, которому описания должны быть переданы через табличный параметр "PARAMETER_DOCU = it_DocParameters". Эта таблица заполняется для старого метода (видимо, <2.9), а для нового алгоритма она остаётся девственно пустой, хотя сами тексты из файла загружаются ранее в структуру, содержащую все таблицы загружаемого ФМ.

Видимо, с классом происходит что-то похожее, не стал разбираться.

Также после полного импорта напротив строки с пакетом (классом разработки) выводится жёлтый треугольник и описание "Не обработано!". Что это значит и чем это грозит?

А какую версию ZWWW устанавливаете?

p.s.
Предупреждение (жёлтый треугольник) наппротив пакета при импорте говорит о том, что сами пакеты (классы по старому) разработки не импортируются, их нужно создавать вручную. Это сделано специально, чтобы человек делал это осознанно и понимал это, а не случайно нажал кнопочку импорта.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, мар 01 2018, 17:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Alena_ama написал(а):
Добрый день,
При переходе на Excel 2016 года при выгрузке файла в Excel с помощью функции 'ZWWW_OPENFORM" перестал запускаться Макрос.
Var_Name = 'mac'
Var_num = 00000
Find_text = ''
Val_type = 'M'
Value = 'Макрос1'
При этом Имя 'mac' прописано в Excel файле.
В 2010 Excel этот же макрос отрабатывает.
Подскажите, как можно решить проблему

Можете прислать шаблон и содержимое таблицы IT_VALUES мне на почту?
мыло: misterxyz (сбк) mail (тчк) ru

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, мар 01 2018, 17:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
moi_n_eau написал(а):
Добрый день! Столкнулась с очень странной особенностью работы ФМ.
При удалении закладки в WORD, у которой последний символ пробел, в некоторых случаях текст закладки удаляется, а вот сама закладка не удаляется и в ней остаётся пробел.
И это не столь критично. Но если эта закладка внутри ячейки таблицы - то при удалении закладки с пробелом на конце, удаляется вся ячейка + закладка!
Пробел убираю - закладка корректно удаляется, ячейка остаётся на месте.

Причём воспроизвести получается не во всех ячейках документа. В принципе в программе удаляется достаточно большое количество закладок и вроде всё неплохо работает, но этот момент не могу понять.
В чём может быть проблема? Хотя скажу честно, пока не смотрела особенно макрос по выгрузке.
И воспроизвожу стабильно эту ошибку пока только в двух ячейках таблицы из одной строки (добавляю-удаляю пробел в конце из закладки).

MSword 2010, версия ФМ 3.03

Это не особенность ZWWW, а особенность Word. Для него даже имеет значение, каким способом выделять ячейки или строки таблицы. Опытным путём было установлено, что строку таблицы можно правильно выделить только через меню. Например, в Word-2003 это меню Таблица/Выделить/Строка (в 2007-м и выше через панель кнопок). Если её выделить просто мышкой или курсором, то возникают искажения таблицы при удалении закладок.
Насколько я понимаю, это связано со странностями внутреннего формата закладок, который можно подсмотреть, выгрузив в XML или RTF. Например, две соседние закладки не могут быть просто соседями, они обязательно пересекаются (сцепляются) своими концами, и изменение одной тянет за собой другую.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Вт, мар 06 2018, 13:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Alena_ama написал(а):
Добрый день,
При переходе на Excel 2016 года при выгрузке файла в Excel с помощью функции 'ZWWW_OPENFORM" перестал запускаться Макрос.
Var_Name = 'mac'
Var_num = 00000
Find_text = ''
Val_type = 'M'
Value = 'Макрос1'
При этом Имя 'mac' прописано в Excel файле.
В 2010 Excel этот же макрос отрабатывает.
Подскажите, как можно решить проблему

Добрый день!

Спасибо за присланный шаблон. Отвечу здесь, чтобы и другим пригодилось.

Строго говоря, ваш макрос запускается раньше, чем заполняется таблица. Потому что имя ячейки MAC2, для которой применяется макрос, выше по алфавиту, чем TAB для таблицы. Поэтому форматирования табличных данных не происходит.
После того, как я присвоил ячейке имя ZAC2, а также заменил имя в вызове макроса в IT_VALUES, форматирование заработало.

К вопросу о версиях Excel. Логика, описанная мной, должна работать на всех версиях одинаково. ZWWW специально сортирует таблицу IT_VALUES, чтобы соблюдался данный порядок. Однако на некоторых проектах я сталкивался с тем, что мой код подламывают, отменяя эту сортировку. Мало того, что эта идея нарушает логику работы ZWWW, не давая никаких явных преимуществ, это ещё и создаёт проблемы при поддержке ZWWW и обновлении версий. Поэтому некоторые устанавливают новые версии вручную, под другими именами ФМ, чтобы не трогать старый ломанный код. Более того, я видел решения, когда в зависимости от версии Excel вызывались разные версии ZWWW. Возможно даже я это видел на вашем проекте, т.к. работал на нём года 1,5-2 назад. В таком случае может оказаться, что для Excel 2010 вызывается старый код с нарушением сортировки и Ваша форма нормально заполняется, а для версии Excel 2016 вызывается новый не ломанный код и форма не заполняется.
В любом случае, рекомендую придерживаться логики работы настоящего ZWWW.

p.s.
Есть ещё один нюанс, почему макросы могут не вызываться. Когда то давно я столкнулся с тем, что не вызываются макросы, имеющие такие же имена, как и у ячеек. Т.е. в вашем случае, если присвоить имя макросу Sub Mac2 (или Zac2 с моим изменением), то он тоже не сработает. Это особенность самого Excel.

И ещё один, более тонкий нюанс, касаемо коротких имён вроде MAC, MAC2 или TAB. Если, например, в Excel 2003 я легко присваиваю имя MAC2 любой ячейке, то в Excel 2013 я не могу сделать этого. Дело в том, что у 2003 допустимое количество столбцов 255, а у 2013 максимальное количество 16384. Следовательно MAC2 это уже существующая ячейка в столбце 13*26*26+1*26+3=8817 и строке 2. Соответственно, MAC и TAB это стандартные имена целых столбцов.
В связи с этим я даже не берусь судить, как себя поведёт Excel 2013 (2007, 2010, 2016) при использовании шаблонов в подобными именами. Лучше себя обезопасить и присваивать ячейкам более длинные и сложные имена.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZWWW - ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, апр 04 2018, 10:43 
Ассистент
Ассистент

Зарегистрирован:
Ср, апр 22 2015, 12:06
Сообщения: 33
Подскажите, пожалуйста (может быть это потом пойдёт в FAQ), как с помощью вашего ФМ решить следующую задачу.

Есть шаблон в doc-файле (это важно, excel использовать нельзя) для вывода печатной формы доп.соглашения для 1 сотрудника.
Там где надо расставлены параметры типа [1],[2] и т.д., они заполняются, юзеру отображается заполненный данными сотрудника doc-файл, всё шикарно.

Теперь надо реализовать вывод в 1 doc-файл печатные формы для N разных сотрудников, т.е. чтобы каждый новый лист в doc-файле был в формате шаблона, но заполнен данными следующего сотрудника из цикла.

Вывод каждого сотрудника в отдельный файл не подходит, т.к. список сотрудников может быть очень большой (до 1000 человек), а юзер должен иметь возможность просмотреть/отредактировать полученный результат и распечатать всё нажатием 1 кнопки в Word.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 139, 140, 141, 142, 143, 144, 145 ... 161  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB