Текущее время: Чт, июл 24 2025, 11:20

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 29, 30, 31, 32, 33, 34, 35 ... 161  След.
Автор Сообщение
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Чт, мар 19 2009, 15:21 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Марик написал:
Разница между ФМ ZWWW_OPENFORM и ФМ ZBDS_OPENFORM в месте хранения шаблона?

Да. В первом случае см. тр. SMW0, во втором - OAER.
Марик написал:
Есть такая возможность?

Я с ФМом Parazit'а не работаю. Но могу подсказать где искать.
Открытие в САП окне задается параметром open_inplace = 'X' метода open_document_from_table. Если в разработке используется DOI.


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Марик написал:
Разница между ФМ ZWWW_OPENFORM и ФМ ZBDS_OPENFORM в месте хранения шаблона?
Я лично думал ФМ ZBDS_OPENFORM открывает книгу Excel внутри саповского окна.
Есть такая возможность?

Такой возможности нет. Но вы можете открыть документ своими средствами, в т.ч. DOI, а заполнить его моим модулем ZWWW_FILLFORM, передав ему OLE-ссылку на документ.

Марик написал:
И еще подскажите какая запись у вас в табице WWWPARAMS
с ключами
RELID = MI
OBJID = ZWWW_MACROS
NAME = fileextension

интересует значени VALUE.

У меня такой записи нет и программа падает в дамп.


Просто нужно загрузить в smw0 мой макрос ZWWW_MACROS.xls

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, мар 23 2009, 10:29 
Специалист
Специалист

Зарегистрирован:
Ср, фев 14 2007, 17:14
Сообщения: 231
у меня возникла проблема при работе с данным макросом.
ZWWW_MACROS
Он не воспринимает кириллицу.
Ln = f.ReadLine уже в этом месте я имею испорченный текст.
В читаем тхт файле все ок(все по-русски).


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Alfred написал(а):
у меня возникла проблема при работе с данным макросом.
ZWWW_MACROS
Он не воспринимает кириллицу.
Ln = f.ReadLine уже в этом месте я имею испорченный текст.
В читаем тхт файле все ок(все по-русски).


В SAP-Logon должна быть настройка кодировки для выгрузки Cyrillic (Windows)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Пн, мар 23 2009, 15:12 
Специалист
Специалист

Зарегистрирован:
Ср, фев 14 2007, 17:14
Сообщения: 231
Parazit написал:
Alfred написал(а):
у меня возникла проблема при работе с данным макросом.
ZWWW_MACROS
Он не воспринимает кириллицу.
Ln = f.ReadLine уже в этом месте я имею испорченный текст.
В читаем тхт файле все ок(все по-русски).


В SAP-Logon должна быть настройка кодировки для выгрузки Cyrillic (Windows)

Нет возможности редактировать САПлогон : (
Думаю может быть как-то в макросе преобразовывать кодировку. Только как это правильно сделать =\


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Alfred написал(а):
Нет возможности редактировать САПлогон : (
Думаю может быть как-то в макросе преобразовывать кодировку. Только как это правильно сделать =\

Все же это скорей организационный вопрос - настройки, и гораздо проще решаемый.
Любопытства ради хотелось бы взглянуть на текстовый файл. Давайте дальше в ICQ.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, мар 25 2009, 09:39 
Специалист
Специалист

Зарегистрирован:
Ср, фев 14 2007, 17:14
Сообщения: 231
Вопрос решил - добавил функцию преобразования из utf в win-1251 в ZWWW_MACROS.
Настройка - как есть, её никто не даст менять т.к. заказчик большая иностранная компания. И в данном случае, мне было проще придумать, как перекодировать из utf в win-1251.
А вообще, могу поискать, как определять кодировку выбранного текста и потом её преобразовывать в win-1251.
П.С. ФМ использую более ранний от Сереги Быстрова ;)
Отпишусь в ICQ.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, мар 25 2009, 10:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, мар 03 2009, 12:33
Сообщения: 141
Alfred, выкладывайте код преобразования :!: :wink:
а то придумали и в кусты... то есть в аську :D


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, мар 25 2009, 11:09 
Специалист
Специалист

Зарегистрирован:
Ср, фев 14 2007, 17:14
Сообщения: 231
вафля написал(а):
Alfred, выкладывайте код преобразования :!: :wink:
а то придумали и в кусты... то есть в аську :D

Ну, код придумал не мной, я лишь нашёл ; )

Пример файла http://www.rapidshare.ru/979466

Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, _
ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, _
ByVal cchWideChar As Long) As Long
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, _
ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As String, _
ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long

Private Function UtfToWin(utf As String) As String
Dim s As String
s = utf
UtfToWin = Left(s, MultiByteToWideChar(65001, 0, utf, -1, StrPtr(s), LenB(s)))
End Function



Далее вызов
' VarName = .Col(0)
' VarNum = .Col(1)
' FindText = .Col(2)
' Value = .col(4)

.Col(4) = UtfToWin(.Col(4))


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Alfred написал(а):
Вопрос решил - добавил функцию преобразования из utf в win-1251 в ZWWW_MACROS.
Настройка - как есть, её никто не даст менять т.к. заказчик большая иностранная компания. И в данном случае, мне было проще придумать, как перекодировать из utf в win-1251.
А вообще, могу поискать, как определять кодировку выбранного текста и потом её преобразовывать в win-1251.
П.С. ФМ использую более ранний от Сереги Быстрова ;)
Отпишусь в ICQ.


Можно указать кодировку 1504 при выгрузке текстового файла.
А какая кодовая страница языка у них настроена в сап-логоне?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки данных в WORD, EXCEL
СообщениеДобавлено: Ср, мар 25 2009, 13:28 
Специалист
Специалист

Зарегистрирован:
Ср, фев 14 2007, 17:14
Сообщения: 231
Parazit написал:
Можно указать кодировку 1504 при выгрузке текстового файла.
А какая кодовая страница языка у них настроена в сап-логоне?

Стоит дефолтная , какая именно не помню, завтра посмотрю.
В ws_download ставил кодировку 1251 (все равно выдавал в utf8): ) до 1504 не додумался.


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

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Большое спасибо Parazit, эксплуатирую твою разработку - работает замечательно :D

Для заполнения таблицы значений написал свой ФМ, вот решил опубликовать (на мой взгляд удачное решение получилось)

Для связывания переменных программы и текстовых "меток"шаблона я сделал настоечную таблицу ZWWW_FASSIGN и ФМ ZWWW_FILL_VALUES для сбора значений из программы которая его вызвала и заполнения таблицы значений на основе настроечной таблицы

Структура таблицы:
Code:
OBJID     W3OBJID        ключь Имя объекта
NUM       NUMC3          ключь Номер по порядку (практического смысла не имеет, просто чтоб размножить записи)
FGROUP    ZWWW_FGROUP    Группа полей используется в подпрограммах заполнения шаблона
VAR_NAME  ZWWW_VAR_NAME  Имя закладки
FIND_TEXT ZWWW_FIND_TEXT текстовая метка из шаблона например «[ИМЯ_КЛИЕНТА]»
FNAMES    TEXT255        макрос для формирования строки которой будет заменена метка.


поле FNAMES – предназначен для упрощения формирования строки для замены метки
Пример заполнения: «[ADRC-POST_CODE1] [ADRC-REGION] {г. [ADRC-CITY1],} [ADRC-STREET],} [ADRC-HOUSE_NUM1]»
В квадратных скобках указаны имена полей заполняющей программы из которых должно быть взято значение, перед и после квадратных скобок могут быть указаны соотв. фигурные скобки значение которое указано между фигурной и квадратной скобкой будет внесено в текст если значение поля в квадратных скобках не пустое

т.е. в нашем примере если поле программы ADRC-CITY1 (город) заполнено (не пустое) то перед ним будет выведено «г.» а после него «,».

внутри квадратных скобок перед именем поля программы может быть указана подпрограмма преобразования через разделитель «|» например [D1|VEDA-VBEGDAT] – в данном случае «D1» -это имя стандартной подпрограммы преобразования подпрограммы начинающиеся на «Z» должны быть закодированы в программе формирующей формуляр. У таких подпрограмм два параметра – входящая переменная и исходящая строка.

поле FGROUP – это поле является одним из параметров ФМ ZWWW_FILL_VALUES и служит для единовременного заполнение строк значений для нескольких текстовых меток шаблона.

Code:
FUNCTION zwww_fill_values.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     VALUE(PROGRAM) TYPE  SY-REPID OPTIONAL
*"     REFERENCE(OBJID) TYPE  ZWWW_FASSIGN-OBJID
*"     REFERENCE(FGROUP) TYPE  ZWWW_FASSIGN-FGROUP DEFAULT '*'
*"     REFERENCE(VAR_NUM) TYPE  ZWWW_VAR_NUM OPTIONAL
*"  TABLES
*"      IT_VALUES
*"----------------------------------------------------------------------

  STATICS itfassign TYPE zwww_fassign OCCURS 0 WITH HEADER LINE.
  DATA: index TYPE sy-index.
  DATA: field(100) TYPE c.
  DATA: wa_values TYPE zwww_values.
  DATA: tail(50) TYPE c.
  DATA: len TYPE i.
  DATA: ch  TYPE c.
  DATA: tabix TYPE sy-tabix.
  DATA: prg(20) TYPE c.
  DATA: str(100) TYPE c.

  DATA: BEGIN OF itw OCCURS 0,
          pch TYPE c,
          nch TYPE c,
          str(100) TYPE c,
        END   OF itw.

  DATA: wx LIKE LINE OF itw.

  FIELD-SYMBOLS <fs>.

  READ TABLE itfassign  WITH KEY objid = objid.
  IF sy-subrc <> 0.
    SELECT * APPENDING TABLE itfassign
      FROM zwww_fassign
     WHERE objid = objid.
    IF sy-subrc <> 0.
      MESSAGE x398(00) WITH 'Данные для объекта' objid 'не найдены'.
    ENDIF.
  ENDIF.

  IF program IS INITIAL.
    CALL 'AB_GET_CALLER' ID 'PROGRAM' FIELD program.
  ENDIF.

  LOOP AT itfassign WHERE objid = objid
                      AND fgroup CP fgroup.
    len = STRLEN( itfassign-fnames ).
    CHECK len > 0.
    ASSIGN itfassign-fnames(len) TO <fs>.
    TRANSLATE <fs> USING ' #'.

    CLEAR: itw[], itw, index.
    DO len TIMES.
      ch = itfassign-fnames+index(1).
      IF ch CA '{}[]'.
        itw-nch = ch.
        APPEND itw.
        CLEAR itw.
        itw-pch = ch.
      ELSE.
        CONCATENATE itw-str ch INTO itw-str.
      ENDIF.
      ADD 1 TO index.
    ENDDO.

    LOOP AT itw WHERE nch = ']'.
      tabix = sy-tabix.
      TRANSLATE itw-str TO UPPER CASE.

      IF itw-str CA '|'.
        SPLIT itw-str AT '|' INTO prg itw-str.
      ELSE.
        CLEAR prg.
      ENDIF.

      CONCATENATE '(' program ')' itw-str INTO field.
      ASSIGN (field) TO <fs>.

      CLEAR str.
      IF NOT <fs> IS INITIAL.
        IF prg IS INITIAL.
          WRITE <fs> TO str LEFT-JUSTIFIED.
        ELSE.
          IF prg(1) = 'Z'.
            PERFORM (prg) IN PROGRAM (program) IF FOUND
              USING <fs> str.
          ELSE.
            CONCATENATE 'CONVERT_' prg INTO prg.
            PERFORM (prg) IN PROGRAM (sy-repid) IF FOUND
              USING <fs> str.
          ENDIF.

          IF str IS INITIAL.
            WRITE <fs> TO str LEFT-JUSTIFIED.
          ENDIF.
        ENDIF.


        ADD 1  TO tabix.
        READ TABLE itw INDEX tabix INTO wx.
        IF wx-nch = '}'.
          CONCATENATE str wx-str INTO str.
        ENDIF.

        SUBTRACT 2 FROM tabix.
        IF tabix > 0.
          READ TABLE itw INDEX tabix INTO wx.
          IF wx-pch = '{'.
            CONCATENATE wx-str str INTO str.
          ENDIF.
        ENDIF.

        ADD 1  TO tabix.
      ENDIF.

      itw-str = str.
      MODIFY itw INDEX tabix TRANSPORTING str.
    ENDLOOP.

    CLEAR wa_values.
    LOOP AT itw WHERE NOT str IS INITIAL.
      IF itw-pch = '{' AND itw-nch = '['
      OR itw-pch = ']' AND itw-nch = '}'.
        CONTINUE.
      ENDIF.

      CONCATENATE wa_values-value itw-str INTO wa_values-value.
    ENDLOOP.

    TRANSLATE wa_values-value USING '# '.

    wa_values-var_name  = itfassign-var_name.
    wa_values-var_num   = var_num.
    wa_values-find_text = itfassign-find_text.
*    wa_values-val_type  = .
    APPEND wa_values TO it_values.
  ENDLOOP.
ENDFUNCTION.

*&---------------------------------------------------------------------*
*&      Form  CONVERT_d1
*&---------------------------------------------------------------------*
*       Подпрограмма преобразования D1
*----------------------------------------------------------------------*
*      -->D          text
*      -->STR        text
*----------------------------------------------------------------------*
FORM convert_d1 USING ad str.
  DATA: d TYPE d.
  DATA: month(15) TYPE c.
  d = ad.
  CASE d+4(2).
    WHEN '01'. month = 'января'.
    WHEN '02'. month = 'февраля'.
    WHEN '03'. month = 'марта'.
    WHEN '04'. month = 'апреля'.
    WHEN '05'. month = 'майя'.
    WHEN '06'. month = 'июня'.
    WHEN '07'. month = 'июля'.
    WHEN '08'. month = 'августа'.
    WHEN '09'. month = 'сентября'.
    WHEN '10'. month = 'октября'.
    WHEN '11'. month = 'ноября'.
    WHEN '12'. month = 'декабря'.
  ENDCASE.
  CONCATENATE '«' d+6(2) '»#' month '#' d(4) '#года' INTO str.
  TRANSLATE str USING '# '.
ENDFORM.                                                    "CONVERT_d1


Данный ФМ позволяет упростить программу формирования шаблона, сделать её более наглядной и настраиваемой,
отделяет названия текстовых меток шаблона от программы формирования шаблона

_________________
Изображение Попытка не пытка


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

Зарегистрирован:
Пт, мар 27 2009, 13:36
Сообщения: 2
Запускаю ZWWW_SAMPLE в 4.7, на втором листе, где для вывода используется комбинированный метод, программа не выводит данные для закладки ДокЗаголовок и ДокИтог.
В it_Val для ДокЗаголовок и ДокИтог данные есть!

в чём "прикол"? )


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Arthur51 написал(а):
Запускаю ZWWW_SAMPLE в 4.7, на втором листе, где для вывода используется комбинированный метод, программа не выводит данные для закладки ДокЗаголовок и ДокИтог.
В it_Val для ДокЗаголовок и ДокИтог данные есть!

в чём "прикол"? )

Возможно в сап-логоне не настроена русская кодировка выгрузки данных.

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


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

Зарегистрирован:
Пт, мар 27 2009, 13:36
Сообщения: 2
Parazit написал:
Arthur51 написал(а):
Запускаю ZWWW_SAMPLE в 4.7, на втором листе, где для вывода используется комбинированный метод, программа не выводит данные для закладки ДокЗаголовок и ДокИтог.
В it_Val для ДокЗаголовок и ДокИтог данные есть!

в чём "прикол"? )

Возможно в сап-логоне не настроена русская кодировка выгрузки данных.


Но для закладки ДокСтрока, всё нормально выгружает!
Поробывал с кодировкой, всё равно для ДокЗаголовок и ДокИтог невыгружает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 29, 30, 31, 32, 33, 34, 35 ... 161  След.

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


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

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


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

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