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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как создать документ в другой базе через COM-соединение?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31723
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Напиши как на основании собранных данных в одной базе создать документ на стороне другой базы через 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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С