Текущее время: Ср, май 14 2025, 13:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Ср, июл 13 2005, 16:59 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Требуется передать данные в Word. Для этого используется интерфейс I_OI_LINK_SERVER и его методы ADD_TABLE_ITEM2 и COPY_LINK_ITEM_TO_CLIPBOARD. После чего данные вставляются в документ с помощью метода PASTE_CLIPBOARD интерфейса I_OI_DOCUMENT_PROXY.
Использование для этих целей интерфейса I_OI_WORD_PROCESSOR_DOCUMENT по ряду причин не подходит.
Всё работает хорошо, пока на локальной машине установлена русская раскладка клавиатуры, но как только раскладка меняется на английскую, русские буквы сразу превращаются в знаки вопроса. Кто-нибудь сталкивался с этим?

Буду благодарен за любые идеи.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Ср, июл 13 2005, 17:20 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
Требуется передать данные в Word. Для этого используется интерфейс I_OI_LINK_SERVER и его методы ADD_TABLE_ITEM2 и COPY_LINK_ITEM_TO_CLIPBOARD. После чего данные вставляются в документ с помощью метода PASTE_CLIPBOARD интерфейса I_OI_DOCUMENT_PROXY.
Использование для этих целей интерфейса I_OI_WORD_PROCESSOR_DOCUMENT по ряду причин не подходит.
Всё работает хорошо, пока на локальной машине установлена русская раскладка клавиатуры, но как только раскладка меняется на английскую, русские буквы сразу превращаются в знаки вопроса. Кто-нибудь сталкивался с этим?

Буду благодарен за любые идеи.


Если я правильно понимаю - и вы в R/3 берете чтото в клипборд и потом вставляете это в Word - то так оно и есть.

Помоему это прикол самого GUI-я. Если в GUI ручками чтото русское скопировать на английской раскладке в буфер (по Ctrl + Y или Ctrl + C; скажем в SE71 копируем название формуляра а потом вставляем его в АВАР редакторе), а потом вставить(в другом окне этогоже GUIя) - то можно увидеть ушельский язык. Помоему она его копирует в 8859-5 кодировке. Опции в самом GUIе не помогают.

Как лечить средства не нашел - есть подозрение что никак.

Либо посмотреть может в методах объекта есть кодировка... Или поискать - может переключатель клавиатуры это СОМ-объект и вызывать его метод чтобы переключиться на русскую раскладку. :)

или копировать кудато в другое приложение, а потом из него брать в клипборд.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 17:27 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
У меня тоже подозрение на GUI. Потому как CL_GUI_FRONTEND_SERVICES=>CLIPBOARD_EXPORT ведёт себя точно так же. Но как бороться?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 17:53 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
У меня тоже подозрение на GUI. Потому как CL_GUI_FRONTEND_SERVICES=>CLIPBOARD_EXPORT ведёт себя точно так же. Но как бороться?



Может быть это мудрёно - но я бы написал свой СОМ-объект через который бы и копировал. Правда это тормоза будут...

Как пример - FAR. Он не является СОМ объектом - это пример того что в него все корректно копируется (Shift + F4 имеется ввиду).

Вообще строка, которая копируется в Ворд, выглядит так, как она бы выглядела если бы мы открыли русский документ скажем вин95 и применили бы к тексту TimesNewRoman вместо TimesNewRomanCyr
Раньше так было - были "кир" шрифты и не "кир". Сейчас это делается через "Язык".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 17:58 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
А потом следить, чтобы у каждого юзера на машине присутствовала нужная библиотека? По-моему, не очень хорошо. Есть вариант с поячеечной выгрузкой - но это некрасиво и долго.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 18:02 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
А потом следить, чтобы у каждого юзера на машине присутствовала нужная библиотека? По-моему, не очень хорошо. Есть вариант с поячеечной выгрузкой - но это некрасиво и долго.


Согласен. но это 1) можно сделать централизованно, наверняка у вас стоит вин32-домен и групполиси есть 2) его можно сделать remote. но это еще больший гемор.

Еще бредовая идя - это посмотреть наборы знаков... может быть определения фонтов в системе... Но визуально очень похоже - что Ворд ожидает Cyr шрифт


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 18:04 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
А потом следить, чтобы у каждого юзера на машине присутствовала нужная библиотека? По-моему, не очень хорошо. Есть вариант с поячеечной выгрузкой - но это некрасиво и долго.


еще идея - может попробовать писать-читать в стандартный текст, а потом в буфер копировать? ... вобщем кудато еще скопировать а потом в буфер... хотя... это всеже свойство принимающего контейнера


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 19:03 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Egal написал:
еще идея - может попробовать писать-читать в стандартный текст, а потом в буфер копировать? ... вобщем кудато еще скопировать а потом в буфер... хотя... это всеже свойство принимающего контейнера


Всё упирается в метод COPY_LINK_ITEM_TO_CLIPBOARD, который копирует внутренюю таблицу в буфер обмена. Его мы никак не минуем. А именно в нём, кажется, и происходит это злополучное преобразование.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 21:32 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
Egal написал:
еще идея - может попробовать писать-читать в стандартный текст, а потом в буфер копировать? ... вобщем кудато еще скопировать а потом в буфер... хотя... это всеже свойство принимающего контейнера


Всё упирается в метод COPY_LINK_ITEM_TO_CLIPBOARD, который копирует внутренюю таблицу в буфер обмена. Его мы никак не минуем. А именно в нём, кажется, и происходит это злополучное преобразование.


мммдааа, ... да вобщемто согласен...
ну либо искать/открывать ноту в осс, либо пользователям выставить принудительно русскую раскладку. Те кто не адвансед - им пофигу. Кто адвансед - сообразит, что надо переключить. :D

Я бы еще чего сделал - взял бы какунть тулзу, которая бы могла разложить "пополочкам" клиппборд. Всмысле сравнить их - клибборды - оба, "русский" и "английский", чем же они отличаются то.
Может это чего даст.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 14 2005, 08:41 
Гость
Есть ещё вариант "разложить" метод INSERT TABLE интерфейса I_OI_WORD_PROCESSOR_DOCUMENT. Он вставляет данные в Word не через буфер обмена, а скорее всего с помощью вызова какого-то "своего" COM-объекта. Но это долгая история - оставлю её на сладкое... Если что получится - непременно доложу.

Спасибо за поддержку!


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Чт, июл 14 2005, 08:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
EGF написал(а):
Требуется передать данные в Word. Для этого используется интерфейс .... и его методы ... COPY_LINK_ITEM_TO_CLIPBOARD. После чего данные вставляются в документ с помощью метода PASTE_CLIPBOARD...

Буду благодарен за любые идеи.
При написании своего
модуля для выгрузки в Word и Excel я тоже задумывался над использованием CLIPBOARD для передачи данных. Но мне показалось, что это как то не хорошо. Ведь пользователь может хранить в нем нужную ему циферку, а мы его хрясь... И вообще, система то вроде как мультизадачная, а CLIPBOARD один на всех, конфликтики могут возникнуть. В общем отказался я от этой затеи и передаю данные через текстовый файл. Главное делать это гуртом, а не по отдельности каждое значение. Да и вообще работа через OLE не терпит суеты, чем меньше вызовов, тем лучше.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 14 2005, 08:43 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Anonymous написал(а):
Есть ещё вариант "разложить" метод INSERT TABLE интерфейса I_OI_WORD_PROCESSOR_DOCUMENT. Он вставляет данные в Word не через буфер обмена, а скорее всего с помощью вызова какого-то "своего" COM-объекта. Но это долгая история - оставлю её на сладкое... Если что получится - непременно доложу.

Спасибо за поддержку!

Забыл залогиниться.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Чт, июл 14 2005, 08:59 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Parazit написал:
При написании своего
модуля для выгрузки в Word и Excel...


Забавная картинка открывается по адресу http://viktorov.narod.ru/programming/myprograms/abap/ZWWW.zip
Пишет, что файлы были удалены из-за обнаруженных в них вирусов.

А не могли бы Вы кратенько обрисовать, каким образом Вы вставляете данные из внутренней таблицы в Word "гуртом"? Неужели Вам удалось передать через OLE массив? Если так, то - респект!
Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Чт, июл 14 2005, 09:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
EGF написал(а):
Parazit написал:
При написании своего
модуля для выгрузки в Word и Excel...


Забавная картинка открывается по адресу http://viktorov.narod.ru/programming/myprograms/abap/ZWWW.zip
Пишет, что файлы были удалены из-за обнаруженных в них вирусов.
Странно, только что зашел проверить, скачал без проблем. Только вот на narod.ru нельзя прямые ссылки на файлы использовать, только через страничку. http://viktorov.narod.ru/programming/myprograms/abap/wwwform.html

EGF написал(а):
А не могли бы Вы кратенько обрисовать, каким образом Вы вставляете данные из внутренней таблицы в Word "гуртом"? Неужели Вам удалось передать через OLE массив? Если так, то - респект!
Спасибо.
Таблицу выгрузить из ABAP в текстовый файл через ФМ WS_DOWNLOAD не проблема. Поля (в текстовом формате) в строке разделить табуляторами (код 09). Потом через OLE используешь функцию Excel Range.Worksheet.QueryTables.Add, где Range указывает на ячейку, которая будет верхним левым углом твоей таблицы. Примерно так. Все таки скачай как-нибудь мои модули и посмотри. Вирусов там нет, им просто негде быть. Может отключить антивирус на своем компе?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Ой, затупил я.
СообщениеДобавлено: Чт, июл 14 2005, 09:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Ой, затупил я. Тебе же в Word надо... Это я про Excel рассказывал. Ну можно тоже выгрузить в файл, а загрузить, например, макросом.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

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


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

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


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

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