SAP ERP 6.0 EHP7 - стандартные электронные документы
Содержание
- 1 Общие сведения
- 2 Журнал счетов-фактур
- 2.1 Общие сведения
- 2.2 Настройки журнала
- 2.3 Настройки BADI
- 2.4 Исходящие счета-фактуры
- 2.4.1 Ручной ввод исходящих счетов
- 2.4.2 Автоматический ввод исходящих счетов из Финансов
- 2.4.3 Автоматический ввод исходящих счетов из Сбыта
- 2.4.4 Команда Просмотреть запись
- 2.4.5 Команда Изменить запись
- 2.4.6 Команда Удалить запись
- 2.4.7 Команда Create Создать с-ф xml
- 2.4.8 Команда Send Отправить с-ф xml
- 2.4.9 Команда Просмотреть xml с-ф
- 2.4.10 Корректировочные счета-фактуры, счета-исправления
- 2.5 Входящие счета
- 2.5.1 Загрузка электронных документов из файла
- 2.5.2 Ручной ввод входящих счетов
- 2.5.3 Автоматический ввод входящих счетов из Финансов
- 2.5.4 Сопоставление входящих эл. счетов-фактур в журнале с документами FI
- 2.5.5 Команда Просмотреть запись
- 2.5.6 Команда Изменить запись
- 2.5.7 Команда Удалить запись
- 2.5.8 Команда EREQ Создать запрос на уточнение
- 2.5.9 Команда SNDR Отправить запрос на уточнение
- 2.5.10 Команда DREQ Просмотреть запрос на уточнение
- 2.5.11 Команда Установить статус "запрос на уточнение обработан" (---)
- 2.5.12 Извещение о получении
- 3 Журнал передаточных документов
- 3.1 Общие сведения
- 3.2 Настройки журнала передаточных документов
- 3.3 Исходящие передаточные документы
- 3.4 Входящие передаточные документы
- 3.4.1 Загрузка электронных документов из файла
- 3.4.2 Создание поступления материала на основании вх. накладной
- 3.4.3 Создание входящего счета-фактуры на основании вх. накладной
- 3.4.4 Команда PTORG Принять (создание титула покупателя)
- 3.4.5 Команда NOCXMLTXT Отклонить с претензией
- 3.4.6 Команда SNDI Отправить
- 3.4.7 Команда DXML Просмотреть xml-данные
- 3.4.8 Извещение о получении
- 4 Архив электронных документов
- 5 Программа загрузки входящих эл. документов
- 6 Структура таблиц журнала счетов-фактур (---)
- 7 Структура таблиц журнала накладных и актов (---)
Общие сведения
Модуль предназначен для создания, отправки и получения электронных счетов-фактур, актов, накладных и универсальных передаточных документов в формате xml ФНС. Модуль является составной частью пакета локализации для России.
Транзакции:
- J3RFREGINV - Журнал электронных счетов-фактур.
- J3RFREGTORG - Журнал электронных накладных и актов.
Журнал счетов-фактур
Общие сведения
Журнал электронных счетов-фактур – транзакция, которая отображает список входящих и исходящих счетов-фактур и их электронную версию в системе SAP.
- Меню: Accounting>Finantial Accounting>Accounts Receivable>Reporting>Russia>Invoice Journal.
- Техническое имя меню J3RF-FDMN-REP-RU.
- Техническое имя транзакции J3RFREGINV.
- Техническое имя программы J_3RF_REGINV.
Журнал использует таблицы:
- J_3RF_REGINV_IN – входящие счета-фактуры
- J_3RF_REGINV_OUT – исходящие счета-фактуры
- J_3RF_REGINV_LOG – история статусов счетов-фактур
- J_3RFDI_ARC – архив электронных счетов с XML-данными
Программа J_3RF_REGINV состоит из частей:
- Описание переменных (DATA, TYPES)
- Экран выбора (SELECTION-SCREEN)
- Обработка событий на экране выбора (AT SELECTION-SCREEN)
- Набор данных (START-OF-SELECTION)
- Вывод данных (END-OF-SELECTION)
- Обработка событий на экране вывода (USER-COMMAND)
При запуске программы на экране выбора необходимо выбрать режим:
- показать исходящие счета
- показать входящие счета
- вывести выходную форму журнала
- добавить входящие счета
Список доступных команд на экране вывода (USER-COMMAND):
- Общие
- REFR - refresh list - обновить список
- INSR - insert entry - вставить запись
- COPY - copy entry - скопировать запись
- &EDI - edit entry - редактировать запись
- DELE - delete entry - удалить запись
- DISP - display entry - показать запись
- HIST - Display History of Status Changes - просмотреть историю статусов
- VLOG - View Application Log - просмотреть историю операций
- Для входящих счетов-фактур
- IADD - Register incoming invoices - зарегистрировать входящие счтеа
- EREQ - Create XML Request for Clarification - создать xml запроса на уточнение
- SGNR - Sign/Encrypt XML Request for Clarification - подписать запрос на уточнение
- SNDR - Send XML Request for Clarification - отправить запрос на уточнение
- DREQ - Display Clarification Request - показать запрос на уточнение
- HNDL - Set Status Request for Clarification Handled - установить статус "запрос на уточнение обработан"
- Для исходящих счетов-фактур
- &RVS - Print Revision for Entry - печать исправленного
- EINV - Create XML Invoice - создать xml счета-фактуры
- SGNI - Sign/Encrypt XML Invoice - подписать счет-фактуру
- SNDI - Send XML Invoice - отправить счет-фактуру
- DXML - Display XML Invoice - показать xml счета-фактуры
- DPDF - Display XML in PDF - показать xml в dpf
Настройки журнала
Журнал счетов в SPRO
- Активировать бизнес-функции FIN_LOC_CI_33, FIN_LOC_CI_35, ???FIN_LOC_CI_40???, FIN_LOC_CI_41.
- Меню: SPRO-Активировать бизнес-функции.
- Поставить галочку напротив FIN_LOC_CI_33, FIN_LOC_CI_35, ???FIN_LOC_CI_40???, FIN_LOC_CI_41, нажать кнопку Активировать.
- Появится пункт меню: SPRO-Финансы-БухгДебКред-Бизнес операции-Параметры настройки для стран-Россия-Счета-фактуры-Электронное выставление счета.
- Появится пункт меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
- (для старых версий!!!). Поставить транспорт из ноты 1691843 - Transport Delivery: Invoice Journal (Russia).
- (для старых версий!!!). Настроить журнал регистрации счетов-фактур согласно ноте 1691844.
- (для старых версий!!!). Прописать в FIBF продукт по ноте 1691844. J3RFREGI=J3RF. Меню-Параметры настройки-Продукты-Партнеры.
- Присвоение диапазонов номеров вход. документов.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов-Присвоение диапазонов номеров вход. документов.
- Техническое имя диапазона J_3RINV.
- Ввести БЕ и нажать кнопку Ведение интервалов.
- Нажать кнопку Новый диапазон.
- Ввести номер диапазона 01, год, начальный и конечный номера.
- Сохранить.
- Автоматическая регистрация входящих счетов.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
- Нажать кнопку Новые записи.
- Ввести БЕ, вид документа FI, галочки оставить пустыми.
- Сохранить.
- Настройка автоматической регистрации исходящих счетов из FI.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
- Нажать кнопку Новые записи.
- Ввести БЕ, идентификатор корреспонденции например ZSA19, Установить галочку Предпросмотр, не ставить галочку Создать как зарегистрированный, не ставить галочку Выбор даты отправки (help.sap.com).
- Сохранить.
- Настройка автоматической регистрации исходящих счетов из SD.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
- Нажать кнопку Новые записи.
- Ввести Приложение V3 фактурирование, Входной документ RD00 счет фактура, Установить галочку Предпросмотр, не ставить галочку Создать как зарегистрированный, не ставить галочку Выбор даты отправки (help.sap.com).
- Ввести Приложение V3 фактурирование, Входной документ RUCR корректировочный счет фактура, Установить галочку Исправление/Корр, установить галочку Предпросмотр, не ставить галочку Создать как зарегистрированный, не ставить галочку Выбор даты отправки (help.sap.com).
- Сохранить.
- Определение кодов видов операций.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
- Нажать кнопку Новые записи.
- Ввести код например 24, описание, например "Регистрация счетов-фактур в книге покупок".
- Сохранить.
- Присвоение кодов видов операций кодам налога.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
- Нажать кнопку Новые записи.
- Ввести БЕ, вид документа FI, код НДС, код вида операции.
- Сохранить.
- Ведение ид.текстовых объектов для входящих счетов
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
- Нажать кнопку Новые записи.
- Ввести текстовый объект BELEG, ид.внешнего номера, ид.внешней даты.
- Сохранить.
- Если текстовые ид. не заданы или соответствующие текстовые поля в документе не заполнены, номер внешнего документа берется из поля Номер ссылочного документа (BKPF-XBLNR), а дата внешнего документа — из поля Дата документа (BKPF-BLDAT).
- Настройка автоматической обработки сторнирований.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Счета-фактуры-Журнал счетов
- Нажать кнопку Новые записи.
- Ввести БЕ, причину сторно, режим удаления.
- Сохранить.
Электронное выставление счета в SPRO
- Ведение сроков. Определяется предельный срок изменения статуса документа, по истечении которого документ считается просроченным.
- Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Ведение сроков.
- Ввести вид с-ф, Статус документа эл.счета, срок, тип срока.
- Сохранить.
- Ведение правил обработки и удаления. Определяется возможность изменения и удаления документов после изменения их статуса.
- Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Ведение правил обработки и удаления.
- Нажать Новые записи.
- Ввести БЕ, статус документа эл. счета, галочки Не обрабатывать, Не удалять при необходимости.
- Сохранить.
- Ведение правил сопоставления входящих счетов. Определяется предельный срок для сопоставления электронного документа и документа в финансах. Сравниваются дата проводки в финансах и дата регистрации электронного с-ч плюс количество дней в настройке. Если дата проводки не превышает количество дней в настройке от даты регистрации электронного с-ф, то происходит сопоставление документов.
- Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Ведение правил сопоставления входящих счетов.
- Ввести БЕ, период.
- Сохранить.
- Мэппинг преобразований.
- Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Мэппинг преобразований.
- Техническое имя ракурса J_3RFV_DI_TRANF, таблица J_3RF_DI_TRANF.
- Настроить виды документов, направление, версия xml, xml-преобразование, класс преобр, метод преобр, имя типа.
- Ввести данные: Вид док 1 электронный счет, направление 1 входящий, версия 5.01, трансформация J_3RF_SFAKT, класс CL_J3RF_DIGINV_PROCESSOR, метод PROCESS_INCOMING_INVOICE, структура J_3RF_DIXML_SFAKT, pdf формуляр J_3RF_DINV.
- Ввести данные: Вид док 11 корректировочный эл.счет, направление 1 входящий, версия 5.01, трансформация J_3RF_KORSFAKT, класс CL_J3RF_DIGINV_PROCESSOR, метод PROCESS_INCOMING_CORRINV, структура J_3RF_DIXML_KORSFAKT, pdf формуляр J_3RF_DINV_CORR.
- Сохранить.
- Активировать xml-преобразования.
- Транзакция STRANS.
- Войти в преобразование.
- Нажать Проверить.
- Если выдает ошибку и ссылку на другое преобразование, то проверить, сгенерировать и активировать другое преобразование.
- В меню нажать Сгенерировать, затем Активировать.
- BADI: Электронное выставление счета.
- Проверить что BADI J_3RF_DIGITAL_INVOICE_BADI Электронное выставление счета реализован.
Электронное выставление счета в S000
- Создать основную запись поставщика через транзакцию FK01. Например Оператор ЭДО 6 .
- Присвоить операторам электронные ид.
- Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
- Нажать Новые записи.
- Ввести БЕ, код поставщика-оператора ЭДО например 6, ид. оператора например 2BE.
- Сохранить.
- Ведение электронных ид. ( Присвоение электронных ид. балансовой единице ).
- Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета-Ведение электронных ид.
- Ракурс J_3RFV_DI_CCOP.
- Нажать Новые записи.
- Ввести БЕ, оператор БЕ например 6, электронный ид. БЕ например 2BEfac73b2278e24a5e98e7605806748aff.
- Сохранить.
- Присвоить электронный ид. балансовой единице через ракурс J_3RFV_DI_PCCODE (устар).
- Это делается только потому что программа J_3RF_REGINV ищет настройки в устар. ракурсах.
- транз SE11.
- Войти на редактирование в ракурс J_3RFV_DI_PCCODE. Нажать Новые записи.
- Ввести БЕ, электронный ид. БЕ например ZUCH.
- Сохранить.
- Присвоить поставщикам электронные ид.
- Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
- Нажать Новые записи.
- Ввести БЕ, код кредитора например 1, оператора кредитора OP6, ид. кредитора например KRED1.
- Сохранить.
- Присвоить клиентам электронные ид. через ракурс J_3RFV_DI_PCUSTN.
- Меню: S000-Учет и отчетность-Финансы-Дебиторы-Система отчетности-Россия-Журнал счетов-Электронное выставление счета.
- Нажать Новые записи.
- Ввести БЕ, код дебитора например 100000, оператор клиента например OP6, электронный ид. клиента например 2BE2f68cc6e6cb243b39c774ce4d44b41ed.
- Сохранить.
- Присвоить клиентам электронные ид. через ракурс J_3RFV_DI_PCUST (устар).
- Это делается только потому что программа J_3RF_REGINV ищет настройки в устар. ракурсах.
- транз.SE11.
- Войти в ракурс J_3RFV_DI_PCUST на редактирование.
- Нажать Новые записи.
- Ввести БЕ, код дебитора например 100000, электронный ид. клиента например ZUCH100000.
- Сохранить.
Настройки 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 - Регистрация исх.счетов в журнале.
- В журнале на экране выбора необходимо нажать радиокнопку "Просмотреть список исходящих счетов".
- Ограничить выбор, ввести год, номер, и т.д.
- Запустить отчет.
- Выводится список исходящих счетов. Нажать кнопку Новый ввод (Создать запись, команда INSR).
- Выводится экран ввода документа. Ввести данные БЕ, номер исходного счета-фактуры (номер из FI), год исходного счета-фактуры (год из FI). Номер исходного счета-фактуры можно найти через средство поиска из FI. Далее вводим дату исходного счета-фактуры, внешний номер, дату поступления, формат обмена (печать, электронный), вид операции, код дебитора, валюту, сумму брутто.
- Система проверяет, что записи с таким ключом (БЕ, исходный номер, исходный год) еще не создано.
- Сохранить.
- Экран ввода документа закроется, в списке вывода появится новая строка.
- В таблицу J_3RF_REGINV_OUT добавляются новые записи, которые содержит внутр. номер, номер FI, внешний номер, БЕ, год, код дебитора и др. данные.
BADI:
Автоматический ввод исходящих счетов из Финансов
Исходящие счета-фактуры закачиваются автоматически из модуля Финансы (FI) при помощи программы печати документа.
- В FI должна быть настроена корреспонденция SAPR3, программе печати J_3RF_INV_A присвоен Ид. формуляра pdf EI . Это настраивается в меню: SPRO-Финансы-Параметры настройки Финансов-Корреспонденция.
- Запустить программу печати J_3RF_INV_A (FI). Указать ИдФормуляра EI, код корреспонденции SAPR3, БЕ, год, номер документа. При этом печати не происходит, только закачка данных в журнал.
- Документ должен появиться в журнале с-ф.
- BADI J_3R_INV_BADI метод UPDATE_DATA - изм данных в прогр печати. Входные параметры: индикатор модуля FI, id текстов, флаг новый с-ф, статус документа. Изменяемые параметры: флаг изменяемый/не изменяемый, заголовок с-ф, доп. заголовок УТД, тексты док, позиции с-ф.
- BADI J_3RF_CH_ADDR метод SHIP_TO_PARTY_ADDR - получение адреса ship-to-party. Входные параметры: балансовая единица,номер с-ф, год с-ф, позиция с-ф. Изменяемые параметры: addr_knwe - структура с адресными данными.
Автоматический ввод исходящих счетов из Сбыта
- Запись исходящего с-ф в журнал происходит при его печати из модуля Сбыт.
- Необходимо использовать программу печати из российского add-on J_3RV_INV_A.
- Стандартная программа печати RLB_INVOICE не вносит записи в журнал.
- При использовании средства вывода "Вывод на печать" происходит печать выходного документа, запись в журнале не формируется.
- При использовании средства вывода "Специальная функция" происходит запись электронного документа в журнале.
- В настройках сбыта для вида выходного документа RD00 должна быть настроено средство вывода - специальная функция, программа печати J_3RV_INV_A, подпрограмма ENTRY, pdf/смартформа пусто.
- Создание с-ф из сбыта.
- Меню: Логистика-Сбыт-Фактурирование-Фактура-Создать.
- Транзакция VF01.
- Проводка с-ф.
- Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
- Транзакция VF02.
- По меню перейти Фактура-Деблокирование для бухучета.
- Создание выходного документа для с-ф.
- Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
- Транзакция VF02.
- Ввести номер фактуры 90000002, нажать Enter.
- По меню перейти к пункту Перейти к-Заголовок-Выходные документы.
- Ввести новую строку. Вид выходного документа RD00, средство отправки 8 спец. функция, роль партнера RE получатель счета, партнер 100000. В настройках для этих параметров должна быть указана программа печати J_3RV_INV_A подпр. ENTRY.
- Сохранить.
- Автоматически запускается программа J_3RV_INV_A, подпрограмма ENTRY.
- Документ должен появиться в журнале с-ф. Номер FI с-ф равен номеру исходного с-ф в журнале.
- Печать с-ф из сбыта (повторно).
- Меню: Логистика-Сбыт-Фактурирование-Выходные документы-Вывести фактуры.
- Транзакция VF31.
- Ввести вид выходного документа RD00, средство отправки 8 спец. функция, режим обработки 2 повторная, документ фактуры 90000002.
- Запустить транзакцию.
- Поставить галочку напротив с-ф.
- Нажать Просмотр до печати (для журнала с-ф) или Обработать.
- Автоматически запускается программа J_3RV_INV_A, подпрограмма ENTRY.
- Документ должен появиться в журнале с-ф. Номер FI с-ф равен номеру исходного с-ф в журнале.
Команда Просмотреть запись
Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме просмотра. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс.
Команда Изменить запись
Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме изменения. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс. Для новых незарегистрированных документов необходимо поставить галочку Зарегистрировано. При нажатии на кнопку Сохранить обновляет эти данные в таблице J_3RF_REGINV_OUT.
Команда Удалить запись
Удаляет выделенный документ в журнале. Удаляются с-ф со статусами "пусто", "Эл. счет создан" и "Эл. счет отправлен". Удаляются также записи в архиве электронных документов, если для этого номера с-ф созданы электронные версии документа в xml формате.
Команда Create Создать с-ф xml
Описание
Создает xml для выделенных на экране исходящих счетов-фактур, используя номера документов. Возвращает список счетов-фактур с новыми статусами "Электронный счет создан", или сообщение об ошибке. Добавляет в таблицу J_3RFDI_ARC данные: заголовок, данные в формате string, xml-данные в формате hex, эл.подпись в формате hex. Изменяет статус документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.
Порядок действий:
- Запустить журнал счетов-фактур.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
- Транзакция J3RFREGINV.
- На экране выбора нажать радиокнопку просмотреть список исходящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
- Нажать Выполнить.
- Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дебитор, инн, кпп дебитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени.
- Выделить документ с пустым статусом электронного документа.
- Нажать кнопку Счет.
Алгоритм
- Формируем список фактур по котором надо сформировать xml документы, среди отмеченных записей списка берем фактуры удовлетворяющие условиям (статус: пусто/создан/подписано; типом обмена: только xml обмен; индикатор "заархивировано": пусто; индикатор "удалено": пусто). Отобранные фактуры помещаем во врем. таблицу t_out_list[]
- SET_XML_TIMESTAMP. Получаем системную дату и время.
- CL_J3RF_DI_REGINV->CREATE_XML_INVOICES (список фактур - врем. таблица t_out_list[]). Получает данные фактуры. Формирует xml документ, помещает его в таблицу J_3RFDI_ARC. Изменяет статус в таблице J_3RF_REGINV_OUT, добавляет лог в табл. J_3RF_REGINV_LOG. Возвращаемое значение: код ошибки.
- Проверяем есть ли в системе реализация BADI J_3R_REGINV_DIG_BADI, иначе ошибка.
- Перебираем список фактур и в зависимости от типа фактуры (обычная / корректировочная) запускаем разные методы получения данных из БД:
- Для обычной фактуры
- CL_J3RF_DI_REGINV->GET_INV_DATA - получаем данные обычной с-ф. Входной параметр: врем. структура ls_out запись из таблицы J_3RF_REGINV_OUT. Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур.
- Проверяем откуда пришел документ - из финансов или из сбыта. В зависимости от этого запускаем различные алгоритмы печати.
- Для сбыта анализируем схему печати, согласно техники условий для вида выходного документа RD00 и приложения V3 из таблицы настроек TNAPR получаем программу J_3RV_INV_A и подпрограмму ENTRY. Передаем в нее данные с-ф через id параметр get_sd_inv. Запускаем подпрограмму печати, печати при этом не происходит, только получение данных. Получаем данные с-ф через id параметр get_sd_inv в структуры hd_inv, it_txt, it_inv.
- Для финансов читаем настройки в таблице T048B - присвоение программы печати для корреспонденции. Для корреспонденции SAPR3 получаем программу J_3RF_INV_A и вариант SAPR3. Передаем в нее данные с-ф через id параметр get_fi_inv. Запускаем подпрограмму печати, печати при этом не происходит, только получение данных. Получаем данные с-ф через id параметр get_fi_inv в структуры hd_inv, it_txt, it_inv.
- Проверяем откуда пришел документ - из финансов или из сбыта. В зависимости от этого запускаем различные алгоритмы печати.
- CL_J3RF_DI_REGINV->PREPARE_XML_INVOICE (ls_hd_inv, lt_txt, lt_inv). По полученным данным собираем структуру специального формата для конвертации в xml. Возвращаемые значения: ls_xml_inv - временная структура с данными для создания xml.
- CL_J3RF_DIGINV_PROCESSOR->SET_STRUCT_DIVISION - получаем данные подписанта. Аргументы: ls_out - врем. строка цикла по врем.таблице it_out_entries[], тип документа счета, ключ с номером счета. Возвращаемые значения: ls_xml_inv-signatory - данные подписанта.
- BADI J_3R_REGINV_DIG_BADI->UPDATE_INV_XML (ls_hd_inv, lt_txt, lt_inv, ls_xml_inv). Можем изменить подготовленную структуру с данными для создания xml ls_xml_inv. См. пункт BADI для команды Create XML Invoice.
- Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv и lt_inv_table
- CL_J3RF_DI_REGINV->GET_INV_DATA - получаем данные обычной с-ф. Входной параметр: врем. структура ls_out запись из таблицы J_3RF_REGINV_OUT. Возвращаемое значение: ls_hd_inv - структура с заголовком счета, lt_txt - врем. таблица текстов (комментариев к документу), lt_inv - врем. таблица с позициями счетов-фактур.
- Для корректировочной фактуры - аналогично обычной фактуре.
- CL_J3RF_DI_REGINV->GET_CORRINV_DATA. В сбыте для RUCR V3 получаем подпрограмму J_3RV_CORRINV_A-ENTRY. В финансах для корреспонденции ZCORR находим подпрограмму J_3RF_CORRINV_A и вариант FICORR.
- CL_J3RF_DI_REGINV->PREPARE_XML_CORRINV.
- CL_J3RF_DIGINV_PROCESSOR->SET_STRUCT_DIVISION.
- BADI J_3R_REGINV_DIG_BADI->UPDATE_CORRINV_XML. См. пункт BADI для команды Create XML Invoice.
- Добавляем врем. структуры ls_xml_inv во врем. таблицу lt_xml_inv и lt_inv_table.
- Для обычной фактуры
- 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. Возвращает: код ошибки.
- Перебираем список, и в зависимости от операции (создать/созд и подписать/подписать) запускаем разные модули обработки.
- Для создания
- PROCESS_DOCUMENT(document-данные с-ф, l_not_transform-флаг предв. трансформ). Изменяет xml данные ls_ddx_doc. Возвращает lv_record_id - номер записи. Формирует xml документ, помещает его в таблицу J_3RFDI_ARC.
- 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. Если настройки не найдены выводим ошибку.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные с-ф ir_data, настройки ls_setting). Запуск предварительной трансформации xml (не заходит в этот метод из-за флага предв. трансформации). Изменяет cv_ddx_doc - структуру с xml-данными.
- Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные с-ф ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные с-ф cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
- Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
- Запуск метода-обработчика Х. Например CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING_INVOICE.
- CL_J3RF_DIGINV_PROCESSOR->MATCH_INT_CUSTOMER (дебитор key-kunnr). Получение ид. дебитора lv_customer_id по его коду.
- CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (БЕ). Получение ид. БЕ и адресных данных БЕ lv_company_info.
- 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.
- CL_J3RF_DIGINV_PROCESSOR->GET_OPERATOR (БЕ). Получение ид. и данных оператора. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_OPERATOR.
- CL_J3RF_DIGINV_PROCESSOR->SET_PROGRAM_INFO. Заполнение версии формата xml.
- CL_J3RF_DIGINV_PROCESSOR->SET_SIGNATURE. Заполнение данных подписанта из доп данных БЕ. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_COMPANY_INFO.
- CL_J3RF_DIGINV_PROCESSOR->GENERATE_FILENAME(sender-id, receiver-id). Генерация имени файла xml и заполнение в структуре cv_ddx_doc. Имя файла ON_SFAKT_xxx.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные с-ф ir_data, настройки ls_setting). Запуск трансформации xml и генерация xml-данных. Заполняется поле cv_ddx_doc-filedata.
- 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.
- PROCESS_DOCUMENT(document-данные с-ф, l_not_transform-флаг предв. трансформ). Изменяет xml данные ls_ddx_doc. Возвращает lv_record_id - номер записи. Формирует xml документ, помещает его в таблицу J_3RFDI_ARC.
- Для создания и подписи
- PROCESS_DOCUMENT(document-данные с-ф, l_not_transform-флаг предв. трансформ). Изменяет xml данные ls_ddx_doc. Возвращает lv_record_id - номер записи. Формирует xml документ, помещает его в таблицу J_3RFDI_ARC.
- BADI J_3RF_DIGITAL_INVOICE_BADI->SIGN. Генерация xml подписи. См. пункт BADI для команды Create XML Invoice.
- UPDATE_STORED_DOCUMENT. Обновление уже сохраненного документа в БД.
- Для подписи
- BADI J_3RF_DIGITAL_INVOICE_BADI->SIGN. Генерация xml подписи. См. пункт BADI для команды Create XML Invoice.
- UPDATE_STORED_DOCUMENT. Обновление уже сохраненного документа в БД.
- Для создания
- Заполнение таблицы статусов J_3RF_REGINV_LOG. Добавляется или обновляется статус электронного с-ф.
- Перебираем список, и в зависимости от операции (создать/созд и подписать/подписать) запускаем разные модули обработки.
- Заполнение кода ошибки как выходного параметра .
- SHOW_XML_RESULT(количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices). Выводит сообщение о результатах работы: "Х строк выделено, Y строк обработано, Z строк с ошибками".
- OUT_INV_SELECT(out_list[]-список счетов-фактур). Обновление список счетов-фактур на экране вывода .
BADI
J_3R_REGINV_DIG_BADI
- UPDATE_INV_XML - изменение структуры с данными для создания 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 пустой.
- Алгоритм.
- GET_CAPABILITIES - проверка возможности подписания, проверка настроек. Метод пустой.
- Изменение статуса электронного с-ф на Подписано.
- Получение времени подписания и имени пользователя.
- GET_SIGNER_INFO - получение данных подписавшего.
- SET_SIGNER_IN_XML - передача данных подписавшего в поле с данными для генерации xml.
- GET_SIGNATURE - Генерация xml-подписи и передача данных в структуру с данными xml ls_ddx_doc. Метод пустой.
- GET_COMPANY_INFO. Изменение адресных данных из доп данных БЕ.
- GET_OPERATOR. Изменение ид. и данных оператора.
J_3R_REGINV_BADI
- UPDATE_PRN - изменение данных при печати журнала. Входные параметры: таблица исходящих с-ф, таблица входящих с-ф. Изменяемые параметры: строка заголовка печатной формы, таблица исходящих с-ф, таблица входящих с-ф.
Команда Send Отправить с-ф xml
Описание
Выгружает файлы xml для выделенных на экране исходящих счетов-фактур в локальную папку c:\temp\outgoing. Имя файла ON_SFAKT_xxxxx.xml. Возвращает список счетов-фактур с новыми статусами "Счет отправлен" или сообщение об ошибке. Изменяет статус документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.
Порядок действий:
- Запустить журнал счетов-фактур.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
- Транзакция J3RFREGINV.
- На экране выбора нажать радиокнопку просмотреть список исходящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
- Нажать Выполнить.
- Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дебитор, инн, кпп дебитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени.
- Выделить документ со статусом "Электронный счет создан".
- Нажать кнопку Счет.
Алгоритм
- Формируем список фактур по котором надо сформировать xml. Ищем с-ф со статусом Эл.счет создан. Отобранные фактуры помещаем во врем. таблицу t_out_list[].
- SET_XML_TIMESTAMP. Получаем системную дату и время.
- CL_J3RF_DI_REGINV->SEND_XML_INVOICES. Чтение xml-данных из таблицы, формирование файла xml, выгрузка файла в локальную папку, обновление статуса документа.
- CL_J3RF_DIGINV_PROCESSOR->SEND_DATA. Чтение xml-данных из таблицы, формирование файла xml, выгрузка файла в локальную папку, обновление статуса документа.
- CL_J3RF_DI_ARCLOG->GET_XMLS_BY_KEY. Чтение xml-данных из таблицы J_3RFDI_ARC по номеру с-ф.
- BADI CL_J3RF_DIGITAL_INVOICE_BADI->SEND (xml-данные с-ф lt_documents). Формирование файла xml. Выгрузка файла в локальную папку c:\temp\outgoing.
- CL_J3RF_DIGITAL_INVOICE_BADI->GET_PATH_OUTGOING. Получение пути выгрузки. По умолчанию задано как константа c:\temp\outgoing.
- CL_J3RF_DIGINV_PROCESSOR->GET_SIGNER_INFO. Получение имени и адреса подписанта в структуру ls_signer_info.
- CL_GUI_FRONTEND_SERVICES->DIRECTORY_EXIST. Проверка что папка существует. Иначе ошибка и выход.
- CL_J3RF_DIGINV_PROCESSOR->GET_XML_ENCODING (filedata - строка xml ). Получаем вид кодировки (windows-1251) из данных xml.
- CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (lv_bukrs БЕ). Получение ид. и адресных данных отправителя.
- CL_J3RF_DIGITAL_INVOICE_BADI->GET_CAPABILITIES (lv_bukrs БЕ, lv_can_sign_in_bg). Проверка возможности подписания в фоне. Метод пустой.
- CL_J_3RF_DIGITAL_INVOICE_BADI->SIGN (doc - xml-данные). Если возможно подписание в фоне, то запуск BADI для генерации подписи по xml-данным. Смотри пункт "Команда Create Создать с-ф xml - BADI - SIGN".
- CL_J3RF_DIGINV_PROCESSOR->SET_SIGNER_IN_XML (ls_signer_info данные подписанта). Изменяет xml-данные в тэге подписанта в xml-данных doc-filedata_mod.
- Получение кодовой страницы lv_codepage.
- Замена спецсимволов для юникод систем.
- CL_J3RF_DI_ARCLOG->J_3RF_CONV_STRING_TO_XSTRING (doc-filedata_mod - xml-данные с-ф, lv_codepage - кодовая страница). Генерация строки X_STR в шестнадцатиричном формате из xml-данных c-ф.
- ФМ SCMS_XSTRING_TO_BINARY. Получение таблицы данных x_tab в шестнадцатиричном формате из строки X_STR.
- CL_GUI_FRONTEND_SERVICES->GUI_DOWNLOAD. Выгрузка файла c-ф ON_SFAKT_xxxxx.xml в локальную папку c:/temp/outgoing.
- ФМ SCMS_XSTRING_TO_BINARY. Получение таблицы данных x_tab в шестнадцатиричном формате из строки doc-signature с эл. подписью, если она заполнена.
- CL_GUI_FRONTEND_SERVICES->GUI_DOWNLOAD. Выгрузка файла эл. подписи ON_SFAKT_xxxxx.txt в локальную папку c:/temp/outgoing.
- CL_J3RF_DI_ARCLOG->GET_DOC_BY_FILENAME_XMLSTR (<fs>-bukrs БЕ, <fs>-filename имя файла, <fs>-xml_num_id). Получение из архива xml-данных с-ф по имени файла и БЕ в структуру ls_archdoc. Если не находит , то ошибка и выход.
- CL_J3RF_DI_ARCLOG->UPDATE_RECORD. Обновление xml-данных в таблице J3RFDI_ARC используя структуру ls_archdoc с xml-данными.
- CL_J3RF_DI_REGINV->SET_DOC_STATUS. Обновление статуса документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.
- CL_J3RF_DIGINV_PROCESSOR->SEND_DATA. Чтение xml-данных из таблицы, формирование файла xml, выгрузка файла в локальную папку, обновление статуса документа.
- SHOW_XML_RESULT(количество выделенных строк, количество строк во врем.таблице t_out_list[], код ошибки из create_xml_invoices). Выводит сообщение о результатах работы: "Х строк выделено, Y строк обработано, Z строк с ошибками".
- OUT_INV_SELECT(out_list[]-список счетов-фактур). Обновление список счетов-фактур на экране вывода .
BADI
- J_3RF_DIGITAL_INVOICE_BADI->SEND (xml-данные с-ф lt_documents). Формирование файла xml. Выгрузка файла в локальную папку c:\temp\outgoing.
Команда Просмотреть xml с-ф
Для выделенной записи в журнале открывает экран просмотра xml данных. Имя просматриваемого файла ON_SFAKT_xxxxx.xml. Данные читаются из таблицы J_3RFDI_ARC.
Корректировочные счета-фактуры, счета-исправления
- Для отображения корректировочного с-ф в журнале у корректировочного с-ф должны быть заполнены поля Ссылка (xblnr) и Текст позиции (sgtxt).
- В поле Ссылка заполнить номер исходного с-ф, в поле Текст позиции заполнить номер позиции исходного с-ф.
- Создать заказ вида DR/CR req, на основании заказа создать корректировочный с-ф.
- Использовать программу печати J_3RV_CORRINV_A.
Входящие счета
Загрузка электронных документов из файла
См. также пункт "Программа загрузки входящих эл. документов".
Программа загрузки входящих эл. документов загружает в систему SAP файлы из локальной папки с входящими электронными документами. Возможна загрузка подписи, если существует файл подписи с таким же именем в этой же папке.
- Для загрузки электронных документов в систему необходимо поместить файлы в папку c:/temp/incoming.
- Файлы документов должны иметь имя типа ON_SFAKT_2BEFAC73B2278E24A5E98E7605806748AFF_2BE2F68CC6E6CB243B39C774CE4D44B41ED_20151013_005056B7-7242-1ED5-9B85-EABA477D820J.xml
- Файлы подписей должны иметь такое же имя, как и документы, но иметь расширение .txt. Подписи с расширением .xml.p7s не закачиваются.
- Загрузка документов.
- Запустить программу J_3RF_DI_PROC_IN или транзакцию ZZTRJ_3RF_DI_PROC_IN.
- Заполнить поле Исходная папка c:/temp/incoming, максимальное количество файлов 20.
- Нажать Выполнить.
- Появится сообщение: х документов обработано успешно, у документов обработано с ошибками.
- В журнале документов сформируются вх.накладные / акты / счета-фактуры.
- В архиве электронных документов сформируются вх.накладные / акты / счета-фактуры и извещения о получении.
- Система создаст записи в таблицах J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для накладной, в таблицах J_3RF_REGINV_IN, J_3RFDI_ARC для счетов-фактур.
- Система сохранит следующие данные: имя файла, версия, дата, время, имя пользователя, поставщик, ид. поставщика, покупатель, ид. покупателя, БЕ, ИНН, КПП, подпись, номер, внешний номер, вид документа, статус, направление, заказ, валюта, сумма, xml-данные и др.
- Файлы будут перенесены в папку 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
После ввода входящих с-ф в журнал из файла можно связать их с уже существующими в финансах документами.
Автоматическое сопоставление:
- В документе FI в поле Ссылка (XBLNR) прописать номер с-ф.
- Этот же номер указать в файле xml.
- Запустить транзакцию J3RFINVOFFLINK.
- Сопоставление происходит автоматически.
- Нажать Сохранить.
- В журнале счетов-фактур заполнится поле Исходный счет для входящего с-ф.
Ручное сопоставление:
- Запустить транзакцию J3RFINVOFFLINK.
- Появится список загруженных из файла входящих с-ф.
- Выделить строку.
- Нажать кнопку Список релевантных документов.
- Появится экран 2, нажать кнопку Оригинал/корректировка.
- Появится экран 3, ввести данные документа: БЕ, номер, год. Нажать кнопку Выполнить.
- Появится список документов FI, найти необходимую запись, двойное нажатие на ней.
- Запись с номером с-ф добавится на экран 2, нажать ОК.
- Для выделенного с-ф произойдет сопоставление документа входящего с-ф с документом FI. Заполнится поле Исходный счет.
- Нажать Сохранить.
- В журнале счетов-фактур заполнится поле Исходный счет для входящего с-ф.
Команда Просмотреть запись
Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме просмотра. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс.
Команда Изменить запись
Для выделенного документа в журнале отображает на отдельном модальном экране данные с-ф в режиме изменения. Это данные БЕ, исходный номер с-ф, год, дата, внешний номер исх. с-ф, номер, год, дата, внешн номер корректировочного с-ф, вид операции, формат обмена, регистрация в журнале, статус эл. документа, код и наименование контрагента, инн, кпп контрагента, валюта, сумма, сумма ндс. Для новых незарегистрированных документов необходимо поставить галочку Зарегистрировано. При нажатии на кнопку Сохранить обновляет эти данные в таблице J_3RF_REGINV_OUT.
Команда Удалить запись
Удаляет выделенный документ в журнале. Удаляются с-ф со статусами "пусто", "Эл. счет получен, без регистрации" и "Извещение о получении отправлено", "Запрос на уточнение отправлен", "Запрос на уточнение обработан". Удаляются также записи в архиве электронных документов, если для этого номера с-ф созданы электронные версии документа в xml формате. Это c-ф ON_SFAKT_xxx, извещение о получении DP_IZVPOL_xxx, запрос на уточнение DP_UVUTOCH_xxx.
Команда EREQ Создать запрос на уточнение
Описание
Создает эл. документ Уведомление об уточнении со ссылкой на с-ф. В журнале счетов-фактур при этом изменяется статус уточнения на "Создано". В архиве эл. документов формируется новый документ "Уведомление об уточнении" в статусе Создано, имя файла DP_UVUTOCH. Появляются записи в таблице J_3RFDI_ARC.
Порядок действий:
- Запустить журнал счетов-фактур.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
- Транзакция J3RFREGINV.
- На экране выбора нажать радиокнопку просмотреть список входящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
- Нажать Выполнить.
- Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени, статус уточнения, вид операции.
- Выделить документ.
- Нажать кнопку Запрос.
Алгоритм (---)
Команда SNDR Отправить запрос на уточнение
Описание
Осуществляет выгрузку файла xml с данными запроса на уточнение (DP_UVUTOCH.xml) в случае отклонения с-ф. Выгрузка производится на локальный диск в папку c:/temp/outgoing. В журнале счетов-фактур и в архиве эл.документов изменяется статус запроса на уточнение на Отправлено.
Порядок действий:
- Запустить журнал счетов-фактур.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
- Транзакция J3RFREGINV.
- На экране выбора нажать радиокнопку просмотреть список входящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
- Нажать Выполнить.
- Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени, статус уточнения, вид операции.
- Выделить документ.
- Нажать кнопку Отправить запрос.
Алгоритм (---)
Команда DREQ Просмотреть запрос на уточнение
Открывает запрос на уточнение на просмотр на отдельном экране. Выводит автора, дату создания и текст запроса на уточнение.
Порядок действий:
- Запустить журнал счетов-фактур.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал счетов.
- Транзакция J3RFREGINV.
- На экране выбора нажать радиокнопку просмотреть список входящих счетов. Ввести БЕ, год, дату, номер. Нажать галочку просмотреть сохраненные.
- Нажать Выполнить.
- Отобразится список документов с данными: статус счета, БЕ, год, внутр. номер с-ф в журнале, номер исходного с-ф, внешний номер исходного с-ф, номер корректировочного с-ф, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, пользователь, метка времени, статус уточнения, вид операции.
- Выделить документ.
- Нажать кнопку Просмотреть запрос.
- Выведется модальный экран с данными об авторе, дате, и текст запроса.
- Нажать кнопку Отменить.
Команда Установить статус "запрос на уточнение обработан" (---)
Извещение о получении
При автоматическом вводе входящих с-ф из файла в журнале формируется документ с-ф. В архиве электронных счетов для номера с-ф формируется два документа: электронный счет(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
- Мэппинг преобразований.
- Меню: SPRO-Финансы-БухгДебиторовКредиторов-Бизнес операции-Параметры для стран-Россия-Счета-фактуры-Электронное выставление счета-Мэппинг преобразований.
- Техническое имя ракурса J_3RFV_DI_TRANF, таблица J_3RF_DI_TRANF.
- Настроить виды документов, направление, версия xml, xml-преобразование, класс преобр, метод преобр, имя типа.
- Ввести данные: Вид док 201 ТОРГ12 продавец, направление 2 исходящий, версия 1.01, трансформация J_3RF_TG_OTORG12, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_OUTGOING_TORG12, структура J_3RF_TGXML_OTORG12, pdf формуляр пусто.
- Ввести данные: Вид док 202 ТОРГ12 покупатель, направление 1 входящий, версия 1.01, трансформация J_3RF_TG_PTORG12, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_INCOMING_TORG12, структура J_3RF_TGXML_PTORG12, pdf формуляр пусто.
- Ввести данные: Вид док 203 Акт приемки исполнитель, направление 2 исходящий, версия 1.01, трансформация J_3RF_TG_IAKTPRM, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_OUTGOING_ACT, структура J_3RF_TGXML_IAKTPRM, pdf формуляр пусто.
- Ввести данные: Вид док 204 Акт приемки заказчик, направление 1 входящий, версия 1.01, трансформация J_3RF_TG_ZAKTPRM, класс CL_J3RF_DIGINV_PROCESSOR, метод TG_PROCESS_INCOMING_ACT, структура J_3RF_TGXML_ZAKTPRM, pdf формуляр пусто.
- Сохранить.
- Активировать xml-преобразования.
- Транзакция STRANS.
- Войти в преобразование.
- Нажать Проверить.
- Если выдает ошибку и ссылку на другое преобразование, то проверить, сгенерировать и активировать другое преобразование.
- В меню нажать Сгенерировать, затем Активировать.
Передаточные документы в SPRO
- Активировать бизнес-функции FIN_LOC_CI_33, FIN_LOC_CI_35, ???FIN_LOC_CI_40???, FIN_LOC_CI_41.
- Меню: SPRO-Активировать бизнес-функции.
- Поставить галочку напротив FIN_LOC_CI_33, FIN_LOC_CI_35, ???FIN_LOC_CI_40???, FIN_LOC_CI_41, нажать кнопку Активировать.
- Появится пункт меню: SPRO-Финансы-БухгДебКред-Бизнес операции-Параметры настройки для стран-Россия-Счета-фактуры-Электронное выставление счета.
- Появится пункт меню: SPRO-Финансы-БухгДебКред-Бизнес операции-Параметры настройки для стран-Россия-Передаточные документы.
- Появится пункт меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки.
- Присвоение диапазонов номеров вход. документов.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Присвоение диапазонов номеров вход. документов.
- Техническое имя диапазона J_3RINV.
- Ввести БЕ и нажать кнопку Ведение интервалов.
- Нажать кнопку Новый диапазон.
- Ввести номер диапазона 02, год, начальный и конечный номера.
- Сохранить.
- Определение правила сопоставления для акта приемки работ.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Определение правила сопоставления для акта приемки работ.
- Нажать кнопку Новые записи.
- Ввести БЕ ZUCH, вид документа WL отпуск материала к поставке.
- Сохранить.
- Ведение сроков. Определяется предельный срок изменения статуса документа, по истечении которого документ считается просроченным.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Ведение сроков.
- Нажать кнопку Новые записи.
- Ввести вид документа, статус документа, срок, тип срока.
- Сохранить.
- Ведение правил обработки и удаления. Определяется возможность изменения и удаления документов после изменения их статуса.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Ведение правил обработки и удаления.
- Нажать Новые записи.
- Ввести БЕ, статус документа эл. счета, галочки Не обрабатывать, Не удалять при необходимости.
- Сохранить.
- Определение периода для сопоставления документов. Определяется предельный срок для сопоставления электронного документа и документа в финансах. Сравниваются дата проводки в финансах и дата регистрации электронного с-ч плюс количество дней в настройке. Если дата проводки не превышает количество дней в настройке от даты регистрации электронного с-ф, то происходит сопоставление документов.
- Меню: SPRO-Финансы-Бухгалтерия дебиторов и кредиторов-Бизнес-операции-Параметры настройки для страны-Россия-Передаточные документы-Определение периода для сопоставления документов.
- Ввести БЕ, период.
- Сохранить.
Журнал передаточных документов в S000
- Присвоение операторам электронных ид.
- Меню S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Присвоить операторам электронные ид.
- Нажать Новые записи.
- Ввести БЕ, код поставщика-оператора ЭДО например 6, ид. оператора например 2BE.
- Сохранить.
- Присвоение клиентам электронных ид.
- Меню S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Присвоить клиентам электронные ид.
- Нажать Новые записи.
- Ввести БЕ, код дебитора например 100000, оператор клиента например OP6, электронный ид. клиента например 2BE2f68cc6e6cb243b39c774ce4d44b41ed.
- Сохранить.
- Ведение электронных ид. ( Присвоение электронных ид. балансовой единице ).
- Меню S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Ведение электронных ид.
- Нажать Новые записи.
- Ввести БЕ, оператор БЕ например 6, электронный ид. БЕ например 2BEfac73b2278e24a5e98e7605806748aff.
- Сохранить.
Исходящие передаточные документы
Автоматический ввод исходящих накладных из Сбыта
- Запись исходящей накладной в журнал происходит при ее печати.
- Необходимо использовать программу печати из российского add-on, например J_3RV_DELIV_PDF или J_3RV_DELIV_PDF.
- Стандартная программа RLE_DELNOTE не вносит записи в журнал.
- При использовании средства вывода "Вывод на печать" происходит печать выходного документа, запись в журнале не формируется.
- При использовании средства вывода "Специальная функция" происходит запись электронного документа в журнале.
- В настройках сбыта для вида выходного документа LD00 должно быть настроено средство вывода - специальная функция, программа печати J_3RV_DELIV_PDF, подпрограмма ENTRY, pdf/смартформа пусто.
- Создать исходящую поставку из сбыта.
- Меню: Логистика-Сбыт-Отгрузка и транспортировка-Исходящая поставка-Создать-Отдельный документ-Со ссылкой на заказ клиента.
- Транзакция VL01N.
- Ввести пункт отгрузки, например Z010, и номер заказа, например 7. Нажать Enter.
- Проверить данные, нажать Сохранить.
- Создать выходной документ для поставки.
- Меню: Логистика-Сбыт-Отгрузка и транспортировка-Исходящая поставка-Изменить-Отдельный документ.
- Транзакция VL02N.
- Ввести номер поставки и нажать Enter.
- Перейти по меню Дополнительная информация-Выходные документы поставки-Заголовок.
- Ввести новые записи: Вид выходного документа - LD00, Средство - специальная функция, Роль партнера - WE получатель материала, Партнер например 100000.
- Нажать кнопку Доп.данные.
- Выбрать момент отправки Немедленная отправка.
- Сохранить.
- Автоматически запускается программа J_3RV_DELIV_PDF, подпрограмма ENTRY.
- Документ должен появиться в журнале.
Автоматический ввод исходящих актов из Сбыта (!!!не работает!!!)
- !!!Примечание!!!. Программа J_3RV_TORG12_BIL дает ошибку "Обновление прервано". FUGR 'V60A' FM 'RV_INVOICE_DOCUMENT_ADD' FM 'RV_INVOICE_REFRESH'. При замене на J_3RV_INV_A все работает.
- Запись исходящих актов в журнал происходит при его печати.
- В стандартной системе не предусмотрен ввод и печать актов. Данные берутся из с-ф, для печати необходимо использовать программу печати из российского add-on J_3RV_TORG12_BIL.
- При использовании средства вывода "Вывод на печать" происходит печать выходного документа, запись в журнале не формируется.
- При использовании средства вывода "Специальная функция" происходит запись электронного документа в журнале.
- В настройках сбыта необходимо создать свой вид выходного документа RDRU - акт, должно быть настроено средство вывода - специальная функция, программа печати J_3RV_TORG12_BIL, подпрограмма ENTRY, pdf/смартформа пусто.
- Создание с-ф из сбыта.
- Меню: Логистика-Сбыт-Фактурирование-Фактура-Создать.
- Транзакция VF01.
- Проводка с-ф.
- Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
- Транзакция VF02.
- По меню перейти Фактура-Деблокирование для бухучета.
- Создание выходного документа для с-ф.
- Меню: Логистика-Сбыт-Фактурирование-Фактура-Изменить.
- Транзакция VF02.
- Ввести номер фактуры 90000002, нажать Enter.
- По меню перейти к пункту Перейти к-Заголовок-Выходные документы.
- Ввести новую строку. Вид выходного документа RDRU, средство отправки 8 спец. функция, роль партнера RE получатель счета, партнер 100000. В настройках для этих параметров должна быть указана программа печати J_3RV_TORG12_BIL подпр. ENTRY.
- Сохранить.
- Автоматически запускается программа J_3RV_TORG12_BIL, подпрограмма ENTRY.
- Документ должен появиться в журнале с-ф. Номер FI с-ф равен номеру исходного с-ф в журнале.
Команда ETORG Создать xml (---)
Команда SGNI Подписать (---)
Команда SNDI Отправить
Описание
Аналогично пункту "Исходящие с-ф - Отправить".
Выгружает файлы xml для выделенных на экране исходящих накладных в локальную папку c:\temp\outgoing. Имя файла DP_OTORG12_xxxxx.xml. Возвращает список накладных с новыми статусами "Отправлен" или сообщение об ошибке. Изменяет статус документа в таблицах БД J_3RF_RGTORG_OUT, J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.
Порядок действий:
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- Ввести БЕ. Нажать радиокнопку Просмотреть исходящие документы.
- Нажать Выполнить.
- Отобразится список документов.
- Выделить документ со статусом "Документ создан".
- Нажать кнопку Отправить.
Алгоритм (---)
Команда DXML Просмотреть xml-данные
Открывает файл xml накладной на просмотр. Порядок действий:
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- Ввести БЕ. Нажать радиокнопку Просмотреть исходящие документы.
- Нажать Выполнить.
- Отобразится список документов.
- Выделить документ.
- Нажать кнопку Просмотр XML.
- Появится экран с xml-данными накладной.
- Нажать кнопку Назад.
Входящие передаточные документы
Загрузка электронных документов из файла
См. также пункт "Cтандартные электронные документы - Программа загрузки входящих эл. документов".
Программа загрузки входящих эл. документов загружает в систему SAP файлы из локальной папки с входящими электронными документами. Возможна загрузка подписи, если существует файл подписи с таким же именем в этой же папке.
- Для загрузки электронных документов в систему необходимо поместить файлы в папку c:/temp/incoming.
- Файлы документов должны иметь имя типа DP_OTORG12_2BEFAC73B2278E24A5E98E7605806748AFF_2BE2F68CC6E6CB243B39C774CE4D44B41ED_20151013_005056B7-7242-1ED5-9B85-EABA477D820J.xml
- Файлы подписей должны иметь такое же имя, как и документы, но иметь расширение .txt. Подписи с расширением .xml.p7s не закачиваются.
- Загрузка документов.
- Запустить программу J_3RF_DI_PROC_IN или транзакцию ZZTRJ_3RF_DI_PROC_IN.
- Заполнить поле Исходная папка c:/temp/incoming, максимальное количество файлов 20.
- Нажать Выполнить.
- Появится сообщение: х документов обработано успешно, у документов обработано с ошибками.
- В журнале документов сформируются вх.накладные / акты / счета-фактуры.
- В архиве электронных документов сформируются вх.накладные / акты / счета-фактуры и извещения о получении.
- Система создаст записи в таблицах J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для накладной, в таблицах J_3RF_REGINV_IN, J_3RFDI_ARC для счетов-фактур.
- Система сохранит следующие данные: имя файла, версия, дата, время, имя пользователя, поставщик, ид. поставщика, покупатель, ид. покупателя, БЕ, ИНН, КПП, подпись, номер, внешний номер, вид документа, статус, направление, заказ, валюта, сумма, xml-данные и др.
- Файлы будут перенесены в папку c:/temp/incoming/processed при успешной загрузке, и в папку c:/temp/incoming/failed при ошибке.
Создание поступления материала на основании вх. накладной
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
- Нажать Выполнить.
- Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
- Выделить запись. Нажать кнопку Изменить.
- На экране 2 нажать кнопку Поступление материала.
- Появится экран 3 - поступление материала к заказу, транзакция migo.
- Основные данные уже заполнены: заказ, номенклатура. Ввести данные: дата, количество, другие данные.
- Нажать Проверить, потом Сохранить.
- К заказу проводится поступление материала.
- На экране 2 заполнятся поля Документ материала и Год. Ссылка на документ заполнится в журнале.
- Нажать Сохранить.
Создание входящего счета-фактуры на основании вх. накладной
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
- Нажать Выполнить.
- Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
- Выделить запись. Нажать кнопку Изменить.
- На экране 2 нажать кнопку Счет.
- Появится экран 3 - создание входящего с-ф, транзакция miro.
- Основные данные уже заполнены: кредитор, заказ, номенклатура. Ввести данные: сумма, поставить галку Расчет налога. Для автоматического сопоставления с-ф с журналом с-ф внешний номер (поле Ссылка) должен совпадать с номером в xml-документе с-ф (поле НомерСчФ).
- Нажать Сохранить(Проводка).
- К заказу проводится входящий с-ф.
- На экране 2 заполнятся поля № Документа счета и Год документа счета. Ссылка на документ заполнится в журнале передаточных документов.
- Нажать Сохранить.
- В журнале изменится статус с-ф на "Нет записей в журнале счетов". Это означает что счет в системе проведен, но необходимо связать его с журналом счетов-фактур при помощи программы "Сопоставление электронных счетов-фактур с FI".
Команда PTORG Принять (создание титула покупателя)
Описание
Создает документ титул покупателя и генерирует xml для входящей накладной. Формирует новый документ в архиве электронных документов с именем DP_OTORG12_xxx, относящийся к номеру данной накладной .
Порядок действий:
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
- Нажать Выполнить.
- Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
- Выделить документ.
- Нажать кнопку Принять.
- В журнале передаточных документов изменится статус накладной с "Документ получен" на "Документ приемки создан".
- В архиве эл. документов сформируется новый документ "Титул покупателя". Имя файла DP_PTORG12_xxx. Появятся записи в таблицах J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.
Алгоритм
- J_3RF_REGTORG-REJECT_OR_CONFIRM_TITLE (iv_doc_type тип док, iv_get_text - пустой). Обработка нажатия кнопки на экране. Создание документа Титул покупателя.
- J_3RF_REGTORG-SET_XML_TIMESTAMP. Получение времени и даты.
- J_3RF_REGTORG-GET_ACT_LINE_NUM_TAB. Получение номеров выделенных строк на экране. Если ничего не выделено, то сообщение и выход из подпрограммы.
- Чтение строк во внут таблице документов gt_reg_in по номеру строки. Проверка статуса документов. Передача выделенных строк в внут табл lt_in_tab - данные заголовка накладной.
- CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_JOURNAL_IN (lt_in_tab внут табл с данными заголовков накладных, iv_doc_type тип док, iv_get_text - пустой, i_create_xml = Х). Возвращает код l_ok. Создание документа Титул покупателя.
- Несколько сценариев: i_create_journal - создать запись в журнале, i_create_xml - создать xml, i_send - отправить xml, i_view_xml - просмотр / печать xml.
- Заходит в ветку i_create_xml = 'X' создать xml.
- Цикл по таблице lt_in_tab данные заголовка накладной.
- CL_J3RF_DIGINV_PROCESSOR->TG_CREATE_BUYER_TITLE (ls_in_line строка данных заголовка документа). Получает структуру ls_xml_ptorg с данными титула покупателя и структуру ls_xml_zakt с данными акта на основе данных накладной / акта.
- CL_J3RF_DIGINV_PROCESSOR->TG_XML_TO_STRUCTURE(ls_xml_key внутр номер накл, j3rdx_dxd_torg_type_in тип документа торг12). Чтение xml данных накладной. Получает указатель lr_data типа j_3rf_tgxml_otorg12 на данные накладной.
- CL_J3RF_DIGINV_PROCESSOR->GET_SIGNER_INFO(ls_signer_info). Получение данных подписанта для формируемого документа.
- CL_J3RF_TG_JOURNAL->OTORG12_TO_PTORG12 (<fs_xml_otorg> данные накладной). Получение ls_xml_ptorg - данных титула покупателя на основе данных накладной.
- CL_J3RF_TG_JOURNAL->SET_GOODS_RECEIVER (i_regtorg_in заголовок накл, ls_signer_info данные подписанта, ls_xml_ptorg - данные титула покупателя). Заполнение данных получателя в титуле покупателя.
- Подготовка внутр.табл. ls_table с данными титула покупателя. Заполнение данных тип документа, кредитор.
- CL_J3RF_DIGINV_PROCESSOR->TG_CREATE_BUYER_TITLE (ls_in_line строка данных заголовка документа). Получает структуру ls_xml_ptorg с данными титула покупателя и структуру ls_xml_zakt с данными акта на основе данных накладной / акта.
- CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING(lt_table данные титула покупателя, create_only операция создать). Возвращает код ошибки lv_error. Генерация xml на основе данных титула покупателя.
- Цикл по внут табл it_inv_table - данные титула покупателя.
- Выполняет для каждого документа один из трех сценариев: 1 создание, 2 создание и подпись, 3 подпись.
- Выполняется сценарий 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.
- 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. Если настройки не найдены выводим ошибку.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные титула покупателя ir_data, настройки ls_setting). Запуск предварительной трансформации xml (не заходит в этот метод из-за флага предв. трансформации). Изменяет cv_ddx_doc - структуру с xml-данными.
- Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные с-ф ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные с-ф cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
- Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
- Запуск метода-обработчика Х. Например CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_OUTGOING_TORG_BUYTL.
- CL_J3RF_DIGINV_PROCESSOR->GET_CCODE (receiver-id ид.получателя). Получение БЕ по ид.получателя.
- 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.
- CL_J3RF_DIGINV_PROCESSOR->GET_OPERATOR (БЕ). Получение ид. и данных оператора. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_OPERATOR.
- CL_J3RF_DIGINV_PROCESSOR->SET_PROGRAM_INFO. Заполнение версии формата xml.
- CL_J3RF_DIGINV_PROCESSOR->SET_SIGNATURE. Заполнение данных подписанта из доп данных БЕ. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_COMPANY_INFO.
- CL_J3RF_DIGINV_PROCESSOR->GENERATE_FILENAME(sender-id, receiver-id). Генерация имени файла xml и заполнение в структуре cv_ddx_doc. Имя файла DP_PTORG12_xxx.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные тит покупателя ir_data, настройки ls_setting). Запуск трансформации xml и генерация xml-данных. Заполняется поле cv_ddx_doc-filedata.
- 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.
- CL_J3RF_TG_FILES->ADD_FILE. (filedata, signature). Добавление записей в табл БД.
- CL_J3RF_TG_JOURNAL->SET_DOC_STATUS. Изменение статуса накладной в журнале.
- 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.
- Цикл по внут табл it_inv_table - данные титула покупателя.
- Вывод сообщения, либо ошибки на основании флага l_ok.
Команда NOCXMLTXT Отклонить с претензией
Описание
Создает эл. документ Уведомление об уточнении со ссылкой на накладную. В журнале передаточных документов при этом изменяется статус накладной на "Документ отклонения создан". В архиве эл. документов формируется новый документ "Уведомление об уточнении", имя файла DP_UVUTOCH. Появляются записи в таблицах J_3RF_RGTORG_IFS, J_3RF_RGTORG_FS1.
Порядок действий:
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- На экране выбора ввести БЕ, нажать радиокнопку Просмотреть входящие документы, ввести кредитора, дату, номер, поставить галку Просмотреть статус счета.
- Нажать Выполнить.
- Отобразится список документов с данными: статус накладной, статус счета, БЕ, год, номер документа в журнале, внешний номер документа, вид документа, дата документа, дата получения, кредитор, инн, кпп кредитора, сумма, сумма ндс, сумма с ндс, номер заказа, дата заказа, статус ЭДО, пользователь, метка времени.
- Выделить документ.
- Нажать кнопку Отклонить с претензией.
- Заполнить на экране текст претензии.
- Нажать кнопку Сохранить.
Алгоритм
- J_3RF_REGTORG-REJECT_OR_CONFIRM_TITLE (iv_doc_type тип док, iv_get_text флаг "с текстом"). Обработка нажатия кнопки на экране. Создание документа Уведомление об уточнении.
- J_3RF_REGTORG-SET_XML_TIMESTAMP. Получение времени и даты.
- J_3RF_REGTORG-GET_ACT_LINE_NUM_TAB. Получение номеров выделенных строк на экране. Если ничего не выделено, то сообщение и выход из подпрограммы.
- Чтение строк во внут таблице документов gt_reg_in по номеру строки. Проверка статуса документов. Передача выделенных строк в внут табл lt_in_tab - данные заголовка накладной.
- CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_JOURNAL_IN (lt_in_tab внут табл с данными заголовков накладных, iv_doc_type тип док, iv_get_text флаг "получить текст", i_create_xml = Х операция создать). Возвращает код l_ok. Создание документа Уведомление об уточнении.
- Заходит в ветку i_create_xml = 'X' для создания xml.
- Цикл по таблице lt_in_tab данные заголовка накладной.
- CL_J3RF_DIGINV_PROCESSOR->TG_CREATE_CLARIF_NOTE (ls_in_line строка данных заголовка документа). Получает структуру ls_xml_clarif с данными уведомления об уточнении на основе данных накладной.
- CL_J3RF_DIGINV_PROCESSOR->TG_XML_TO_STRUCTURE(ls_xml_key внутр номер накл, j3rdx_dxd_torg_type_in тип журнала). Чтение xml данных накладной. Получает указатель lr_data типа j_3rf_tgxml_otorg12 на данные накладной.
- CL_J3RF_TG_JOURNAL->GET_DEFAULT_CLARIF_TEXT (ls_in_line строка данных заголовка документа). Получает текст по умолчанию для уведомления об уточнении в поле ls_xml_clarif-note. Используется BADI.
- J_3RF_TGXML_ACT->GET_DEFAULT_CLARIF_TEXT. BADI получения текста по умолчанию, не реализован.
- Если флаг iv_get_text "с текстом" установлен, то запуск модального экрана для ввода текста.
- ФМ J_3RF_TGXML_GET_CUSTOMER_TEXT (i_doc_type - вид документа уведомление об уточнении). Вывод модального экрана. Получение строки текста претензии ls_xml_clarif-note.
- Перенос данных уведомления об уточнении из ls_xml_clarif во внут табл lt_table.
- CL_J3RF_DIGINV_PROCESSOR->TG_CREATE_CLARIF_NOTE (ls_in_line строка данных заголовка документа). Получает структуру ls_xml_clarif с данными уведомления об уточнении на основе данных накладной.
- CL_J3RF_DIGINV_PROCESSOR->PROCESS_OUTGOING (lt_table данные уведомления об уточнении, create_only операция создать). Возвращает код ошибки lv_error. Генерация xml на основе данных уведомления об уточнении.
- Цикл по таблице it_inv_table с данными уведомления об уточнении.
- Подготовка структуры xml-данных уведомления об уточнении ls_ddx_doc.
- Выполняет для каждого документа один из трех сценариев: 1 создание, 2 создание и подпись, 3 подпись.
- Выполняется сценарий 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.
- 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. Если настройки не найдены выводим ошибку.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные титула покупателя ir_data, настройки ls_setting). Запуск предварительной трансформации xml (не заходит в этот метод из-за флага предв. трансформации). Изменяет cv_ddx_doc - структуру с xml-данными.
- Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные док ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные док cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
- Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
- Запуск метода-обработчика Х. Например CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_OUTGOING_UOU.
- CL_J3RF_DIGINV_PROCESSOR->GET_CCODE (member-id ид.получателя). Получение bukrs БЕ по ид.получателя в накладной.
- CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (bukrs БЕ, operator). Получает данные БЕ, инн, кпп и тд. в структуру lv_tgcompany_info.
- CL_J3RF_DIGINV_PROCESSOR->GET_VENDOR_INFO (bukrs БЕ, lifnr контрагент). Получает данные контрагента в структуру sender.
- CL_J3RF_DIGINV_PROCESSOR->SIGNATURE_TO_XML (bukrs БЕ, recv_file имя перв файла, filename имя файла xml). Поиск подписи первоначального файла recv_di_sign???
- 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.
- CL_J3RF_DIGINV_PROCESSOR->GET_OPERATOR (БЕ). Получение ид. и данных оператора. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_OPERATOR.
- CL_J3RF_DIGINV_PROCESSOR->SET_PROGRAM_INFO. Заполнение версии формата xml.
- CL_J3RF_DIGINV_PROCESSOR->SET_SIGNATURE. Заполнение данных подписанта из доп данных БЕ. Внутри запускается BADI J_3RF_DIGITAL_INVOICE_BADI->GET_COMPANY_INFO.
- CL_J3RF_DIGINV_PROCESSOR->GENERATE_FILENAME(sender-id, receiver-id). Генерация имени файла xml и заполнение в структуре cv_ddx_doc. Имя файла DP_UVUTOCH_xxx.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_TO_XML (данные ув. об уточн. ir_data, настройки ls_setting). Запуск трансформации xml и генерация xml-данных. Заполняется поле cv_ddx_doc-filedata.
- 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.
- CL_J3RF_TG_FILES->ADD_FILE. (filedata, signature). Добавление записей в табл БД.
- CL_J3RF_TG_JOURNAL->SET_DOC_STATUS. Изменение статуса накладной в журнале.
- 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.
- Цикл по таблице it_inv_table с данными уведомления об уточнении.
- Вывод сообщения, либо ошибки на основании флага 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.
Порядок действий:
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- Ввести БЕ. Нажать радиокнопку Просмотреть входящие документы. Установить галочку Просмотреть статус счета.
- Нажать Выполнить.
- Отобразится список документов.
- Выделить документ.
- Нажать кнопку Отправить.
Алгоритм отправки титула покупателя (+--)
- J_3RF_REGTORG-XML_IN_SEND. Обработка нажатия кнопки Отправить на экране. Создание файла xml в локальной папке. Обновление статуса накладной в журнале.
- J_3RF_REGTORG-SET_XML_TIMESTAMP. Получение времени и даты.
- J_3RF_REGTORG-GET_ACT_LINE_NUM_TAB. Получение номеров выделенных строк LT_ROWS на экране. Если ничего не выделено, то сообщение и выход из подпрограммы.
- Чтение строк во внут таблице документов gt_reg_in по номеру строки. Передача выделенных строк в внут табл lt_in_tab - данные заголовка накладной.
- CL_J3RF_DIGINV_PROCESSOR->TG_PROCESS_JOURNAL_IN (lt_in_tab внут табл с данными заголовков накладных, i_send = Х операция отправить). Возвращает код l_ok. Выгрузка файла xml Титул покупателя в локальную папку.
- Несколько сценариев: i_create_journal - создать запись в журнале, i_create_xml - создать xml, i_send - отправить xml, i_view_xml - просмотр / печать xml.
- Заходит в ветку i_send = 'X' отправить.
- Формируем список всех созданных в системе файлов для накладной (накладная, титул покупателя, уведомление об уточнении, извещение о получении) в табл lt_keys.
- CL_J3RF_DIGINV_PROCESSOR->TG_SEND_DATA (lt_keys список док, тип журнала, i_sign_xml=' ' флаг подписать). Возвращает результат l_sent, ошибка l_errors. Выгрузка файла xml в локальную папку. Обновление статусов в журнале.
- Если нет документов для отправки, то сообщение и выход.
- CL_J3RF_DIGINV_PROCESSOR->GET_IFS_BY_KEY(lt_documents список док). Получает xml-данные титула покупателя в lt_documents.
- J_3RF_DIGITAL_INVOICE_BADI->SEND (lt_documentsсписок док). Запуск BADI для отправки док.
- CL_J3RF_DIGITAL_INVOICE_BADI->GET_PATH_OUTGOING. Получение пути выгрузки. По умолчанию задано как константа c:\temp\outgoing.
- CL_J3RF_DIGINV_PROCESSOR->GET_SIGNER_INFO. Получение имени и адреса подписанта в структуру ls_signer_info.
- CL_GUI_FRONTEND_SERVICES->DIRECTORY_EXIST. Проверка что папка существует. Иначе ошибка и выход.
- CL_J3RF_DIGINV_PROCESSOR->GET_XML_ENCODING (filedata - строка xml ). Получаем вид кодировки (windows-1251) из данных xml.
- CL_J3RF_DIGINV_PROCESSOR->GET_COMPANY_INFO (lv_bukrs БЕ). Получение ид. и адресных данных отправителя.
- CL_J3RF_DIGITAL_INVOICE_BADI->GET_CAPABILITIES (lv_bukrs БЕ, lv_can_sign_in_bg). Проверка возможности подписания в фоне. Метод пустой.
- CL_J_3RF_DIGITAL_INVOICE_BADI->SIGN (doc - xml-данные). Если возможно подписание в фоне, то запуск BADI для генерации подписи по xml-данным. Смотри пункт "Команда Create Создать с-ф xml - BADI - SIGN".
- CL_J3RF_DIGINV_PROCESSOR->SET_SIGNER_IN_XML (ls_signer_info данные подписанта). Изменяет xml-данные в тэге подписанта в xml-данных doc-filedata_mod.
- Получение кодовой страницы lv_codepage.
- Замена спецсимволов для юникод систем.
- CL_J3RF_DI_ARCLOG->J_3RF_CONV_STRING_TO_XSTRING (doc-filedata_mod - xml-данные с-ф, lv_codepage - кодовая страница). Генерация строки X_STR в шестнадцатиричном формате из xml-данных c-ф.
- ФМ SCMS_XSTRING_TO_BINARY. Получение таблицы данных x_tab в шестнадцатиричном формате из строки X_STR.
- CL_GUI_FRONTEND_SERVICES->GUI_DOWNLOAD. Выгрузка файла c-ф ON_SFAKT_xxxxx.xml в локальную папку c:/temp/outgoing.
- CL_J3RF_TG_FILES->UPDATE_FILE (ls_key номер тит покупателя, status статус, filedata_mod xml данные). Обновление статуса и данных титула покупателя в архиве эл. документов.
- CL_J3RF_DI_REGINV->SET_DOC_STATUS. Обновление статуса документа в таблицах J_3RF_REGINV_OUT, J_3RF_REGINV_LOG.
- Обновление списка на экране вывода .
Команда DXML Просмотреть xml-данные
Открывает файл xml накладной на просмотр. Порядок действий:
- Запустить журнал передаточных документов.
- Меню: S000-Учет и отчетность-Финансы-Кредиторы-Система отчетности-Россия-Журнал документов поставки и приемки-Извещение:журнал документов.
- Транзакция J3RFREGTORG.
- Ввести БЕ. Нажать радиокнопку Просмотреть входящие документы. Установить галочку Просмотреть статус счета.
- Нажать Выполнить.
- Отобразится список документов.
- Выделить документ.
- Нажать кнопку Просмотр XML.
- Появится экран с xml-данными накладной.
- Нажать кнопку Назад.
Извещение о получении
При автоматическом вводе входящих накладных из файла в журнале формируется документ эл. накладная. В архиве электронных документов для номера накладной формируется два документа: электронная накладная с именем файла 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. Возможна загрузка подписи, если существует файл подписи с таким же именем в этой же папке.
Результат
- Создание новых записей счетов-фактур в журнале счетов-фактур.
- Создание новых записей передаточных документов в журнале передаточных документов.
- Создание новых записей счетов-фактур, передаточных документов, извещений о получении в архиве электронных документов.
- Помещает данные в таблицы J_3RF_RGTORG_IN, J_3RF_RGTORG_FS1, J_3RF_RGTORG_IFS для накладных.
- Помещает данные в таблицы J_3RF_REGINV_IN, J_3RFDI_ARC для счетов-фактур.
- Перенос удачно обработанных файлов и эл. подписей в папку c:/temp/incoming/proccessed.
- Перенос неудачно обработанных файлов в папку c:/temp/incoming/failed.
- Неудачно обработанные файлы подписи остаются в папке c:/temp/incoming.
Примечание:
Для привязки входящей накладной и с-ф к исходящему заказу информация берется из тега Информационное поле стоки - <ИнфПолСтр>.Пример заполнения: ИнфПолСтр="EXT_EBELN=4500015407##EXT_EBELP=000010##EXT_BEDAT=20141216". EXT_EBELN - номер заказа. EXT_EBELP=000010 - это номер позиции заказа. EXT_BEDAT=20141216" - Дата заказа.
Алгоритм
- J_3RF_DIGITAL_INVOICE_BADI->SET_PATH. Получение пути к файлам. По умолчанию задано c:/temp/incoming.
- CL_J3RF_DIGINV_PROCESSOR->PROCESS_INCOMING. Чтение файла xml, обработка xml, сохранение данных в таблицах.
- J_3RF_DIGITAL_INVOICE_BADI->RECEIVE. Загрузка файлов из локальной папки.
- Загрузка всех файлов в указанной папке.
- Формирование таблицы с файлами.
- Подготовка внутренней таблицы с xml-данными lt_incoming_doc.
- Сопоставление файла с файлом-подписью и с файлом-приложением(скан-копия). Формирование трех таблиц: файлы xml, файлы-подписи, файлы-приложения.
- Примечание!!!. Для корректной закачки эл. подписи необходимо, чтобы файл подписи имел имя например "DP_OTORG12.txt". Имя "DP_OTORG12.xml.p7s" не подходит.
- J_3RF_DIGITAL_INVOICE_BADI->PREPROCESS. Изменение внутренней таблицы с xml-данными lt_incoming_doc.
- CL_J3RF_DIGINV_PROCESSOR->DETERMINE_DOCUMENT_TYPE. Определение типа документа (с-ф, накладная). Заполнение внутренней таблицы с xml-данными lt_incoming_doc.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_FROM_XML (lv_settings настройки, cs_document xml-данные). Запуск трансформации J_3RF_DI_DOCTYPE, получение данных документа в структуру lr_data типа J_3RF_DIXML_DOCTYPE. Получение версии xml, кода КНД, ид. получателя.
- CL_J3RF_DIGINV_PROCESSOR->FILENAME_KND_TO_DOCTYPE. Получение типа документа по КНД и префиксу имени файла. Читает внутр. таблицу с префиксами имени, КНД и типом документов. Если не находит, то пытается получить его в BADI.
- J_3RF_DIGITAL_INVOICE_BADI->DETERMINE_DOCUMENT_TYPE. Запуск BADI. Метод реализован, но пустой.
- Если тип документа не определен, то ошибка и выход.
- 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 для счетов-фактур.
- 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. Если настройки не найдены выводим ошибку.
- CL_J3RF_DIGINV_PROCESSOR->TRANSFORM_FROM_XML (cv_ddx_doc структура с xml-данными, настройки ls_setting). Запуск трансформации. Получает данные документа ir_data.
- Передача параметров для запуска метода-обработчика Х, полученного из настроек. Входные параметры: данные с-ф ir_data, настройки xml-трансформации и метода-обработчика iv_ddx_setting. Изменяемые параметры: xml данные с-ф cv_ddx_doc. Выходные параметры: номер записи ev_record_id.
- Проверка, что метод-обработчик Х, полученный из настроек, существует, иначе сообщение об ошибке.
- 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.
- CL_J3RF_DIGINV_PROCESSOR->GET_CCODE. Получение БЕ по ид. получателя receiver-id. Если не находим, то ошибка.
- CL_J3RF_DIGINV_PROCESSOR->MATCH_EXT_VENDOR. Получение кода кредитора sap по ид. отправителя sender-id. Если не находим, то ошибка.
- CL_J3RF_DIGINV_PROCESSOR->CHECK_DOC_BY_FILENAME (bukrs БЕ, filename внешнее имя файла, lifnr кредитор). Проверка что такой файл еще не закачан. Если в таблице J_3RF_RGTORG_IFS нет записи с таким именем файла и БЕ, то ок. Если есть запись с таким именем файла и БЕ, и кредитор тот же, то ошибка и выход.
- Имя файла из тэга <ИдФайл> в файле не проверяется. ИНН, КПП кредитора из файла не проверяются и закачиваются в журнал. ИНН, КПП получателя и плательщика из файла не проверяются. ИНН, КПП оператора из файла не проверяются.
- CL_J3RF_TG_JOURNAL->IN_XML_TORG12. Запись данных в таблицу журнала входящих накладных J_3RF_RGTORG_IN. Изменение структуры с данными документа <fs_dx_tg>.
- CL_J3RF_TG_JOURNAL->GET_OTORG_EXDATA (ls_rgtorg_in данные документа, l_xml данные документа). Получение номера и даты накладной из l_xml. Ранее эти данные получены из тэга <ТН ДатаТН="08.10.2015" НомТН="14">.
- CL_J3RF_TG_JOURNAL->GET_PO_DATA (ls_rgtorg_in данные документа, l_xml данные документа). Получение номера заказа po_num и даты po_date из l_xml. Ранее эти данные получены из тэга <Таблица>, <СвТов>, <ИнфПолСтр="EXT_EBELN=4500000004##EXT_BEDAT=20151008"/>.
- CL_J3RF_TG_JOURNAL->IN_CREATE_JOURNAL (ls_rgtorg_in данные документа). Создание записи в журнале накладных в таблице J_3RF_RGTORG_IN.
- Проверка. Если в таблице уже существует запись с таким БЕ, кредитором, номером накладной, то ошибка и выход.
- CL_J3RF_TG_JOURNAL->CHECK_AUTHORITY. Проверка прав на объект J_3RF_REGT журнал, операция edit 23. Проверка прав на объект F_BKPF_BUK БЕ, операция просмотр 03.
- J_3RF_TRANSF_01->GET_TIMESTAMP. Получение метки времени и даты.
- CL_J3RF_TG_JOURNAL->GET_NEXT_NUMBER. Генерация нового номера документа в журнале.
- Создание записи в журнале накладных в таблице J_3RF_RGTORG_IN.
- 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.
- J_3RF_DIGITAL_INVOICE_BADI->COMPLETE_RECEIVING. Перенос удачно обработанных файлов и эл. подписей в папку c:/temp/incoming/proccessed. Перенос неудачно обработанных файлов в папку c:/temp/incoming/failed. Поиск файлов в папке осуществляется по данным из тэга <ИдФайл> из данных xml. Если внешнее имя файла не совпадает с тэгом <ИдФайл> в файле, то данные закачиваются, но файл не переносится в другую папку, т.к. не найден. Неудачно обработанные файлы подписи остаются в папке c:/temp/incoming.
- J_3RF_DIGITAL_INVOICE_BADI->RECEIVE. Загрузка файлов из локальной папки.
- Сообщение: x файлов обработано, y удачно, z с ошибками.
BADI
- J_3RF_DIGITAL_INVOICE_BADI->SET_PATH
- J_3RF_DIGITAL_INVOICE_BADI->RECEIVE
- J_3RF_DIGITAL_INVOICE_BADI->PREPROCESS
- J_3RF_DIGITAL_INVOICE_BADI->DETERMINE_DOCUMENT_TYPE
- 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 - индекс документов
+структура каждой таблицы