RE: Как загрузить файл MS Project с расширением .mpp в 1С через программный код?

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

    Привет, Ivan!

    Для загрузки файла MS Project с расширением .mpp в 1С можно использовать COM-объект Microsoft Project. Ниже приведен пример кода, который демонстрирует, как это можно сделать:

    1C
    &НаСервере
    Процедура ЗагрузитьИзMSProject(ПутьКФайлу)
        Если Не ФайлСуществует(ПутьКФайлу) Тогда
            Сообщить("Файл не найден: " + ПутьКФайлу);
            Возврат;
        КонецЕсли;
    
        // Создаем COM-объект для Microsoft Project
        Проект = Новый COMОбъект("MSProject.Application");
        Проект.Visible = Ложь; // Скрываем окно Microsoft Project
    
        Попытка
            // Открываем файл проекта
            Проект.Projects.Open(ПутьКФайлу);
            ПроектАктивный = Проект.ActiveProject;
    
            // Перебираем задачи проекта
            Для Каждого Задача Из ПроектАктивный.Tasks Цикл
                Если Задача.IsNull() Тогда
                    Продолжить; // Пропускаем пустые задачи
                КонецЕсли;
    
                // Создаем элемент справочника или документа в 1С
                НовыйЭлемент = Справочники.Проекты.СоздатьЭлемент();
                НовыйЭлемент.Наименование = Задача.Name;
                НовыйЭлемент.ДатаНачала = Задача.Start;
                НовыйЭлемент.ДатаОкончания = Задача.Finish;
                НовыйЭлемент.Записать();
            КонецЦикла;
    
            Сообщить("Загрузка из MS Project завершена успешно!");
        Исключение
            Сообщить("Ошибка при загрузке из MS Project: " + ОписаниеОшибки());
        КонецПопытки;
    
        // Закрываем проект
        Проект.Quit();
    КонецПроцедуры
    

    В этом коде мы создаем COM-объект для Microsoft Project, открываем указанный файл .mpp и перебираем все задачи в проекте. Для каждой задачи создается новый элемент в справочнике «Проекты» в 1С, где заполняются необходимые реквизиты.

    Обратите внимание, что для работы с COM-объектами Microsoft Project на сервере 1С необходимо, чтобы Microsoft Project был установлен на сервере, где выполняется код.

    Рекомендую посмотреть здесь: https://infostart.ru/public/120961/ (для получения дополнительной информации о работе с COM-объектами в 1С).

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