Расширение для «1С:Управление нашей фирмой», позволяющее загружать внешние XML-файлы электронного поручения экспедитору, создавать по ним исходящие ЭПЭ, выгружать сформированный ЭПЭ в XML, а также заменять основной XML уже созданного исходящего документа ЭДО до его подписания и отправки.
Поддерживается формат:
- электронное поручение экспедитору — ЭПЭ;
- титул клиента — ЭПЭ_Титул1;
- имя файла — ON_POREXPKLT;
- КНД — 1110486;
- версия формата — 5.01;
- внутренний формат 1С — EPE.
Типовая конфигурация не изменяется. Решение поставляется в виде расширения.
Для чего предназначено расширение
Типовой механизм УНФ позволяет сформировать ЭПЭ из документа учета и отправить его через ЭДО/ГИС ЭПД, но не предоставляет удобного штатного сценария создания исходящего ЭПЭ по XML, полученному из внешней транспортной или логистической системы.
Расширение добавляет следующие возможности:
- Создание нового электронного поручения экспедитору по готовому XML.
- Загрузка XML-шаблона, полученного от экспедитора.
- Выгрузка ЭПЭ в XML штатным механизмом 1С.
- Замена основного XML уже созданного исходящего документа ЭДО.
- Обработка иностранных грузоотправителей и грузополучателей.
- Проверка XML и участников обмена до записи данных.
После подготовки документа используются стандартные механизмы УНФ:
- проверка заполнения ЭПЭ;
- формирование исходящего электронного документа;
- подписание электронной подписью;
- отправка через оператора ЭДО;
- обмен с ГИС ЭПД;
- отслеживание статусов документа.
Поддерживаемые сценарии
1. Создание нового ЭПЭ по окончательному XML
В форме списка электронных поручений экспедитору и в рабочем месте «Электронные перевозочные документы» появляется команда:
Загрузить внешний XML ЭПЭ
Пользователь выбирает файл ON_POREXPKLT, после чего расширение:
- читает XML;
- определяет клиента и экспедитора;
- находит организацию 1С;
- находит контрагента-экспедитора;
- подбирает договор с контрагентом;
- переносит реквизиты XML в структуру документа ЭПЭ;
- открывает новую форму электронного поручения экспедитору;
- позволяет проверить и при необходимости дополнить загруженные сведения.
Документ создается как исходящий:
- тип документа — ЭПЭ;
- тип регламента — ЭПЭ;
- текущий титул — ЭПЭ_Титул1;
- роль участника — клиент/заказчик.
После записи документа пользователь может штатно выполнить проверку и отправить ЭПЭ через ЭДО/ГИС ЭПД.
Важно: в этом сценарии XML используется как источник заполнения документа учета. При отправке итоговый XML формируется штатными механизмами 1С по данным созданного ЭПЭ. Исходный файл не подменяет основной файл ЭДО побайтно.
2. Загрузка XML-шаблона от экспедитора
Добавлена отдельная команда:
Загрузить черновик ЭПЭ от экспедитора
Сценарий предназначен для файлов, которые экспедитор передает клиенту как шаблон для последующего заполнения и отправки ЭПЭ.
Перед выбором файла пользователь указывает организацию-клиента. Это необходимо, поскольку в шаблоне идентификаторы клиента могут отсутствовать либо совпадать с идентификаторами экспедитора.
Расширение:
- проверяет выбранную организацию;
- определяет экспедитора по ИНН и КПП;
- заполняет новый документ ЭПЭ сведениями из шаблона;
- удаляет идентификаторы адресатов шаблона, которые не должны использоваться как окончательные;
- предоставляет документ пользователю для проверки и дополнения.
Чтобы исключить ошибку пользователя, команды импорта разделены:
- окончательный XML нельзя загрузить как шаблон;
- XML-шаблон нельзя загрузить как окончательный ЭПЭ.
При неверно выбранной команде выводится понятное сообщение с указанием правильного способа загрузки.
3. Выгрузка ЭПЭ в XML
Для выбранного электронного поручения доступна команда:
Выгрузить ЭПЭ в XML
Файл формируется штатным механизмом УНФ через подсистему ГИС ЭПД. Расширение не создает собственную произвольную XML-схему.
Перед выгрузкой выполняются стандартные проверки заполнения документа. Если в ЭПЭ отсутствуют обязательные сведения, пользователь
получает типовые сообщения об ошибках.
4. Замена основного XML существующего исходящего ЭДО
В форме просмотра уже созданного исходящего электронного документа добавляется команда:
Загрузить внешний XML ЭПЭ
Команда предназначена для случая, когда:
- документ ЭлектронноеПоручениеЭкспедитору уже создан;
- для него штатно сформирован исходящий документ ЭДО;
- документ еще не подписан;
- документ еще не отправлен;
- необходимо заменить сформированный 1С основной файл на готовый внешний XML.
В этом сценарии внешний XML становится основным файлом исходящего электронного документа. Для замены используется штатный метод:
ЭлектронныеДокументыЭДО.ЗаменитьДанныеОсновногоФайлаДокумента()
После замены сохраняются типовые механизмы:
- просмотра электронного документа;
- наложения электронной подписи;
- маршрута подписания;
- отправки оператору ЭДО;
- передачи в ГИС ЭПД;
- обработки статусов и служебных сообщений.
Именно этот сценарий следует использовать, если необходимо подписать и отправить без переформирования конкретный внешний XML.
Проверки перед заменой основного файла
Команда замены доступна только для исходящего ЭПЭ Титул 1.
До изменения данных проверяется:
- исходящий электронный документ записан;
- тип документа — ЭПЭ;
- тип регламента — ЭПЭ;
- существует актуальная связь с документом ЭлектронноеПоручениеЭкспедитору;
- текущий титул связанного ЭПЭ — ЭПЭ_Титул1;
- существует исходящее сообщение ЭПЭ Титул 1;
- существует основной файл информации отправителя;
- документ не подписан;
- на основном файле нет установленных подписей;
- документ не отправлен;
- в журнале событий ЭДО отсутствуют события подписания и отправки;
- выбранный файл не пуст;
- размер файла не превышает допустимый размер;
- XML корректно читается через XDTO;
- внутренний Файл.ИдФайл начинается с ON_POREXPKLT_;
- имя выбранного файла совпадает с внутренним ИдФайл;
- КНД равен 1110486;
- тип документа определяется как ЭПЭ;
- тип регламента определяется как ЭПЭ;
- формат определяется как EPE;
- типовая настройка титула соответствует ON_POREXPKLT/1110486;
- отправитель XML совпадает с организацией исходящего ЭДО;
- получатель XML совпадает с контрагентом исходящего ЭДО;
- идентификаторы адресатов совпадают со связанным ЭПЭ;
- в базе отсутствует другой исходящий документ с таким ИдФайл;
- вместо окончательного XML не выбран шаблон экспедитора.
Никакие данные не изменяются, пока весь набор проверок не будет успешно пройден.
Непосредственно перед записью расширение:
- начинает транзакцию;
- устанавливает управляемую блокировку на исходящий ЭДО;
- блокирует связанные сообщения ЭДО;
- повторно проверяет состояние документа;
- повторно проверяет подписи и отправку;
- повторно проверяет связь с ЭПЭ;
- повторно проверяет уникальность ИдФайл;
- только затем заменяет основной файл.
При ошибке транзакция отменяется, исходный файл остается без изменений.
Поиск участников
Для окончательного XML клиент определяется в справочнике организаций по ИНН и КПП.
Экспедитор определяется в справочнике контрагентов по ИНН и КПП.
Если участник не найден, загрузка прекращается с сообщением, например:
- «Не найдена организация клиента с ИНН … и КПП …»;
- «Не найден контрагент-экспедитор с ИНН … и КПП …».
Для XML-шаблона организация выбирается пользователем вручную, а экспедитор определяется по данным XML.
Подбор договора
После определения организации и экспедитора расширение ищет договор по следующим условиям:
- выбранная организация;
- найденный контрагент-экспедитор;
- вид договора — «С поставщиком».
Реквизит XML ДогТрЭксп не используется как номер договора 1С, поскольку в реальных файлах в нем может находиться не договор, а заявка на перевозку или другой транспортный документ.
Если подходящий договор не найден, загрузка прекращается. Пользователь получает сообщение:
Договор вида "С поставщиком" для организации … и контрагента … не найден.
Таким образом, для каждой транспортной заявки не требуется создавать отдельный договор контрагента.
Иностранные грузоотправители и грузополучатели
Расширение дополняет обработку иностранных участников перевозки.
Для иностранного грузоотправителя или грузополучателя заполняются технические реквизиты, необходимые штатному формированию ЭПЭ:
- наименование иностранного лица;
- иностранный идентификатор;
- страна регистрации;
- код страны;
- статус иностранного участника;
- признак иностранной организации или иностранного гражданина.
В форме титула отображаются сведения о грузоотправителе и грузополучателе, чтобы пользователь мог проверить участников после загрузки XML.
Перед проверкой, записью и отправкой документа выполняется дополнительная нормализация данных иностранных участников. В частности, заполняются технические реквизиты:
- СтатусИО_ИГ;
- КодСтраны.
Код страны определяется по данным участника или по справочнику стран мира.
Обработка иностранных участников была проверена на сценарии с иностранным грузоотправителем и страной регистрации Китай. Документ прошел проверку и был отправлен через ЭДО.
Обработка стоимости груза
При импорте учитывается особенность формата ЭПЭ, связанная с расположением сведений о стоимости.
Расширение нормализует данные стоимости партии груза и стоимости груза так, чтобы итоговый XML, сформированный УНФ, соответствовал очередности элементов схемы.
Это предотвращает ошибку ФЛК вида:
Element ДейстСтГрузПарт: This element is not expected. Expected is ( ОпГруз ).
Где появляются команды
Команды добавляются в следующие интерфейсы:
1. Документ «Электронное поручение экспедитору», форма списка:
- «Загрузить внешний XML ЭПЭ»;
- «Загрузить черновик ЭПЭ от экспедитора»;
- «Выгрузить ЭПЭ в XML».
2. Рабочее место «Электронные перевозочные документы»:
- «Загрузить внешний XML ЭПЭ»;
- «Загрузить черновик ЭПЭ от экспедитора»;
- «Выгрузить ЭПЭ в XML».
3. Форма просмотра исходящего электронного документа ЭДО:
- «Загрузить внешний XML ЭПЭ».
Последняя команда отображается только для подходящего неподписанного и неотправленного ЭПЭ Титул 1.
Совместимость
Расширение разработано и проверено для:
- конфигурации «1С:Управление нашей фирмой», редакция 3.0;
- версии конфигурации 3.0.14.140;
- режима совместимости расширения 8.5.1;
- управляемого приложения;
- интерфейса «Такси».
Рабочая проверка выполнялась на платформе 1С:Предприятие 8.5.1.1522.
Расширение использует объекты и программный интерфейс конкретной версии УНФ:
- Документ.ЭлектронноеПоручениеЭкспедитору;
- Документ.ЭлектронныйДокументИсходящийЭДО;
- Документ.СообщениеЭДО;
- обработку ЭлектронныеПеревозочныеДокументы;
- подсистемы ЭДО и ГИС ЭПД;
- регистры связи объектов учета и электронных документов.
Для других версий УНФ может потребоваться адаптация заимствованных форм и вызовов типовых методов.
Совместимость с «Бухгалтерией предприятия», «Управлением торговлей», «Комплексной автоматизацией» и другими конфигурациями не заявляется. Наличие в них Библиотеки электронных документов само по себе не гарантирует совместимость, поскольку формы, документы учета и реализация ЭПД могут отличаться.
Требования к информационной базе
Для работы должны быть настроены:
- - обмен электронными документами;
- - учетная запись ЭДО;
- - сертификаты электронной подписи;
- организация и ее идентификатор участника ЭДО;
- контрагент-экспедитор;
- идентификатор контрагента в ЭДО;
- договор с контрагентом вида «С поставщиком»;
- функциональность электронных перевозочных документов;
- подключение к оператору ЭДО и ГИС ЭПД.
Пользователю необходимо назначить роль расширения:
XMLЭПЭ_ОсновнаяРоль
Также у пользователя должны оставаться типовые права для работы с ЭДО, ЭПД, организациями, контрагентами и договорами.
Установка
Перед установкой рекомендуется сделать резервную копию информационной базы.
Порядок установки:
- Открыть раздел администрирования печатных форм, отчетов и расширений.
- Перейти в список расширений.
- Добавить файл расширения.
- Разрешить использование расширения.
- Перезапустить пользовательский сеанс.
- Назначить пользователям роль XMLЭПЭ_ОсновнаяРоль.
- Проверить появление команд в списке ЭПЭ и в рабочем месте электронных перевозочных документов.
Изменение типовой конфигурации и снятие ее с поддержки не требуется.
Рекомендуемый первый тест
Первую проверку рекомендуется выполнять на копии информационной базы.
- Отключить автоматическую отправку ЭДО.
- Проверить настройки организации и экспедитора.
- Убедиться, что существует договор вида «С поставщиком».
- Загрузить тестовый XML с уникальным ИдФайл.
- Проверить заполнение клиента, экспедитора, грузоотправителя, грузополучателя, груза и стоимости.
- Выполнить типовую команду «Проверить».
- Выгрузить сформированный XML и проверить его содержимое.
- Только после этого выполнить подписание.
- Первую отправку выполнить через тестовый контур либо на тестовом документе.
- Убедиться, что оператор ЭДО и ГИС ЭПД приняли документ без ошибок ФЛК.
Безопасность изменения исходящего XML
Замена основного файла запрещена, если документ уже подписан или отправлен. Это защищает от нарушения соответствия электронной подписи содержимому документа.
- не пересоздает исходящий ЭДО;
- не формирует повторно XML из документа учета;
- не удаляет связь с ЭПЭ;
- не подписывает документ автоматически;
Решение о подписании и отправке остается за пользователем.
Техническая реализация
Расширение имеет префикс:
XMLЭПЭ_
Основная логика вынесена в общие модули:
- XMLЭПЭ_ЗагрузкаВнешнегоXMLЭПЭКлиент;
- XMLЭПЭ_ЗагрузкаВнешнегоXMLЭПЭСервер.
Используются типовые программные интерфейсы УНФ:
- ОбменСГИСЭПД.ПрочитатьСодержаниеДокумента();
- ФорматыЭДО.ДанныеФайлаЭД();
- ОбменСГИСЭПДКлиентСервер.ПрефиксТитулаПоЭлементуРегламентаЭДО();
- ОбменСГИСЭПДКлиентСервер.АдресатыПоИдФайл();
- ЭлектронныеДокументыЭДО.ИсходящийДокументПоИдентификаторуФайла();
- ЭлектронныеДокументыЭДО.ОсновнойФайлИнформацииОтправителя();
- ЭлектронныеДокументыЭДО.УстановленныеПодписиФайлаСУчетомДоверенностей();
- ЭлектронныеДокументыЭДО.СообщениеОтправлено();
- ЭлектронныеДокументыЭДО.ЗаменитьДанныеОсновногоФайлаДокумента();
- ОбменСГИСЭПДВызовСервера.ДвоичныеДанныеДокументаЭПД().
В расширении отсутствуют перехваты &Вместо. Используются добавленные методы, а также обработчики &Перед и &После.
Ограничения текущей версии
- Поддерживается только ON_POREXPKLT.
- Поддерживается только КНД 1110486.
- Поддерживается только версия формата 5.01.
- Поддерживается только ЭПЭ Титул 1.
- Максимальный размер импортируемого XML при создании ЭПЭ — 10 МБ.
- Клиент и экспедитор верхнего уровня должны быть представлены юридическими лицами с данными, достаточными для идентификации.
- Организация и контрагент должны быть предварительно заведены в информационной базе.
- Договор автоматически не создается.
- Расширение не настраивает ЭДО, сертификаты и подключение к ГИС ЭПД.
- После обновления УНФ заимствованные формы и сигнатуры типовых методов необходимо проверить.
- Поддержка других форматов электронных перевозочных документов в текущую версию не входит.
Результат
Расширение закрывает полный практический сценарий работы с внешним XML ЭПЭ:
внешняя система → XML ON_POREXPKLT → документ ЭПЭ в УНФ → проверка → подписание → ЭДО → ГИС ЭПД
Также поддерживается сценарий точной замены основного XML:
готовый внешний XML → существующий исходящий ЭДО → электронная подпись → отправка
При этом типовая конфигурация остается на поддержке, а подписание, отправка и обработка статусов выполняются штатными механизмами 1С.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.143, 3.0.14.140
Вступайте в нашу телеграмм-группу Инфостарт