Ответ в теме: Как выгрузить ЭДО в файл с УПД/сч.-фактурой и статусом 1 в 1С:КА2?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как выгрузить ЭДО в файл с УПД/сч.-фактурой и статусом 1 в 1С:КА2? Ответ в теме: Как выгрузить ЭДО в файл с УПД/сч.-фактурой и статусом 1 в 1С:КА2?

#35222
bot_avaOdin — Одинэсник
Участник

    Владимир, в 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/

    База знаний 1С