SAP ERP 6.0 EHP7 - стандартные электронные документы — различия между версиями
(→Команда Create XML Invoice) |
|||
Строка 90: | Строка 90: | ||
#Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[] | #Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[] | ||
#set_xml_timestamp Получаем системную дату время | #set_xml_timestamp Получаем системную дату время | ||
− | #cl_j3rf_di_reginv->create_xml_invoices(список фактур - врем. таблица t_out_list[]) Получаем данные фактуры и формируем xml. Возвращаемое значение: код ошибки. | + | #'''cl_j3rf_di_reginv->create_xml_invoices'''(список фактур - врем. таблица t_out_list[]) Получаем данные фактуры и формируем xml. Возвращаемое значение: код ошибки. |
##Проверяем есть ли в системе BADI J_3R_REGINV_DIG_BADI (должна быть иначе ошибка) | ##Проверяем есть ли в системе BADI J_3R_REGINV_DIG_BADI (должна быть иначе ошибка) | ||
##Перебираем список фактур и в зависимости от типа фактуры (j3rdx_dxd_type_invoice - обычная / j3rdx_dxd_type_corr корректировочная) запускаем разные методы получения данных из БД: | ##Перебираем список фактур и в зависимости от типа фактуры (j3rdx_dxd_type_invoice - обычная / j3rdx_dxd_type_corr корректировочная) запускаем разные методы получения данных из БД: | ||
###Для обычной фактуры | ###Для обычной фактуры | ||
− | ####CL_J3RF_DI_REGINV->get_inv_data(врем. структура ls_out запись из списка фактур) Получаем данные обычной фактуры . Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур. | + | ####'''CL_J3RF_DI_REGINV->get_inv_data'''(врем. структура ls_out запись из списка фактур) Получаем данные обычной фактуры . Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур. |
#####???вероятно запускается программа печати?? | #####???вероятно запускается программа печати?? | ||
− | ####CL_J3RF_DI_REGINV->prepare_xml_invoice По полученным данным собираем структуру специального формата для конвертации в xml из класса . Аргументы: ls_hd_inv - заголовок, lt_txt - тексты, lt_inv - позиции счетов-фактур. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml. | + | ####'''CL_J3RF_DI_REGINV->prepare_xml_invoice''' По полученным данным собираем структуру специального формата для конвертации в xml из класса . Аргументы: ls_hd_inv - заголовок, lt_txt - тексты, lt_inv - позиции счетов-фактур. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml. |
− | ####cl_j3rf_diginv_processor->set_struct_division - получаем данные подписанта. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - подпись. | + | ####'''cl_j3rf_diginv_processor->set_struct_division''' - получаем данные подписанта. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - подпись. |
− | ####BADI J_3R_REGINV_DIG_BADI->UPDATE_INV_XML(ls_hd_inv, lt_txt, lt_inv. ls_xml_inv) - Можем изменить подготовленную структуру ls_xml_inv. | + | ####'''BADI J_3R_REGINV_DIG_BADI->UPDATE_INV_XML'''(ls_hd_inv, lt_txt, lt_inv. ls_xml_inv) - Можем изменить подготовленную структуру ls_xml_inv. |
####Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv | ####Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv | ||
###Для корректировочной фактуры | ###Для корректировочной фактуры | ||
− | ####CL_J3RF_DI_REGINV->get_inv_corrinvdata - подготавливаем структуру и помещаем в lt_xml_inv аналогично обычной фактуре. | + | ####'''CL_J3RF_DI_REGINV->get_inv_corrinvdata''' - подготавливаем структуру и помещаем в lt_xml_inv аналогично обычной фактуре. |
− | ####CL_J3RF_DI_REGINV->prepare_xml_corrinv | + | ####'''CL_J3RF_DI_REGINV->prepare_xml_corrinv''' |
− | ####cl_j3rf_diginv_processor->set_struct_division | + | ####'''cl_j3rf_diginv_processor->set_struct_division''' |
− | ####BADI J_3R_REGINV_DIG_BADI->UPDATE_CORRINV_XML | + | ####'''BADI J_3R_REGINV_DIG_BADI->UPDATE_CORRINV_XML''' |
####Записываем полученную структуру в таблицу врем. табл. lt_inv_table. | ####Записываем полученную структуру в таблицу врем. табл. lt_inv_table. | ||
− | ##cl_j3rf_diginv_processor->process_outgoing(lt_inv_table[], индикатор j3rdx_out_create_only) Формирует xml документ, помещаем его в таблицу ????. Возвращает: код ошибки. | + | ##'''cl_j3rf_diginv_processor->process_outgoing'''(lt_inv_table[], индикатор j3rdx_out_create_only) Формирует xml документ, помещаем его в таблицу ????. Возвращает: код ошибки. |
− | + | ||
− | |||
***заполнение кода ошибки как выходного параметра . | ***заполнение кода ошибки как выходного параметра . | ||
*запуск подпрограммы show_xml_result. Аргументы: количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices. Выводит сообщение: "Х строк выделено, Y строк обработано, Z строк с ошибками". | *запуск подпрограммы show_xml_result. Аргументы: количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices. Выводит сообщение: "Х строк выделено, Y строк обработано, Z строк с ошибками". |
Версия 11:24, 1 сентября 2015
Содержание
Общие сведения
Модуль предназначен для создания, отправки и получения электронных счетов-фактур, актов, накладных и универсальных передаточных документов в формате xml ФНС. Модуль является составной частью пакета локализации для России.
Транзакции:
- J3RFREGINV - Журнал электронных счетов-фактур.
- J3RFREGTORG - Журнал электронных накладных и актов.
Журнал счетов-фактур
Общие сведения
Журнал электронных счетов-фактур – транзакция, которая отображает список входящих и исходящих счетов-фактур и их электронную версию в системе SAP.
- Меню: Accounting>Finantial Accounting>Accounts Receivable>Reporting>Russia>Invoice Journal.
- Техническое имя меню J3RF-FDMN-REP-RU.
- Техническое имя транзакции J3RFREGINV.
- Техническое имя программы J_3RF_REGINV.
Журнал использует таблицы:
- J_3RF_REGINV_IN – входящие счета-фактуры
- J_3RF_REGINV_OUT – исходящие счета-фактуры
- J_3RF_REGINV_LOG – история статусов счетов-фактур
- J_3RFDI_ARC – архив электронных счетов с XML-данными
Программа J_3RF_REGINV состоит из частей:
- Описание переменных (DATA, TYPES)
- Экран выбора (SELECTION-SCREEN)
- Обработка событий на экране выбора (AT SELECTION-SCREEN)
- Набор данных (START-OF-SELECTION)
- Вывод данных (END-OF-SELECTION)
- Обработка событий на экране вывода (USER-COMMAND)
При запуске программы на экране выбора необходимо выбрать режим:
- показать исходящие счета
- показать входящие счета
- вывести выходную форму журнала (?)
- добавить входящие счета (?)
Список доступных команд на экране вывода (USER-COMMAND):
- Общие
- REFR - refresh list - обновить список
- INSR - insert entry - вставить запись
- COPY - copy entry - скопировать запись
- &EDI - edit entry - редактировать запись
- DELE - delete entry - удалить запись
- DISP - display entry - показать запись
- HIST - Display History of Status Changes - просмотреть историю статусов
- VLOG - View Application Log - просмотреть историю операций
- Для входящих счетов-фактур
- IADD - Register incoming invoices - зарегистрировать входящие счтеа
- EREQ - Create XML Request for Clarification - создать xml запроса на уточнение
- SGNR - Sign/Encrypt XML Request for Clarification - подписать запрос на уточнение
- SNDR - Send XML Request for Clarification - отправить запрос на уточнение
- DREQ - Display Clarification Request - показать запрос на уточнение
- HNDL - Set Status Request for Clarification Handled - установить статус запроса на уточнение
- Для исходящих счетов-фактур
- &RVS - Print Revision for Entry - печать исправленного
- EINV - Create XML Invoice - создать xml счета-фактуры
- SGNI - Sign/Encrypt XML Invoice - подписать счет-фактуру
- SNDI - Send XML Invoice - отправить счет-фактуру
- DXML - Display XML Invoice - показать xml счета-фактуры
- DPDF - Display XML in PDF - показать xml в dpf
Как исходящие документы попадают в журнал
Вариант 1 (....)
Описание краткое описание способа Алгоритм полная последовательность вызовов от начала до конца с кратким описанием каждой функции BADI выделить цветом BADI названия функций - должны быть в алгоритме. описание действия, список входящих параметров описание результата.
Как входящие документы попадают в журнал
Вариант 1 (....)
Описание
Алгоритм
Команда Create XML Invoice
Описание Создает xml для выделенных на экране исходящих счетов-фактур, используя номера документов.
Аргументы Выделенные строки в списке счетов-фактур с содержанием номеров и статусов.
Возвращаемое значение Список счетов-фактур с новыми статусами или сообщение об ошибке.
Результат Заголовок, данные в формате string, xml-данные в формате hex, эл.подпись в формате hex добавлаются в таблицу J_3RFDI_ARC. Изменяется статус документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_IN, J_3RF_REGINV_LOG.
Алгоритм
- Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[]
- set_xml_timestamp Получаем системную дату время
- cl_j3rf_di_reginv->create_xml_invoices(список фактур - врем. таблица t_out_list[]) Получаем данные фактуры и формируем xml. Возвращаемое значение: код ошибки.
- Проверяем есть ли в системе BADI J_3R_REGINV_DIG_BADI (должна быть иначе ошибка)
- Перебираем список фактур и в зависимости от типа фактуры (j3rdx_dxd_type_invoice - обычная / j3rdx_dxd_type_corr корректировочная) запускаем разные методы получения данных из БД:
- Для обычной фактуры
- CL_J3RF_DI_REGINV->get_inv_data(врем. структура ls_out запись из списка фактур) Получаем данные обычной фактуры . Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур.
- ???вероятно запускается программа печати??
- CL_J3RF_DI_REGINV->prepare_xml_invoice По полученным данным собираем структуру специального формата для конвертации в xml из класса . Аргументы: ls_hd_inv - заголовок, lt_txt - тексты, lt_inv - позиции счетов-фактур. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml.
- cl_j3rf_diginv_processor->set_struct_division - получаем данные подписанта. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - подпись.
- BADI J_3R_REGINV_DIG_BADI->UPDATE_INV_XML(ls_hd_inv, lt_txt, lt_inv. ls_xml_inv) - Можем изменить подготовленную структуру ls_xml_inv.
- Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv
- CL_J3RF_DI_REGINV->get_inv_data(врем. структура ls_out запись из списка фактур) Получаем данные обычной фактуры . Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур.
- Для корректировочной фактуры
- CL_J3RF_DI_REGINV->get_inv_corrinvdata - подготавливаем структуру и помещаем в lt_xml_inv аналогично обычной фактуре.
- CL_J3RF_DI_REGINV->prepare_xml_corrinv
- cl_j3rf_diginv_processor->set_struct_division
- BADI J_3R_REGINV_DIG_BADI->UPDATE_CORRINV_XML
- Записываем полученную структуру в таблицу врем. табл. lt_inv_table.
- Для обычной фактуры
- cl_j3rf_diginv_processor->process_outgoing(lt_inv_table[], индикатор j3rdx_out_create_only) Формирует xml документ, помещаем его в таблицу ????. Возвращает: код ошибки.
- заполнение кода ошибки как выходного параметра .
- запуск подпрограммы show_xml_result. Аргументы: количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices. Выводит сообщение: "Х строк выделено, Y строк обработано, Z строк с ошибками".
- Запуск подпрограммы out_inv_select. Аргумент и возвращаемое значение: список счетов-фактур на экране вывода out_list[].
BADI J_3R_REGINV_DIG_BADI
- UPDATE_INV_XML - modify data for xml-invoice
- UPDATE_CORRINV_XML - modify data for xml-corrective invoice
Журнал накладных и актов
Общие сведения
Журнал электронных накладных и актов – транзакция, которая отображает список входящих и исходящих накладных ТОРГ12 и актов и их электронную версию в системе SAP.
- Техническое имя транзакции J3RFREGTORG.
- Техническое имя программы J_3RF_REGTORG.
Журнал использует таблицы:
- J_3RF_RGTORG_IN - входящие накладные
- J_3RF_RGTORG_OUT - исходящие накладные
- J_3RF_RGTORG_IFS - индекс документов
Программа J_3RF_REGTORG состоит из частей:
- Описание переменных (DATA, TYPES)
- Экран выбора (SELECTION-SCREEN)
- Обработка событий на экране выбора (AT SELECTION-SCREEN)
- Набор данных (START-OF-SELECTION)
- Вывод данных (END-OF-SELECTION)
- Обработка событий на экране вывода (USER-COMMAND)
При запуске программы на экране выбора необходимо выбрать режим:
- показать исходящие документы
- показать входящие документы
Список доступных команд на экране вывода (USER-COMMAND):
- Общие
- DXML - Display XML-File - показать xml
- IAKT_PDF - Print Seller Title in PDF form - напечатать данные продавца в pdf
- ZAKT_PDF - Print Buyer Title in PDF form - напечатать данные покупателя в pdf
- DCLFR - Display Clarification Request - показать запрос на уточнение
- TORG2_PROC - Set Status to Processed - установить статус "обработан"
- HIST - Display Status History - просмотреть историю статусов
- VLOG - View Application Log - просмотреть историю операций
- Исходящие документы
- ETORG - Create XML - создать xml
- SGNI - Sign - подписать документ
- SNDI - Send - отправить документ
Как входящие документы попадают в журнал
Вариант 1 (....)
Описание
Алгоритм
Список доступных команд
Команда 1
Описание
Алгоритм
BADI
Журнал универсальных передаточных документов (УПД)
Общие сведения
Структура таблиц журнала счетов-фактур
J_3RF_REGINV_IN – входящие счета-фактуры
J_3RF_REGINV_OUT – исходящие счета-фактуры
J_3RF_REGINV_LOG – история статусов счетов-фактур
J_3RFDI_ARC – архив электронных счетов с XML-данными
Структура таблиц журнала накладных и актов
J_3RF_RGTORG_IN - входящие накладные
J_3RF_RGTORG_OUT - исходящие накладные
J_3RF_RGTORG_IFS - индекс документов
+структура каждой таблицы