SAP ERP 6.0 EHP7 - стандартные электронные документы — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Команда 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.

Алгоритм

  1. Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[]
  2. set_xml_timestamp Получаем системную дату время
  3. cl_j3rf_di_reginv->create_xml_invoices(список фактур - врем. таблица t_out_list[]) Получаем данные фактуры и формируем xml. Возвращаемое значение: код ошибки.
    1. Проверяем есть ли в системе BADI J_3R_REGINV_DIG_BADI (должна быть иначе ошибка)
    2. Перебираем список фактур и в зависимости от типа фактуры (j3rdx_dxd_type_invoice - обычная / j3rdx_dxd_type_corr корректировочная) запускаем разные методы получения данных из БД:
      1. Для обычной фактуры
        1. CL_J3RF_DI_REGINV->get_inv_data(врем. структура ls_out запись из списка фактур) Получаем данные обычной фактуры . Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур.
          1. ???вероятно запускается программа печати??
        2. CL_J3RF_DI_REGINV->prepare_xml_invoice По полученным данным собираем структуру специального формата для конвертации в xml из класса . Аргументы: ls_hd_inv - заголовок, lt_txt - тексты, lt_inv - позиции счетов-фактур. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml.
        3. cl_j3rf_diginv_processor->set_struct_division - получаем данные подписанта. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - подпись.
        4. BADI J_3R_REGINV_DIG_BADI->UPDATE_INV_XML(ls_hd_inv, lt_txt, lt_inv. ls_xml_inv) - Можем изменить подготовленную структуру ls_xml_inv.
        5. Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv
      2. Для корректировочной фактуры
        1. CL_J3RF_DI_REGINV->get_inv_corrinvdata - подготавливаем структуру и помещаем в lt_xml_inv аналогично обычной фактуре.
        2. CL_J3RF_DI_REGINV->prepare_xml_corrinv
        3. cl_j3rf_diginv_processor->set_struct_division
        4. BADI J_3R_REGINV_DIG_BADI->UPDATE_CORRINV_XML
        5. Записываем полученную структуру в таблицу врем. табл. lt_inv_table.
    3. 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 - индекс документов

+структура каждой таблицы