24.02.2020, 00:50 | #1 |
Administrator
|
D365FO: Настройка экспорта платежек / импорта выписок, импорта списка банков
Добрый день!
Хочу здесь оставить небольшую инструкцию для будущих поколений, кто будет «дружить» D365FO с клиент-банком в рамках российской локализации. Итак, по сравнению с предыдущими версиями (AX2012, AX2009) – в D365FO появилось 2 новшества – теперь система не имеет локального клиента, а механизм выгрузки платежек / загрузки выписок реализован теперь через механизм GER (Global Electronic Reporting, электронная отчетность). Соседняя тема Вебинар по функциональности Электронной отчетности (Electronic reporting) и Электронных сообщений (Electronic messages) посвящена как раз обсуждению этого механизма В предыдущих версиях настройку экспорта платежек / импорта выписки на проектах доводили до состояния автоматической периодической операции, т.е. когда в системе создавалось платежное поручение – работала штатная периодическая операция, которая выгружала платежное поручение в специально заданную папку. Импорт выписки производился по аналогичной схеме – запускалась периодическая операция в пакетнике, которая мониторила настроенные сетевые папки и импортировала файлы из них в систему. В D365FO такая возможность также сохранилась, но теперь в роли сетевой папки выступает портал Sharepoint Online. Механизм GER представляет собой достаточно большой конструктор, под который Microsoft выпускает конфигурации. Конфигурации состоят обычно из трех XML-файлов – описание модели, описание мэппинга и описание формата, которые должны быть друг с другом согласованы по версии. С обновлением версий системы может потребоваться обновление версии описания модели и реже мэппинга. Файл описания формата теоретически описывает только формат и не зависит от непосредственно от структуры хранения данных в системе, поэтому по идее должен обновляться только при необходимости изменения формата (говорю "теоретически", т.к. по факту всё всегда зависит непосредственно от разработчиков настроек). Такая схема приводит нас к необходимости импортирования конфигураций в следующей последовательности:
Будем проводить настройку на версии системы 10.0.8 (10.0.319.10005) PU32 (7.0.5493.35497) Для целей экспорта платежек нам потребуются:
Импорт конфигураций производится в LCS, внутри проекта внедрения (можно создать тестовый проект), т.е. нужно зайти в проект В разделе Конфигурация GER необходимо нажать кнопку Импорт и найти (инструменты поиска, к сожалению, отсутствуют, используем глаза, как средство поиска по умолчанию) все необходимые нам файлы. Для импорта банков нам потребуется версия 20. Для экспорта платежек / импорта выписки – версия 22. Также нужно найти и выкачать (сначала файлы выкачиваются в Вашу библиотеку, затем, щелкнув по названию файла его можно скачать себе на компьютер) версии Payment model mapping 1611 и Payment model mapping to destination RU Таким образом можно выкачать вот такие файлы: После скачивания этих конфигураций необходимо их закачать в систему в \Управление организацией\Электронная отчетность\Конфигурации, кнопка Обменять-Загрузить из XML-файла. Импортировать следует сначала модели, затем мэппинги и затем форматы, но я предпочитаю закачивать согласно хронологии их разработки, т.е. сначала закачать согласованный комплект файлов, а затем уже закачивать обновления. Такой способ позволяет обойти случайные грабли, если их оставили разработчики системы. В итоге после импорта получается такая картинка Итак, после импорта необходимых конфигураций необходимо теперь расставить нужные галочки в форме конфигураций. Для Payment model mapping 1611 установить флажок «Значение по умолчанию для сопоставления модели» Для Payment model mapping to destination RU установить флажок «Значение по умолчанию для сопоставления модели» Создать запись в справочнике \Управление банком и кассовыми операциями\Настройка\Настройка платежного поручения\Виды документов типа «Платежный документ» В параметрах модуля Управление банком и кассовыми операциями (\Управление банком и кассовыми операциями\Настройка\Параметры управления банком и кассовыми операциями) на закладке Разное выбрать: (Для импорта списка банков с сайта ЦБ РФ) описание электронного формата, отвечающее за импорт списка банков Наименование журнала для определения журнала платежей при разноске импортированной выписки, в который будут попадать платежи из выписки, по которым отсутствует платежное поручение в системе (например, банковские комиссии или входящие платежи) В рабочей области \Управление организации\Рабочие области\Электронная отчетность щелкнуть по ссылке Параметры электронной отчетности и на закладке Вложения выбрать тип документа "Файл", который отвечает за тип документа, куда прикрепляются вложения (По умолчанию в RUMF содержится в этом поле значение File, которое отсутствует в компании RUMF, поэтому необходимо выбрать такое значение, которое содержится в текущей компании; в данном примере - это RUMF)
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 24.02.2020 в 12:05. |
|
|
За это сообщение автора поблагодарили: vmoskalenko (4), mnt_dx (5), iCloud (2). |
24.02.2020, 01:29 | #2 |
Administrator
|
Теперь надо создать банковский счет компании и способ оплаты, связанный с этим банковским счетом:
\Управление банком и кассовыми операциями\Банковские счета\Банковские счета Здесь важно указать номер банковского счета (20-значный), реквизиты банка (поле Банковские группы), валюту и поле Нумерация П/П. Здесь указывается номерная серия для номеров платежных поручений. Я указал ее без сегментов Также я создал банковскую группу (банк) для нового банковского счета (\Управление банком и кассовыми операциями\Настройка\Банковские группы). Там же можно загрузить список банков по кнопке Загрузить список банков. После нажатия кнопки нужно выбрать XML-файл, который скачивается с сайта ЦБ РФ (http://www.cbr.ru/s/newbik) Также при банковском счете необходимо указать конфигурацию, описывающую импорт выписки. Вкладка кнопок Настроить-Форматы обмена для расчетного счета Настройка способа оплаты: \Расчеты с поставщиками\Настройка платежей\Способы оплаты Необходимо указать выделенные поля. Поле Тип банковской проводки можно в способе оплаты не указывать – тогда его придется вручную заполнять в строке платежа. Начинаем экспорт платежки. Необходимо Создать журнал платежей, зайти в строки \Расчеты с поставщиками\Платежи\Журнал платежей поставщикам Выбрать поставщика, указать текст проводки (поле Описание), сумму. На закладке Платеж выбрать способ оплаты АльфаРуб и код вида документа Посмотрим, что у нас получилось по закладкам: Закладка Разное Закладка Платеж Закладка Банк. Здесь в поле Идентификатор счета должен быть указан банковский счет поставщика (на скриншоте он называется "основной") Закладка Платежное поручение. Здесь можно в назначение платежа вставить информацию об НДС (кнопка НДС в платежном поручении) Нажать кнопку Создание платежей, выбрать способ оплаты, банковский счет и указать имя файла. Нажать ОК, затем еще раз нажать ОК. Если платежное поручение не выгрузилось из-за каких-то ошибок, но при этом оно сформировалось в реестре платежных поручений – необходимо его аннулировать (Функции -Аннулировать п/п) и заново нажать кнопку Создание платежей Если все пройдет успешно, то в браузер выгрузится файл платежки Он же в текстовом виде: Цитата:
DynamicsAxClientBankExchange
Кодировка=Unicode ДатаСоздания=23.02.2020 ВремяСоздания=07:51:43 Отправитель=Microsoft Dynamics 365 ВерсияФормата=1 Получатель=Банк-Клиент СекцияДокумент Номер=1 Дата=01.01.2020 Сумма=120000.00 НазначениеПлатежа=Включая НДС (20,00%) 20000 руб. 00 коп. ОчередностьПлатежа=05 Валюта=RUB ПолучательСчет=40702810900000012002 ПлательщикСчет=12345678901234567890 ПлательщикИНН=7709319150 Плательщик1=Contoso Entertainment System Russia ПлательщикБанк1=АО "АЛЬФА-БАНК", 107078, г. Москва, ул Каланчёвская, 27 ПлательщикКорсчет=30101810200000000593 ПлательщикБИК=044525593 ПолучательРасчСчет=40702810900000012002 ПолучательИНН=2999321423 Получатель1=Корпорация Я.Дата ООО ПолучательБанк1=Московский банк ОАО "Сбербанк России" ПолучательКорсчет=30101810400000000225 ПолучательБИК=044525225 ПлательщикКПП=770901001 ПолучательКПП=299901001 ПлательщикРасчСчет=12345678901234567890 КонецДокумента КонецФайла
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 24.02.2020 в 02:10. |
|
24.02.2020, 02:09 | #3 |
Administrator
|
Для выгрузки платежного поручения на Sharepoint-портал в момент нажатия кнопки Создание платежей – необходимо настроить \Управление организацией\Электронная отчетность\Место назначения электронной отчетности
В данной форме необходимо выбрать формат конфигурации платежного поручения (Payment order in RUB (RU)) в поле Ссылка, затем поле Имя компонента файла значение PaymentOrder. Далее, нажать кнопку Настройки и выбрать в разделе Power BI (видимо в метках ошиблись) флажок Включено = Да, а в поле Sharepoint – тип документа, определенный в \Управление организацией\Управление документами\Типы документов. После выполнения такой настройки - кнопка Создание платежей выгружает платежку в заданную папку Sharepoint (папка задается в типе документов) Ссылка на портал Sharepoint задается в \Управление организацией\Управление документами\Параметры управления документами, на вкладке Sharepoint Для OneBox по умолчанию такой возможности нет, но если у вас есть возможность ассоциировать виртуалку с учеткой из того тенанта, к которому можно подключиться с правами глобального администратора, то есть инструкция (https://ax.docentric.com/configure-s...d365fo-onebox/) как сделать необходимые сертификаты и подключить OneBox к Sharepoint Аналогично, при импорте выписки можно задать папку Sharepoint в \Управление организацией\Электронная отчетность\Источник электронной отчетности. В этом случае импорт выписки из клиент-банка (\Управление банком и кассовыми операциями\Периодические задачи\Сторонний банк\Импорт из клиент-банка) будет импортировать файл с указанной папки Импорт из файла (без настроек Sharepoint) Импорт из Sharepoint Формат файла-выписки, в котором содержится наша платежка: Цитата:
DynamicsAxClientBankExchange
Кодировка=Unicode ДатаНачала=01.01.2020 ДатаКонца=02.01.2020 Отправитель=Банк-Клиент ВерсияФормата=1 Получатель=Microsoft Dynamics 365 РасчСчет=12345678901234567890 СекцияРасчСчет НачальныйОстаток=100000.00 КонечныйОстаток=220000.00 ВсегоПоступило=0.00 ВсегоСписано=120000.00 КонецРасчСчет СекцияДокумент=Платежное поручение НазначениеПлатежа=Включая НДС (20,00%) 20000 руб. 00 коп. Номер=1 Дата=01.01.2020 Сумма=120000.00 ДатаСписано=01.01.2020 ДатаПоступило=01.01.2020 ВидПлатежа=01 ОчередностьПлатежа=05 Валюта=RUB ПлательщикРасчСчет=12345678901234567890 ПлательщикИНН=7709319150 Плательщик1=Contoso Entertainment System Russia ПлательщикБанк1=АО "АЛЬФА-БАНК", 107078, г. Москва, ул Каланчёвская, 27 ПлательщикКорсчет=30101810200000000593 ПлательщикБИК=044525593 ПолучательРасчСчет=40702810900000012002 ПолучательИНН=2999321423 Получатель1=Корпорация Я.Дата ООО ПолучательБанк1=Московский банк ОАО "Сбербанк России" ПолучательКорсчет=30101810400000000225 ПолучательБИК=044525225 ПлательщикКПП=770901001 ПолучательКПП=299901001 КонецДокумента КонецФайла Собственно, все. Большое спасибо Леониду Нестерову (nesterovleo), Microsoft за помощь в освоении этого блока
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 25.02.2020 в 11:23. |
|
|
За это сообщение автора поблагодарили: KiselevSA (6), trud (20), ashu (3), Удвой Покуров (4), cuba (4). |
24.02.2020, 10:50 | #4 |
Administrator
|
Есть еще такая особенность при настройке импорта выписки. Для каждого банковского счета необходимо привязывать свой индивидуальный формат импорта выписки. Если один формат привязать к двум счетам, то при импорте входящих платежей - в строки журнала платежей система подставит ранее заведенный счет независимо от того, какой счет был реально в выписке.
Не знаю бага это или фича, но знать про эти грабли полезно.
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: GLU (2), belugin (10). |
25.02.2020, 09:44 | #5 |
Участник
|
Володя, будет замечательно если всю статью оформишь как DOC и выложишь думаю все будут еще больше довольны.
Благодарю за наше просвещение |
|
25.02.2020, 10:09 | #6 |
Участник
|
Цитата:
Сообщение от sukhanchik
Для каждого банковского счета необходимо привязывать свой индивидуальный формат импорта выписки. Если один формат привязать к двум счетам, то при импорте входящих платежей - в строки журнала платежей система подставит ранее заведенный счет независимо от того, какой счет был реально в выписке.
Володя, привет! Спасибо за нечеловеческий труд. Чем старый механизм помешал... |
|
25.02.2020, 10:50 | #7 |
Administrator
|
Цитата:
1. Цель данной статьи не только просвещение, но и развитие форума. Если оформить, как DOC, то люди будут читать DOC-файл и не пойдут на форум. И поисковые системы не найдут статью. При таком подходе в перспективе не останется площадки, где можно было бы просвещать общественность на русском языке. 2. По опыту - неизменно находятся товарищи, которые торгуют такого рода бесплатными файлами. Соответственно, пусть хотя бы потрудятся этот файл составить. 3. Microsoft выкладывает документацию на docs.microsoft.com и уже давно отказался от PDF-ок, поэтому если уж и выкладывать куда эту статью, то туда. Тут я буду только "за" и сам готов поучаствовать в этом, если мне предоставят возможность туда ее выложить. UPD: Под нажимом общественности DOC-файл все же прикрепляю. Большое спасибо Станиславу Киселеву (KiselevSA) за подготовку данного файла. Файл разбит на архивы, т.к.у форума есть ограничение по размеру каждого прикрепляемого файла (2Мб)
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 28.02.2020 в 12:08. |
|
25.02.2020, 11:13 | #8 |
Участник
|
При настройке столкнулись с тем, что в таблице VendPayModeSpec надо заполнять поле ClassId.
Это из-за нехватки какой-то настройки? |
|
25.02.2020, 11:19 | #9 |
Administrator
|
Просто эту "фичу" уже тянут из версии в версию Это нормально. У нее уже "стаж" еще с 2009-й версии.
__________________
Возможно сделать все. Вопрос времени |
|
25.02.2020, 12:25 | #10 |
Участник
|
Хм, не встречал такого ни в 2009 ни в 2012, даже о существовании такой таблицы не догадывался.
|
|
25.02.2020, 13:49 | #11 |
Administrator
|
Может мы о разном говорим?
Я говорю о том, что в форме Способы оплаты несмотря на то, что мы выбираем флажок "Универсальный электронный формат" - поле "Формат экспорта" все равно должно быть заполнено, до выбора этого флажка Такая же ситуация была в 2012 и в 2009. Там была такая же идеология Я не проверял эту ситуацию в D365 и 2012, но в 2009-й точно эта ситуация была. И судя по Вашему описанию - она осталась. Там идет (шел в 2009) выбор классов- обработчиков и проверка на выбор класса-обработчика идет раньше проверки флажка. Даже несмотря на то, что флажок должен по идее отключать эту проверку вообще.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 25.02.2020 в 14:36. |
|
25.02.2020, 22:49 | #12 |
Участник
|
Цитата:
Сообщение от sukhanchik
Может мы о разном говорим?
Я говорю о том, что в форме Способы оплаты несмотря на то, что мы выбираем флажок "Универсальный электронный формат" - поле "Формат экспорта" все равно должно быть заполнено, до выбора этого флажка Вложение 12659 Такая же ситуация была в 2012 и в 2009. Там была такая же идеология Я не проверял эту ситуацию в D365 и 2012, но в 2009-й точно эта ситуация была. И судя по Вашему описанию - она осталась. Там идет (шел в 2009) выбор классов- обработчиков и проверка на выбор класса-обработчика идет раньше проверки флажка. Даже несмотря на то, что флажок должен по идее отключать эту проверку вообще. |
|
26.02.2020, 00:15 | #13 |
Administrator
|
Честно говоря - не сталкивался с таким поведением системы. Может на каком-то этапе это уже исправили ?
Когда я готовил статью - я взял чистую виртуалку и начал проходить все по шагам, т.е. не просто снял скриншоты, а именно проходил по шагам в виртуалке. И у меня никаких ошибок не вылезло, с первого раза все заработало.
__________________
Возможно сделать все. Вопрос времени |
|
26.02.2020, 15:08 | #14 |
Участник
|
Еще есть вопрос: когда импортируем выписку (пока без Sharepoint), то в форме выбора файла нет инфы, для какого банковского счета будет выполняться импорт. Так что, если у нас 10 счетов с импортом, то система нас 10 раз попросит файл неизвестно к какому счету.
Можно ли настройкой вывести счет, по которому акса требует файл? |
|
|
За это сообщение автора поблагодарили: sukhanchik (6). |
27.02.2020, 04:28 | #15 |
Administrator
|
Цитата:
Сообщение от mnt_dx
Еще есть вопрос: когда импортируем выписку (пока без Sharepoint), то в форме выбора файла нет инфы, для какого банковского счета будет выполняться импорт. Так что, если у нас 10 счетов с импортом, то система нас 10 раз попросит файл неизвестно к какому счету.
Можно ли настройкой вывести счет, по которому акса требует файл? Настройкой я думаю нельзя, потому что GER (если я правильно понимаю) по своей идеологии может лишь принять файл из разных источников, но не может задать дополнительные параметры и тем более их как-то использовать. В предыдущих версиях этой проблемы не было, т.к. пути к файлам указывались на уровне привязки банковского счета (как собственно и описание формата), в результате чего - при импорте файлов - система просто перебирала все каталоги-источники, у них находила описание формата и расчетный счет и импортировала на счет по его индивидуальному формату. Сейчас получается, что пути к файлам можно задать исключительно через Sharepoint. Но с другой стороны - а давайте подумаем - куда может смотреть система, которая находится "где-то там" в облаках, неважно собственных или Microsoft-овских? По сути смотреть можно только на папки Sharepoint, а диалог оставлен только для тестовых целей. Поэтому тут я вижу только один выход - использовать Sharepoint. Допиливать код импорта выписки мне кажется нерациональным (можно его посмотреть), потому что там сразу вызывается GER-процессор. Хотя теоретически, можно было бы на диалог добавить выпадающий список выбора счетов. А дальше (т.к. к счету подцеплен формат) система уже спокойно смогла бы выбрать файл и его закачать в систему. Но тогда этот счет придется в коде видимо протаскивать через GER-процессор.
__________________
Возможно сделать все. Вопрос времени |
|
27.02.2020, 08:53 | #16 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: sukhanchik (6). |
28.02.2020, 12:09 | #17 |
Administrator
|
По просьбе общественности DOC-файл все же прикрепляю (см пост выше). Большое спасибо Станиславу Киселеву (KiselevSA) за подготовку данного файла
__________________
Возможно сделать все. Вопрос времени |
|
28.02.2020, 15:32 | #18 |
Участник
|
Не подскажете как ER реагирует при импорте файла с ошибочными данными, если в проверках маппинга модели и параметрах отчета заданы противоречивые установки обработки ошибок?
Например, пользователь в Обработка ошибок выбрал "Переход к следующей записи", а проверке маппинга задано Действие после проверки "Остановить выполнение" и эта проверка сработала - или наоборот. Причем в маппинге проверок может быть несколько и, в общем случае, с разными Действиями, а в параметрах только одна "глобальная". И можно ли настроить так, чтобы записи прошедшие проверку загружались в строки журнала платежей, а не прошедшие проверку - нет? |
|
28.02.2020, 22:39 | #19 |
Administrator
|
Цитата:
Сообщение от Libovs
Не подскажете как ER реагирует при импорте файла с ошибочными данными, если в проверках маппинга модели и параметрах отчета заданы противоречивые установки обработки ошибок?
Например, пользователь в Обработка ошибок выбрал "Переход к следующей записи", а проверке маппинга задано Действие после проверки "Остановить выполнение" и эта проверка сработала - или наоборот. Причем в маппинге проверок может быть несколько и, в общем случае, с разными Действиями, а в параметрах только одна "глобальная". И можно ли настроить так, чтобы записи прошедшие проверку загружались в строки журнала платежей, а не прошедшие проверку - нет?
__________________
Возможно сделать все. Вопрос времени |
|
29.02.2020, 14:15 | #20 |
Участник
|
О, в D365 уже в журнал платежей по модулям расчетов с клиентами и поставщиками стали писать.
До DAX2012 включительно просто в ежедневный журнал ГК писали все. Но, при этом, работали только с клиентами и поставщиками - какие-то операции помимо этих и конвертации валюты не распознавались (типа комиссий банков). |
|