Текущее время: Пн, авг 04 2025, 08:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2409 ]  На страницу Пред.  1 ... 13, 14, 15, 16, 17, 18, 19 ... 161  След.
Автор Сообщение
 Заголовок сообщения: Проблема с подключением программы вместо стандарта
СообщениеДобавлено: Вт, окт 31 2006, 16:16 
Ассистент
Ассистент

Зарегистрирован:
Ср, июл 05 2006, 13:32
Сообщения: 29
Добрый день,
с помощью Автора запустил у себя ФМ, но
вываливаюсь в дамп, но не на любом документе, базисники говорят что из за того, что программа запускается в бэкграунде. Автор что "Это же выгрузка на компьютер пользователя. А выполнение в фоне, подразумевает, что пользователя в системе нет в данный момент."

Кто нибудь подключал этот ФМ как программу (подпрограмму), вместо стандарта?

Огромный респект Parazit'у сильно помог, плюс приятный в общении человек :)

P.S. Вроде как то получается если не ставишь печать при сохранении.
Никто фм не юзает что ли ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 23 2007, 17:35 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
viper написал(а):
1. Как бороться с ошибкой
".."Char_TAB" must be character-type dat object (data type C, N, D,T or String). field string)"

Parazit написал:
Наверно у вас версия R/3 4.0?! Возможно поможет такой вариант (проверить мне негде):
Code:
Data:
  C_TAB type X value '09',
  Char_TAB.
  .......
  Char_TAB = C_TAB.

Ошибка возникает из-за того, что включена галочка Unicode Enabled в атрибутах программы. Избавиться от этой ошибки в новой версии (а заодно и сделать функциональный модуль Юникод-совместимым) советую так:
Code:
c_tab type c value cl_abap_char_utilities=>horizontal_tab


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 23 2007, 18:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
И далее:
Code:
  Char_0d  type C value cl_abap_char_utilities=>cr_lf,
  Char_0a  type C value cl_abap_char_utilities=>newline,


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 26 2007, 08:24 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
Уважаемый Parazit, спасибо за вашу разработку по выгрузке в Excel. Только вот столкнулась с такой проблемой: в табличной строке Line в одном из полей данные должны быть в несколько строк. Так вот проблема в том, что при выгрузке часть данных в первой строке скрыта, а последующие строки сжаты до одной.
-------------------------------------
| материал 1 | 100.00 | 200.00|
| тип мат-ла | 100.00 | 200.00|
| характ-ка | 100.00 | 200.00|
-------------------------------------
| материал 2 | 100.00 | 200.00|
-------------------------------------
| материал 3 | 100.00 | 200.00|
-------------------------------------
Как это можно победить? Может быть кто-то тоже сталкивался?

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 26 2007, 12:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Helen написала:
Как это можно победить? Может быть кто-то тоже сталкивался?

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

P.S.
Вообще то в Excel еще есть проблема форматирования объединенных ячеек. В таких ячейках не работает параметр выравнивания "Переносить по словам", показывается только первая строка текста, остальные невидимы. Для решения этой проблемы я написал макрос, его можно вызывать, передавая в качестве параметра Range, указывающий на группу таких ячеек, например столбец таблицы:

Code:
Sub MergeCellsAutofit(R As Range)
  Dim wR As Range, uR As Range, Row As Range, C As Range, _
      EndCol As Integer, EndRow As Integer, Sh As Worksheet, _
      HrAlg, CurH, NewH

  Set Sh = R.Worksheet
  Set wR = R
  Set uR = R.Worksheet.UsedRange
 
  If R.Column + R.Columns.Count > uR.Column + uR.Columns.Count Then
    EndCol = uR.Column + uR.Columns.Count - 1
  Else
    EndCol = R.Column + R.Columns.Count - 1
  End If
 
  If R.Row + R.Rows.Count > uR.Row + uR.Rows.Count Then
    EndRow = uR.Row + uR.Rows.Count - 1
  Else
    EndRow = R.Row + R.Rows.Count - 1
  End If
 
  Set wR = Sh.Range(R.Cells(1, 1), Sh.Cells(EndRow, EndCol))
 
  For Each Row In wR.Rows
    CurH = Row.RowHeight
    NewH = CurH
    For Each C In Row.Cells
      If C.MergeCells And C.WrapText And C.Column = C.MergeArea.Column Then
        Set Ar = C.MergeArea
        HrAlg = C.HorizontalAlignment
        Ar.MergeCells = False
        Ar.HorizontalAlignment = xlCenterAcrossSelection
        Ar.Rows.AutoFit
        If NewH < Ar.RowHeight Then
          NewH = Ar.RowHeight
        End If
        Ar.MergeCells = True
        Ar.HorizontalAlignment = HrAlg
      End If
    Next
    Row.RowHeight = NewH
  Next
End Sub


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 26 2007, 14:51 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 09:33
Сообщения: 300
Откуда: Москва
Пол: Женский
Спасибо большое! Все получилось! а то я с высотой строки уже два дня экспериментировала... Думаю это пригодиться не только мне. Еще раз множество благодарностей! :D :D :D

_________________
С уважением, HB.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Не работает вывод с типом 'T'
СообщениеДобавлено: Ср, янв 31 2007, 13:55 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
Спасибо Parazit за разработку по выгрузке в Excel. При ее использовании столкнулся с такой проблемой. Формирую данные N строк - разделитель полей табуляция (x09), разделитель строк CR/LF (x0D0A) с типом 'T'. ZWWW_Prepare_Table не используется. При выгрузке в Excel выводится только первая строка. При просмотре в режиме отладки видно, что формируется строка высотой N, но выводится только первая. Версии SAP 4.6C, Excel 2003.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не работает вывод с типом 'T'
СообщениеДобавлено: Ср, янв 31 2007, 18:49 
Почетный гуру
Почетный гуру
Аватара пользователя

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

Хотелось бы на шаблончик взглянуть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, мар 28 2007, 14:56 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 16 2004, 11:24
Сообщения: 82
Откуда: Западно-Сибирская равнина
Пол: Мужской
делаю обновление группы ф zwww . Скачал архив вчера
С чем столкнулся:

1. в файле LZWWWFORMTOP
есть строка NO_OUT TYPE ZWWW_FIELD_CATALOG-NO_OUT,
но в структуре ZWWW_FIELD_CATALOG поля NO_OUT нет

2. в ZWWWFILLFORM п/п FUNCTION_ZBDS_OPENFORM2 - нигде не вызывается. Она, я так понял, случайно (или нарочно) оставлена, скопирована с ФМ. Но в ней остались разные переменные необъявленные



PS Огромное спасибо за проделанную работу!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Улучшение
СообщениеДобавлено: Чт, мар 29 2007, 11:19 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 16 2004, 11:24
Сообщения: 82
Откуда: Западно-Сибирская равнина
Пол: Мужской
В текущем виде фм ZWWW_OPEN_FORM немного ограничивает возможности.

В частности у меня стояла задача выгрузки нескольких документов по единому шаблону в один файл excel разными листами. Т.е. в результате получался файл с n кол-вом листов.

В excel ввёл макрос
Sheets("Ëèñò1").Visible = True
Sheets("Ëèñò1").Select
ActiveSheet.Copy Before:=Sheets(1)
Sheets("Ëèñò1").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets(1).Select

При его вызове шаблон копируется, потом в проге скопированный лист (активный) заполняется данными. Если нужно заполнить ещё один лист - снова вызывается макрос, ...
Так вот такая логика не сработала из-за сортировки в фм ZWWW_FILLFORM.

Улучшение - закоментить её и будет счастье!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 29 2007, 12:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Alferac написал:
1. в файле LZWWWFORMTOP
есть строка NO_OUT TYPE ZWWW_FIELD_CATALOG-NO_OUT,
но в структуре ZWWW_FIELD_CATALOG поля NO_OUT нет

2. в ZWWWFILLFORM п/п FUNCTION_ZBDS_OPENFORM2 - нигде не вызывается. Она, я так понял, случайно (или нарочно) оставлена, скопирована с ФМ. Но в ней остались разные переменные необъявленные

Прошу пардона! :) Поле добавить, функция ZWWWFILLFORM не нужна (случайно осталась от экспериментов).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Улучшение
СообщениеДобавлено: Чт, мар 29 2007, 12:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Alferac написал:
В текущем виде фм ZWWW_OPEN_FORM немного ограничивает возможности.
Пока не замечал. :)
Цитата:
В частности у меня стояла задача выгрузки нескольких документов по единому шаблону в один файл excel разными листами.
В excel ввёл макрос...
Есть пример ZWWW_MANY_SHEETS, и макрос в шаблонечике тоже есть. Всё работает. :)
Цитата:
Так вот такая логика не сработала из-за сортировки в фм. Улучшение - закоментить её и будет счастье!
Без сортировки будет несчастье, правильность вывода будет зависеть от порядка формирования данных в программе, т.е. это дополнительный источник ошибок.
Все переменные обрабатываются в алфавитном порядке, т.е. именно в том, как показывает Excel. Это дает возможность определять момент (последовательность) вывода данных или отработки макроса.
В данном случае макрос копирования листов должен сработать до заполнения, поэтому он вызывается к полю "_Макрос" (см. шаблон ZWWW_MANY_SHEETS.xls), а уже потом будут заполнены поля "ДокСтрока" в каждом листе.

p.s.
Хочу предупредить, в Excel есть глюк, он не позволяет копировать лист с переменными более 255 раз. Именно 255 раз, а не 255 листов, можно удалить листы, но больше ни одной копии не сделать!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Улучшение
СообщениеДобавлено: Чт, мар 29 2007, 14:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Alferac написал:
Так вот такая логика не сработала из-за сортировки в фм ZWWW_FILLFORM.

Улучшение - закоментить её и будет счастье!


Согласен. Только не закомментить, а ввести в ф.м. новый парметр SORT (для совместимости).
Можно, конечно, сделать ещё хитрее - сортировать не всю таблицу, а только строки с одинаковым именем VAR_NAME.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Улучшение
СообщениеДобавлено: Чт, мар 29 2007, 14:57 
Почетный гуру
Почетный гуру
Аватара пользователя

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


Да думал я над этим... Опять возникают неоднозначности. Ведь одному имени переменной может соответствовать множество записей it_Values. Если имя однозначно определяет порядок, то доп. поле SORT может быть разным для одной и той же переменной. Т.е. надо передавать отдельную таблицу соответствий переменных и порядка вывода. А смысл? Чем нумерация лучше алфавита? Цифры ведь частный случай алфавита, в смысле кодировки символов.
И потом, сортировка изначально была необходима для корректного вывода табличной части. Опять же оптимальней сначала выводить значения FIND_TEXT для всего листа (когда VAR_NAME пустой), пока еще лист не заполнен лишней парой тысяч строк. Опять же определен строгий порядок обработки типов VAL_TYPE, сначала V, потом S (или пусто), M и D. Это позволяет не заморачиваться правильной последовательностью их заполнения, сработает правильно в любом случае.
В общем сначала возникла сортировка, а уж потом я ее использовал для определения моментов работы макросов. Я пока стараюсь исходить из принципа минимализма, если работает, и работает правильно, то зачем перемудривать?!

Извините за нескромность, но я пока еще не сталкивался с проблемой, которую нельзя было бы решить существующими возможностями. Так что, если возникают проблемы, обращайтесь, помогу! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 02 2007, 09:51 
Ассистент
Ассистент

Зарегистрирован:
Ср, июл 05 2006, 13:32
Сообщения: 29
Привет Паразит :)

Всё чудненько работает, но вот незадача с excel, как бы пологичнее,
покрасивее выводить подитоги к листу. Пока никак не удаётся. В ТОРГ12 есть такая гадость :twisted: как подитоги. Пока думаю реализовать путём фиксированной высотой строки, но это не гибко :roll:
Может кто реализовывал? Или идея :idea: есть по этому вопросу :?:

Спасибо за внимание.


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

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


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

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


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

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