Текущее время: Пт, июл 25 2025, 20:08

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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