Текущее время: Пт, июн 20 2025, 00:11

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


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

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


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

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