Казалось бы, ничего необычного. Но изюминкой задачи было требование, дать возможность бухгалтеру отмечать документы для загрузки в обработке прямо из БП 3.0(приемника) и оттуда же и загружать.
При планировании решения задачи сформулировал следующую идею: обработка должна из приемника подключаться по com соединению к источнику, получать там выборки нужных документов и выводить их в табличные части, в которых бухгалтер будет иметь возможность отметить только те документы, которые он желает загрузить. После этого, опять же, по com соединению в источнике запускаем обработку "Универсальный обмен данными в формате XML"(УОД XML), передаем ей необходимые параметры(в том числе и из источника при необходимости) и устанавливаем необходимые отборы по отмеченным документам. Запускаем выгрузку данных со стороны источника. Как только выгрузка завершена, программно запускаем загрузку выгруженных данных посредством обработки "Универсальный обмен данными XML", но уже на стороне приемника.
Правила подготовил стандартно - пользуясь конфигурацией "Конвертация данных 2.1" и "списывая" некоторые моменты с типовых правил выгрузки из УТ 10.3 в БП 3.0. После того, как убедился, что выгрузка-загрузка посредством обработки УОД XML проходит без сучка, без задоринки, адаптировал правила для выгрузки программно и перенес в макет подготавливаемой обработки "Загрузка данных из УТ".
В обработке "Загрузка данных из УТ" добавил получение выборок документов за период и интерфейсные элементы работы с ними. После этого доработал программные вызовы обработок УОД XML для источника и приемника для, соответственно, выгрузки и загрузки.
В итоге получился требуемый функционал.
Далее опишу последовательность работы с обработкой:
1. Заполняем настройки и значения по умолчанию:
Для того, чтоб корректно заполнить соответствие номенклатуры ставкам НДС, необходимо сначала нажать кнопку "Заполнить возможными ставками НДС" и в табличной части появятся строки со всевозможными ставками из источника. После этого необходимо проставить соответствующую им номенклатуру.
После того, как все настройки заполнены, необходимо сохранить настройки формы стандартно. В дальнейшем, перед загрузкой данных будет необходимо эти параметры восстанавливать.
Ещё один важный момент: в моем случае база-источник серверная и настройки подключения к ней по com, соответственно, тоже серверные.
2. После задания настроек переходим на закладку "Выгрузка" и указываем период загрузки. Нажимаем кнопку "Заполнить".
При этом документы будут считаны из источника и отразятся в одноименных закладках. В табличных частях отражается информация о документах в источнике: номер, дата, контрагент и сумма. Если документ ранее был загружен, но будет заполнена колонка "Документ" и в колонке "БП" будет отражен его текущий статус(проведен, непроведен, помечен на удаление). Здесь бухгалтер отмечает документы необходимые к загрузке.
3. По кнопке "Загрузить" происходит загрузка документов в БП.
После загрузки выводится информация о ходе загрузки(та же, что и при использовании УОД XML) происходит обновление отображения колонок "Документ" и "БП".
Обработка проверена и полностью пригодна к работе согласно требованиям и условиям задачи, описанным выше. При необходимости можно легко адаптировать её под свои нужды.
При разработке использовал материалы из публикаций: //infostart.ru/public/87057/ и //infostart.ru/public/154614/. В связи с этим выражаю благодарность авторам Лаврухину Сергею(wiranta) и Сорокину Олегу(oleg_nsk).
Проверено на 1С:Предприятие 8.3 (8.3.16.1148), "Управление торговлей", редакция 10.3 (10.3.13.2), Бухгалтерия предприятия, редакция 3.0 (3.0.74.69).