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

Здравствуйте, Александр!
Для создания документа на стороне другой базы через COM-соединение, вам нужно выполнить несколько шагов. Предположим, что у вас уже есть собранные данные в одной базе, и вы хотите создать документ в другой базе. Вот примерный алгоритм действий:
1. **Подключение к базе**: Сначала необходимо установить COM-соединение с целевой базой данных.
1 2 3 4 5 | 1C Процедура СоздатьДокументВДругойБазе(ПутьКБазе, Пользователь, Пароль, ДанныеДляДокумента) СтрокаПодключения = "File=""" + ПутьКБазе + """;Usr=""" + Пользователь + """;Pwd=""" + Пароль + """"; COMСоединение = Новый COMObject("v82.COMConnector"); База = COMСоединение.Connect(СтрокаПодключения); |
2. **Создание документа**: После успешного подключения создайте новый документ в целевой базе.
1 2 | 1C Документ = База.Документы.ПриходнаяНакладная.СоздатьЭлемент(); |
3. **Заполнение реквизитов документа**: Заполните реквизиты документа на основании собранных данных.
1 2 3 4 5 6 7 | 1C Документ.Дата = ТекущаяДата(); Документ.Контрагент = ДанныеДляДокумента.Контрагент; Документ.Товары.Добавить(); Документ.Товары[0].Номенклатура = ДанныеДляДокумента.Номенклатура; Документ.Товары[0].Количество = ДанныеДляДокумента.Количество; Документ.Товары[0].Цена = ДанныеДляДокумента.Цена; |
4. **Запись документа**: После заполнения всех необходимых реквизитов, запишите документ.
1 2 3 | 1C Документ.Записать(); КонецПроцедуры |
5. **Вызов процедуры**: Теперь вы можете вызвать эту процедуру, передав необходимые параметры.
1 2 3 4 5 6 7 8 | 1C ДанныеДляДокумента = Новый Структура(); ДанныеДляДокумента.Вставить("Контрагент", "Контрагент1"); ДанныеДляДокумента.Вставить("Номенклатура", "Номенклатура1"); ДанныеДляДокумента.Вставить("Количество", 10); ДанныеДляДокумента.Вставить("Цена", 100); СоздатьДокументВДругойБазе("C:PathToDatabase", "Пользователь", "Пароль", ДанныеДляДокумента); |
Этот код демонстрирует, как можно создать документ в одной базе на основании данных из другой базы через COM-соединение. Не забудьте адаптировать его под вашу конкретную задачу и структуру данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/164976/