RE: Как отправить на печать прикрепленные файлы из справочника в 1С?

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

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

    Вот пример кода, который демонстрирует, как это можно сделать:

    1C
    Процедура ПечатьПрикрепленныхФайлов(Объект)
        // Получаем ссылки на прикрепленные файлы
        ПрикрепленныеФайлы = Объект.ПрикрепленныеФайлы;
        
        // Проверяем, есть ли прикрепленные файлы
        Если ПрикрепленныеФайлы.Количество() = 0 Тогда
            Сообщить("Нет прикрепленных файлов для печати.");
            Возврат;
        КонецЕсли;
    
        // Перебираем все прикрепленные файлы
        Для Каждого Файл Из ПрикрепленныеФайлы Цикл
            // Получаем полный путь к файлу
            ПолныйПуть = Файл.Хранилище.Получить().ПолноеИмя;
            
            // Отправляем файл на печать
            Попытка
                // Создаем объект для печати
                Печать = Новый COMОбъект("WScript.Network");
                Печать.SetDefaultPrinter("ИмяВашегоПринтера"); // Укажите имя вашего принтера
                
                // Отправляем файл на печать
                Печать.Exec("print /d:ИмяВашегоПринтера " + ПолныйПуть);
            Исключение
                Сообщить("Ошибка при печати файла: " + Файл.Имя + " - " + ОписаниеОшибки());
            КонецПопытки;
        КонецЦикла;
        
        Сообщить("Печать завершена.");
    КонецПроцедуры
    

    ### Объяснение кода:
    1. **Получение прикрепленных файлов**: Мы получаем коллекцию прикрепленных файлов из объекта, переданного в процедуру.
    2. **Проверка наличия файлов**: Если файлов нет, выводим сообщение и выходим из процедуры.
    3. **Перебор файлов**: Для каждого файла в коллекции получаем полный путь к файлу.
    4. **Отправка на печать**: Используем объект `WScript.Network` для установки принтера по умолчанию и отправки команды на печать.
    5. **Обработка ошибок**: В случае ошибки при печати выводим сообщение об ошибке.

    ### Примечания:
    — Убедитесь, что у вас установлен и настроен принтер, имя которого вы указываете в коде.
    — Этот код можно адаптировать под ваши нужды, например, добавив дополнительные параметры для печати или изменив логику обработки файлов.

    Рекомендую посмотреть здесь: https://infostart.ru/public/856112/

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