По состоянию на сегодня большинство крупных предприятий для обмена первичными документами с МЕДКОм используют медовую стыковку, но есть и такие кто не имеет технической возможности, либо из соображений безопасности не могут организовать такой обмен и при этом переходить на другую систему обмена документов не хотят. Именно для одного из таких предприятий была написана обработка которая умеет выгружать наиболее востребованные первичные документы в формате который поддерживает МЕДОК. Обработка успешно работает на двух предприятиях в конфигурации УПП для Украины, но также при небольших изменениях будет работать в УТП. Тестировалаль на релизе 8.3 (8.3.15.1565). Алгоритм создания взят из обработки //infostart.ru/public/1014585/ которая работает как печатная форма.
Обработка имеет интуитивно понятный интерфейс, разрешает сделать отбор по периоду документов, типу, Организации и Контрагенту. Если Организация (Контрагент) не указан тогда выборка документов делается без отбора по Организации (Контрагенту). Добавление новых видов документов (например возврата товаров) не должно составить труда, я не добавлял так как такая задача не стояла, а просто сделать не проверив загрузку в МЕДКе не хочу.
Пример формирования основной части файла xml:
Структура=Новый Структура;
Если ТипДокумента = "Акт сверки" тогда
Структура.Вставить("OB_DT_ORG", Формат(ТабЧасть.Итог("Дебет"),"ЧДЦ=2; ЧРД=.; ЧГ=0"));
Структура.Вставить("OB_DT_SIDE", Формат(0,"ЧДЦ=2; ЧРД=.; ЧГ=0"));
Структура.Вставить("OB_KT_ORG", Формат(ТабЧасть.Итог("Кредит"),"ЧДЦ=2; ЧРД=.; ЧГ=0"));
Структура.Вставить("OB_KT_SIDE", Формат(0,"ЧДЦ=2; ЧРД=.; ЧГ=0"));
................................
Структура.Вставить("DOCSUM", Формат(ОстатокНаКонец,"ЧДЦ=2; ЧРД=.; ЧГ=0"));
Структура.Вставить("DOCSUM_TEXT", Формат(ОстатокНаКонец,"ЧДЦ=2; ЧРД=.; ЧГ=0"));
Иначе
Структура.Вставить("DOCSUM", Формат(мСумма + мСуммаНДС, "ЧДЦ=2; ЧРД=.; ЧГ=0"));
Структура.Вставить("DOCSUM_TEXT", Формат(мСумма + мСуммаНДС, "ЧДЦ=2; ЧРД=.; ЧГ=0"));
.......................
КонецЕсли;
//общие реквизиты для всех документов
Структура.Вставить("FIRM_ADR", СокрЛП(СведенияОрганизация.ЮридическийАдрес));
Структура.Вставить("FIRM_ADR_FIZ", СокрЛП(СведенияОрганизация.ФактическийАдрес));
Структура.Вставить("FIRM_CBANK", СокрЛП(СведенияОрганизация.МФО));
Структура.Вставить("TEXT_FIRM_E_D", "код за ЄДРПОУ");
Структура.Вставить("FIRM_EDRPOU", СокрЛП(СведенияОрганизация.КодПоЕДРПОУ));
Структура.Вставить("FIRM_EMAILORG", СокрЛП(Шапка.ЭлектроннаяПочта));
...........................
Для каждого Элемент из Структура Цикл
мТекст = мТекст + РаботаСMEDoc_СтрокаШапка(Элемент.Ключ, Элемент.Значение);
КонецЦикла;