Перенос кассовых документов из УТ 11.4 в БП 3.0 через СОМ-соединение. (Внешняя обработка, запускаемая в базе-источнике). Механизм переноса GUID документа в базу получатель.

Публикация № 1089773

Обмен - Перенос данных из 1C8 в 1C8

СОМ COM обмен выгрузка

0
Обработка запускается в Управлении Торговлей (11.4) и создает документы в Бухгалтерии Предприятием (3.0), подключаясь через СОМ-соединение. Обработка выполнена на управляемых формах (релиз платформы 8.3.12.1685, будет работать на любых релизах и сборка упомянутых выше версий конфигураций). Сразу предупреждаю - это рабочий макет. Это выражается в том, что в создаваемых документах в БП заполняются не все реквизиты и всегда подставляется одна организация ("Основная организация"). Но все требуемые для поиска и создания объектов в базе-получателе механизмы использованы, и ее дальнейшая доработка всего лишь дело техники.

Как то на собеседовании получил задание сделать выгрузку Приходных и Расходных кассовых ордеров из Управления торговлей 11 в Бухгалтерию предприятия 3.0 через СОМ-соединение с определенными допущениями.

Все механизмы работы через СОМ-соединение многократно описаны и широко известны. Некоторую сложность вызывал только перенос GUID'а документа из базы-источника в создаваемый документ базы-получателя. Собственно, в основном, ради его описания и создана эта статья.

СтрокаGUIDИсходногоДокумента = XMLСтрока(СсылкаНаИсходныйДокумент.УникальныйИдентификатор());
СсылкаНаСоздаваемыйЧерезСОМДокумент = СОМ_Соединение.Документы.ПриходныйКассовыйОрдер.ПолучитьСсылку(Соединение.NewObject("УникальныйИдентификатор", СтрокаGUIDИсходногоДокумента));
СоздаваемыйЧерезСОМДокументОбъект = СОМ_Соединение.Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
СоздаваемыйЧерезСОМДокументОбъект.УстановитьСсылкуНового(СсылкаНаСоздаваемыйЧерезСОМДокумент);

Краткое описание приведенного выше кода:

  • получаем строковое представление GUID в базе-источнике;
  • создаем ссылку на создаваемый в базе-получателе документ с GUID исходного документа;
  • создаем документ-объект в базе получателе;
  • присваиваем ему ссылку с требующимся GUID.

Все остальные моменты работы через СОМ-соединение можно прочитать, например, тут Некоторая работа с данными через COM (Vladimir A (wowik)), и описывать их снова нет особого смысла.

Ну, еще можно упомянуть, что проверка на то, что объект с заданным GUID уже существует в базе приемнике может осуществляться следующим способом:

СсылкаНаСоздаваемыйЧерезСОМДокумент = СОМ_Соединение.Документы.ПриходныйКассовыйОрдер.ПолучитьСсылку(Соединение.NewObject("УникальныйИдентификатор", СтрокаGUIDИсходногоДокумента));
СсылкаНаСоздаваемыйЧерезСОМДокумент_Строка = СОМ_Соединение.String(СсылкаНаСоздаваемыйЧерезСОМДокумент);
Если Найти(СсылкаНаСоздаваемыйЧерезСОМДокумент_Строка, "Объект не найден") = 0 Тогда
	// документ с таким GUID уже существует в базе
КонецЕсли;

 

0

Скачать файлы

Наименование Файл Версия Размер
Внешняя обработка. Перенос кассовых документов из УТ 11.4 в БП 3.0 через СОМ-соединение. Рабочий макет (не все реквизиты). Будет работать на любых релизах и сборка упомянутых выше версий конфигураций.
.epf 14,07Kb
14.07.19
4
.epf 0.0.1 14,07Kb 4 Скачать

См. также

Специальные предложения

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение