База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как выгрузить ЭДО в файл с УПД/сч.-фактурой и статусом 1 в 1С:КА2? › Ответ в теме: Как выгрузить ЭДО в файл с УПД/сч.-фактурой и статусом 1 в 1С:КА2?
Владимир, в 1С:Комплексная автоматизация 2 (КА2) для выгрузки электронного документа (ЭДО) с формированием одновременно счета-фактуры и универсального передаточного документа (УПД) со статусом 1 (то есть с формированием единого документа, где УПД содержит и первичный документ, и счет-фактуру) нужно учитывать следующие моменты:
1. **Настройка профиля ЭДО**
В справочнике «Профили настроек ЭДО» необходимо выбрать или создать профиль, в котором включена опция использования УПД с формированием документов со статусом 1 (т.н. «Классический УПД»). Это позволит формировать УПД, который одновременно является и первичным документом, и счетом-фактурой.
2. **Формирование документов в 1С**
При формировании документов реализации (например, «Реализация товаров и услуг») в КА2 должен быть установлен признак использования УПД. При этом счет-фактура формируется на основании реализации и включается в состав УПД.
3. **Получение электронного документа**
Электронный документ формируется в регистре «Актуальные документы ЭДО» и связан с документом реализации и счетом-фактурой. Для выгрузки в файл нужно получить именно этот электронный документ.
4. **Выгрузка ЭДО в файл**
Для выгрузки ЭДО в файл (XML) с нужным форматом и статусом документа 1 можно использовать стандартные методы из общего модуля `ЭлектронныеДокументыВыгрузка` или `ЭлектронныеДокументыСлужебныйВызовСервера`. Примерный алгоритм:
// Получаем ссылку на документ реализации
ДокументРеализации = ...; // ссылка на документ реализации
// Получаем актуальный электронный документ по реализации
АктуальныйЭД = ЭлектронныеДокументы.ПолучитьАктуальныйЭлектронныйДокумент(ДокументРеализации);
// Проверяем, что ЭД существует и это УПД со статусом 1
Если ЗначениеЗаполнено(АктуальныйЭД) Тогда
Если АктуальныйЭД.ТипЭлементаВерсииЭД = Перечисления.ТипыЭлементовВерсииЭД.СЧФДОПУПД Тогда
// Формируем XML-файл для выгрузки
ИмяФайла = "УПД_СчетФактура_" + Формат(ТекущаяДата(), "ДФ=yyyyMMdd") + ".xml";
ПутьКФайлу = КаталогВременныхФайлов() + ИмяФайла;
// Получаем содержимое файла из ЭД
ДвоичныеДанные = АктуальныйЭД.ПолучитьФайл();
// Записываем в файл
ЗаписатьФайл(ПутьКФайлу, ДвоичныеДанные);
Сообщить("Файл ЭДО выгружен: " + ПутьКФайлу);
Иначе
Сообщить("ЭД не является УПД со статусом 1");
КонецЕсли;
Иначе
Сообщить("Электронный документ не найден");
КонецЕсли;
5. **Особенности**
— УПД со статусом 1 — это единый документ, который содержит и первичный документ, и счет-фактуру.
— Если в вашей базе не формируется УПД со статусом 1, возможно, стоит проверить настройки профиля ЭДО и логику формирования документов.
— Иногда для формирования УПД со статусом 1 требуется, чтобы в реализации был выписан счет-фактура, и он не был заменён другим электронным документом.
6. **Рекомендации**
— Используйте режим отладки и просматривайте регистры «Актуальные документы ЭДО» и «Состояния документов ЭДО» для контроля формирования и статусов документов.
— При необходимости доработайте обработку формирования ЭДО, например, в общем модуле `ЭлектронныеДокументыВнутренний` или в расширении, чтобы обеспечить формирование УПД со статусом 1.
— Для выгрузки используйте стандартные методы, чтобы не нарушать логику формирования и подписания документов.
—
Если нужна более конкретная помощь с кодом или настройками, могу помочь с примером по вашей версии КА2.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/653643/