КД 3 Ошибка конвертации свойств
Добрый день! Пытаюсь синхронизировать Розницу2 и УНФ. При синхронизации в приемнике получаю такую ошибку:
Код в источнике:
Код в приемнике:
Прикрепляю скрины XDTO справочник ДисконтныеКарты и документ ОтчетыОРозничныхПродажах со свойством ПрограммаЛояльности. В чем ошибка?
Скрытый текст |
---|
Направление: Получение.
ПОД: Документ_ОтчетОРозничныхПродажах_Получение. ПКО: Документ_ОтчетОРозничныхПродажах_Получение. Объект: Документ.ОтчетОРозничныхПродажах. Событие: Получение. Объект: Документ объект: Отчет о розничных продажах, Отчет о розничных продажах 00ВЭ-001055 от 20.12.2023 20:18:37 (). Ошибка конвертации свойств. Ошибка конвертации свойства объекта XDTO, имя свойства: <БонуснаяКарта>. Событие: Получение. Обработчик: ПриКонвертацииДанныхXDTO. Объект: Справочник объект: Дисконтные карты, <> (). Ошибка выполнения обработчика. Поле объекта не обнаружено (ПрограммаЛояльности) {ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(25349)}:ВидДКСтруктура.Вставить("ПрограммаЛояльности", ДанныеXDTO.ПрограммаЛояльности); {ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(2753)}:ПКО_Справочник_ДисконтныеКарты_Получение_ПриКонвертацииДанны {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(7555)}:МенеджерОбмена.ВыполнитьПроцедуруМодуляМенеджера(ИмяОбработчика, СтруктураПараметров); {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1751)}:ПриКонвертацииДанныхXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5684)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ(КомпонентыОбмена, ЗначениеСвойства, ПравилоКонвертации, "ПолучитьСсылку"); {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5534)}:КонвертацияСвойстваСтруктурыОбъектаXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1761)}:КонвертацияСвойствСтруктурыОбъектаXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6432)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2050)}:ПрочитатьСообщениеОбмена(КомпонентыОбмена, Результаты, ТаблицыДляЗагрузки); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(403)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(767)}:ВыполнитьЗагрузкуДанных(); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(8988)}:ОбработкаОбменаДаннымиВнешнееСоединение.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(9458)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСо {Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( {(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5952)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1692)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1671)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]. {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(7576)}:ВызватьИсключение ТекстОшибки; {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1751)}:ПриКонвертацииДанныхXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5684)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ(КомпонентыОбмена, ЗначениеСвойства, ПравилоКонвертации, "ПолучитьСсылку"); {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5534)}:КонвертацияСвойстваСтруктурыОбъектаXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1761)}:КонвертацияСвойствСтруктурыОбъектаXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6432)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2050)}:ПрочитатьСообщениеОбмена(КомпонентыОбмена, Результаты, ТаблицыДляЗагрузки); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(403)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(767)}:ВыполнитьЗагрузкуДанных(); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(8988)}:ОбработкаОбменаДаннымиВнешнееСоединение.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(9458)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСо {Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( {(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5952)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1692)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1671)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка] {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5694)}:ВызватьИсключение ТекстОшибки; {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5534)}:КонвертацияСвойстваСтруктурыОбъектаXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1761)}:КонвертацияСвойствСтруктурыОбъектаXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6432)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2050)}:ПрочитатьСообщениеОбмена(КомпонентыОбмена, Результаты, ТаблицыДляЗагрузки); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(403)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(767)}:ВыполнитьЗагрузкуДанных(); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(8988)}:ОбработкаОбменаДаннымиВнешнееСоединение.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(9458)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСо {Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( {(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5952)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1692)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1671)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]. {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(5558)}:ВызватьИсключение ТекстОшибки; {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(1761)}:КонвертацияСвойствСтруктурыОбъектаXDTO( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6432)}:ДанныеДляЗаписиВИБ = СтруктураОбъектаXDTOВДанныеИБ( {ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(2050)}:ПрочитатьСообщениеОбмена(КомпонентыОбмена, Результаты, ТаблицыДляЗагрузки); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(403)}:ОбменДаннымиXDTOСервер.ПроизвестиЧтениеДанных(КомпонентыОбмена); {Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(767)}:ВыполнитьЗагрузкуДанных(); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(8988)}:ОбработкаОбменаДаннымиВнешнееСоединение.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(9458)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСо {Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( {(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5952)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1692)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1671)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка] |
Код в источнике:
//ФС-дописка
СвойстваТЧ = ДобавитьПКТЧ(ПравилоКонвертации, "ОплатаБонуснымиБаллами", "ОплатаБонуснымиБаллами");
ДобавитьПКС(СвойстваТЧ, "ДисконтнаяКарта", "ДисконтнаяКарта");
ДобавитьПКС(СвойстваТЧ, "", "БонуснаяПрограммаЛояльности", 1);
ДобавитьПКС(СвойстваТЧ, "", "СуммаБонусныхБаллов", 1);
//ФС-дописка
Код в приемнике:
//ФС-дописка
СвойстваТЧ = ДобавитьПКТЧ(ПравилоКонвертации, "", "ОплатаБонуснымиБаллами");
ДобавитьПКС(СвойстваТЧ, "ДисконтнаяКарта", "ДисконтнаяКарта", 1);
ДобавитьПКС(СвойстваТЧ, "ПрограммаЛояльности", "", 1);
ДобавитьПКС(СвойстваТЧ, "СуммаБонусовВСкидках", "", 1);
//ФС-дописка
Прикрепляю скрины XDTO справочник ДисконтныеКарты и документ ОтчетыОРозничныхПродажах со свойством ПрограммаЛояльности. В чем ошибка?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вероятно допустил ошибки при настройке конвертаций. Решил изменить и для начала обменяться только полем СуммаБонусныхБаллов. Теперь данное поле передается из Розницы в УНФ, но при попытке также передать дисконтную карту, ошибка остается прежней.
Источник:
Приемник:
Источник:
СвойстваТЧ = ДобавитьПКТЧ(ПравилоКонвертации, "ОплатаБонуснымиБаллами", "ОплатаБонуснымиБаллами");
//ДобавитьПКС(СвойстваТЧ, "ДисконтнаяКарта", "ДисконтнаяКарта");
ДобавитьПКС(СвойстваТЧ, "СуммаБонусовВСкидках", "СуммаБонусныхБаллов");
Приемник:
СвойстваТЧ = ДобавитьПКТЧ(ПравилоКонвертации, "Запасы", "ОплатаБонуснымиБаллами");
//ДобавитьПКС(СвойстваТЧ, "ДисконтнаяКарта", "ДисконтнаяКарта");
ДобавитьПКС(СвойстваТЧ, "СуммаСкидкиОплатыБонусом", "СуммаБонусныхБаллов");
кд2
Обработка события перед выгрузкой ПКО ОтчетОРозничныхПродажах:
Запрос ОтчетОРозничныхПродажах_ТаблицаПромежуточная :
Обработка события перед выгрузкой ПКО ОтчетОРозничныхПродажах:
СписокВидовОплаты = Новый СписокЗначений;
СписокВидовОплаты.Добавить(ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент("Справочник.ВидыОплатЧекаККМ.ЗачетАванса"));
СписокВидовОплаты.Добавить(ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент("Справочник.ВидыОплатЧекаККМ.ОплатаВрассрочку"));
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запросы.ОтчетОРозничныхПродажах_ТаблицаПромежуточная.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запросы.ОтчетОРозничныхПродажах_ТаблицаПромежуточная.УстановитьПараметр("Ссылка", Источник.Ссылка);
Запросы.ОтчетОРозничныхПродажах_ТаблицаПромежуточная.УстановитьПараметр("ВидОплаты", СписокВидовОплаты);
РезультатыЗапросаВозвраты = Запросы.ОтчетОРозничныхПродажах_ТаблицаПромежуточная.ВыполнитьПакет();
ТаблицаПромежуточная = Запросы.ОтчетОРозничныхПродажах_ТаблицаПромежуточная.МенеджерВременныхТаблиц.Таблицы["ТаблицаПромежуточная"].ПолучитьДанные().Выгрузить();
Если ТаблицаПромежуточная.Количество() = 0 Тогда // Нет Чеков или ОРП загружен из ККМОффлайн.
МенеджерВременныхТаблиц.Закрыть();
ЗапросТовары = Новый Запрос();
ЗапросТовары.Текст =
"ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| СУММА(Товары.Количество) КАК Количество,
| СУММА(Товары.КоличествоУпаковок) КАК КоличествоУпаковок,
| ВЫБОР
| КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
| ТОГДА СпрНоменклатура.ЕдиницаИзмерения
| ИНАЧЕ Товары.Упаковка
| КОНЕЦ КАК Упаковка,
| Товары.СтавкаНДС КАК СтавкаНДС,
| Товары.Цена КАК Цена,
| СУММА(Товары.Сумма) КАК Сумма,
| СУММА(Товары.СуммаНДС) КАК СуммаНДС,
| Товары.СтатусУказанияСерий КАК СтатусУказанияСерий,
| Товары.ДисконтнаяКарта КАК ДисконтнаяКарта,
| Товары.Продавец КАК Продавец
|ИЗ
| Документ.ОтчетОРозничныхПродажах.Товары КАК Товары
|ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.Номенклатура КАК СпрНоменклатура
|ПО
| СпрНоменклатура.Ссылка = Товары.Номенклатура
|ГДЕ
| Товары.Ссылка = &Ссылка
| И СпрНоменклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Характеристика,
| ВЫБОР
| КОГДА Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
| ТОГДА СпрНоменклатура.ЕдиницаИзмерения
| ИНАЧЕ Товары.Упаковка
| КОНЕЦ,
| Товары.СтавкаНДС,
| Товары.Цена,
| Товары.СтатусУказанияСерий,
| Товары.ДисконтнаяКарта,
| Товары.Продавец
|
|ИМЕЮЩИЕ
| СУММА(Товары.Количество) <> 0
|";
ЗапросТовары.УстановитьПараметр("Ссылка", Источник.Ссылка);
ТаблицаТовары = ЗапросТовары.Выполнить().Выгрузить();
Если ТаблицаТовары.Количество() = 0 Тогда
Отказ = Истина;
Иначе
ВходящиеДанные.Вставить("Запасы", ТаблицаТовары);
КонецЕсли;
ЗапросОплаты = Новый Запрос();
ЗапросОплаты.Текст =
"ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА ОтчетОРозничныхПродажахТовары.Количество < 0
| ТОГДА ОтчетОРозничныхПродажахТовары.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК Сумма
|ПОМЕСТИТЬ СуммаВозвратаТоваров
|ИЗ
| Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
|ГДЕ
| ОтчетОРозничныхПродажахТовары.Ссылка = &Ссылка
|;
|ВЫБРАТЬ
| ОплатаПК.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
| ОплатаПК.ВидОплаты КАК ВидОплаты,
| СУММА(ОплатаПК.Сумма) КАК Сумма,
| ВЫБОР
| КОГДА ОплатаПК.Сумма = СуммаВозвратаТоваров.Сумма
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПолеГруппировки
|ИЗ
| Документ.ОтчетОРозничныхПродажах.ОплатаПлатежнымиКартами КАК ОплатаПК,
| СуммаВозвратаТоваров КАК СуммаВозвратаТоваров
|ГДЕ
| ОплатаПК.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ОплатаПК.ЭквайринговыйТерминал,
| ОплатаПК.ВидОплаты,
| ВЫБОР
| КОГДА ОплатаПК.Сумма = СуммаВозвратаТоваров.Сумма
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ
|
|ИМЕЮЩИЕ
| СУММА(ОплатаПК.Сумма) <> 0
|";
ЗапросОплаты.УстановитьПараметр("Ссылка", Источник.Ссылка);
ТаблицаОплаты = ЗапросОплаты.Выполнить().Выгрузить();
ВходящиеДанные.Вставить("Оплаты", ТаблицаОплаты);
Иначе
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = "
|ВЫБРАТЬ
| Док.Номенклатура КАК Номенклатура,
| Док.Характеристика КАК Характеристика,
| Док.Продавец КАК Продавец,
| СУММА(ВЫБОР
| КОГДА Док.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
| ТОГДА Док.Количество
| ИНАЧЕ -Док.Количество
| КОНЕЦ) КАК Количество,
| Док.Цена КАК Цена,
| Док.СтавкаНДС КАК СтавкаНДС,
| СУММА(ВЫБОР
| КОГДА Док.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
| ТОГДА Док.СуммаНДС
| ИНАЧЕ -Док.СуммаНДС
| КОНЕЦ) КАК СуммаНДС,
| СУММА(ВЫБОР
| КОГДА Док.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
| ТОГДА Док.Сумма
| ИНАЧЕ -Док.Сумма
| КОНЕЦ) КАК Сумма,
| Док.Упаковка КАК Упаковка,
| СУММА(ВЫБОР
| КОГДА Док.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
| ТОГДА Док.КоличествоУпаковок
| ИНАЧЕ -Док.КоличествоУпаковок
| КОНЕЦ) КАК КоличествоУпаковок,
| Док.СтатусУказанияСерий КАК СтатусУказанияСерий
|ИЗ
| ТаблицаПромежуточная КАК Док
|
|СГРУППИРОВАТЬ ПО
| Док.Номенклатура,
| Док.Характеристика,
| Док.Продавец,
| Док.СтавкаНДС,
| Док.Цена,
| Док.Упаковка,
| Док.СтатусУказанияСерий,
| Док.ЭтоВозвратПослеЗакрытияСмены
|
|ИМЕЮЩИЕ
| СУММА(ВЫБОР
| КОГДА Док.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
| ТОГДА Док.Количество
| ИНАЧЕ -Док.Количество
| КОНЕЦ) <> 0
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ЧекККМОплата.Ссылка КАК Ссылка,
| ЧекККМОплата.НомерСтроки КАК НомерСтроки,
| ЧекККМОплата.ВидОплаты КАК ВидОплаты,
| ЧекККМОплата.ВидОплаты.ТипОплаты КАК ТипОплаты,
| ЧекККМОплата.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
| ЧекККМОплата.Сумма КАК Сумма,
| ВЫБОР
| КОГДА Док.ВидОперации = &ВидОперацииПродажа
| ТОГДА 1
| ИНАЧЕ -1
| КОНЕЦ КАК КоэффициентВидаОплаты,
| ВЫБОР
| КОГДА Док.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Возврат)
| И (Док.ЧекККМПродажа.ОтчетОРозничныхПродажах <> &Ссылка
| ИЛИ Док.ЧекККМПродажа = ЗНАЧЕНИЕ(Документ.ЧекККМ.ПустаяСсылка))
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ЭтоВозвратПослеЗакрытияСмены
|ПОМЕСТИТЬ ТаблицаОплат
|ИЗ
| Документ.ЧекККМ.Оплата КАК ЧекККМОплата
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК Док
| ПО (Док.Ссылка = ЧекККМОплата.Ссылка)
|ГДЕ
| ЧекККМОплата.ВидОплаты.ТипОплаты = &ТипОплатыПлатежнаяКарта
| И НЕ Док.Ссылка В
| (ВЫБРАТЬ
| ЧЕКИ54ФЗ.Ссылка КАК Ссылка
| ИЗ
| ЧЕКИ54ФЗ КАК ЧЕКИ54ФЗ)
| И Док.ОтчетОРозничныхПродажах = &Ссылка
| И Док.Проведен
| И НЕ Док.ОперацияСДенежнымиСредствами
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблицаОплат.ВидОплаты КАК ВидОплаты,
| ТаблицаОплат.ТипОплаты КАК ТипОплаты,
| ТаблицаОплат.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
| ТаблицаОплат.КоэффициентВидаОплаты * ТаблицаОплат.Сумма КАК Сумма,
| ТаблицаОплат.ЭтоВозвратПослеЗакрытияСмены КАК ЭтоВозвратПослеЗакрытияСмены
|ПОМЕСТИТЬ ПодготовительнаяТаблица
|ИЗ
| ТаблицаОплат КАК ТаблицаОплат
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ПодготовительнаяТаблица.ВидОплаты КАК ВидОплаты,
| ПодготовительнаяТаблица.ТипОплаты КАК ТипОплаты,
| ПодготовительнаяТаблица.ЭквайринговыйТерминал КАК ЭквайринговыйТерминал,
| СУММА(ПодготовительнаяТаблица.Сумма) КАК Сумма
|ИЗ
| ПодготовительнаяТаблица КАК ПодготовительнаяТаблица
|
|СГРУППИРОВАТЬ ПО
| ПодготовительнаяТаблица.ТипОплаты,
| ПодготовительнаяТаблица.ЭквайринговыйТерминал,
| ПодготовительнаяТаблица.ВидОплаты,
| ПодготовительнаяТаблица.ЭтоВозвратПослеЗакрытияСмены
|
|ИМЕЮЩИЕ
| СУММА(ПодготовительнаяТаблица.Сумма) <> 0
|";
Запрос.УстановитьПараметр("ВидОплаты", СписокВидовОплаты);
Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка);
Запрос.УстановитьПараметр("ВидОперацииПродажа" , Перечисления.ВидыОперацийЧекККМ.Продажа);
Запрос.УстановитьПараметр("ТипОплатыПлатежнаяКарта" , Перечисления.ТипыОплатЧекаККМ.ПлатежнаяКарта);
РезультатЗапроса = Запрос.ВыполнитьПакет();
МенеджерВременныхТаблиц.Закрыть();
Если ТаблицаПромежуточная.Количество() > 0 Тогда
ТаблицаТовары = РезультатЗапроса[0].Выгрузить();
Если ТаблицаТовары.Количество() = 0 Тогда
Отказ = Истина;
Иначе
ВходящиеДанные.Вставить("Запасы", ТаблицаТовары);
КонецЕсли;
ТаблицаОплаты = РезультатЗапроса[3].Выгрузить();
ВходящиеДанные.Вставить("Оплаты", ТаблицаОплаты);
КонецЕсли;
КонецЕсли;
ПоказатьЗапрос ОтчетОРозничныхПродажах_ТаблицаПромежуточная :
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ // ЧЕКИ54ФЗ
ЧекККМ.Ссылка КАК Ссылка
ПОМЕСТИТЬ ЧЕКИ54ФЗ
ИЗ
РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК ЧекККМ
ПО РасчетыСКлиентами.Регистратор = ЧекККМ.ОтчетОРозничныхПродажах
ГДЕ
ЧекККМ.ОтчетОРозничныхПродажах = &Ссылка
И (ЧекККМ.Оплата.ВидОплаты В (&ВидОплаты)
ИЛИ ЧекККМ.ОперацияСДенежнымиСредствами = ИСТИНА)
;
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Док.Ссылка КАК Ссылка,
Док.Номер КАК Номер,
Док.ДисконтнаяКарта КАК ДисконтнаяКарта,
Док.ВидОперации КАК ВидОперации,
ТаблицаТовары.Номенклатура КАК Номенклатура,
ТаблицаТовары.Характеристика КАК Характеристика,
ВЫБОР
КОГДА ТаблицаТовары.Продавец = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
ТОГДА Док.Продавец
ИНАЧЕ ТаблицаТовары.Продавец
КОНЕЦ КАК Продавец,
ТаблицаТовары.Количество КАК Количество,
ТаблицаТовары.Цена КАК Цена,
ТаблицаТовары.СтавкаНДС КАК СтавкаНДС,
ТаблицаТовары.СуммаНДС КАК СуммаНДС,
ТаблицаТовары.Сумма КАК Сумма,
ВЫБОР
КОГДА ТаблицаТовары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
ТОГДА СпрНоменклатура.ЕдиницаИзмерения
ИНАЧЕ ТаблицаТовары.Упаковка
КОНЕЦ КАК Упаковка,
ТаблицаТовары.КоличествоУпаковок КАК КоличествоУпаковок,
ТаблицаТовары.СтатусУказанияСерий КАК СтатусУказанияСерий,
ВЫБОР
КОГДА Док.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Возврат)
И (Док.ЧекККМПродажа.ОтчетОРозничныхПродажах <> &Ссылка
ИЛИ Док.ЧекККМПродажа = ЗНАЧЕНИЕ(Документ.ЧекККМ.ПустаяСсылка))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК ЭтоВозвратПослеЗакрытияСмены
ПОМЕСТИТЬ ТаблицаПромежуточная
ИЗ
Документ.ЧекККМ КАК Док
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ТаблицаТовары
ПО Док.Ссылка = ТаблицаТовары.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
ПО (ТаблицаТовары.Номенклатура = СпрНоменклатура.Ссылка)
ГДЕ
НЕ Док.Ссылка В
(ВЫБРАТЬ
ЧЕКИ54ФЗ.Ссылка КАК Ссылка
ИЗ
ЧЕКИ54ФЗ КАК ЧЕКИ54ФЗ)
И Док.ОтчетОРозничныхПродажах = &Ссылка
И Док.Проведен
И НЕ Док.ОперацияСДенежнымиСредствами
И СпрНоменклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
;
ПоказатьПрикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот