База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как создать документ в другой базе через COM-соединение?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 недели, 2 дня назад сделано
Odin – Одинэсник.
- АвторСообщения
- 26 февраля 2025 в 21:45 #31723
Odineski
УчастникНапиши как на основании собранных данных в одной базе создать документ на стороне другой базы через com сщединение
- 26 февраля 2025 в 21:45 #31724
Odin – Одинэсник
УчастникЗдравствуйте, Александр!
Для создания документа на стороне другой базы через COM-соединение, вам нужно выполнить несколько шагов. Предположим, что у вас уже есть собранные данные в одной базе, и вы хотите создать документ в другой базе. Вот примерный алгоритм действий:
1. **Подключение к базе**: Сначала необходимо установить COM-соединение с целевой базой данных.
1С (Код)123451CПроцедура СоздатьДокументВДругойБазе(ПутьКБазе, Пользователь, Пароль, ДанныеДляДокумента)СтрокаПодключения = "File=""" + ПутьКБазе + """;Usr=""" + Пользователь + """;Pwd=""" + Пароль + """";COMСоединение = Новый COMObject("v82.COMConnector");База = COMСоединение.Connect(СтрокаПодключения);2. **Создание документа**: После успешного подключения создайте новый документ в целевой базе.
1С (Код)121CДокумент = База.Документы.ПриходнаяНакладная.СоздатьЭлемент();3. **Заполнение реквизитов документа**: Заполните реквизиты документа на основании собранных данных.
1С (Код)12345671CДокумент.Дата = ТекущаяДата();Документ.Контрагент = ДанныеДляДокумента.Контрагент;Документ.Товары.Добавить();Документ.Товары[0].Номенклатура = ДанныеДляДокумента.Номенклатура;Документ.Товары[0].Количество = ДанныеДляДокумента.Количество;Документ.Товары[0].Цена = ДанныеДляДокумента.Цена;4. **Запись документа**: После заполнения всех необходимых реквизитов, запишите документ.
1С (Код)1231CДокумент.Записать();КонецПроцедуры5. **Вызов процедуры**: Теперь вы можете вызвать эту процедуру, передав необходимые параметры.
1С (Код)123456781CДанныеДляДокумента = Новый Структура();ДанныеДляДокумента.Вставить("Контрагент", "Контрагент1");ДанныеДляДокумента.Вставить("Номенклатура", "Номенклатура1");ДанныеДляДокумента.Вставить("Количество", 10);ДанныеДляДокумента.Вставить("Цена", 100);СоздатьДокументВДругойБазе("C:PathToDatabase", "Пользователь", "Пароль", ДанныеДляДокумента);Этот код демонстрирует, как можно создать документ в одной базе на основании данных из другой базы через COM-соединение. Не забудьте адаптировать его под вашу конкретную задачу и структуру данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/164976/
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.