SAP ERP 6.0 EHP7 - стандартные электронные документы

Материал из razgovorov.ru
Перейти к: навигация, поиск

Содержание

Общие сведения

Модуль предназначен для создания, отправки и получения электронных счетов-фактур, актов, накладных и универсальных передаточных документов в формате xml ФНС. Модуль является составной частью пакета локализации для России.

Транзакции:

  • J3RFREGINV - Журнал электронных счетов-фактур.
  • J3RFREGTORG - Журнал электронных накладных и актов.

Использование SBIS SAPPER для работы в электронном журнале

SBIS SAPPER [1] реализует стандартное BADI электронного журнала для отправки документов через систему СБИС.

Этапы настройки

  1. Установить библиотеку SBIS SDK [2] (требуются права администратора).
  2. Установить SBIS SAPPER [3].
  3. Запустить ABAP-программу /SBIS/TEST_SDK, чтобы проверить работу SDK.
  4. Дать пользователю, который выполняет настройки, права на объект полномочий OBJECT '/SBIS/0001' ID 'ACTVT' FIELD '01'.
  5. Проверить, что внедрение /SBIS/J3RF_DIGITAL_INVOICE2 активно, используя транзакцию SE19.
  6. Завести цифровой интервал номеров 01 для диапазона номеров /SBIS/STEJ используя транзакцию SNUM (интервал используется для входящих документов).
  7. Внести идентификатор Тензора (2BE), как оператора ЭДО, и идентификаторы контрагентов в системе СБИС.
    1. Вручную через SM30.
      1. Таблицы J_3RFV_DI_PCUSTN и J_3RFV_DI_PCUST заполняются для клиентов (дебиторов).
      2. Таблицы J_3RFV_DI_PVENDN и J_3RFV_DI_PVEND заполняются для поставщиков (кредиторов).
      3. Если используется несколько операторов то необходимо использовать только таблицы J_3RFV_DI_PCUSTN и J_3RFV_DI_PVENDN.
    2. Автоматически, используя программы /SBIS/FILL_ID_DEBI и /SBIS/FILL_ID_KRED

Этапы проверки

  1. Сформировать стандартный электронный документ, к примеру, УПД.
    1. Если используется SD
      1. Создать сбытовой заказ.
        1. В качестве клиента следует выбрать того, кто привязан к идентификатору оператора ЭДО Тензора.
      2. Для заказа сформировать поставку.
      3. Поставку отфактурировать и сгенерировать выходной документ в электронном виде.
    2. Если используется FI
      1. Сформировать финансовый документ, к примеру, через FB70
        1. В качестве клиента следует выбрать того, кто привязан к идентификатору оператора ЭДО Тензора.
        2. Выбрать необходимый вид корреспонденции
      2. Сгенерировать корреспонденцию через F.61
  2. Зайти в транзакцию электронного журнала J3RFUTDOUT, в ней должен появится номер фактуры/финансового документа.
  3. Выбрать строку и нажать отправить.
  4. При первоначальной отправке потребуется авторизоваться в кабинете СБИС. Для тестового окружения следует использовать тестовый сервер, для производственного - "боевой".
  5. Открыть кабинет СБИС и проверить, что документ сформировался.
  6. В случае ошибок, проверить логи электронного журнала и логи в кабинете СБИС.

Журнал счетов-фактур

Общие сведения

Журнал электронных счетов-фактур – транзакция, которая отображает список входящих и исходящих счетов-фактур и их электронную версию в системе 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

Настройки журнала

Журнал счетов в SPRO

  1. Активировать бизнес-функции FIN_LOC_CI_33(журнал с-ф), FIN_LOC_CI_35 (журнал с-ф), FIN_LOC_CI_41 (журнал накл и актов).
    1. Войти в систему не под пользователями SAP*, DDIC.
    2. Меню: SPRO-Активировать бизнес-функции.
    3. Поставить галочку напротив FIN_LOC_CI_33, FIN_LOC_CI_35, FIN_LOC_CI_41, нажать кнопку Активировать.
    4. Появится пункт меню: SPRO-Финансы-БухгДебКред-Бизнес операции-Параметры настройки для стран-Россия-Счета-фактуры-Электронное выставление счета.
    5. Появится пункт меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
  2. (для старых версий!!!). Поставить транспорт из ноты 1691843 - Transport Delivery: Invoice Journal (Russia).
  3. (для старых версий!!!). Настроить журнал регистрации счетов-фактур согласно ноте 1691844.
  4. (для старых версий!!!). Прописать в FIBF продукт по ноте 1691844. J3RFREGI=J3RF. Меню-Параметры настройки-Продукты-Партнеры.
  5. Присвоение диапазонов номеров вход. документов.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов-Присвоение диапазонов номеров вход. документов.
    2. Техническое имя диапазона J_3RINV.
    3. Ввести БЕ и нажать кнопку Ведение интервалов.
    4. Нажать кнопку Новый диапазон.
    5. Ввести номер диапазона 01, год, начальный и конечный номера.
    6. Сохранить.
  6. Автоматическая регистрация входящих счетов.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
    2. Нажать кнопку Новые записи.
    3. Ввести БЕ, вид документа FI, галочки оставить пустыми.
    4. Сохранить.
  7. Настройка автоматической регистрации исходящих счетов из FI.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
    2. Нажать кнопку Новые записи.
    3. Ввести БЕ, идентификатор корреспонденции например ZSA19, Установить галочку Предпросмотр, не ставить галочку Создать как зарегистрированный, не ставить галочку Выбор даты отправки (help.sap.com).
    4. Сохранить.
  8. Настройка автоматической регистрации исходящих счетов из SD.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
    2. Нажать кнопку Новые записи.
    3. Ввести Приложение V3 фактурирование, Входной документ RD00 счет фактура, Установить галочку Предпросмотр, не ставить галочку Создать как зарегистрированный, не ставить галочку Выбор даты отправки (help.sap.com).
    4. Ввести Приложение V3 фактурирование, Входной документ RUCR корректировочный счет фактура, Установить галочку Исправление/Корр, установить галочку Предпросмотр, не ставить галочку Создать как зарегистрированный, не ставить галочку Выбор даты отправки (help.sap.com).
    5. Сохранить.
  9. Определение кодов видов операций.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
    2. Нажать кнопку Новые записи.
    3. Ввести код например 24, описание, например "Регистрация счетов-фактур в книге покупок".
    4. Сохранить.
  10. Присвоение кодов видов операций кодам налога.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
    2. Нажать кнопку Новые записи.
    3. Ввести БЕ, вид документа FI, код НДС, код вида операции.
    4. Сохранить.
  11. Ведение ид.текстовых объектов для входящих счетов
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
    2. Нажать кнопку Новые записи.
    3. Ввести текстовый объект BELEG, ид.внешнего номера, ид.внешней даты.
    4. Сохранить.
    5. Если текстовые ид. не заданы или соответствующие текстовые поля в документе не заполнены, номер внешнего документа берется из поля Номер ссылочного документа (BKPF-XBLNR), а дата внешнего документа — из поля Дата документа (BKPF-BLDAT).
  12. Настройка автоматической обработки сторнирований.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
    2. Нажать кнопку Новые записи.
    3. Ввести БЕ, причину сторно, режим удаления.
    4. Сохранить.


Корректировочные счета-фактуры в SPRO

  1. Определить корректировочные счета-фактуры
    1. Нажать Новые записи
    2. Ввести БЕ - ZUCH, вид документа FI - RV(перенос фактуры), Вид фактуры SD - G2(Кредитовое авизо), тип истории заказа - L.
    3. Ввести БЕ - ZUCH, вид документа FI - RV(перенос фактуры), Вид фактуры SD - L2(Дебетовое авизо), тип истории заказа - L.
    4. Сохранить

Электронное выставление счета в SPRO

  1. Ведение сроков. Определяется предельный срок изменения статуса документа, по истечении которого документ считается просроченным.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Ведение сроков.
    2. Ввести вид с-ф, Статус документа эл.счета, срок, тип срока.
    3. Сохранить.
  2. Ведение правил обработки и удаления. Определяется возможность изменения и удаления документов после изменения их статуса.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Ведение правил обработки и удаления.
    2. Нажать Новые записи.
    3. Ввести БЕ, статус документа эл. счета, галочки Не обрабатывать, Не удалять при необходимости.
    4. Сохранить.
  3. Ведение правил сопоставления входящих счетов. Определяется предельный срок для сопоставления электронного документа и документа в финансах. Сравниваются дата проводки в финансах и дата регистрации электронного с-ч плюс количество дней в настройке. Если дата проводки не превышает количество дней в настройке от даты регистрации электронного с-ф, то происходит сопоставление документов.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Ведение правил сопоставления входящих счетов.
    2. Ввести БЕ, период.
    3. Сохранить.
  4. Мэппинг преобразований.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Мэппинг преобразований.
    2. Техническое имя ракурса J_3RFV_DI_TRANF, таблица J_3RF_DI_TRANF.
    3. Настроить виды документов, направление, версия xml, xml-преобразование, класс преобр, метод преобр, имя типа.
    4. Ввести данные: Вид док 1 электронный счет, направление 1 входящий, версия 5.01, трансформация J_3RF_SFAKT, класс CL_J3RF_DIGINV_PROCESSOR, метод PROCESS_INCOMING_INVOICE, структура J_3RF_DIXML_SFAKT, pdf формуляр J_3RF_DINV.
    5. Ввести данные: Вид док 11 корректировочный эл.счет, направление 1 входящий, версия 5.01, трансформация J_3RF_KORSFAKT, класс CL_J3RF_DIGINV_PROCESSOR, метод PROCESS_INCOMING_CORRINV, структура J_3RF_DIXML_KORSFAKT, pdf формуляр J_3RF_DINV_CORR.
    6. Сохранить.
  5. Активировать xml-преобразования.
    1. Транзакция STRANS.
    2. Войти в преобразование.
    3. Нажать Проверить.
    4. Если выдает ошибку и ссылку на другое преобразование, то проверить, сгенерировать и активировать другое преобразование.
    5. В меню нажать Сгенерировать, затем Активировать.
  6. BADI: Электронное выставление счета.
    1. Проверить что BADI J_3RF_DIGITAL_INVOICE_BADI Электронное выставление счета реализован.

Электронное выставление счета в S000

  1. Создать основную запись поставщика через транзакцию FK01. Например Оператор ЭДО 6 .
  2. Присвоить операторам электронные ид.
    1. Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
    2. Нажать Новые записи.
    3. Ввести БЕ, код поставщика-оператора ЭДО например 6, ид. оператора например 2BE.
    4. Сохранить.
  3. Ведение электронных ид. ( Присвоение электронных ид. балансовой единице ).
    1. Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета-Ведение электронных ид.
    2. Ракурс J_3RFV_DI_CCOP.
    3. Нажать Новые записи.
    4. Ввести БЕ, оператор БЕ например 6, электронный ид. БЕ например 2BEfac73b2278e24a5e98e7605806748aff.
    5. Сохранить.
  4. Присвоить электронный ид. балансовой единице через ракурс J_3RFV_DI_PCCODE (устар).
    1. Это делается только потому что программа J_3RF_REGINV ищет настройки в устар. ракурсах.
    2. транз SE11.
    3. Войти на редактирование в ракурс J_3RFV_DI_PCCODE. Нажать Новые записи.
    4. Ввести БЕ, электронный ид. БЕ например ZUCH.
    5. Сохранить.
  5. Присвоить поставщикам электронные ид.
    1. Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
    2. Нажать Новые записи.
    3. Ввести БЕ, код кредитора например 1, оператора кредитора OP6, ид. кредитора например KRED1.
    4. Сохранить.
  6. Присвоить клиентам электронные ид. через ракурс J_3RFV_DI_PCUSTN.
    1. Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
    2. Нажать Новые записи.
    3. Ввести БЕ, код дебитора например 100000, оператор клиента например OP6, электронный ид. клиента например 2BE2f68cc6e6cb243b39c774ce4d44b41ed.
    4. Сохранить.
  7. Присвоить клиентам электронные ид. через ракурс J_3RFV_DI_PCUST (устар).
    1. Это делается только потому что программа J_3RF_REGINV ищет настройки в устар. ракурсах.
    2. транз.SE11.
    3. Войти в ракурс J_3RFV_DI_PCUST на редактирование.
    4. Нажать Новые записи.
    5. Ввести БЕ, код дебитора например 100000, электронный ид. клиента например ZUCH100000.
    6. Сохранить.

Настройки BADI

Настройки расположены в меню:

  • SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-BADI
  • SPRO-Сбыт-Фактурирование-Фактуры-Национальные особенности-Россия-BADI

Содержат следующие пункты:

  • BADI: электронное выставление счета (J_3RF_DIGITAL_INVOICE_BADI)
  • BADI: авансовый отчет (BADI_J_3R_AO1)
  • BADI: изменение адреса (J_3RF_CH_ADDR)
  • BADI: текст уточнения по умолчанию (J_3R_REGINV_DIG_BADI)
  • BADI: обновление данных печати для налогового счета (J_3R_INV_BADI)

Исходящие счета-фактуры

Ручной ввод исходящих счетов

Ручной ввод добавляет одну запись в журнал. Номер, год, БЕ, внешний номер, дату, сумму необходимо указывать вручную, что при ошибках может вызвать несоответствие введенного документа документу FI. Помимо ручного ввода в журнале ввести исх. счета вручную можно при помощи транзакции V_J_3RFREGINVOUT - Регистрация исх.счетов в журнале.

  1. В журнале на экране выбора необходимо нажать радиокнопку "Просмотреть список исходящих счетов".
  2. Ограничить выбор, ввести год, номер, и т.д.
  3. Запустить отчет.
  4. Выводится список исходящих счетов. Нажать кнопку Новый ввод (Создать запись, команда INSR).
  5. Выводится экран ввода документа. Ввести данные БЕ, номер исходного счета-фактуры (номер из FI), год исходного счета-фактуры (год из FI). Номер исходного счета-фактуры можно найти через средство поиска из FI. Далее вводим дату исходного счета-фактуры, внешний номер, дату поступления, формат обмена (печать, электронный), вид операции, код дебитора, валюту, сумму брутто.
  6. Система проверяет, что записи с таким ключом (БЕ, исходный номер, исходный год) еще не создано.
  7. Сохранить.

Экран ввода документа закроется, в списке вывода появится новая строка.

  1. В таблицу J_3RF_REGINV_OUT добавляются новые записи, которые содержит внутр. номер, номер FI, внешний номер, БЕ, год, код дебитора и др. данные.

BADI:

Автоматический ввод исходящих счетов из Финансов

Исходящие счета-фактуры закачиваются автоматически из модуля Финансы (FI) при помощи программы печати документа.

  1. В FI должна быть настроена корреспонденция SAPR3, программе печати J_3RF_INV_A присвоен Ид. формуляра pdf EI . Это настраивается в меню: SPRO-Финансы-Параметры настройки Финансов-Корреспонденция.
  2. Загрузить документ в корреспонденцию.
    1. Зайти на просмотр документа FB03.
    2. Зайти в меню - Среда - Корреспонденция.
    3. Выбрать вид корреспонденции, например SAPR3.
    4. Подтвердить кнопкой ОК номер документа.
    5. Снизу появится сообщение о добавлении документа в корреспонденцию.
  3. Запустить печать корреспонденции. Меню S000 - Финансы - Дебиторы - Периодические работы - Печать корреспонденции - F.62 Внутренние документы.
    1. Указать БЕ, год, номер документа.
    2. Поставить галочки Стандартные документы, Предварительно зарегистрированные документы.
    3. Указать корреспонденцию, например SAPR3.
    4. Нажать Выполнить.
    5. Появится окно результата - выбрано х документов.
  4. Документ должен появиться в журнале с-ф.
  5. BADI J_3R_INV_BADI метод UPDATE_DATA - изм данных в прогр печати. Входные параметры: индикатор модуля FI, id текстов, флаг новый с-ф, статус документа. Изменяемые параметры: флаг изменяемый/не изменяемый, заголовок с-ф, доп. заголовок УТД, тексты док, позиции с-ф.
  6. BADI J_3RF_CH_ADDR метод SHIP_TO_PARTY_ADDR - получение адреса ship-to-party. Входные параметры: балансовая единица,номер с-ф, год с-ф, позиция с-ф. Изменяемые параметры: addr_knwe - структура с адресными данными.

Автоматический ввод исходящих счетов из Сбыта

  1. Запись исходящего с-ф в журнал происходит при его печати из модуля Сбыт.
  2. Необходимо использовать программу печати из российского add-on J_3RV_INV_A.
  3. Стандартная программа печати RLB_INVOICE не вносит записи в журнал.
  4. При использовании средства вывода "Вывод на печать" происходит печать выходного документа, запись в журнале не формируется.
  5. При использовании средства вывода "Специальная функция" происходит запись электронного документа в журнале.
  6. В настройках сбыта для вида выходного документа RD00 должна быть настроено средство вывода - специальная функция, программа печати J_3RV_INV_A, подпрограмма ENTRY, pdf/смартформа пусто.
  7. Создание с-ф из сбыта.
    1. Меню: Логистика-Сбыт-Фактурирование-Фактура-Создать.
    2. Транзакция VF01.
  8. Проводка с-ф.
    1. Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
    2. Транзакция VF02.
    3. По меню перейти Фактура-Деблокирование для бухучета.
  9. Создание выходного документа для с-ф.
    1. Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
    2. Транзакция VF02.
    3. Ввести номер фактуры 90000002, нажать Enter.
    4. По меню перейти к пункту Перейти к-Заголовок-Выходные документы.
    5. Ввести новую строку. Вид выходного документа RD00, средство отправки 8 спец. функция, роль партнера RE получатель счета, партнер 100000. В настройках для этих параметров должна быть указана программа печати J_3RV_INV_A подпр. ENTRY.
    6. Сохранить.
    7. Автоматически запускается программа J_3RV_INV_A, подпрограмма ENTRY.
    8. Документ должен появиться в журнале с-ф. Номер FI с-ф равен номеру исходного с-ф в журнале.
  10. Печать с-ф из сбыта (повторно).
    1. Меню: Логистика-Сбыт-Фактурирование-Выходные документы-Вывести фактуры.
    2. Транзакция VF31.
    3. Ввести вид выходного документа RD00, средство отправки 8 спец. функция, режим обработки 2 повторная, документ фактуры 90000002.
    4. Запустить транзакцию.
    5. Поставить галочку напротив с-ф.
    6. Нажать Просмотр до печати (для журнала с-ф) или Обработать.
    7. Автоматически запускается программа J_3RV_INV_A, подпрограмма ENTRY.
    8. Документ должен появиться в журнале с-ф. Номер FI с-ф равен номеру исходного с-ф в журнале.


Команда Просмотреть запись

Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме просмотра. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс.


Команда Изменить запись

Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме изменения. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс. Для новых незарегистрированных документов необходимо поставить галочку Зарегистрировано. При нажатии на кнопку Сохранить обновляет эти данные в таблице J_3RF_REGINV_OUT.


Команда Удалить запись

Удаляет выделенный документ в журнале. Удаляются с-ф со статусами "пусто", "Эл. счет создан" и "Эл. счет отправлен". Удаляются также записи в архиве электронных документов, если для этого номера с-ф созданы электронные версии документа в xml формате.


Команда Create Создать с-ф xml

Описание

Создает xml для выделенных на экране исходящих счетов-фактур, используя номера документов. Возвращает список счетов-фактур с новыми статусами "Электронный счет создан", или сообщение об ошибке. Добавляет в таблицу J_3RFDI_ARC данные: заголовок, данные в формате string, xml-данные в формате hex, эл.подпись в формате hex. Изменяет статус документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.

Порядок действий:

  1. Запустить журнал счетов-фактур.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
  3. Транзакция J3RFREGINV.
  4. На экране выбора нажать радиокнопку просмотреть список исходящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дебитор, инн, кпп дебитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени.
  7. Выделить документ с пустым статусом электронного документа.
  8. Нажать кнопку Счет.
Алгоритм
  1. Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[]
  2. SET_XML_TIMESTAMP. Получаем системную дату и время.
  3. CL_J3RF_DI_REGINV->CREATE_XML_INVOICES (список фактур - врем. таблица t_out_list[]). Получает данные фактуры. Формирует xml документ, помещает его в таблицу J_3RFDI_ARC. Изменяет статус в таблице J_3RF_REGINV_OUT, добавляет лог в табл. J_3RF_REGINV_LOG. Возвращаемое значение: код ошибки.
    1. Проверяем есть ли в системе реализация BADI J_3R_REGINV_DIG_BADI, иначе ошибка.
    2. Перебираем список фактур и в зависимости от типа фактуры (обычная / корректировочная) запускаем разные методы получения данных из БД:
      1. Для обычной фактуры
        1. CL_J3RF_DI_REGINV->GET_INV_DATA - получаем данные обычной с-ф. Входной параметр: врем. структура ls_out запись из таблицы J_3RF_REGINV_OUT. Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур.
          1. Проверяем откуда пришел документ - из финансов или из сбыта. В зависимости от этого запускаем различные алгоритмы печати.
            1. Для сбыта анализируем схему печати, согласно техники условий для вида выходного документа RD00 и приложения V3 из таблицы настроек TNAPR получаем программу J_3RV_INV_A и подпрограмму ENTRY. Передаем в нее данные с-ф через id параметр get_sd_inv. Запускаем подпрограмму печати, печати при этом не происходит, только получение данных. Получаем данные с-ф через id параметр get_sd_inv в структуры hd_inv, it_txt, it_inv.
            2. Для финансов читаем настройки в таблице T048B - присвоение программы печати для корреспонденции. Для корреспонденции SAPR3 получаем программу J_3RF_INV_A и вариант SAPR3. Передаем в нее данные с-ф через id параметр get_fi_inv. Запускаем подпрограмму печати, печати при этом не происходит, только получение данных. Получаем данные с-ф через id параметр get_fi_inv в структуры hd_inv, it_txt, it_inv.
        2. CL_J3RF_DI_REGINV->PREPARE_XML_INVOICE (ls_hd_inv, lt_txt, lt_inv). По полученным данным собираем структуру специального формата для конвертации в xml. Возвращаемые значения: 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). Можем изменить подготовленную структуру с данными для создания xml ls_xml_inv. См. пункт BADI для команды Create XML Invoice.
        5. Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv и lt_inv_table
      2. Для корректировочной фактуры - аналогично обычной фактуре.
        1. CL_J3RF_DI_REGINV->GET_CORRINV_DATA. В сбыте для RUCR V3 получаем подпрограмму J_3RV_CORRINV_A-ENTRY. В финансах для корреспонденции ZCORR находим подпрограмму J_3RF_CORRINV_A и вариант FICORR.
        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. См. пункт BADI для команды Create XML Invoice.
        5. Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv и lt_inv_table.
    3. CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING (табл. с-ф lt_inv_table[], индикатор j3rdx_out_create_only). Формирует xml документ, помещает его в таблицу J_3RFDI_ARC. Изменяет статус в таблице J_3RF_REGINV_OUT, добавляет лог в табл. J_3RF_REGINV_LOG. Возвращает: код ошибки.
      1. Перебираем список, и в зависимости от операции (создать/созд и подписать/подписать) запускаем разные модули обработки.
        1. Для создания
          1. PROCESS_DOCUMENT(document-данные с-ф, l_not_transform-флаг предв. трансформ). Изменяет xml данные ls_ddx_doc. Возвращает lv_record_id - номер записи. Формирует xml документ, помещает его в таблицу J_3RFDI_ARC.
            1. FIND_SETTING_FOR_DOC. (cv_ddx_doc структура для xml). По виду документа и направлению из структуры cv_ddx_doc получаем настройки трансформаций в структуру ls_setting. Это настройки в таблице J_3RF_DI_TRANF и настройки по умолчанию в CL_J3RF_DIGINV_PROCESSOR->CLASS_CONSTRUCTOR. Например, для вида документа электронный с-ф, исходящего направления и последней версии 5.1 получаем xml-трансформацию J_3RF_SFAKT, метод-обработчик Х - CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING_INVOICE и тип данных для подготовки xml J_3RF_DIXML_SFAKT. Если настройки не найдены выводим ошибку.
            2. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные с-ф ir_data, настройки ls_setting). Запуск предварительной трансформации xml (не заходит в этот метод из-за флага предв. трансформации). Изменяет cv_ddx_doc - структуру с xml-данными.
            3. Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные с-ф ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные с-ф cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
            4. Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
            5. Запуск метода-обработчика Х. Например CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING_INVOICE.
              1. CL_J3RF_DIGINV_PROCESSOR->MATCH_INT_CUSTOMER (дебитор key-kunnr). Получение ид. дебитора lv_customer_id по его коду.
              2. CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (БЕ). Получение ид. БЕ и адресных данных БЕ lv_company_info.
              3. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_AND_STORE. (настройки трансформации iv_ddx_setting, ид. БЕ lv_company_info-id, ид.дебитора lv_customer_id, код дебитора key-kunnr). Сохраняем xml в таблицу J_3RFDI_ARC. Изменяем данные с-ф lr_data, xml-данные cv_ddx_doc. Получаем номер записи ev_record_id.
                1. CL_J3RF_DIGINV_PROCESSOR->GET_OPERATOR (БЕ). Получение ид. и данных оператора. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_OPERATOR.
                2. CL_J3RF_DIGINV_PROCESSOR->SET_PROGRAM_INFO. Заполнение версии формата xml.
                3. CL_J3RF_DIGINV_PROCESSOR->SET_SIGNATURE. Заполнение данных подписанта из доп данных БЕ. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_COMPANY_INFO.
                4. CL_J3RF_DIGINV_PROCESSOR->GENERATE_FILENAME(sender-id, receiver-id). Генерация имени файла xml и заполнение в структуре cv_ddx_doc. Имя файла ON_SFAKT_xxx.
                5. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные с-ф ir_data, настройки ls_setting). Запуск трансформации xml и генерация xml-данных. Заполняется поле cv_ddx_doc-filedata.
                6. CL_J3RF_DIGINV_PROCESSOR->STORE_DOCUMENT (данные с-ф ir_data, код контрагента iv_partner, ид. получателя iv_receiver_id, ид. отправителя iv_sender_id, статусы док, метка времени lv_doc_timestamp). Сохранение xml-данных в таблицу J_3RFDI_ARC. Изменяем структуру xml-данных cv_ddx_doc. Получаем номер записи ev_record_id.
        2. Для создания и подписи
          1. PROCESS_DOCUMENT(document-данные с-ф, l_not_transform-флаг предв. трансформ). Изменяет xml данные ls_ddx_doc. Возвращает lv_record_id - номер записи. Формирует xml документ, помещает его в таблицу J_3RFDI_ARC.
          2. BADI J_3RF_DIGITAL_INVOICE_BADI->SIGN. Генерация xml подписи. См. пункт BADI для команды Create XML Invoice.
          3. UPDATE_STORED_DOCUMENT. Обновление уже сохраненного документа в БД.
        3. Для подписи
          1. BADI J_3RF_DIGITAL_INVOICE_BADI->SIGN. Генерация xml подписи. См. пункт BADI для команды Create XML Invoice.
          2. UPDATE_STORED_DOCUMENT. Обновление уже сохраненного документа в БД.
      2. Заполнение таблицы статусов J_3RF_REGINV_LOG. Добавляется или обновляется статус электронного с-ф.
    4. Заполнение кода ошибки как выходного параметра .
  4. SHOW_XML_RESULT(количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices). Выводит сообщение о результатах работы: "Х строк выделено, Y строк обработано, Z строк с ошибками".
  5. OUT_INV_SELECT(out_list[]-список счетов-фактур). Обновление список счетов-фактур на экране вывода .


BADI

J_3R_REGINV_DIG_BADI

  • UPDATE_INV_XML - изменение структуры с данными для создания xml с-ф. Входные параметры: структура заголовка с-ф ls_hd_inv, таблица текстов с-ф lt_txt, таблица позиций с-ф lt_inv. Изменяемые параметры: структура с данными для создания xml ls_xml_inv.
  • UPDATE_CORRINV_XML - изменение структуры с данными для создания xml корректировочного с-ф. Входные параметры: структура заголовка корр.с-ф ls_hd_corrinv, таблица текстов корр.с-ф lt_txt, таблица позиций корр.с-ф lt_corrinv. Изменяемые параметры: структура с данными для создания xml ls_xml_corrinv.

J_3RF_DIGITAL_INVOICE_BADI

  • SIGN - генерация xml подписи. Используется в Журнале с-ф и в программе Архив с-ф. Изменяемые параметры: структура с данными xml для электронного с-ф ls_ddx_doc. Метод уже реализован в системе и подготавливает данные. Однако метод генерации xml подписи GET_SIGNATURE пустой.
  1. Алгоритм.
    1. GET_CAPABILITIES - проверка возможности подписания, проверка настроек. Метод пустой.
    2. Изменение статуса электронного с-ф на Подписано.
    3. Получение времени подписания и имени пользователя.
    4. GET_SIGNER_INFO - получение данных подписавшего.
    5. SET_SIGNER_IN_XML - передача данных подписавшего в поле с данными для генерации xml.
    6. GET_SIGNATURE - Генерация xml-подписи и передача данных в структуру с данными xml ls_ddx_doc. Метод пустой.
  • GET_COMPANY_INFO. Изменение адресных данных из доп данных БЕ.
  • GET_OPERATOR. Изменение ид. и данных оператора.

J_3R_REGINV_BADI

  • UPDATE_PRN - изменение данных при печати журнала. Входные параметры: таблица исходящих с-ф, таблица входящих с-ф. Изменяемые параметры: строка заголовка печатной формы, таблица исходящих с-ф, таблица входящих с-ф.


Команда SGNI Подписать с-ф xml (---)

Команда Send Отправить с-ф xml

Описание

Выгружает файлы xml для выделенных на экране исходящих счетов-фактур в локальную папку c:\temp\outgoing. Имя файла ON_SFAKT_xxxxx.xml. Возвращает список счетов-фактур с новыми статусами "Счет отправлен" или сообщение об ошибке. Изменяет статус документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.

Порядок действий:

  1. Запустить журнал счетов-фактур.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
  3. Транзакция J3RFREGINV.
  4. На экране выбора нажать радиокнопку просмотреть список исходящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дебитор, инн, кпп дебитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени.
  7. Выделить документ со статусом "Электронный счет создан".
  8. Нажать кнопку Счет.


Алгоритм
  1. Формируем список фактур по котором надо сформировать xml. Ищем с-ф со статусом Эл.счет создан. Отобранные фактуры помещаем во врем. таблицу t_out_list[].
  2. SET_XML_TIMESTAMP. Получаем системную дату и время.
  3. CL_J3RF_DI_REGINV->SEND_XML_INVOICES. Чтение xml-данных из таблицы, формирование файла xml, выгрузка файла в локальную папку, обновление статуса документа.
    1. CL_J3RF_DIGINV_PROCESSOR->SEND_DATA. Чтение xml-данных из таблицы, формирование файла xml, выгрузка файла в локальную папку, обновление статуса документа.
      1. CL_J3RF_DI_ARCLOG->GET_XMLS_BY_KEY. Чтение xml-данных из таблицы J_3RFDI_ARC по номеру с-ф.
      2. BADI CL_J3RF_DIGITAL_INVOICE_BADI->SEND (xml-данные с-ф lt_documents). Формирование файла xml. Выгрузка файла в локальную папку c:\temp\outgoing.
        1. CL_J3RF_DIGITAL_INVOICE_BADI->GET_PATH_OUTGOING. Получение пути выгрузки. По умолчанию задано как константа c:\temp\outgoing.
        2. CL_J3RF_DIGINV_PROCESSOR->GET_SIGNER_INFO. Получение имени и адреса подписанта в структуру ls_signer_info.
        3. CL_GUI_FRONTEND_SERVICES->DIRECTORY_EXIST. Проверка что папка существует. Иначе ошибка и выход.
        4. CL_J3RF_DIGINV_PROCESSOR->GET_XML_ENCODING (filedata - строка xml ). Получаем вид кодировки (windows-1251) из данных xml.
        5. CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (lv_bukrs БЕ). Получение ид. и адресных данных отправителя.
        6. CL_J3RF_DIGITAL_INVOICE_BADI->GET_CAPABILITIES (lv_bukrs БЕ, lv_can_sign_in_bg). Проверка возможности подписания в фоне. Метод пустой.
        7. CL_J_3RF_DIGITAL_INVOICE_BADI->SIGN (doc - xml-данные). Если возможно подписание в фоне, то запуск BADI для генерации подписи по xml-данным. Смотри пункт "Команда Create Создать с-ф xml - BADI - SIGN".
        8. CL_J3RF_DIGINV_PROCESSOR->SET_SIGNER_IN_XML (ls_signer_info данные подписанта). Изменяет xml-данные в тэге подписанта в xml-данных doc-filedata_mod.
        9. Получение кодовой страницы lv_codepage.
        10. Замена спецсимволов для юникод систем.
        11. CL_J3RF_DI_ARCLOG->J_3RF_CONV_STRING_TO_XSTRING (doc-filedata_mod - xml-данные с-ф, lv_codepage - кодовая страница). Генерация строки X_STR в шестнадцатиричном формате из xml-данных c-ф.
        12. ФМ SCMS_XSTRING_TO_BINARY. Получение таблицы данных x_tab в шестнадцатиричном формате из строки X_STR.
        13. CL_GUI_FRONTEND_SERVICES->GUI_DOWNLOAD. Выгрузка файла c-ф ON_SFAKT_xxxxx.xml в локальную папку c:/temp/outgoing.
        14. ФМ SCMS_XSTRING_TO_BINARY. Получение таблицы данных x_tab в шестнадцатиричном формате из строки doc-signature с эл. подписью, если она заполнена.
        15. CL_GUI_FRONTEND_SERVICES->GUI_DOWNLOAD. Выгрузка файла эл. подписи ON_SFAKT_xxxxx.txt в локальную папку c:/temp/outgoing.
      3. CL_J3RF_DI_ARCLOG->GET_DOC_BY_FILENAME_XMLSTR (<fs>-bukrs БЕ, <fs>-filename имя файла, <fs>-xml_num_id). Получение из архива xml-данных с-ф по имени файла и БЕ в структуру ls_archdoc. Если не находит , то ошибка и выход.
      4. CL_J3RF_DI_ARCLOG->UPDATE_RECORD. Обновление xml-данных в таблице J3RFDI_ARC используя структуру ls_archdoc с xml-данными.
      5. CL_J3RF_DI_REGINV->SET_DOC_STATUS. Обновление статуса документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.
  4. SHOW_XML_RESULT(количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices). Выводит сообщение о результатах работы: "Х строк выделено, Y строк обработано, Z строк с ошибками".
  5. OUT_INV_SELECT(out_list[]-список счетов-фактур). Обновление список счетов-фактур на экране вывода .
BADI
  1. J_3RF_DIGITAL_INVOICE_BADI->SEND (xml-данные с-ф lt_documents). Формирование файла xml. Выгрузка файла в локальную папку c:\temp\outgoing.
  2. Если существует несколько реализаций BADI, то вызываются все последовательно.(по алфавиту???)

Команда Просмотреть xml с-ф

Для выделенной записи в журнале открывает экран просмотра xml данных. Имя просматриваемого файла ON_SFAKT_xxxxx.xml. Данные читаются из таблицы J_3RFDI_ARC.


Корректировочные счета-фактуры, счета-исправления

  1. Для отображения корректировочного с-ф в журнале у корректировочного с-ф должны быть заполнены поля Ссылка (xblnr) и Текст позиции (sgtxt).
  2. В поле Ссылка заполнить номер исходного с-ф, в поле Текст позиции заполнить номер позиции исходного с-ф.
  3. Создать заказ вида DR/CR req, на основании заказа создать корректировочный с-ф.
  4. Использовать программу печати J_3RV_CORRINV_A.

Входящие счета

Загрузка электронных документов из файла

См. также пункт "Программа загрузки входящих эл. документов".

Программа загрузки входящих эл. документов загружает в систему SAP файлы из локальной папки с входящими электронными документами. Возможна загрузка подписи, если существует файл подписи с таким же именем в этой же папке.

  1. Для загрузки электронных документов в систему необходимо поместить файлы в папку c:/temp/incoming.
    1. Файлы документов должны иметь имя типа ON_SFAKT_2BEFAC73B2278E24A5E98E7605806748AFF_2BE2F68CC6E6CB243B39C774CE4D44B41ED_20151013_005056B7-7242-1ED5-9B85-EABA477D820J.xml
    2. Файлы подписей должны иметь такое же имя, как и документы, но иметь расширение .txt. Подписи с расширением .xml.p7s не закачиваются.
  2. Загрузка документов.
    1. Запустить программу J_3RF_DI_PROC_IN или транзакцию ZZTRJ_3RF_DI_PROC_IN.
    2. Заполнить поле Исходная папка c:/temp/incoming, максимальное количество файлов 20.
    3. Нажать Выполнить.
    4. Появится сообщение: х документов обработано успешно, у документов обработано с ошибками.
    5. В журнале документов сформируются вх.накладные / акты / счета-фактуры.
    6. В архиве электронных документов сформируются вх.накладные / акты / счета-фактуры и извещения о получении.
    7. Система создаст записи в таблицах J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для накладной, в таблицах J_3RF_REGINV_IN, J_3RFDI_ARC для счетов-фактур.
    8. Система сохранит следующие данные: имя файла, версия, дата, время, имя пользователя, поставщик, ид. поставщика, покупатель, ид. покупателя, БЕ, ИНН, КПП, подпись, номер, внешний номер, вид документа, статус, направление, заказ, валюта, сумма, xml-данные и др.
    9. Файлы будут перенесены в папку c:/temp/incoming/processed при успешной загрузке, и в папку c:/temp/incoming/failed при ошибке.

Ручной ввод входящих счетов

Ручной ввод добавляет одну запись в журнал. Номер, год, БЕ, внешний номер, дату, сумму необходимо указывать вручную, что при ошибках может вызвать несоответствие введенного документа документу FI. Помимо ручного ввода в журнале ввести вх. счета вручную можно при помощи транзакции V_J_3RFREGINVIN - Регистрация вх.счетов в журнале.

  • В журнале на экране выбора необходимо нажать радиокнопку "Просмотреть список входящих счетов".
  • Ограничить выбор, ввести год, номер, и т.д.
  • Запустить отчет.
  • Выводится список входящих счетов. Нажать кнопку Новый ввод (Создать запись, команда INSR).
  • Выводится экран ввода документа. Ввести данные БЕ, номер исходного счета-фактуры (номер из FI), год исходного счета-фактуры (год из FI). Номер исходного счета-фактуры можно найти через средство поиска из FI. Далее вводим дату исходного счета-фактуры, внешний номер, дату поступления, формат обмена (печать, электронный), вид операции, код кредитора, валюту, сумму брутто.
  • Система проверяет, что записи с таким ключом (БЕ, исходный номер, исходный год) еще не создано.
  • Сохранить.
  • Экран ввода документа закроется, в списке вывода появится новая строка.
  • В таблицу J_3RF_REGINV_IN добавляется новая запись, которая содержит внутр. номер, номер FI, внешний номер, БЕ, год, код кредитора и др. данные.

Автоматический ввод входящих счетов из Финансов

Входящие счета-фактуры могут закачиваться автоматически из модуля Финансы (FI). Те счета, которые уже есть в журнале, не добавляются.

  • В журнале на экране выбора необходимо нажать радиокнопку "Добавить отсутств. входящие счета".
  • Запустить отчет.
  • На вкладке "Критерии выбора отсутствующих счетов" необходимо задать параметры выбора из таблиц FI. Например, год 2015, вид документа KR вх.счет.
  • Выводится список тех счетов из Финансов, которых нет в журнале. Сравнение происходит по БЕ, году и номеру FI документа, например ZUCH 2015 1900000001.
  • Выделить нужные строки.
  • Для сохранения выделенных записей в журнале необходимо нажать кнопку Сохранить.
  • В таблицу J_3RF_REGINV_IN добавляются новые записи, которые содержит внутр. номер, номер FI, внешний номер, БЕ, год, код кредитора и др. данные.


Сопоставление входящих эл. счетов-фактур в журнале с документами FI

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

Автоматическое сопоставление:

  1. В документе FI в поле Ссылка (XBLNR) прописать номер с-ф.
  2. Этот же номер указать в файле xml.
  3. Запустить транзакцию J3RFINVOFFLINK.
  4. Сопоставление происходит автоматически.
  5. Нажать Сохранить.
  6. В журнале счетов-фактур заполнится поле Исходный счет для входящего с-ф.


Ручное сопоставление:

  1. Запустить транзакцию J3RFINVOFFLINK.
  2. Появится список загруженных из файла входящих с-ф.
  3. Выделить строку.
  4. Нажать кнопку Список релевантных документов.
  5. Появится экран 2, нажать кнопку Оригинал/корректировка.
  6. Появится экран 3, ввести данные документа: БЕ, номер, год. Нажать кнопку Выполнить.
  7. Появится список документов FI, найти необходимую запись, двойное нажатие на ней.
  8. Запись с номером с-ф добавится на экран 2, нажать ОК.
  9. Для выделенного с-ф произойдет сопоставление документа входящего с-ф с документом FI. Заполнится поле Исходный счет.
  10. Нажать Сохранить.
  11. В журнале счетов-фактур заполнится поле Исходный счет для входящего с-ф.

Команда Просмотреть запись

Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме просмотра. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс.


Команда Изменить запись

Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме изменения. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс. Для новых незарегистрированных документов необходимо поставить галочку Зарегистрировано. При нажатии на кнопку Сохранить обновляет эти данные в таблице J_3RF_REGINV_OUT.


Команда Удалить запись

Удаляет выделенный документ в журнале. Удаляются с-ф со статусами "пусто", "Эл. счет получен, без регистрации" и "Извещение о получении отправлено", "Запрос на уточнение отправлен", "Запрос на уточнение обработан". Удаляются также записи в архиве электронных документов, если для этого номера с-ф созданы электронные версии документа в xml формате. Это c-ф ON_SFAKT_xxx, извещение о получении DP_IZVPOL_xxx, запрос на уточнение DP_UVUTOCH_xxx.

Команда EREQ Создать запрос на уточнение

Описание

Создает эл. документ Уведомление об уточнении со ссылкой на с-ф. В журнале счетов-фактур при этом изменяется статус уточнения на "Создано". В архиве эл. документов формируется новый документ "Уведомление об уточнении" в статусе Создано, имя файла DP_UVUTOCH. Появляются записи в таблице J_3RFDI_ARC.

Порядок действий:

  1. Запустить журнал счетов-фактур.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
  3. Транзакция J3RFREGINV.
  4. На экране выбора нажать радиокнопку просмотреть список входящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени, статус уточнения, вид операции.
  7. Выделить документ.
  8. Нажать кнопку Запрос.
Алгоритм (---)

Команда SGNR Подписать запрос на уточнение (---)

Команда SNDR Отправить запрос на уточнение

Описание

Осуществляет выгрузку файла xml с данными запроса на уточнение (DP_UVUTOCH.xml) в случае отклонения с-ф. Выгрузка производится на локальный диск в папку c:/temp/outgoing. В журнале счетов-фактур и в архиве эл.документов изменяется статус запроса на уточнение на Отправлено.

Порядок действий:

  1. Запустить журнал счетов-фактур.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
  3. Транзакция J3RFREGINV.
  4. На экране выбора нажать радиокнопку просмотреть список входящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени, статус уточнения, вид операции.
  7. Выделить документ.
  8. Нажать кнопку Отправить запрос.
Алгоритм (---)

Команда DREQ Просмотреть запрос на уточнение

Открывает запрос на уточнение на просмотр на отдельном экране. Выводит автора, дату создания и текст запроса на уточнение.

Порядок действий:

  1. Запустить журнал счетов-фактур.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
  3. Транзакция J3RFREGINV.
  4. На экране выбора нажать радиокнопку просмотреть список входящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени, статус уточнения, вид операции.
  7. Выделить документ.
  8. Нажать кнопку Просмотреть запрос.
  9. Выведется модальный экран с данными об авторе, дате, и текст запроса.
  10. Нажать кнопку Отменить.


Команда Установить статус "запрос на уточнение обработан" (---)

Извещение о получении

При автоматическом вводе входящих с-ф из файла в журнале формируется документ с-ф. В архиве электронных счетов для номера с-ф формируется два документа: электронный счет(EI) с именем файла ON_SFAKT.xml и извещение о получении с именем файла DP_IZVPOL.xml. Сохраняются xml-данные в таблице J_3RFDI_ARC. Смотри также пункт "Программа загрузки входящих эл. документов".

Журнал передаточных документов

Общие сведения

Журнал электронных передаточных документов – транзакция, которая отображает список входящих и исходящих накладных ТОРГ12 и актов и их электронную версию в системе SAP.

  • Техническое имя транзакции J3RFREGTORG.
  • Техническое имя программы J_3RF_REGTORG.

Журнал использует таблицы:

  • J_3RF_RGTORG_IN - входящие накладные
  • J_3RF_RGTORG_OUT - исходящие накладные
  • J_3RF_RGTORG_IFS - индекс документов
  • J_3RF_RGTORG_FS1 - xml-данные документов

Программа J_3RF_REGTORG состоит из частей:

  • Описание переменных (DATA, TYPES)
  • Экран выбора (SELECTION-SCREEN)
  • Обработка событий на экране выбора (AT SELECTION-SCREEN)
  • Набор данных (START-OF-SELECTION)
  • Вывод данных (END-OF-SELECTION)
  • Обработка событий на экране вывода (USER-COMMAND_1200)

При запуске программы на экране выбора необходимо выбрать режим:

  • показать исходящие документы
  • показать входящие документы

Список доступных команд на экране вывода:

  • Исходящие документы
    • ETORG - Create XML - создать xml
    • SGNI - Sign - подписать
    • SNDI - Send - отправить
    • 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 - просмотреть журнал приложения
  • Входящие документы
    • PTORG - Принять (Создать документ приемки)
    • NOCXMLTXT - Отклонить с претензией (Отклонить с вводом текста претензии)
    • SGNI - Sign - подписать
    • SNDI - Send - отправить
    • DXML - Display XML-File - просмотр xml
    • IAKT_PDF - Print Seller Title in PDF form - данные продавца в pdf
    • ZAKT_PDF - Print Buyer Title in PDF form - данные покупателя в pdf
    • DCLFR - Просмотреть запрос на уточнение
    • HIST - Display Status History - просмотреть историю статусов
    • VLOG - View Application Log - просмотреть журнал приложения

Настройки журнала передаточных документов

Электронное выставление счета в SPRO

  1. Мэппинг преобразований.
    1. Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Мэппинг преобразований.
    2. Техническое имя ракурса J_3RFV_DI_TRANF, таблица J_3RF_DI_TRANF.
    3. Настроить виды документов, направление, версия xml, xml-преобразование, класс преобр, метод преобр, имя типа.
    4. Ввести данные: Вид док 201 ТОРГ12 продавец, направление 2 исходящий, версия 1.01, трансформация J_3RF_TG_OTORG12, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_OUTGOING_TORG12, структура J_3RF_TGXML_OTORG12, pdf формуляр пусто.
    5. Ввести данные: Вид док 202 ТОРГ12 покупатель, направление 1 входящий, версия 1.01, трансформация J_3RF_TG_PTORG12, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_INCOMING_TORG12, структура J_3RF_TGXML_PTORG12, pdf формуляр пусто.
    6. Ввести данные: Вид док 203 Акт приемки исполнитель, направление 2 исходящий, версия 1.01, трансформация J_3RF_TG_IAKTPRM, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_OUTGOING_ACT, структура J_3RF_TGXML_IAKTPRM, pdf формуляр пусто.
    7. Ввести данные: Вид док 204 Акт приемки заказчик, направление 1 входящий, версия 1.01, трансформация J_3RF_TG_ZAKTPRM, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_INCOMING_ACT, структура J_3RF_TGXML_ZAKTPRM, pdf формуляр пусто.
    8. Сохранить.
  2. Активировать xml-преобразования.
    1. Транзакция STRANS.
    2. Войти в преобразование.
    3. Нажать Проверить.
    4. Если выдает ошибку и ссылку на другое преобразование, то проверить, сгенерировать и активировать другое преобразование.
    5. В меню нажать Сгенерировать, затем Активировать.

Передаточные документы в SPRO

  1. Активировать бизнес-функции FIN_LOC_CI_33(журнал с-ф), FIN_LOC_CI_35 (журнал с-ф), FIN_LOC_CI_41 (журнал накл и актов).
    1. Меню: SPRO-Активировать бизнес-функции.
    2. Поставить галочку напротив FIN_LOC_CI_33, FIN_LOC_CI_35, FIN_LOC_CI_41, нажать кнопку Активировать.
    3. Появится пункт меню: SPRO-Финансы-БухгДебКред-Бизнес операции-Параметры настройки для стран-Россия-Счета-фактуры-Электронное выставление счета.
    4. Появится пункт меню: SPRO-Финансы-БухгДебКред-Бизнес операции-Параметры настройки для стран-Россия-Передаточные документы.
    5. Появится пункт меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки.
  2. Присвоение диапазонов номеров вход. документов.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Присвоение диапазонов номеров вход. документов.
    2. Техническое имя диапазона J_3RINV.
    3. Ввести БЕ и нажать кнопку Ведение интервалов.
    4. Нажать кнопку Новый диапазон.
    5. Ввести номер диапазона 02, год, начальный и конечный номера.
    6. Сохранить.
  3. Определение правила сопоставления для акта приемки работ.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Определение правила сопоставления для акта приемки работ.
    2. Нажать кнопку Новые записи.
    3. Ввести БЕ ZUCH, вид документа WL отпуск материала к поставке.
    4. Сохранить.
  4. Ведение сроков. Определяется предельный срок изменения статуса документа, по истечении которого документ считается просроченным.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Ведение сроков.
    2. Нажать кнопку Новые записи.
    3. Ввести вид документа, статус документа, срок, тип срока.
    4. Сохранить.
  5. Ведение правил обработки и удаления. Определяется возможность изменения и удаления документов после изменения их статуса.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Ведение правил обработки и удаления.
    2. Нажать Новые записи.
    3. Ввести БЕ, статус документа эл. счета, галочки Не обрабатывать, Не удалять при необходимости.
    4. Сохранить.
  6. Определение периода для сопоставления документов. Определяется предельный срок для сопоставления электронного документа и документа в финансах. Сравниваются дата проводки в финансах и дата регистрации электронного с-ч плюс количество дней в настройке. Если дата проводки не превышает количество дней в настройке от даты регистрации электронного с-ф, то происходит сопоставление документов.
    1. Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Определение периода для сопоставления документов.
    2. Ввести БЕ, период.
    3. Сохранить.

Журнал передаточных документов в S000

  1. Присвоение операторам электронных ид.
    1. Меню S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Присвоить операторам электронные ид.
    2. Нажать Новые записи.
    3. Ввести БЕ, код поставщика-оператора ЭДО например 6, ид. оператора например 2BE.
    4. Сохранить.
  2. Присвоение клиентам электронных ид.
    1. Меню S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Присвоить клиентам электронные ид.
    2. Нажать Новые записи.
    3. Ввести БЕ, код дебитора например 100000, оператор клиента например OP6, электронный ид. клиента например 2BE2f68cc6e6cb243b39c774ce4d44b41ed.
    4. Сохранить.
  3. Ведение электронных ид. ( Присвоение электронных ид. балансовой единице ).
    1. Меню S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Ведение электронных ид.
    2. Нажать Новые записи.
    3. Ввести БЕ, оператор БЕ например 6, электронный ид. БЕ например 2BEfac73b2278e24a5e98e7605806748aff.
    4. Сохранить.


Исходящие передаточные документы

Автоматический ввод исходящих накладных из Сбыта

  1. Запись исходящей накладной в журнал происходит при ее печати.
  2. Необходимо использовать программу печати из российского add-on, например J_3RV_DELIV_PDF.
  3. Стандартная программа RLE_DELNOTE не вносит записи в журнал.
  4. При использовании средства вывода "Вывод на печать" происходит печать выходного документа, запись в журнале не формируется.
  5. При использовании средства вывода "Специальная функция" происходит запись электронного документа в журнале.
  6. В настройках сбыта для вида выходного документа LD00 должно быть настроено средство вывода - специальная функция, программа печати J_3RV_DELIV_PDF, подпрограмма ENTRY, pdf/смартформа пусто.
  7. Создать исходящую поставку из сбыта.
    1. Меню: Логистика-Сбыт-Отгрузка и транспортировка-Исходящая поставка-Создать-Отдельный документ-Со ссылкой на заказ клиента.
    2. Транзакция VL01N.
    3. Ввести пункт отгрузки, например Z010, и номер заказа, например 7. Нажать Enter.
    4. Проверить данные, нажать Сохранить.
  8. Создать выходной документ для поставки.
    1. Меню: Логистика-Сбыт-Отгрузка и транспортировка-Исходящая поставка-Изменить-Отдельный документ.
    2. Транзакция VL02N.
    3. Ввести номер поставки и нажать Enter.
    4. Перейти по меню Дополнительная информация-Выходные документы поставки-Заголовок.
    5. Ввести новые записи: Вид выходного документа - LD00, Средство - специальная функция, Роль партнера - WE получатель материала, Партнер например 100000.
    6. Нажать кнопку Доп.данные.
    7. Выбрать момент отправки Немедленная отправка.
    8. Сохранить.
    9. Автоматически запускается программа J_3RV_DELIV_PDF, подпрограмма ENTRY.
    10. Документ должен появиться в журнале.

Автоматический ввод исходящих актов из Сбыта

  1. Запись исходящего акта в журнал происходит при его печати.
  2. В стандартной системе не предусмотрен вид документа акт и печать актов. Можно использовать данные накладной и программу печати накладной J_3RV_DELIV_PDF с применением пользовательского z-формуляра.
    1. Настройка и использование аналогично пункту "Автоматический ввод исходящих накладных из Сбыта".
  3. Другой вариант - использовать данные фактуры и программу печати фактуры J_3RV_TORG12_BIL с применением пользовательского z-формуляра.
    1. При использовании средства вывода "Вывод на печать" происходит печать выходного документа, запись в журнале не формируется.
    2. При использовании средства вывода "Специальная функция" происходит запись электронного документа в журнале.
    3. В настройках сбыта необходимо создать свой вид выходного документа RDRU - акт, должно быть настроено средство вывода - специальная функция, программа печати J_3RV_TORG12_BIL, подпрограмма ENTRY, pdf/смартформа пусто.
    4. Создание с-ф из сбыта.
      1. Меню: Логистика-Сбыт-Фактурирование-Фактура-Создать.
      2. Транзакция VF01.
    5. Проводка с-ф.
      1. Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
      2. Транзакция VF02.
      3. По меню перейти Фактура-Деблокирование для бухучета.
    6. Создание выходного документа для с-ф.
      1. Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
      2. Транзакция VF02.
      3. Ввести номер фактуры 90000002, нажать Enter.
      4. По меню перейти к пункту Перейти к-Заголовок-Выходные документы.
      5. Ввести новую строку. Вид выходного документа RDRU, средство отправки 8 спец. функция, роль партнера RE получатель счета, партнер 100000. В настройках для этих параметров должна быть указана программа печати J_3RV_TORG12_BIL подпр. ENTRY.
      6. Сохранить.
      7. Автоматически запускается программа J_3RV_TORG12_BIL, подпрограмма ENTRY.
      8. Документ должен появиться в журнале с-ф. Номер FI с-ф равен номеру исходного с-ф в журнале.
      9. Примечание!!! Программа J_3RV_TORG12_BIL дает ошибку "Обновление прервано". FUGR 'V60A' FM 'RV_INVOICE_DOCUMENT_ADD' FM 'RV_INVOICE_REFRESH'. При замене на J_3RV_INV_A все работает. Решено нотой 2079085 - J_3RF_REGTORG: message 'Read from archive' appears on act creation from SD.

Команда ETORG Создать xml (---)

Команда SGNI Подписать (---)

Команда SNDI Отправить

Описание

Аналогично пункту "Исходящие с-ф - Отправить".

Выгружает файлы xml для выделенных на экране исходящих накладных в локальную папку c:\temp\outgoing. Имя файла DP_OTORG12_xxxxx.xml. Возвращает список накладных с новыми статусами "Отправлен" или сообщение об ошибке. Изменяет статус документа в таблицах БД J_3RF_RGTORG_OUT, J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.

Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. Ввести БЕ. Нажать радиокнопку Просмотреть исходящие документы.
  5. Нажать Выполнить.
  6. Отобразится список документов.
  7. Выделить документ со статусом "Документ создан".
  8. Нажать кнопку Отправить.
Алгоритм (---)

Команда DXML Просмотреть xml-данные

Открывает файл xml накладной на просмотр. Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. Ввести БЕ. Нажать радиокнопку Просмотреть исходящие документы.
  5. Нажать Выполнить.
  6. Отобразится список документов.
  7. Выделить документ.
  8. Нажать кнопку Просмотр XML.
  9. Появится экран с xml-данными накладной.
  10. Нажать кнопку Назад.

Извещение о получении

Электронный документ, получаемый от покупателя. Отправляется покупателем при получении накладной (титула продавца). Имя файла DP_IZVPOL_xxx.xml. Для ввода его в систему необходимо запустить программу загрузки эл. документов. См. пункт "Программа загрузки эл. документов". При загрузке изменяется статус эл. документа в журнале передаточных документов с "Документ отправлен" на "Уведомление о получении получено". В архиве эл. документов для номера накладной добавляется запись с именем DP_IZVPOL_xxx.xml. Сохраняются xml-данные в таблице J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS.

Примечание: есть ошибка в программе загрузки эл. документов для входящих извещений о получении. Контрагент не заполняется, хотя внутри программы он есть, ид. заполнен.

Титул покупателя

Электронный документ, получаемый от покупателя. Отправляется покупателем при приемке накладной (титула продавца). Имя файла DP_PTORG12_xxx.xml. Для ввода его в систему необходимо запустить программу загрузки эл. документов. См. пункт "Программа загрузки эл. документов". При загрузке изменяется статус эл. документа в журнале передаточных документов с "Уведомление о получении получено" на "Документ приемки получен". В архиве эл. документов для номера накладной добавляется запись с именем DP_PTORG12_xxx.xml.

Примечание: есть ошибка в программе загрузки эл. документов для входящих титулов покупателя. Контрагент не заполняется, хотя внутри программы он есть, ид. заполнен.

Входящие передаточные документы

Загрузка электронных документов из файла

См. также пункт "Cтандартные электронные документы - Программа загрузки входящих эл. документов".

Программа загрузки входящих эл. документов загружает в систему SAP файлы из локальной папки с входящими электронными документами. Возможна загрузка подписи, если существует файл подписи с таким же именем в этой же папке.

  1. Для загрузки электронных документов в систему необходимо поместить файлы в папку c:/temp/incoming.
    1. Файлы документов должны иметь имя типа DP_OTORG12_2BEFAC73B2278E24A5E98E7605806748AFF_2BE2F68CC6E6CB243B39C774CE4D44B41ED_20151013_005056B7-7242-1ED5-9B85-EABA477D820J.xml
    2. Файлы подписей должны иметь такое же имя, как и документы, но иметь расширение .txt. Подписи с расширением .xml.p7s не закачиваются.
  2. Загрузка документов.
    1. Запустить программу J_3RF_DI_PROC_IN или транзакцию ZZTRJ_3RF_DI_PROC_IN.
    2. Заполнить поле Исходная папка c:/temp/incoming, максимальное количество файлов 20.
    3. Нажать Выполнить.
    4. Появится сообщение: х документов обработано успешно, у документов обработано с ошибками.
    5. В журнале документов сформируются вх.накладные / акты / счета-фактуры.
    6. В архиве электронных документов сформируются вх.накладные / акты / счета-фактуры и извещения о получении.
    7. Система создаст записи в таблицах J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для накладной, в таблицах J_3RF_REGINV_IN, J_3RFDI_ARC для счетов-фактур.
    8. Система сохранит следующие данные: имя файла, версия, дата, время, имя пользователя, поставщик, ид. поставщика, покупатель, ид. покупателя, БЕ, ИНН, КПП, подпись, номер, внешний номер, вид документа, статус, направление, заказ, валюта, сумма, xml-данные и др.
    9. Файлы будут перенесены в папку c:/temp/incoming/processed при успешной загрузке, и в папку c:/temp/incoming/failed при ошибке.


Создание поступления материала на основании вх. накладной

На основании данных накладной (заказ, дата заказа, номенклатура) в системе можно выполнить поступление материала к заказу. На основании данных акта поступление создать невозможно, закачивается только заказ.

Если во входящей накладной и заказе не совпадает номенклатура (неверный код товара, неверное наименование, количество позиций разное), то загрузка накладной в систему производится, поле Заказ заполняется. В дальнейшем при проводке поступления материала выдается сообщение "Есть несоответствующие позиции XML для ЗП 450000ххх". Система позволяет провести поступление материала.

Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
  7. Выделить запись. Нажать кнопку Изменить.
  8. На экране 2 нажать кнопку Поступление материала.
  9. Появится экран 3 - поступление материала к заказу, транзакция migo.
  10. Основные данные уже заполнены: заказ, номенклатура. Ввести данные: дата, количество, другие данные.
  11. Нажать Проверить, потом Сохранить.
  12. К заказу проводится поступление материала.
  13. На экране 2 заполнятся поля Документ материала и Год. Ссылка на документ заполнится в журнале.
  14. Нажать Сохранить.

Создание входящего счета-фактуры на основании вх. накладной

На основании данных накладной (заказ, дата заказа, номенклатура) в системе можно выполнить проводку счета-фактуры. На основании данных акта создать счет-фактуру невозможно.

Если во входящей накладной и заказе не совпадает номенклатура, то загрузка накладной в систему производится, поле Заказ заполняется. В дальнейшем при проводке счета-фактуры система не найдет позиций для проводок.

Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
  7. Выделить запись. Нажать кнопку Изменить.
  8. На экране 2 нажать кнопку Счет.
  9. Появится экран 3 - создание входящего с-ф, транзакция miro.
  10. Основные данные уже заполнены: кредитор, заказ, номенклатура. Ввести данные: сумма, поставить галку Расчет налога. Для автоматического сопоставления с-ф с журналом с-ф внешний номер (поле Ссылка) должен совпадать с номером в xml-документе с-ф (поле НомерСчФ).
  11. Нажать Сохранить(Проводка).
  12. К заказу проводится входящий с-ф.
  13. На экране 2 заполнятся поля № Документа счета и Год документа счета. Ссылка на документ заполнится в журнале передаточных документов.
  14. Нажать Сохранить.
  15. В журнале изменится статус с-ф на "Нет записей в журнале счетов". Это означает что счет в системе проведен, но необходимо связать его с журналом счетов-фактур при помощи программы "Сопоставление электронных счетов-фактур с FI".

Команда PTORG Принять (создание титула покупателя)

Описание

Создает документ титул покупателя и генерирует xml для входящей накладной. Формирует новый документ в архиве электронных документов с именем DP_OTORG12_xxx, относящийся к номеру данной накладной .

Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
  7. Выделить документ.
  8. Нажать кнопку Принять.
  9. В журнале передаточных документов изменится статус накладной с "Документ получен" на "Документ приемки создан".
  10. В архиве эл. документов сформируется новый документ "Титул покупателя". Имя файла DP_PTORG12_xxx. Появятся записи в таблицах J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.
Алгоритм
  1. J_3RF_REGTORG-REJECT_OR_CONFIRM_TITLE (iv_doc_type тип док, iv_get_text - пустой). Обработка нажатия кнопки на экране. Создание документа Титул покупателя.
    1. J_3RF_REGTORG-SET_XML_TIMESTAMP. Получение времени и даты.
    2. J_3RF_REGTORG-GET_ACT_LINE_NUM_TAB. Получение номеров выделенных строк на экране. Если ничего не выделено, то сообщение и выход из подпрограммы.
    3. Чтение строк во внут таблице документов gt_reg_in по номеру строки. Проверка статуса документов. Передача выделенных строк в внут табл lt_in_tab - данные заголовка накладной.
    4. CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_JOURNAL_IN (lt_in_tab внут табл с данными заголовков накладных, iv_doc_type тип док, iv_get_text - пустой, i_create_xml = Х). Возвращает код l_ok. Создание документа Титул покупателя.
      1. Несколько сценариев: i_create_journal - создать запись в журнале, i_create_xml - создать xml, i_send - отправить xml, i_view_xml - просмотр / печать xml.
      2. Заходит в ветку i_create_xml = 'X' создать xml.
      3. Цикл по таблице lt_in_tab данные заголовка накладной.
        1. CL_J3RF_DIGINV_PROCESSOR->TG_CREATE_BUYER_TITLE (ls_in_line строка данных заголовка документа). Получает структуру ls_xml_ptorg с данными титула покупателя и структуру ls_xml_zakt с данными акта на основе данных накладной / акта.
          1. CL_J3RF_DIGINV_PROCESSOR->TG_XML_TO_STRUCTURE(ls_xml_key внутр номер накл, j3rdx_dxd_torg_type_in тип документа торг12). Чтение xml данных накладной. Получает указатель lr_data типа j_3rf_tgxml_otorg12 на данные накладной.
          2. CL_J3RF_DIGINV_PROCESSOR->GET_SIGNER_INFO(ls_signer_info). Получение данных подписанта для формируемого документа.
          3. CL_J3RF_TG_JOURNAL->OTORG12_TO_PTORG12 (<fs_xml_otorg> данные накладной). Получение ls_xml_ptorg - данных титула покупателя на основе данных накладной.
          4. CL_J3RF_TG_JOURNAL->SET_GOODS_RECEIVER (i_regtorg_in заголовок накл, ls_signer_info данные подписанта, ls_xml_ptorg - данные титула покупателя). Заполнение данных получателя в титуле покупателя.
        2. Подготовка внутр.табл. ls_table с данными титула покупателя. Заполнение данных тип документа, кредитор.
      4. CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING(lt_table данные титула покупателя, create_only операция создать). Возвращает код ошибки lv_error. Генерация xml на основе данных титула покупателя.
        1. Цикл по внут табл it_inv_table - данные титула покупателя.
          1. Выполняет для каждого документа один из трех сценариев: 1 создание, 2 создание и подпись, 3 подпись.
          2. Выполняется сценарий 1 создание.
            1. CL_J3RF_DIGINV_PROCESSOR->PROCESS_DOCUMENT (document данные титула покупателя, l_not_transform флаг предв. трансформации Х). Получаем ls_ddx_doc - xml-данные титула покупателя и lv_record_id номер документа. Создает записи в таблицах БД J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.
              1. CL_J3RF_DIGINV_PROCESSOR->FIND_SETTING_FOR_DOC(cv_ddx_doc структура для xml). По виду документа и направлению из структуры cv_ddx_doc получаем настройки трансформаций в структуру ls_setting. Это настройки в таблице J_3RF_DI_TRANF и настройки по умолчанию в CL_J3RF_DIGINV_PROCESSOR->CLASS_CONSTRUCTOR. Например, для вида документа титул покупателя, исходящего направления и версии 5.01 получаем xml-трансформацию J_3RF_TG_PTORG12, метод-обработчик Х - CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_OUTGOING_TORG_BUYTL и тип данных для подготовки xml J_3RF_TGXML_PTORG12. Если настройки не найдены выводим ошибку.
              2. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные титула покупателя ir_data, настройки ls_setting). Запуск предварительной трансформации xml (не заходит в этот метод из-за флага предв. трансформации). Изменяет cv_ddx_doc - структуру с xml-данными.
              3. Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные с-ф ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные с-ф cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
              4. Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
              5. Запуск метода-обработчика Х. Например CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_OUTGOING_TORG_BUYTL.
                1. CL_J3RF_DIGINV_PROCESSOR->GET_CCODE (receiver-id ид.получателя). Получение БЕ по ид.получателя.
                2. CL_J3RF_DIGINV_PROCESSOR->TG_TRANSFORM_AND_STORE. (настройки трансформации iv_ddx_setting, ид.отправителя sender-id, ид.получателя receiver-id, код кредитора lifnr, направление док, статус док). Сохраняем xml в таблицы J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1. Изменяем данные титула покупателя lr_data, xml-данные cv_ddx_doc. Получаем номер записи ev_record_id.
                  1. CL_J3RF_DIGINV_PROCESSOR->GET_OPERATOR (БЕ). Получение ид. и данных оператора. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_OPERATOR.
                  2. CL_J3RF_DIGINV_PROCESSOR->SET_PROGRAM_INFO. Заполнение версии формата xml.
                  3. CL_J3RF_DIGINV_PROCESSOR->SET_SIGNATURE. Заполнение данных подписанта из доп данных БЕ. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_COMPANY_INFO.
                  4. CL_J3RF_DIGINV_PROCESSOR->GENERATE_FILENAME(sender-id, receiver-id). Генерация имени файла xml и заполнение в структуре cv_ddx_doc. Имя файла DP_PTORG12_xxx.
                  5. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные тит покупателя ir_data, настройки ls_setting). Запуск трансформации xml и генерация xml-данных. Заполняется поле cv_ddx_doc-filedata.
                  6. CL_J3RF_DIGINV_PROCESSOR->TG_STORE_DOCUMENT (данные тит покупателя ir_data, код контрагента iv_partner, ид. получателя iv_receiver_id, ид. отправителя iv_sender_id, статусы док, метка времени lv_doc_timestamp). Сохранение xml-данных в таблицах БД J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1. Изменение структуры xml-данных cv_ddx_doc. Получаем номер записи ev_record_id.
                    1. CL_J3RF_TG_FILES->ADD_FILE. (filedata, signature). Добавление записей в табл БД.
                    2. CL_J3RF_TG_JOURNAL->SET_DOC_STATUS. Изменение статуса накладной в журнале.
    5. Вывод сообщения, либо ошибки на основании флага l_ok.

Команда NOCXMLTXT Отклонить с претензией

Описание

Создает эл. документ Уведомление об уточнении со ссылкой на накладную. В журнале передаточных документов при этом изменяется статус накладной на "Документ отклонения создан". В архиве эл. документов формируется новый документ "Уведомление об уточнении", имя файла DP_UVUTOCH. Появляются записи в таблицах J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.

Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
  5. Нажать Выполнить.
  6. Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
  7. Выделить документ.
  8. Нажать кнопку Отклонить с претензией.
  9. Заполнить на экране текст претензии.
  10. Нажать кнопку Сохранить.
Алгоритм
  1. J_3RF_REGTORG-REJECT_OR_CONFIRM_TITLE (iv_doc_type тип док, iv_get_text флаг "с текстом"). Обработка нажатия кнопки на экране. Создание документа Уведомление об уточнении.
    1. J_3RF_REGTORG-SET_XML_TIMESTAMP. Получение времени и даты.
    2. J_3RF_REGTORG-GET_ACT_LINE_NUM_TAB. Получение номеров выделенных строк на экране. Если ничего не выделено, то сообщение и выход из подпрограммы.
    3. Чтение строк во внут таблице документов gt_reg_in по номеру строки. Проверка статуса документов. Передача выделенных строк в внут табл lt_in_tab - данные заголовка накладной.
    4. CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_JOURNAL_IN (lt_in_tab внут табл с данными заголовков накладных, iv_doc_type тип док, iv_get_text флаг "получить текст", i_create_xml = Х операция создать). Возвращает код l_ok. Создание документа Уведомление об уточнении.
      1. Заходит в ветку i_create_xml = 'X' для создания xml.
      2. Цикл по таблице lt_in_tab данные заголовка накладной.
        1. CL_J3RF_DIGINV_PROCESSOR->TG_CREATE_CLARIF_NOTE (ls_in_line строка данных заголовка документа). Получает структуру ls_xml_clarif с данными уведомления об уточнении на основе данных накладной.
          1. CL_J3RF_DIGINV_PROCESSOR->TG_XML_TO_STRUCTURE(ls_xml_key внутр номер накл, j3rdx_dxd_torg_type_in тип журнала). Чтение xml данных накладной. Получает указатель lr_data типа j_3rf_tgxml_otorg12 на данные накладной.
        2. CL_J3RF_TG_JOURNAL->GET_DEFAULT_CLARIF_TEXT (ls_in_line строка данных заголовка документа). Получает текст по умолчанию для уведомления об уточнении в поле ls_xml_clarif-note. Используется BADI.
          1. J_3RF_TGXML_ACT->GET_DEFAULT_CLARIF_TEXT. BADI получения текста по умолчанию, не реализован.
        3. Если флаг iv_get_text "с текстом" установлен, то запуск модального экрана для ввода текста.
        4. ФМ J_3RF_TGXML_GET_CUSTOMER_TEXT (i_doc_type - вид документа уведомление об уточнении). Вывод модального экрана. Получение строки текста претензии ls_xml_clarif-note.
        5. Перенос данных уведомления об уточнении из ls_xml_clarif во внут табл lt_table.
      3. CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING (lt_table данные уведомления об уточнении, create_only операция создать). Возвращает код ошибки lv_error. Генерация xml на основе данных уведомления об уточнении.
        1. Цикл по таблице it_inv_table с данными уведомления об уточнении.
          1. Подготовка структуры xml-данных уведомления об уточнении ls_ddx_doc.
          2. Выполняет для каждого документа один из трех сценариев: 1 создание, 2 создание и подпись, 3 подпись.
          3. Выполняется сценарий 1 создание.
            1. CL_J3RF_DIGINV_PROCESSOR->PROCESS_DOCUMENT (document данные увед об уточн, l_not_transform=X без предв.трансформации). Изменяет xml данные ls_ddx_doc. Возвращает lv_record_id - номер записи. Формирует xml документ, помещает его в таблицу J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.
              1. CL_J3RF_DIGINV_PROCESSOR->FIND_SETTING_FOR_DOC(cv_ddx_doc структура для xml). По виду документа и направлению из структуры cv_ddx_doc получаем настройки трансформаций в структуру ls_setting. Это настройки в таблице J_3RF_DI_TRANF и настройки по умолчанию в CL_J3RF_DIGINV_PROCESSOR->CLASS_CONSTRUCTOR. Для вида документа уведомление об уточнении, исходящего направления и версии 1.02 получаем xml-трансформацию J_3RF_ROSEU_UOU, метод-обработчик Х - CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_OUTGOING_UOU и тип данных для подготовки xml J_3RF_TGXML_CLARIF_NOTE. Если настройки не найдены выводим ошибку.
              2. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные титула покупателя ir_data, настройки ls_setting). Запуск предварительной трансформации xml (не заходит в этот метод из-за флага предв. трансформации). Изменяет cv_ddx_doc - структуру с xml-данными.
              3. Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные док ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные док cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
              4. Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
              5. Запуск метода-обработчика Х. Например CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_OUTGOING_UOU.
                1. CL_J3RF_DIGINV_PROCESSOR->GET_CCODE (member-id ид.получателя). Получение bukrs БЕ по ид.получателя в накладной.
                2. CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (bukrs БЕ, operator). Получает данные БЕ, инн, кпп и тд. в структуру lv_tgcompany_info.
                3. CL_J3RF_DIGINV_PROCESSOR->GET_VENDOR_INFO (bukrs БЕ, lifnr контрагент). Получает данные контрагента в структуру sender.
                4. CL_J3RF_DIGINV_PROCESSOR->SIGNATURE_TO_XML (bukrs БЕ, recv_file имя перв файла, filename имя файла xml). Поиск подписи первоначального файла recv_di_sign???
                5. CL_J3RF_DIGINV_PROCESSOR->TG_TRANSFORM_AND_STORE (настройки трансформации iv_ddx_setting, ид.отправителя sender-id, ид.получателя receiver-id, код кредитора lifnr, направление док, статус док). Сохраняем xml в таблицы J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1. Изменяем данные уведомления об уточнении lr_data, xml-данные cv_ddx_doc. Получаем номер записи ls_record.
                  1. CL_J3RF_DIGINV_PROCESSOR->GET_OPERATOR (БЕ). Получение ид. и данных оператора. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_OPERATOR.
                  2. CL_J3RF_DIGINV_PROCESSOR->SET_PROGRAM_INFO. Заполнение версии формата xml.
                  3. CL_J3RF_DIGINV_PROCESSOR->SET_SIGNATURE. Заполнение данных подписанта из доп данных БЕ. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_COMPANY_INFO.
                  4. CL_J3RF_DIGINV_PROCESSOR->GENERATE_FILENAME(sender-id, receiver-id). Генерация имени файла xml и заполнение в структуре cv_ddx_doc. Имя файла DP_UVUTOCH_xxx.
                  5. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные ув. об уточн. ir_data, настройки ls_setting). Запуск трансформации xml и генерация xml-данных. Заполняется поле cv_ddx_doc-filedata.
                  6. CL_J3RF_DIGINV_PROCESSOR->TG_STORE_DOCUMENT (данные ув. об уточн. ir_data, код контрагента iv_partner, ид. получателя iv_receiver_id, ид. отправителя iv_sender_id, статусы док, метка времени lv_doc_timestamp). Сохранение xml-данных в таблицах БД J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1. Изменение структуры xml-данных cv_ddx_doc. Получаем номер записи ev_record_id.
                    1. CL_J3RF_TG_FILES->ADD_FILE. (filedata, signature). Добавление записей в табл БД.
                    2. CL_J3RF_TG_JOURNAL->SET_DOC_STATUS. Изменение статуса накладной в журнале.
    5. Вывод сообщения, либо ошибки на основании флага l_ok.

Команда SNDI Отправить

Описание

Осуществляет выгрузку файла xml с данными титула покупателя (DP_PTORG12.xml) в случае приемки накладной. Осуществляет выгрузку файла xml с данными уведомления об уточнении (DP_UVUTOCH.xml) в случае отклонения накладной с претензией. Выгрузка производится на локальный диск в папку c:/temp/outgoing. В случае приемки изменится статус накладной в журнале передаточных документов на "Документ приемки отправлен". В случае отклонения изменится статус накладной в журнале передаточных документов на "Документ отклонения отправлен". Изменяет статус документа в таблицах БД J_3RF_RGTORG_IN, J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.

Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. Ввести БЕ. Нажать радиокнопку Просмотреть входящие документы. Установить галочку Просмотреть статус счета.
  5. Нажать Выполнить.
  6. Отобразится список документов.
  7. Выделить документ.
  8. Нажать кнопку Отправить.


Алгоритм отправки титула покупателя
  1. J_3RF_REGTORG-XML_IN_SEND. Обработка нажатия кнопки Отправить на экране. Создание файла xml в локальной папке. Обновление статуса накладной в журнале.
    1. J_3RF_REGTORG-SET_XML_TIMESTAMP. Получение времени и даты.
    2. J_3RF_REGTORG-GET_ACT_LINE_NUM_TAB. Получение номеров выделенных строк LT_ROWS на экране. Если ничего не выделено, то сообщение и выход из подпрограммы.
    3. Чтение строк во внут таблице документов gt_reg_in по номеру строки. Передача выделенных строк в внут табл lt_in_tab - данные заголовка накладной.
    4. CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_JOURNAL_IN (lt_in_tab внут табл с данными заголовков накладных, i_send = Х операция отправить). Возвращает код l_ok. Выгрузка файла xml Титул покупателя в локальную папку.
      1. Несколько сценариев: i_create_journal - создать запись в журнале, i_create_xml - создать xml, i_send - отправить xml, i_view_xml - просмотр / печать xml.
      2. Заходит в ветку i_send = 'X' отправить.
      3. Формируем список всех созданных в системе файлов для накладной (накладная, титул покупателя, уведомление об уточнении, извещение о получении) в табл lt_keys.
      4. CL_J3RF_DIGINV_PROCESSOR->TG_SEND_DATA (lt_keys список док, тип журнала, i_sign_xml=' ' флаг подписать). Возвращает результат l_sent, ошибка l_errors. Выгрузка файла xml в локальную папку. Обновление статусов в журнале.
        1. Если нет документов для отправки, то сообщение и выход.
        2. CL_J3RF_DIGINV_PROCESSOR->GET_IFS_BY_KEY(lt_documents список док). Получает xml-данные титула покупателя в lt_documents.
        3. J_3RF_DIGITAL_INVOICE_BADI->SEND (lt_documentsсписок док). Запуск BADI для отправки док.
          1. CL_J3RF_DIGITAL_INVOICE_BADI->GET_PATH_OUTGOING. Получение пути выгрузки. По умолчанию задано как константа c:\temp\outgoing.
          2. CL_J3RF_DIGINV_PROCESSOR->GET_SIGNER_INFO. Получение имени и адреса подписанта в структуру ls_signer_info.
          3. CL_GUI_FRONTEND_SERVICES->DIRECTORY_EXIST. Проверка что папка существует. Иначе ошибка и выход.
          4. CL_J3RF_DIGINV_PROCESSOR->GET_XML_ENCODING (filedata - строка xml ). Получаем вид кодировки (windows-1251) из данных xml.
          5. CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (lv_bukrs БЕ). Получение ид. и адресных данных отправителя.
          6. CL_J3RF_DIGITAL_INVOICE_BADI->GET_CAPABILITIES (lv_bukrs БЕ, lv_can_sign_in_bg). Проверка возможности подписания в фоне. Метод пустой.
          7. CL_J_3RF_DIGITAL_INVOICE_BADI->SIGN (doc - xml-данные). Если возможно подписание в фоне, то запуск BADI для генерации подписи по xml-данным. Смотри пункт "Команда Create Создать с-ф xml - BADI - SIGN".
          8. CL_J3RF_DIGINV_PROCESSOR->SET_SIGNER_IN_XML (ls_signer_info данные подписанта). Изменяет xml-данные в тэге подписанта в xml-данных doc-filedata_mod.
          9. Получение кодовой страницы lv_codepage.
          10. Замена спецсимволов для юникод систем.
          11. CL_J3RF_DI_ARCLOG->J_3RF_CONV_STRING_TO_XSTRING (doc-filedata_mod - xml-данные с-ф, lv_codepage - кодовая страница). Генерация строки X_STR в шестнадцатиричном формате из xml-данных c-ф.
          12. ФМ SCMS_XSTRING_TO_BINARY. Получение таблицы данных x_tab в шестнадцатиричном формате из строки X_STR.
          13. CL_GUI_FRONTEND_SERVICES->GUI_DOWNLOAD. Выгрузка файла c-ф ON_SFAKT_xxxxx.xml в локальную папку c:/temp/outgoing.
        4. CL_J3RF_TG_FILES->UPDATE_FILE (ls_key номер тит покупателя, status статус, filedata_mod xml данные). Обновление статуса и данных титула покупателя в архиве эл. документов.
        5. CL_J3RF_DI_REGINV->SET_DOC_STATUS. Обновление статуса документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.
  2. REFRESH_IN. Обновление списка на экране вывода .


Алгоритм отправки уведомления об уточнении (---)

Аналогично пп. "Алгоритм отправки титула покупателя"

Команда DXML Просмотреть xml-данные

Открывает файл xml накладной на просмотр. Порядок действий:

  1. Запустить журнал передаточных документов.
  2. Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
  3. Транзакция J3RFREGTORG.
  4. Ввести БЕ. Нажать радиокнопку Просмотреть входящие документы. Установить галочку Просмотреть статус счета.
  5. Нажать Выполнить.
  6. Отобразится список документов.
  7. Выделить документ.
  8. Нажать кнопку Просмотр XML.
  9. Появится экран с xml-данными накладной.
  10. Нажать кнопку Назад.


Извещение о получении

При автоматическом вводе входящих накладных из файла в журнале формируется документ эл. накладная. В архиве электронных документов для номера накладной формируется два документа: электронная накладная с именем файла DP_OTORG12.xml и извещение о получении с именем файла DP_IZVPOL.xml. Сохраняются xml-данные в таблице J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS.

Архив электронных документов

Описание

Архив электронных документов позволяет работать с электронными документами из таблиц J_3RFDI_ARC, J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1. Фактически это список xml-документов. Отображает список документов с данными : номер записи, номер исходного с-ф, внешний номер исх. с-ф, версия, статус эл.документа, контрагент, метка времени, дата подписи, имя подписавшего, имя файла xml. Техническое имя программы J_3RF_DI_ARCLOG.

Команды:

  • Показать XML
  • Показать подпись
  • Скрыть XML
  • Отправить
  • Экспорт

Виды электронных документов:

  • Электронный счет (EI)
  • Подтверждение доставки счета (CD)
  • Уведомлении о получении счета (ACKI)
  • Уведомление о дате получения (ACKD)
  • Уведомление о подтверждении доставки счета (ACKCD)
  • Уведомление о подтверждении счета (NACKI)
  • Уведомление о подтверждении даты (NACKD)
  • Уведомление об уведомл. подтверждения доставки счета(NACKCD)
  • Запрос на уточнение (RCL)
  • Уведомление о запросе на уточнение (NRCL)
  • Корректировочный электронный счет (CEI)
  • ТОРГ-12, продавец
  • ТОРГ-12 покупатель
  • Акт приемки работ, исполнитель
  • Акт приемки работ, заказчик
  • РОСЭУ, сообщение ERR (ERR)
  • РОСЭУ, извещение о получении (ИОП)
  • РОСЭУ, уведомление об уточнении (УОУ)
  • РОСЭУ, предложение об аннулировании (ПОА)
  • Приложение

Команда Показать XML

Для выделенной позиции в нижней части отчета выводятся данные xml.

Команда Показать XML BADI

Команда Показать подпись

Отображает данные файла эл. подписи, если подпись к документу существует в системе.

Команда Скрыть XML

Скрывается нижняя часть отчета, где выводились данные xml.

Команда Отправить (---)

Создает файл xml в папке c:\temp\outgoing на основе xml-данных, хранящихся в таблицах J_3RFDI_ARC, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для различных видов эл. документов. Необходимо выделить документ в списке и нажать кнопку Отправить.

Исх. счет-фактура (---)

Исх. накладная (---)

Извещение о получении (---)

Запрос на уточнение (---)

Команда Экспорт

Создает файл xml по указанному пути на основе xml-данных, хранящихся в таблицах J_3RFDIARC, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для различных видов эл. документов. Необходимо выделить документ в списке и нажать кнопку Экспорт. Система запросит путь выгрузки. Указать папку и нажать ок.

Программа загрузки входящих эл. документов

Описание

Загружает в систему SAP файлы из локальной папки с входящими электронными документами. Техническое имя программы J_3RF_DI_PROC_IN. Возможна загрузка подписи, если существует файл подписи с таким же именем в этой же папке.


Результат

  1. Создание новых записей счетов-фактур в журнале счетов-фактур.
  2. Создание новых записей передаточных документов в журнале передаточных документов.
  3. Создание новых записей счетов-фактур, передаточных документов, извещений о получении в архиве электронных документов.
  4. Помещает данные в таблицы J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для накладных.
  5. Помещает данные в таблицы J_3RF_REGINV_IN, J_3RFDI_ARC для счетов-фактур.
  6. Перенос удачно обработанных файлов и эл. подписей в папку c:/temp/incoming/proccessed.
  7. Перенос неудачно обработанных файлов в папку c:/temp/incoming/failed.
  8. Неудачно обработанные файлы подписи остаются в папке c:/temp/incoming.

Примечание:

Для привязки входящей накладной и с-ф к исходящему заказу информация берется из тега Информационное поле стоки - <ИнфПолСтр>.Пример заполнения: ИнфПолСтр="EXT_EBELN=4500015407##EXT_EBELP=000010##EXT_BEDAT=20141216". EXT_EBELN - номер заказа. EXT_EBELP=000010 - это номер позиции заказа. EXT_BEDAT=20141216" - Дата заказа.

Если во входящей накладной в тэге <ИнфПолСтр> и в заказе не совпадает дата заказа, то загрузка накладной в систему производится, поле Заказ заполняется.

Если во входящей накладной и заказе не совпадает номенклатура (неверный код товара, неверное наименование, количество позиций разное), то загрузка накладной в систему производится, поле Заказ заполняется. В дальнейшем при проводке поступления материала выдается сообщение "Есть несоответствующие позиции XML для ЗП 450000ххх". Система позволяет провести поступление материала.

Алгоритм

  1. J_3RF_DIGITAL_INVOICE_BADI->SET_PATH. Получение пути к файлам. По умолчанию задано c:/temp/incoming.
  2. CL_J3RF_DIGINV_PROCESSOR->PROCESS_INCOMING. Чтение файла xml, обработка xml, сохранение данных в таблицах.
    1. J_3RF_DIGITAL_INVOICE_BADI->RECEIVE. Загрузка файлов из локальной папки.
      1. Загрузка всех файлов в указанной папке.
      2. Формирование таблицы с файлами.
      3. Подготовка внутренней таблицы с xml-данными lt_incoming_doc.
      4. Сопоставление файла с файлом-подписью и с файлом-приложением(скан-копия). Формирование трех таблиц: файлы xml, файлы-подписи, файлы-приложения.
      5. Примечание!!!. Для корректной закачки эл. подписи необходимо, чтобы файл подписи имел имя например "DP_OTORG12.txt". Имя "DP_OTORG12.xml.p7s" не подходит.
    2. J_3RF_DIGITAL_INVOICE_BADI->PREPROCESS. Изменение внутренней таблицы с xml-данными lt_incoming_doc.
    3. CL_J3RF_DIGINV_PROCESSOR->DETERMINE_DOCUMENT_TYPE. Определение типа документа (с-ф, накладная). Заполнение внутренней таблицы с xml-данными lt_incoming_doc.
      1. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_FROM_XML (lv_settings настройки, cs_document xml-данные). Запуск трансформации J_3RF_DI_DOCTYPE, получение данных документа в структуру lr_data типа J_3RF_DIXML_DOCTYPE. Получение версии xml, кода КНД, ид. получателя.
      2. CL_J3RF_DIGINV_PROCESSOR->FILENAME_KND_TO_DOCTYPE. Получение типа документа по КНД и префиксу имени файла. Читает внутр. таблицу с префиксами имени, КНД и типом документов. Если не находит, то пытается получить его в BADI.
      3. J_3RF_DIGITAL_INVOICE_BADI->DETERMINE_DOCUMENT_TYPE. Запуск BADI. Метод реализован, но пустой.
      4. Если тип документа не определен, то ошибка и выход.
    4. CL_J3RF_DIGINV_PROCESSOR->PROCESS_DOCUMENT (lr_data данные документа). Читает xml документ ls_incoming_doc, изменяет его. Получает данные заголовка и xml-данные в структуру lr_data. Помещает данные в таблицы J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для накладных. Помещает данные в таблицы J_3RF_REGINV_IN, J_3RFDI_ARC для счетов-фактур.
      1. CL_J3RF_DIGINV_PROCESSOR->FIND_SETTING_FOR_DOC. Получаем настройки трансформаций в структуру ls_setting. Это настройки в таблице J_3RF_DI_TRANF и настройки по умолчанию в CL_J3RF_DIGINV_PROCESSOR->CLASS_CONSTRUCTOR. Например, для вида документа электронная накладная тит. продавца 201, входящего направления 001 и версии 5.1 получаем xml-трансформацию J_3RF_TG_OTORG12, метод-обработчик Х - CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_INCOMING_TORG12 и тип данных для подготовки xml J_3RF_TGXML_OTORG12. Если настройки не найдены выводим ошибку.
      2. CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_FROM_XML (cv_ddx_doc структура с xml-данными, настройки ls_setting). Запуск трансформации. Получает данные документа ir_data.
      3. Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные с-ф ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные с-ф cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
      4. Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
      5. CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_INCOMING_TORG12 (данные док. ir_data, настройки ls_setting). Запуск метода-обработчика Х. Изменяет cv_ddx_doc - структуру с xml-данными. Помещает данные заголовка и xml-данные в таблицу J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS.
        1. CL_J3RF_DIGINV_PROCESSOR->GET_CCODE. Получение БЕ по ид. получателя receiver-id. Если не находим, то ошибка.
        2. CL_J3RF_DIGINV_PROCESSOR->MATCH_EXT_VENDOR. Получение кода кредитора sap по ид. отправителя sender-id. Если не находим, то ошибка.
        3. CL_J3RF_DIGINV_PROCESSOR->CHECK_DOC_BY_FILENAME (bukrs БЕ, filename внешнее имя файла, lifnr кредитор). Проверка что такой файл еще не закачан. Если в таблице J_3RF_RGTORG_IFS нет записи с таким именем файла и БЕ, то ок. Если есть запись с таким именем файла и БЕ, и кредитор тот же, то ошибка и выход.
        4. Имя файла из тэга <ИдФайл> в файле не проверяется. ИНН, КПП кредитора из файла не проверяются и закачиваются в журнал. ИНН, КПП получателя и плательщика из файла не проверяются. ИНН, КПП оператора из файла не проверяются.
        5. CL_J3RF_TG_JOURNAL->IN_XML_TORG12. Запись данных в таблицу журнала входящих накладных J_3RF_RGTORG_IN. Изменение структуры с данными документа <fs_dx_tg>.
          1. CL_J3RF_TG_JOURNAL->GET_OTORG_EXDATA (ls_rgtorg_in данные документа, l_xml данные документа). Получение номера и даты накладной из l_xml. Ранее эти данные получены из тэга <ТН ДатаТН="08.10.2015" НомТН="14">.
          2. CL_J3RF_TG_JOURNAL->GET_PO_DATA (ls_rgtorg_in данные документа, l_xml данные документа). Получение номера заказа po_num и даты po_date из l_xml. Ранее эти данные получены из тэга <Таблица>, <СвТов>, <ИнфПолСтр="EXT_EBELN=4500000004##EXT_BEDAT=20151008"/>.
          3. CL_J3RF_TG_JOURNAL->IN_CREATE_JOURNAL (ls_rgtorg_in данные документа). Создание записи в журнале накладных в таблице J_3RF_RGTORG_IN.
            1. Проверка. Если в таблице уже существует запись с таким БЕ, кредитором, номером накладной, то ошибка и выход.
            2. CL_J3RF_TG_JOURNAL->CHECK_AUTHORITY. Проверка прав на объект J_3RF_REGT журнал, операция edit 23. Проверка прав на объект F_BKPF_BUK БЕ, операция просмотр 03.
            3. J_3RF_TRANSF_01->GET_TIMESTAMP. Получение метки времени и даты.
            4. CL_J3RF_TG_JOURNAL->GET_NEXT_NUMBER. Генерация нового номера документа в журнале.
            5. Создание записи в журнале накладных в таблице J_3RF_RGTORG_IN.
        6. CL_J3RF_DIGINV_PROCESSOR->TG_STORE_DOCUMENT (данные документа ir_data, lifnr кредитор, sender данные отправителя, вид док, статус док, тип накладной, метка времени). Изменяет xml-данные cv_ddx_doc. Помещает данные документа ir_data в таблицу J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS.
    5. J_3RF_DIGITAL_INVOICE_BADI->COMPLETE_RECEIVING. Перенос удачно обработанных файлов и эл. подписей в папку c:/temp/incoming/proccessed. Перенос неудачно обработанных файлов в папку c:/temp/incoming/failed. Поиск файлов в папке осуществляется по данным из тэга <ИдФайл> из данных xml. Если внешнее имя файла не совпадает с тэгом <ИдФайл> в файле, то данные закачиваются, но файл не переносится в другую папку, т.к. не найден. Неудачно обработанные файлы подписи остаются в папке c:/temp/incoming.
  3. Сообщение: x файлов обработано, y удачно, z с ошибками.

BADI

  1. J_3RF_DIGITAL_INVOICE_BADI->SET_PATH
  2. J_3RF_DIGITAL_INVOICE_BADI->RECEIVE
  3. J_3RF_DIGITAL_INVOICE_BADI->PREPROCESS
  4. J_3RF_DIGITAL_INVOICE_BADI->DETERMINE_DOCUMENT_TYPE
  5. J_3RF_DIGITAL_INVOICE_BADI->COMPLETE_RECEIVING

Структура таблиц журнала счетов-фактур (---)

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_FS1 - xml-данные

J_3RF_RGTORG_IFS - индекс документов