Доброго времени! Подскажите пожалуйста, как можно выгрузить с помощью плана обмена срез последних из периодического регистра сведений?
Делаю обмен между мобильным приложением и УТП. Все прелестно, но вот выгрузить последнюю цену для номенклатуры не как. Если для одной номенклатуры меняется цена в двух документах, то он выгружает и последнее изменение и изменение уже старого документа. А это мовитон и вообще не приемлемо. Сейчас остановился на том, что делаю просто выгрузку в xml без плана обмена. Но, хотелось бы стандартными средствами.
Если можно то пример в коде.
Делаю обмен между мобильным приложением и УТП. Все прелестно, но вот выгрузить последнюю цену для номенклатуры не как. Если для одной номенклатуры меняется цена в двух документах, то он выгружает и последнее изменение и изменение уже старого документа. А это мовитон и вообще не приемлемо. Сейчас остановился на том, что делаю просто выгрузку в xml без плана обмена. Но, хотелось бы стандартными средствами.
Если можно то пример в коде.
По теме из базы знаний
- Пример технического задания
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Перенос данных Сотрудников и Физических лиц из ЗУП 3.1(2.5) в БП 2.0 (БП 3.0)
- Обмен данными с Web-сервисами
- Как выжить разработке, когда прод переезжает на PostgreSQL
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Как то так
А можно и рекурсивно.
Работающий код выгрузки регистра
Источник = Новый Структура("Номенклатура,Цена",Товар,РегистрСведений.Цены.ПолучитьПоследнее(Новый Структура("Номенклатура",Товар)).Цена);
ВыгрузитьПоПравилу(Источник,,,,Это Правило)
А можно и рекурсивно.
Работающий код выгрузки регистра
Если ТипЗнч(Источник) = Тип("СправочникСсылка.Номенклатура") Тогда
Набор = РегистрыСведений.НашРегистр.СоздатьНаборЗаписей();
Набор.Отбор.Номенклатура.Установить(Источник);
Набор.Прочитать();
Для Каждого ТекЗапись Из Набор Цикл
ВыгрузитьПоПравилу(ТекЗапись, , , , Это Правило);
КонецЦикла;
Отказ=Истина;
КонецЕсли;
Показать
(2)Я не через конвертацию выгружаю. У меня так:
Выборка = ПланыОбмена.ВыбратьИзменения(Узел, ЗапСообщения.НомерСообщения);
Пока Выборка.Следующий() Цикл
Данные = Выборка.Получить();
Если ТипЗнч(Данные) = Тип("ДокументОбъект.РеализацияТоваров") Тогда
ВыгрузкаРеализации(ЗаписьXML, Данные);
Иначе // все остальные объекты
ЗаписатьXML(ЗаписьXML, Данные);
КонецЕсли;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот