Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 мар 2025, 04:53

Как с помощью V83.COMConnector передать данные?

Автор gulnyr, 01 мар 2023, 13:25

0 Пользователей и 1 гость просматривают эту тему.

gulnyr

С помощью V83.COMConnector получаю данные с другой конфигурации:

Функция ПолучитьПодключениеКФайловойБД()
Параметры = "File=""Путь"";Usr=""Логин"";Pwd=""Пароль""";
V83COMConnector= Новый COMОбъект("V83.COMConnector");
Попытка
Возврат V83COMConnector.Connect(Параметры);
Исключение
Предупреждение ("Ошибка подключения!");
Возврат Неопределено;
КонецПопытки;
КонецФункции



Процедура КнопкаВыполнитьНажатие(Кнопка)

Соединение = ПолучитьПодключениеКФайловойБД();

ЗапросБПЗО = Соединение.NewObject("Запрос");
ЗапросБПЗО.Текст = "ВЫБРАТЬ первые 15
| ДокументЗаказПокупателя.Номер КАК Номер
|ИЗ
| Документ.ЗаказПокупателя КАК ДокументЗаказПокупателя";
Выборка = ЗапросБПЗО.Выполнить().выбрать();
Пока Выборка.следующий() цикл
Сообщить(Выборка.Номер);
КонецЦикла;

КонецПроцедуры

А как передать данные с одной конфигурации в другую? Например, если данные какой-нибудь Розницы передать в Бухгалтерию предприятия (т.е. не получаем, а передаем данные).
Если с V83.COMConnector не получится передать данные, то что можно применять для этого?

antoneus

Через коннектор можно передавать только примитивные данные - строка, число, дата. Если через коннектор не получится - можно передавать через выгрузку в текстовые файлы (csv, xml), ну или в dbf какой-нибудь, но это сильно на любителя)
Ну и что значит "передать"? Вот в коде Сообщить(Выгрузка.Номер) - данные (Номер) уже переданы в текущую базу, их можно записать  куда-нибудь.

gulnyr

antoneus, например, в "конфигурации Розница" я смогу получить данные "конфигурации Бухгалтерия" (например номер какого-нибудь документа). А вот передать данные "Розницы" в "Бухгалтерию" не знаю как (например, изменяю название документа в "Рознице", после сохранения сразу передается в Бухгалтерию).

Afinogen

вам что? нужно в онлайне передавать?

gulnyr

Afinogen, да, при этом та конфигурация, в которую мы хотим передать данные, чтобы необязательно была открыта (изменили данные в одной конфигурации, после какого-то события [например, записи] увидим эти данные в другой конфигурации).

antoneus

Ну как-то так.

Соединение = ПолучитьПодключениеКФайловойБД();   
   
ДокСсылка = Соединение.Документы.НужныйДокумент.НайтиПоНомеру(СтарыйНомер, ДатаИнтервала);
ДокОбъект = ДокСсылка.ПолучитьОбъект();
ДокОбъект.Номер = НовыйНомер;
ДокОбъект.Записать();

gulnyr

antoneus,
Пробовал так, как вы написали:
ДокСсылка = Соединение.Документы.ЗаказПокупателя.НайтиПоНомеру("ЧПРТ-000006",Дата('2015-03-26'));
ДокОбъект = ДокСсылка.ПолучитьОбъект();
ДокОбъект.Номер = "ЧПРТ-000006-111";
ДокОбъект.Записать();

Но что-то номер как было так и стоит (старый номер). Что здесь не хватает?

antoneus


gulnyr

antoneus, Документ да, находит, с помощью "Сообщить" вывел, показывает

antoneus

Ну не знаю, может в номер тупо по длине не влезает -111?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск