Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().

Публикация № 695916

Обмен - Обмен через XML

Пантелеев Пантелеев Иван ВыгрузитьПоПравилу ПередатьОдинПараметрВПриемник обмен данными выгрузка данных конвертация конвертация данных ЗУП БП SharePoint XML JSON КД ERP Документооборот ПВД ПКО ПКС правила конвертации

35
В статье рассказываю: 1) о механизмах и транспорте обмена данными, где одной из сторон обмена выступает конфигурация на базе 1С, и о том, какой транспорт и в каких случаях лучше использовать 2) о решении задачи выгрузки данных документа «Зарплата к выплате организаций» (с выгрузкой банковский счетов физ лиц документа) из ЗУП 2.5.123.1 (далее Источник) в БП КОРП 3.0.52.39 (далее Приемник) путем создания правил обмена данными с использованием конфигурации «Конвертация данных» (далее просто КД) ред. 2.1.8.2. для (далее ЗкВО) 3) о тестирование полученных правил обмена данными.

 

Оглавление

1 Механизмы и транспорт обмена данными существующие в 1С. 3

1.1 Механизмы обмена данными существующие в 1С: 3

1.2 Транспорт для обмена данными: 3

2 Примеры выбора транспорта обмена данным.. 3

2.1 Задача: обмен между 1С:ЗУП 2.5 и 1С БП КОРП 3.0. 3

2.2 Задача: обмен между 1С:ERP 2.0 и 1С:Документооборотом КОРП.. 4

2.3 Задача: обмен между конфигурацией 1С и порталом на MS SharePoint

2.4 Задача: обмен между конфигурацией 1С и SAP. 4

3 Постановка задачи. 6

3.1 Постановка задачи. 6

3.2 Блок-схема решения задачи. 6

4 Решение задачи с помощью создания правил обмена данными из ЗУП 2.5 в БП 3.0 в конфигурации «1С:Конвертация данных» ред. 2.1. 8

4.1 Вносим изменения в конфигурации Источника и Приёмника, если того требует задача. 8

4.2. Загружаем в конфигурацию КД 2.1 структуры метаданных. 8

4.3. Создаем правила выгрузки данных (ПВД). 9

4.4 Создаем Правила Конвертации Объектов (ПКО) и Правила Конвертации Свойств (ПКС). 10

4.5 В ПВД реализуем две логики выгрузки данных документа в процедуре «Перед выгрузкой», используя процедуру ВыгрузитьПоПравилу(…). 14

4.6 В глобальных обработчиках событий конвертации заполняем параметры, которые передаем из Источника в Приемник, используя процедуру ПередатьОдинПараметрВПриемник(…). 17

4.6.1 Инициализация параметров в процедуре «Перед выгрузкой данных». 17

4.6.2 Заполнение параметров в процедуре «Перед выгрузкой объекта» на стороне Источника. 17

4.6.3 Анализ параметров в Приемнике в процедуре «После загрузки данных». 20

5 Тестируем правила выгрузки данных. 23

5.1 Тест выгрузки Ведомости по банку-участнику зарплатного проекта. 23

5.2 Тест выгрузки Ведомости по служебному банку «Другие банки». 25

5.3 Тест выгрузки Ведомости при ошибочной установке банка «Другие банки» и его выгрузки, и последующего исправления на банк-участник зарплатного проекта с повторной выгрузкой. И наоборот.

Полезные ссылки

Обратная связь

 

 

 

1 Механизмы и транспорт обмена данными существующие в 1С.

 

1.1 Механизмы обмена данными существующие в 1С

1) РИБ - между идентичными конфигурациями, реализован на уровне платформы.
2) Универсальный механизм обмена между конфигурациями - основан на объекте платформы 1С 8.х именуемым «план обмена»; обмен данными осуществляется с помощью правил xml, которые создаются в специальной конфигурации — Конвертация данных (ред. 2.х и 3.х). С помощью данного механизма можно реализовать как одноразовый обмен, так и постоянный обмен между 1С конфигурациями. Механизм реализован на уровне конфигурации, встроить в свою конфигурацию можно из технологической конфигурации БСП.

 

1.2 Транспорт для обмена данными:
1) Локальный или сетевой каталог;
2) FTP-ресурс;
3) Почтовые сообщения или E-mail;

4) Прямое подключение (COM) — обмен осуществляется через прямое подключение одной базы к другой по средствам COM соединения;

Особенности и ограничения СОМ :

а) при различных версиях платформы Источника и Приемника COM подключение может давать ошибку, решение проблемы описывается в статье: //infostart.ru/public/393642/

б) долгое время на повторное COM подключение, решение проблемы тут: //infostart.ru/public/331683/

в) дружит COM только с ОС Windows. 

5) Интернет (Web service)— транспортом является веб-служба. Одна информационная база подключается к веб-сервису, веб-сервис подключается к второй базе и транспортирует сообщение. Для осуществления такого транспорта необходимо иметь установленный веб-сервер (IIS или Apache).

 

 

2 Примеры выбора транспорта обмена данным

Транспорт для обмена данными не бывает «плохим или хорошим», «устаревшим или передовым». Бывает транспорт оптимально подобранный для решения задачи или не оптимально.

 

2.1 Задача: обмен между ЗУП 2.5 и БП КОРП 3.0

Оптимально будет использовать для транспорта данных прямое СОМ подключение к базе Приёмнику: в этом случае нам не придется вносить изменения в конфигурации Источника и Приемника, и нам не нужно беспокоиться за передачу файлов и их безопасность, т.к. данные будут выгружаться напрямую.

Последовательность действий тут такая: создаем правила обмена данными, настраиваем планы обмена для регистраций изменений данных в базах, включаем расписание выгрузки данных. Данные выгружать можно по расписанию или по желанию пользователя.

Более подробно о создании правил обмена данными с помощью конфигурации «1С:Ковертация данных» ред. 2.1 расскажу ниже.

 

2.2 Задача: обмен между ERP 2.0 и Документооборотом КОРП

Поскольку обе конфигурации 1С имеют внутри специально созданные Web-сервисы, оптимально будет их и использовать. Остается настроить так называемую бесшовную интеграцию между базами 1С, настройки которой посвящена публикация: //infostart.ru/public/541608/.

Важно понимать, что возможности Web-сервисов, заложенные в этих типовых конфигурациях, не безграничны, и что может появиться задача, которую будет быстрее / проще  решить, используя COM или что-то еще.

 

 2.3 Задача: обмен между конфигурацией 1С и порталом на MS SharePoint

Коробочная конфигурация на базе 1С, как правило, не содержит никаких специализированых средств интеграции с порталом на MS SP, поскольку порталы это штучная «костомная» вещь. Однако, платформа 1С поддерживает такие типы метаданных, как Web-сервисы и XDTO-пакеты. Мы можем создать в конфигураторе 1С Web-сервис задать для него URI пространства имен и пакет XDTO, добавить для Web-сервиса нужные операции и параметры операций, описать для каждой операции функции желательно с названиями на латинице в модуле Web-сервиса, которые будут доступны со стороны MS SP.

Рисунок 2.3.1 – Настройки Web-сервиса в конфигураторе 1С

 

Далее из конфигуратра 1С делаем публикацию на Web-сервере.

Администратор MS SharePoint создает интеграционный пакет, подключается к публикации  на Web-сервере (как пользователь с полными правами, которого специально создали в конфигураторе 1С) и используя функции, которые создал программист в 1С в модуле Web-сервиса, получает необходимые данные.  

Рисунок 2.3.2 – Пример ннтеграционного пакет в MS SharePoint

 

В примере на рисунке администратор MS SharePoint  данные с web-сервера получает в формате XML через файл, хотя может читать данные напрямую в параметр. Конечно, лучше не в формате XML, а JSON, но не принципиально.

 

2.4 Задача: обмен между 1C и SAP

Когда в штате нет специалистов по SAP и/или когда мы имеем доступ к SAP только как пользователи, и требуется выгрузить консолидированные данные из 1С в SAP:

обмен данными реализуется через выгрузку/загрузку excel файла. Делал так: из SAP выгружал нужный набор данных в excel файл, смотрел его структуру и на стороне 1С имитировал заполнение файла аналогичной структуры. Более масштабный пример миграции данных из ЗУП 2.5 (УПП 1.3) в SAP HCM  описан в этой статье: //infostart.ru/public/689794/

 

Если же в штате есть программист SAP: SAP поддерживает внешнее подключение - аналог хранимых процедур sql, который позволяет получать данные напрямую из Sap, без промежуточных выгрузок/загрузок в Excel. На ABAP в Sap пишется функция, а далее программисты 1с получают через нее необходимые данные и далее обрабатывают их в своих учетных системах. Спсб aspirator 23, который написал это в комментариях.

 

 

3 Постановка задачи

 

3.1 Постановка задачи

* Если текст тяжело воспринимать, то смотрите сразу пункт 3.2, там задание визуализировано.

1. Из программы ЗУП 2.5 (Источника) в БП КОРП 3.0 (Приемник) требуется выгружать выбранные пользователем документы типа «Зарплата к выплате организаций» (далее ЗкВО), которые должны быть проведены и со способом выплаты «Через банк».

2. Если в документе ЗкВО реквизит  «Банк» заполнен служебным элементом «Другие банки», то в Приемнике создается столько же документов, сколько строк в табличной части одного документа ЗкВО в базе Источнике.  Если в документе ЗкВО  реквизит  «Банк» заполнен любым другим конкретным значением,  тогда один документ Источника выгружается в один документ Приемника. Другими словами, выгрузка должна идти по правилам "один в несколько документов" или "один в один документ" в зависимости от банка, заданного в документе ЗкВО в Источнике.

3. Для всех физ лиц  из табличной части документа ЗкВО Источника требуется выгрузить лицевые счета в базу Приемник, но только если в документе ЗкВО  реквизит  «Банк» заполнен конкретным значением (не «Другие банки»).

4. В базе Приемнике требуется для выгруженных физ лиц из документа, которые в базе Источнике имеют строго один лицевой счет по указанной в документе организации, установить реквизит «Основной счет», но только в том случае, если базе Приемнике у физ лица в банковских счетах не более одного счета с тем же номером, который был перегружен из Источника (банк значения не играет).

Комментарий по 4 пункту задания: если в базе Приемнике у физ лица несколько счетов с одинаковым номером счета, но с разными банками (головной и филиалы в городе проживания физ лица), то обмен не должен менять флаг "Основной счет" - потому, что физ лицо имело действующий мастер счет ранее открытый в городе проживания в филиале банка, имеющий БИК который отличается от БИКа банка-участника зарплатного проекта.

 

3.2 Блок-схема решения задачи

Последовательность действий при выгрузки данных визуализирована на блок-схеме, Рисунок 3.2.1.

Рисунок 3.2.1 – Блок-схема выгрузки данных

 

 

Текст всех процедур содержится в правилах выгрузки данных, которые можно скачать внизу статьи.

4 Решение задачи с помощью создания правил обмена данными из ЗУП 2.5 в БП 3.0 в конфигурации «1С:Конвертация данных» ред. 2.1

 

4.1 Вносим изменения в конфигурации Источника и Приёмника, если того требует задача

Для реализации повторного поиска ранее выгруженных документов и для реализации пометки на удаления документов в базе Приемнике, для реализации выгрузки типа "один документ во много документов", в базе Приемнике нужно в документе "Ведомость в банк" в режиме конфигуратора создать два реквизита типа строка длиной 36 символов и назвать их: УИДДокументаЗУП и УИДСотрудникаТабЧастиДокументаЗУП.

 

4.2. Загружаем в конфигурацию КД 2.1 структуры метаданных

Загружаем в конфигурацию КД 2.1 структуры метаданных  конфигураций Источника (ЗУП 2.5) и Приемника (БП КОРП 3.0). Подробно как это сделать читайте тут: //infostart.ru/public/690292/

В справочнике «Конвертации» создаем папку «ЗУП 2.5 -> БП КОРП 3.0», а в нее добавляем новый элемент:

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

4.3. Создаем правила выгрузки данных (ПВД)

Определим сколько Правил Выгрузки Данных (ПВД) нам нужно создать. Для этого ответим на один вопрос: какие данные нам может потребоваться фильтровать  по ссылке при выгрузке данных? – Только документ «Зарплата к выплате организаций» (ЗкВО). Остальные данные (банковские счета, физ лица и пр.) будут тоже выгружаться, но ТОЛЬКО потому, что ссылки на них содержаться внутри документа «Зарплата к выплате организаций». Т.е. мы никак не должны руками фильтровать физ лица, они должны выгружаться поскольку содержаться в табличной части документа. ПВД – подтягивается в специальную таблицу обработки «Универсальный обмен данными». Обратите внимание, что в обработке можно задать фильтр на ссылку документа ЗкВО (или подчиненные ему реквизиты Ссылки).

4.4 Создаем Правила Конвертации Объектов (ПКО) и Правила Конвертации Свойств (ПКС).

 

На закладке ПКО нажмем кнопку Добавить

При попытке записать новое ПКО появится окно «Создать ПКС?», в котором нажимаем ДА.

Сразу после появится окно «Создать ПВД?» - нажимаем НЕТ.

В результате на зкладке ПКО будет созданы элементы:

Символ «Лупа» означает, что при загрузке документа поиск ранее выгруженного документа в Приемнике будет делаться по УИДу. Нам так не надо! У нас задача сделать выгрузку один ко многим или один в один. Поэтому кликаем дважды по ПКО «ВедомостьНаВыплатуЗарплатыВБанк», открываем закладку «Настройки», снимаем флаг «Искать объект приемника по внутреннему идентификатору» и ставим флаг «Автоматически генерировать номер и код».

Аналогично рассуждаем нужно ли искать по УИД справочники: у моего заказчика исторически ключевым полем поиска элементов всех справочников был «КОД». Это не очень хорошо, поскольку КОД пользователи могут менять в отличие от УИДа. Но ничего не поделаешь – если я оставлю настройку поиска по УИД, то это может привести к задвоению справочников в Приемнике. Заходим в ПКО справочников и снимаем флаг «Искать объект приемника по внутреннему идентификатору». Поскольку новые элементы справочников создаются в базе БП КОРП (Приемник) и эта база является главной по отношению в ЗУП (Источник), то для справочников ставим флажки «Не замещать существующие объекты в приемнике, а только создавать новые» и «Не создавать новый объект, если он НЕ найден». У вас может быть иная специфика.  Справочники «Организации» и «Пользователи» содержат мало элементов (до 1000), поэтому поставим флаг «Использовать быстрый поиск объекта при выгрузке и загрузке».

Создадим ПКС для ПКО «ВедомостьНаВыплатуЗарплатыВБанк». Колонку «Источник» для всех ПКС очистим, а в колонке «Получать из входящий данных» поставим везде флажок – мы это делаем потому, что выгружать документ будем используя процедуру ВыгрузитьПоПравилу(, , ИсходящиеДанные, , " ВедомостьНаВыплатуЗарплатыВБанк "); , которую поместим в обработчик «Перед выгрузкой» ПВД (об  этом подробнее ниже). Мы полностью  берем на себя подготовку исходящих данных на стороне Источника, отказываясь от конструктора – только так мы сможем реализовать выгрузку «один во много» или «один в один» в зависимости от наполнения выгружаемого документа.

Добавляем ПКС для ПКО «ВедомостьНаВыплатуЗарплатыВБанк» исходя из условия задачи, и ставим флажки «Поиск» в строчках с ПКС «УИДДокументаЗУП», «УИДСотрудникаТабЧастиДокументаЗУП», «Организация». В результате должно получиться как показано на рисунке ниже.

Если у вас не получилась так, как показано на рисунке выше, то скачайте себе из этой статьи (в самом низу) уже сделанные правила обмена данными и подгрузите их в вашу конфигурацию «Конвертация данных» ред. 2.1.

Зайдем в ПКО «ВедомостьНаВыплатуЗарплатыВБанк» и напишем код в процедуре «После загрузке». Его смысл в том, что реквизит «Округление» в Приемнике одинаков для всех документов, поэтому проще заполнить его непосредственно на стороне Приемника после загрузки данных. Та же логика и для установки нового номера. 

4.5 В ПВД реализуем две логики выгрузки данных документа в процедуре «Перед выгрузкой», используя процедуру ВыгрузитьПоПравилу(…)

 

В ПВД в процедуре  «Перед выгрузкой» подготавливаем структуру «ИсходящиеДанные» и реализуем две логики выгрузки «один во много документов» и «один в один» в зависимости от содержания документа.

После заполнения структуры ИсходящиеДанные , вызываем процедуру

ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "СозданиеВедомостейВБанк");

которая инициирует выгрузку экземпляра документа.

 

 
 Сниппед кода процедуры «Перед выгрузкой» ПВД:

 

4.6 В глобальных обработчиках событий конвертации заполняем параметры, которые передаем из Источника в Приемник, используя процедуру ПередатьОдинПараметрВПриемник(…)

4.6.1 Инициализация параметров в процедуре «Перед выгрузкой данных»

Инициализация глобальных параметров, значения которых не нужно заполнять руками, реализуется только программно в процедуре «Перед выгрузкой данных», НЕ НУЖНО создавать их на закладке Параметры (как ошибочно пишут некоторые коллеги на форумах).

Пока просто создадим два параметра, зачем они нужны написано ниже.

//Инициализируем параметры, на закладке "Параметры" их создавать не нужно
Параметры.Вставить("СтрокаТаблицаКодовФизЛицИБанковСоСчетом", "");
Параметры.Вставить("СтрокаТаблицаУИДовВедомостиИФизЛиц", "");

4.6.2 Заполнение параметров в процедуре ПередВыгрузкой объекта на стороне Источника

Параметр «СтрокаТаблицаУИДовВедомостиИФизЛиц»

Для случая "один в несколько документов": если после выгрузки документа в базу Приёмник, из табличной части документа Источника удалить строку, то в базе Приёмника соответствующий ей документ должен пометиться на удаление. Для этой цели создан параметр обмена "СтрокаТаблицаУИДовВедомостиИФизЛиц" типа неограниченная строка, который заполняется в процедуре "Перед выгрузкой объекта", выгружается в файл, затем анализируется в процедуре "После загрузки данных" на стороне Приемника и по результатам анализа.

Основная хитрость заключается в наполнении Параметра «СтрокаТаблицаУИДовВедомостиИФизЛиц»: в этот параметр помещаются значения «УИДДокумента» и «УИДСотрудникаТабЧасти» так, чтобы после выгрузки на стороне Приемника можно было собрать из них таблицу значений.

 
 Сниппед кода процедуры «Перед выгрузкой объекта», заполнение параметра СтрокаТаблицаУИДовВедомостиИФизЛиц

Вызов процедуры:

ПередатьОдинПараметрВПриемник("СтрокаТаблицаУИДовВедомостиИФизЛиц", Параметры.СтрокаТаблицаУИДовВедомостиИФизЛиц);       

приводит к записи параметра «СтрокаТаблицаУИДовВедомостиИФизЛиц» в XML файл .

 

* Я специально не использовал конструкцию «ЗначениеВСтрокуВнутр(<Значение>)» поскольку в СП написано, что ее можно использовать «для сохранения функциональной совместимости с 1С:Предприятием 7.7. Использовать для других целей не рекомендуется», на its.1c.ru так же написано, что «сериализацию ЗначениеВСтрокуВнутр следует использовать для хранения и передачи значений в рамках информационной базы 1С:Предприятия и не следует использовать для обмена с другими информационными базами и другими программными системами».

 

Параметр «СтрокаТаблицаКодовФизЛицИБанковСоСчетом»

При выгрузки ведомости требуется обновлять "Основной счет" у всех физ лиц в Приёмнике, которые содержаться в таб части документа. Лицевые счета по физ лицам, у которых в базе Источника несколько  лицевых счетов в одной организации, не выгружаются в базу Приемник ( т.к. нельзя однозначно определить на какой из счетов перечислять зп). При загрузке данных в базу Приемник, для физ лиц не должен обновляется основной счет физ лица, если есть несколько банковских счетов с те же номером, который выгрузился из базы Источника. Для этой цели создан параметр обмена "СтрокаТаблицаКодовФизЛицИБанковСоСчетом" типа неограниченная строка.

 
 Сниппед кода процедуры «Перед выгрузкой объекта», заполнение параметра СтрокаТаблицаКодовФизЛицИБанковСоСчетом

4.6.3 Анализ параметров в Приемнике в процедуре ПослеЗагрузкиДанных

В процедуре «После загрузки данных» на стороне Приемника реализован анализ переданных из Источника  параметров «СтрокаТаблицаУИДовВедомостиИФизЛиц» и «СтрокаТаблицаКодовФизЛицИБанковСоСчетом», их парсинг в таблицы значений, передача этих таблиц в качестве параметров в текст запросов, обход выборки которых позволяет:

1) установить основной счет физ лицам

2) пометить на удаление при необходимости требуемые документы на стороне Приемника.

 

 
 Сниппед кода процедуры «После загрузки данных»

 

 

5 Тестируем правила выгрузки данных

 

5.1 Тест выгрузки Ведомости по банку-участнику зарплатного проекта.

В базе Источнике ЗУП 2.5 в ведомости три физ лица, при чем у Иванова А.С. в регистре «Лицевые счета сотрудников» есть несколько записей.

Запускаем выгрузку данных, например, с помощью обработки «Универсальный обмен данными», подключаясь напрямую к базе Приемнику. Почитать, как пользоваться обработкой можно тут.

После выгрузки данных на экране появилось сообщение:

Начало выгрузки:   02.11.2017 19:54:31
В базе ЗУП у физ лица Иванов с кодом 0000028  в организации АО "Н" в базе ЗУП найдено несколько лицевых счетов, которые будут синхронизированны с базой БП КОРП, но невозможно установить какой из них Основной счет в базе БП КОРП.
Синхронизируем банковские счета физ лица: Иванов Александр Сергеевич
Синхронизируем банковские счета физ лица: Петров Иван Юрьевич 
Синхронизируем банковские счета физ лица: Сидоров Денис Александрович
Окончание выгрузки: 02.11.2017 19:55:03
Выгружено объектов: 15

Открываем базу Приемник БП КОРП 3.0 и находим документ перегруженный документ «Ведомость на выплату зарплаты в банк», замечаем что номер документа в БП КОРП присвоился по правилам бухгалтерии, номер ведомости из ЗУПа указан в комментарии, в табличной части только одна запись со служебным обезличенным элементом «Все сотрудники».

Убедимся, что банковские счета в БП КОРП перегружены из ЗУПа (на сриншоте счетов в БП КОРП больше, чем в ЗУПе и это правильно, т.к. некоторые счета были созданы в БП КОРП раньше):

Проверим как у физ лиц заполнился реквизит «Основной счет» и не забудем, что при выгрузки данных было сообщение о невозможности установки Основного счета у физ лица Иванов, поскольку в ЗУПе у него было несколько лицевых счетов.

Замечаем, что основной счет установлен только у Сидорова. У Петрова основной счет не заполнился, поскольку в базе БП КОРП у него уже был создан банковский счет с таким же номером, но в другом банке, по условию задачи в этом случае мы не меняем основной счет.

Вернемся в базу Источник и изменим суммы в ранее выгруженном документе и удалим Иванова из табличной части, затем выгрузим документ повторно в базу Приемник и убедиться, что сумма документа изменилась.

Тест выгрузки Ведомости по банку-участнику зарплатного проекта завершен успешно.

5.2 Тест выгрузки Ведомости по служебному банку «Другие банки»

Создаем в базе Источнике ЗУП 2.5 в ведомости три физ лица с суммами как показано на рисунке:

Запускаем выгрузку данных, например, с помощью обработки «Универсальный обмен данными», подключаясь напрямую к базе Приемнику. Почитать, как пользоваться обработкой можно тут.

После выгрузки данных на экране появилось сообщение:

Начало выгрузки:   02.11.2017 20:54:48
Если в ведомости контрагент Другие банки , то синхронизация банковских счетов физ лиц не происходит.
Окончание выгрузки: 02.11.2017 20:55:16
Выгружено объектов: 7

Открываем базу Приемник БП КОРП 3.0 и находим три документа (по числу физ лиц в документе Источника) «Ведомость на выплату зарплаты в банк», замечаем что номера документов в БП КОРП присвоились по правилам бухгалтерии, номер ведомости из ЗУПа  и ФИО физ лица указаны в комментарии, в табличной части только одна запись со служебным обезличенным элементом «Все сотрудники».

Поскольку для служебного банка «Другие банки» банковские счета не перегружаются, то проверять мы их не будем.

Теперь вернемся в базу ЗУП, изменим сумму Иванову с 500 на 600 рублей, а Сидорова удалим из табличной части. Выгрузим ведомость повторно в БП КОРП. Смотрим результат:

Сумма в документе с Ивановым изменилась на 600 рублей. А документ с Сидоровым помечен на удаление (пометка на удаление возможна только, если документ в БП КОРП не делал движений на момент повторной выгрузки).

 

5.3 Тест выгрузки Ведомости при ошибочной установке банка «Другие банки» и его выгрузки, и последующего исправления на банк-участник зарплатного проекта с повторной выгрузкой. И наоборот.

Если пользователь первый раз выгрузил ведомость с банком «Другие банки», а потом понял, что он ошибся, изменил банк на «ВТБ» и выгрузил ведомость повторно, то все созданные при первой выгрузки документы в базе Приемнике будут помечены на удаление, и будет создан один документ.

Если пользователь первый раз выгрузил ведомость с банком «ВТБ», а потом понял, что он ошибся, изменил банк на «Другие банки» и выгрузил ведомость повторно, то созданный при первой выгрузки документ в базе Приемнике будет помечен на удаление, и будет создано столько документов, сколько физ лиц в документе Источника.

 

Описанный способ решения задачи не является единственным.

 

Полезные ссылки

Практический пример создания правил выгрузки данных в КД 2.1 лицевые счета из ЗУП 2.5 в банковские счета БП КОРП 3.0 с описанием некоторых эффективных приемов:  //infostart.ru/public/702086/

 

 Буду рад узнать ваше мнение о статье в комментариях.

Вопросы, предложения сотрудничества и замечания пишите в комментариях, в личку или по адресу Panteleev@Inbox.ru

Резюме автора: //infostart.ru/job/resume/537490/

С пожеланием творческих успехов всем посетителям сайта ИС, Пантелеев Иван.

27

35

Скачать файлы

Наименование Файл Версия Размер
Правила обмена данными. Выгрузка ЗкВО в ВедомостьВБанк с банковскими счетами (ЗУП 2.5 в БП КОРП 3.0. на КД 2.1)
.xml 106,92Kb
19.12.17
6
.xml 106,92Kb 6 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. aspirator23 393 11.11.17 09:10 Сейчас в теме
Не стоит так категорично:"..Причем требование обмена именно через excel файл обычно обусловлено ограничениями со стороны SAP..."
Sap поддерживает внешнее подключение - аналог хранимых процедур sql, который позволяет получать данные напрямую из Sap, без промежуточных выгрузок/загрузок в Excel.
2. RailMen 779 12.11.17 16:13 Сейчас в теме
(1) Спсб за замечание. Может я как то двусмысленно выразился? Имел ввиду то, что мы использовали sap как пользователи с ограниченными правами для подгрузки в него консолидированных данных. Все, что нам было доступно с нашим набором прав - это обмен через excel файлы. Вот я писал обработки по заполнению файлов. И мне было бы очень интересно прочитать пример интеграции 1с и sap напрямую.
3. aspirator23 393 12.11.17 16:21 Сейчас в теме
(2) Это стандартный функционал Sap. Но требует наличия программиста Sap. На ABAP в Sap пишется функция, а далее программисты 1с получают через нее необходимые данные и далее обрабатывают их в своих учетных системах.
4. RailMen 779 12.11.17 21:49 Сейчас в теме
(3) спасибо за разъяснение.
5. user861090 13.11.17 01:54 Сейчас в теме
Спасибо за информацию. Очень полезная статья
Оставьте свое сообщение