0
withoutname
20.09.22
✎
17:54
|
Подскажите как можно реализовать самостоятельное заполнение регистра Соответствие объектов информационных баз?
Сценарий следующий:
1. Выгружается документ, номенклатура не создается (в тч добавлено название номенклатуры и уид базы источника)
2. Пользователь в документе выбирает требуемую Номенклатуру
3. При проведении устанавливать соответствие
|
|
2
withoutname
28.09.22
✎
09:13
|
Есть такие функции
РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ОбъектЕстьВРегистре(Склад, УзелОбмена)
РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ДобавитьЗапись(СтруктураЗаписи);
Записи добавляются, но в последующем не используются при обмене...
|
|
3
withoutname
28.09.22
✎
10:51
|
Нашел, я не указал в РС ТипИсточника и ТипПриемника, а они используются при поиске
Поправил, теперь подставляется )
|
|
4
withoutname
28.09.22
✎
11:32
|
Итоговый код
УзелОбмена = Константы.дит_УзелОбменаБИТ.Получить();
Если ЗначениеЗаполнено(УзелОбмена) Тогда
Если Не РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ОбъектЕстьВРегистре(Склад, УзелОбмена)
И ЗначениеЗаполнено(Склад) И ЗначениеЗаполнено(дит_УИДСкладаБИТ) Тогда
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("УзелИнформационнойБазы", УзелОбмена);
СтруктураЗаписи.Вставить("УникальныйИдентификаторИсточника", Склад);
СтруктураЗаписи.Вставить("УникальныйИдентификаторПриемника", дит_УИДСкладаБИТ);
СтруктураЗаписи.Вставить("ТипПриемника", "СправочникСсылка." + Склад.Метаданные().Имя);
СтруктураЗаписи.Вставить("ТипИсточника", "СправочникСсылка." + Склад.Метаданные().Имя);
РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ДобавитьЗапись(СтруктураЗаписи);
КонецЕсли;
Для каждого СтрокаТовар Из Товары Цикл
Если ЗначениеЗаполнено(СтрокаТовар.Номенклатура)
И Не РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ОбъектЕстьВРегистре(СтрокаТовар.Номенклатура, УзелОбмена) Тогда
СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("УзелИнформационнойБазы", УзелОбмена);
СтруктураЗаписи.Вставить("УникальныйИдентификаторИсточника", СтрокаТовар.Номенклатура);
СтруктураЗаписи.Вставить("УникальныйИдентификаторПриемника", СтрокаТовар.дит_УИДНоменклатурыБИТ);
СтруктураЗаписи.Вставить("ТипПриемника", "СправочникСсылка." + СтрокаТовар.Номенклатура.Метаданные().Имя);
СтруктураЗаписи.Вставить("ТипИсточника", "СправочникСсылка." + СтрокаТовар.Номенклатура.Метаданные().Имя);
РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ДобавитьЗапись(СтруктураЗаписи);
КонецЕсли;
КонецЦикла;
КонецЕсли;
|
|