Текущее время: Сб, июн 21 2025, 14:31

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пт, июн 25 2010, 12:05 
Начинающий
Начинающий

Зарегистрирован:
Пт, июн 25 2010, 11:58
Сообщения: 2
Привет, Коллеги!

Поставили задачу реализовать таковую выгрузку стандартных форм бухгалтерской отчетности(Форма 1, Форма 2, Декларация по налогу на прибыль организации) из САП.

Форматы файлов для налоговой - нашел: http://www.nalog.ru/document.php?id=255 ... l_otch_400

Кто-нибудь сталкивался с подобным? как решали? Неужто садиться и программировать создание файла тег-за тегом?

Заранее всем спасибы за подсказки!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пт, июн 25 2010, 12:36 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
Да, возможно придется разбирать xsd-схему, по ней генерить тэг за тэгом файл. Готовых решений не видел... Делал что-то подобное для казахстанской отчетности (там тоже xml определенной структуры выгружается): тэг за тэгом, замаялся.
Также делал выгрузку поставок сбытовых в xml (но тут формат xsd я уже сам придумал).
Если делать всё с нуля, то объем работы получается немаленький совсем...


Мое решение такое было:
Чтобы не забивать гвоздями тэги, можно написать XSLT-преобразование для xsd-шаблонов, сами шаблоны с сайта закачать в репозиторий (например, SMW0), затем в программе вызывать ваше преобразование (через CALL TRANSFORMATION), которое вернет структуру документа в виде внутренней таблицы, по этой структуре генерить xml, заполняя нужными значениями определенные тэги.
XSLT возвращает структуру в виде внутр. таблицы со строкой
Code:
NODE | PARENT_NODE.

Была также написана объектная обертка, которая по таблице структуры строила объектную иерархию документа xml, у которой были методы по заполнению xml определенными значениями.

Т.е. в программе, которая заполняет данными, вызов выглядел примерно так:
Code:
data lrf_node type ref to zcl...

lrf_node ?= document->get_elem_by_name( 'table' ).

lrf_node->set_attribute( 'name' 'val' ).
....
....

document->render_xml( ).



document - класс управления объектной иерерахией (тоже Z), метод render_xml обходит иерархию и, используя стандартные классы CL_IXML, генерит xml в виде бинарных данных, которые выгрузить куда-то - дело техники уже.

Вообщем, очень сложно и объемно получилось, но универсально (в случае изменения формата новый файл xsd закачивается в систему, правится немного программа заполнения данными, но тэги гвоздями нигде не перебиваются).
Это я вам описал свое решение.

Возможно, как-то проще сделать можно.

P.S.
1) ядро должно быть не ниже 7.00 (если не ошибаюсь), чтобы xslt там работали
2) NODE | PARENT_NODE будет работать, если имена тэгов с первого по n-1 уровень будут уникальны (иначе поле PARENT_NODE в таблице не будет правильно отражать иерархию). Или сделать структуру NODE_KEY | PARENT_NODE_KEY | NODE | PARENT_NODE, где NODE_KEY и PARENT_NODE_KEY - некие "суррогатные" ключи, например, натуральные числа, а NODE и PARENT_NODE - реальные имена тэгов


Последний раз редактировалось Art386 Пт, июн 25 2010, 13:11, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пт, июн 25 2010, 13:05 
Начинающий
Начинающий

Зарегистрирован:
Пт, июн 25 2010, 11:58
Сообщения: 2
Огромное спасибо за развернутый ответ и интересное решение!

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пт, июн 25 2010, 14:55 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 07:27
Сообщения: 321
Откуда: Где-то на севере
Пол: Мужской
Я ограничился "тег за тегом", т.к. в моем случае выгружалась декларация по транспорту и соответственно основная масса тегов была зациклена.

UPD. Естественно я не рисовал файл руками, а делал это через CL_IXML.
Т.е. я формирую структуру с данными, а мои друзья - методы и объекты, формируют сам текст XMLя.

_________________
I have a dream


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пт, июн 25 2010, 17:59 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 25 2005, 19:26
Сообщения: 67
Пол: Мужской
Art386 написал:
Да, возможно придется разбирать xsd-схему, по ней генерить тэг за тэгом файл. Готовых решений не видел... Делал что-то подобное для казахстанской отчетности (там тоже xml определенной структуры выгружается): тэг за тэгом, замаялся.
Также делал выгрузку поставок сбытовых в xml (но тут формат xsd я уже сам придумал).
Если делать всё с нуля, то объем работы получается немаленький совсем...


Мое решение такое было:
Чтобы не забивать гвоздями тэги, можно написать XSLT-преобразование для xsd-шаблонов, сами шаблоны с сайта закачать в репозиторий (например, SMW0), затем в программе вызывать ваше преобразование (через CALL TRANSFORMATION), которое вернет структуру документа в виде внутренней таблицы, по этой структуре генерить xml, заполняя нужными значениями определенные тэги.
XSLT возвращает структуру в виде внутр. таблицы со строкой
Code:
NODE | PARENT_NODE.

Была также написана объектная обертка, которая по таблице структуры строила объектную иерархию документа xml, у которой были методы по заполнению xml определенными значениями.


может, я чего не понимаю по задаче, но исходя из общих соображений - что мешает сгенерить по XSD-схеме каким-нибудь внешним инструментом шаблонный XML-файл и использовать его как основу для XSLT или Simple Transformation, прописать в шаблоне, куда и как должны попадать данные, и передавать их в трансформацию непосредственно при вызове CALL TRANSFORMATION?

_________________
Come to Cookies! We Have Dark Sides!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пн, июн 28 2010, 10:31 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
Цитата:
может, я чего не понимаю по задаче, но исходя из общих соображений - что мешает сгенерить по XSD-схеме каким-нибудь внешним инструментом шаблонный XML-файл и использовать его как основу для XSLT или Simple Transformation, прописать в шаблоне, куда и как должны попадать данные, и передавать их в трансформацию непосредственно при вызове CALL TRANSFORMATION?

Можно и так, но в моем случае мне удобнее было сделать по-моему.

А если бы еще и шаблонный xml-файл имел бы не статическую структуру (в плане "куда и как должны попадать данные")? :) Ну это так, размышления уже


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пн, июн 28 2010, 11:06 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 25 2005, 19:26
Сообщения: 67
Пол: Мужской
Art386 написал:
Цитата:
может, я чего не понимаю по задаче, но исходя из общих соображений - что мешает сгенерить по XSD-схеме каким-нибудь внешним инструментом шаблонный XML-файл и использовать его как основу для XSLT или Simple Transformation, прописать в шаблоне, куда и как должны попадать данные, и передавать их в трансформацию непосредственно при вызове CALL TRANSFORMATION?

Можно и так, но в моем случае мне удобнее было сделать по-моему.

А если бы еще и шаблонный xml-файл имел бы не статическую структуру (в плане "куда и как должны попадать данные")? :) Ну это так, размышления уже


В любом случае структура определяется схемой, а в трансформациях есть и условные ветвления, и циклы. Я просто хотел сказать, что использование трансформаций - самое простое решение, которое годится для большинства задач по выгрузке данных в XML. Разумеется, в сложных случаях приходится искать сложное решение. :)

_________________
Come to Cookies! We Have Dark Sides!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Пн, сен 07 2015, 09:50 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 17 2012, 15:37
Сообщения: 71
Делал Тег за тегом .Делал Деклараци учета полученных и выданных счетов-фактур для Налоговой Инспекции. Так Как структура ХМL была цикличной много кода не получилось.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Вт, ноя 10 2015, 15:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
SAP CIS уже реализовал велосипед под названием J_3RF_REPORT для отчетов в XML. И структура там настраивается через гуевый тул.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Вт, ноя 10 2015, 15:26 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Kengur: а что, этот инструмент уже перестал падать в дампы без объявления войны? Ну и корректно запрашивать параметры при формировании отчетов - он уже научился? Я его последний раз смотрел где-то в конце прошлого года, все по прежнему было уныло и печально. Сейчас лазить повода не было. Ситуация изменилась?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Ср, ноя 11 2015, 13:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
А как он у вас в дампы падал? Я просто на стыке 2014-2015 заставлял разработчика оптимизировать эту байду. Он вроде сначала использовал DOM, а потом перешел на stream. По 10-50мб (до-после) файлы генерились, правда медленно ух...

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка форм бухгалтерской отчетности из SAP в электронном формате (xml)
СообщениеДобавлено: Ср, ноя 11 2015, 14:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Kengur: по всякому он падал. Не из-за памяти. Из-за нот было. Приходит нота - а при установке нормально не встает. Из-за необрабатывания различных вариантов ведения настроек - тоже было: выбрали не тот (с точки зрения разработчика) провайдер данных - оно опять падает. Без какой либо обработки экспшенов. Выкатывает сел. экраны с длинным списком параметров, но без истории и сеч-хелпов (или без вариантов? не помню. но дружелюбие интерфейса и тулзы запомнилось. да). Что-то уже и забывать начал как оно разнообразно глючило-то.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

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


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

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


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

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