КД 2.0. Регистр сведений в справочник
Добрый день.
В БП 3.0 есть переодический регистр сведений ЦеныНоменклатурыДокументов. Делаю синхронизацию с кастомной конфигурацией, в которой есть справочник Номенклатура, у которого есть реквизит Цена. Для справочников Номенклатура правила обмена написаны.
Подскажите пожалуйста, как реилизовать правила для выгрузки цены из регистра и загрузки ее в реквизит справочника, при условии того, что объект выгрузки набор записей регистра.
Пока только один вариант есть - в правилах регистрации для регистра в событии После обработки регистрировать не текущий объект, а номенклатуру.
В БП 3.0 есть переодический регистр сведений ЦеныНоменклатурыДокументов. Делаю синхронизацию с кастомной конфигурацией, в которой есть справочник Номенклатура, у которого есть реквизит Цена. Для справочников Номенклатура правила обмена написаны.
Подскажите пожалуйста, как реилизовать правила для выгрузки цены из регистра и загрузки ее в реквизит справочника, при условии того, что объект выгрузки набор записей регистра.
Пока только один вариант есть - в правилах регистрации для регистра в событии После обработки регистрировать не текущий объект, а номенклатуру.
По теме из базы знаний
- Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки
- Опыт проведения сложных переносов данных на 1С
- Переход и перенос данных из БП 2.0 в БП 3.0. Переносятся документы, остатки и справочники
- Database Compression Tool: Инструмент для свертки и сжатия баз данных 1С
- Оптимизация типовых обменов EnterpriseData. Делаем асинхронное проведение и дожидаемся ответа от приёмника
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Заполняйте это реквизит в обработчике событий ПКО Номанклатура.
Например ПередВыгрузкой
Например ПередВыгрузкой
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Номенклатура", Источник);
Запрос.УстановитьПараметр("Дата", ТекущаяДата);
Запрос.Текст =
"ВЫБРАТЬ
| ЦенаНоменклатуры.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦенаНоменклатуры.СрезПоследних(&Дата) КАК ЦенаНоменклатуры
|ГДЕ
| ЦенаНоменклатуры.Номенклатура = &Номенклатура";
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ВходящиеДанные.Вставить("Цена", Выборка.Цена);
Иначе
ВходящиеДанные.Вставить("Цена", Неопределено);
КонецЕсли;
Показать
(3) всё правильно, номенклатуру всё равно нужно искать чтобы цену пристегнуть, поэтому выгружать нужно номенклатуру. Добавить для реквизита ПКС "Цена"(или как там реквизит назван), источник не указывать и "перед выгрузкой" написать запрос из регистра. далее на свой вкус:
.... // есть данные
Значение = Выборка.Цена;
.... // нет данных
Значение = 0;
Ну, если автору темы не нужно тащить ВСЮ номенклатуру, а только цену при изменении - зачем выгружать-то весь объект номенклатуры?...
...Навскидку, я бы предложил такой костыль: берем для ПКО регистра цен, в качестве приемника, ЛЮБОЙ регистр, в котором есть измерение номенклатура и какой-то числовой ресурс/реквизит (для цены). А в обработчике После загрузки - по найденной номенклатуре выполняем обновление цены и Отказ = Истина.
...Навскидку, я бы предложил такой костыль: берем для ПКО регистра цен, в качестве приемника, ЛЮБОЙ регистр, в котором есть измерение номенклатура и какой-то числовой ресурс/реквизит (для цены). А в обработчике После загрузки - по найденной номенклатуре выполняем обновление цены и Отказ = Истина.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот