Перенос накоплений по дисконтным картам
Есть 2 базы: 1- до свертки, 2 - после.
Во второй базе отсутствуют данные по регистру "Продажи по дисконтным картам". Вариант - пишем правила, которые "на лету" перенесут документ "Корректировка записей регистров" с оборотам по регистру "Продажи по дисконтным картам".
Создал ПВД с произвольным алгоритмом. Текст простой:
В ПКО для ПКГС ПродажиПоДисконтнымКартам перед обработкой такой код:
Но при выгрузке мы получаем ожидаемый результат:
Который говорит нам, что Таблица значений <> Набору записей. Как налету сформировать набор записей? Это возможно?
Если нет, то как лучше решить задачу (вариант создать документ в базе и перенести его - в последнюю очередь рассматриваю - не хотелось бы лишние данные создавать, да и не интересно так)?
Вполне вероятно можно перенести таблицу и уже при загрузке из нее формировать движение путем создания набора записей в приемнике. Но непонятно, как в качестве параметра передать таблицу? С реквизитами понятно все, а вот таблицу - не разу в качестве параметра не передавал.
Во второй базе отсутствуют данные по регистру "Продажи по дисконтным картам". Вариант - пишем правила, которые "на лету" перенесут документ "Корректировка записей регистров" с оборотам по регистру "Продажи по дисконтным картам".
Создал ПВД с произвольным алгоритмом. Текст простой:
Дисконты = Новый Структура;
Дисконты.Вставить("Дата", Дата(2013,9,30,23,59,59));
ВыгрузитьПоПравилу(Дисконты,,,, "КорректировкаЗаписейРегистров");
В ПКО для ПКГС ПродажиПоДисконтнымКартам перед обработкой такой код:
Запрос = Новый Запрос("ВЫБРАТЬ
| ПродажиПоДисконтнымКартамОбороты.ВладелецДисконтнойКарты КАК ВладелецДисконтнойКарты,
| ПродажиПоДисконтнымКартамОбороты.ДисконтнаяКарта КАК ДисконтнаяКарта,
| ПродажиПоДисконтнымКартамОбороты.СуммаОборот КАК Сумма
|ИЗ
| РегистрНакопления.ПродажиПоДисконтнымКартам.Обороты(, &КонецПериода, , ) КАК ПродажиПоДисконтнымКартамОбороты");
Запрос.УстановитьПараметр("КонецПериода", Дата(2013,9,30,23,59,59));
ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
ВходящиеДанные = Новый СписокЗначений;
ВходящиеДанные.Вставить("ПродажиПоДисконтнымКартам", ТаблицаРезультата );
ПоказатьНо при выгрузке мы получаем ожидаемый результат:
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1717)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
ПВД = КорректировкаЗаписейРегистров
Обработчик = ПередОбработкойВыгрузкиДанных
ОписаниеОшибки = Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = КорректировкаЗаписейРегистров (Документ: Корректировка записей регистров)
ПКГС = 3 (--> ПродажиПоДисконтнымКартам)
Объект = Структура (Структура)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка при вызове метода контекста (Вставить): Несоответствие типов (параметр номер '1')
ПозицияМодуля = (24)
КодСообщения = 48
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)
КодСообщения = 31
ПоказатьПВД = КорректировкаЗаписейРегистров
Обработчик = ПередОбработкойВыгрузкиДанных
ОписаниеОшибки = Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
ПКО = КорректировкаЗаписейРегистров (Документ: Корректировка записей регистров)
ПКГС = 3 (--> ПродажиПоДисконтнымКартам)
Объект = Структура (Структура)
Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
ОписаниеОшибки = Ошибка при вызове метода контекста (Вставить): Несоответствие типов (параметр номер '1')
ПозицияМодуля = (24)
КодСообщения = 48
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694)
КодСообщения = 31
Который говорит нам, что Таблица значений <> Набору записей. Как налету сформировать набор записей? Это возможно?
Если нет, то как лучше решить задачу (вариант создать документ в базе и перенести его - в последнюю очередь рассматриваю - не хотелось бы лишние данные создавать, да и не интересно так)?
Вполне вероятно можно перенести таблицу и уже при загрузке из нее формировать движение путем создания набора записей в приемнике. Но непонятно, как в качестве параметра передать таблицу? С реквизитами понятно все, а вот таблицу - не разу в качестве параметра не передавал.
По теме из базы знаний
- Правила обмена УТ 10.3 Розница 1.0 (накопление по дисконтным картам)
- Замена дисконтных карт в 1С:Розница 2.1
- Обработка для переноса справочников и остатков из 1С: Розница 1.0 в 1С: Розница 2.2
- Перенос справочников и остатков номенклатуры из Розница 2.2 в Далион-ТРЕНД 2.0 с использованием правил обмена.
- Перенос остатков по дисконтным картам (картам лояльности) в УТ 11
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот