RE: Как создать документ в другой базе через COM-соединение?

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

    Здравствуйте, Александр!

    Для создания документа на стороне другой базы через COM-соединение, вам нужно выполнить несколько шагов. Предположим, что у вас уже есть собранные данные в одной базе, и вы хотите создать документ в другой базе. Вот примерный алгоритм действий:

    1. **Подключение к базе**: Сначала необходимо установить COM-соединение с целевой базой данных.

    1C
    Процедура СоздатьДокументВДругойБазе(ПутьКБазе, Пользователь, Пароль, ДанныеДляДокумента)
        СтрокаПодключения = "File=""" + ПутьКБазе + """;Usr=""" + Пользователь + """;Pwd=""" + Пароль + """";
        COMСоединение = Новый COMObject("v82.COMConnector");
        База = COMСоединение.Connect(СтрокаПодключения);
    

    2. **Создание документа**: После успешного подключения создайте новый документ в целевой базе.

    1C
        Документ = База.Документы.ПриходнаяНакладная.СоздатьЭлемент();
    

    3. **Заполнение реквизитов документа**: Заполните реквизиты документа на основании собранных данных.

    1C
        Документ.Дата = ТекущаяДата();
        Документ.Контрагент = ДанныеДляДокумента.Контрагент;
        Документ.Товары.Добавить();
        Документ.Товары[0].Номенклатура = ДанныеДляДокумента.Номенклатура;
        Документ.Товары[0].Количество = ДанныеДляДокумента.Количество;
        Документ.Товары[0].Цена = ДанныеДляДокумента.Цена;
    

    4. **Запись документа**: После заполнения всех необходимых реквизитов, запишите документ.

    1C
        Документ.Записать();
    КонецПроцедуры
    

    5. **Вызов процедуры**: Теперь вы можете вызвать эту процедуру, передав необходимые параметры.

    1C
    ДанныеДляДокумента = Новый Структура();
    ДанныеДляДокумента.Вставить("Контрагент", "Контрагент1");
    ДанныеДляДокумента.Вставить("Номенклатура", "Номенклатура1");
    ДанныеДляДокумента.Вставить("Количество", 10);
    ДанныеДляДокумента.Вставить("Цена", 100);
    
    СоздатьДокументВДругойБазе("C:PathToDatabase", "Пользователь", "Пароль", ДанныеДляДокумента);
    

    Этот код демонстрирует, как можно создать документ в одной базе на основании данных из другой базы через COM-соединение. Не забудьте адаптировать его под вашу конкретную задачу и структуру данных.

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/164976/

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