Всем привет. Пытаюсь вывести в Форму печати Товарного чека информацию как был оплачен чек. Но, как всегда ничего не получается. Не могу получить информацию по Способу оплаты. Вот функция, которая должна получать Способ Оплаты, но она не работает.
Подскажите, как правильно получить вид оплаты?
Функция ПолучитьСпособОплаты(СсылкаНаЧек)
// Проверяем, есть ли у Чека ККМ реквизит ФормаОплаты
Если ТипЗнч(СсылкаНаЧек) = Тип("ДокументСсылка.ЧекККМ") Тогда
Попытка
Если ЗначениеЗаполнено(СсылкаНаЧек.ФормаОплаты) Тогда
Возврат СсылкаНаЧек.ФормаОплаты.Наименование; // Преобразуем в строку
КонецЕсли;
Исключение
// Если реквизит не найден, игнорируем ошибку и возвращаем пустое значение
КонецПопытки;
КонецЕсли;
Возврат "Не указан"; // Если данных нет
КонецФункции
ПоказатьПодскажите, как правильно получить вид оплаты?
По теме из базы знаний
- Сервис SberPay QR (Плати QR) от Сбербанка для Розница 2.3, УТ 11.5, ERP/КА 2.5 , УНФ 3.0, Розница 3.0, Бухгалтерия 3.0
- Взаиморасчеты по безналичным (эквайринговым) платежам – УТ 11.5, КА 2.5, ЕРП 2.5
- Контроль оплаты наличными и эквайринга по организациям – УТ 11.5, КА 2.5, ERP 2.5
- Рабочее место кассира с остатками, видом цен и комментариями – УТ 11.5, КА 2.5, ЕРП 2.5
- Анализ документов оплаты по чекам – УТ 11.5, КА 2.5, ЕРП 2.5
Найденные решения
Все. Заработала. Слишком сильно мудрил, а оказалось все очень просто. Лишнего кода никакого не нужно. Просто в Процедуру ЗаполнитьТабличныйДокументТоварныйЧек добавил код
и в форму соответствующую область и параметр СпособОплаты и все взлетело.
Огромное спасибо всем причастным за помощь)))))
ОбластьМакета = Макет.ПолучитьОбласть("СпособОплаты");
ОбластьМакета.Параметры.СпособОплаты = ДанныеПечати.Ссылка.ФормаОплаты;
ТабличныйДокумент.Вывести(ОбластьМакета);
и в форму соответствующую область и параметр СпособОплаты и все взлетело.
Огромное спасибо всем причастным за помощь)))))
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Все равно выдает ошибку
Поле объекта не обнаружено (СпособОплаты)
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(103)}:ОбластьМакета.Параметры.СпособОплаты = ДанныеПечати.СпособОплаты;
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(50)}:ЗаполнитьТабличныйДокументТоварныйЧек(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати);
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(15)}:НСтр("ru = 'Товарный чек'"),
{ОбщийМодуль.УправлениеПечатью.Модуль(3386)}:МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
{ОбщаяФорма.ПечатьДокументов.Форма(792)}:ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
{ОбщаяФорма.ПечатьДокументов.Форма(61)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(310)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
{ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}:УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати();
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Поле объекта не обнаружено (СпособОплаты)
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(103)}:ОбластьМакета.Параметры.СпособОплаты = ДанныеПечати.СпособОплаты;
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(50)}:ЗаполнитьТабличныйДокументТоварныйЧек(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати);
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(15)}:НСтр("ru = 'Товарный чек'"),
{ОбщийМодуль.УправлениеПечатью.Модуль(3386)}:МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
{ОбщаяФорма.ПечатьДокументов.Форма(792)}:ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
{ОбщаяФорма.ПечатьДокументов.Форма(61)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(310)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
{ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}:УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати();
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Может где еще ошибка? Вот строчка, которую я вставил в функцию СформироватьПечатнуюФормуТоварныйЧек
А вот код, который в Процедуру ЗаполнитьТабличныйДокументТоварныйЧек
Ну и, естественно, в шаблоне создал область "СпособОплаты" и там вставил параметр <СпособОплаты>
ДанныеДляПечати.Вставить("СпособОплаты", ПолучитьСпособОплаты(СтруктураОбъектов.Значение));
А вот код, который в Процедуру ЗаполнитьТабличныйДокументТоварныйЧек
ОбластьМакета = Макет.ПолучитьОбласть("СпособОплаты");
ОбластьМакета.Параметры.СпособОплаты = ДанныеПечати.СпособОплаты;
ТабличныйДокумент.Вывести(ОбластьМакета);
Ну и, естественно, в шаблоне создал область "СпособОплаты" и там вставил параметр <СпособОплаты>
(8) Неа, не помогло. Ошибка
Поле объекта не обнаружено (СпособОплаты)
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(108)}:ОбластьМакета.Параметры.СпособОплаты = ДанныеПечати.СпособОплаты;
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(50)}:ЗаполнитьТабличныйДокументТоварныйЧек(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати);
{Обработка.ПечатьТоварногоЧека.МодульМенеджера(15)}:НСтр("ru = 'Товарный чек'"),
{ОбщийМодуль.УправлениеПечатью.Модуль(3386)}:МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
{ОбщаяФорма.ПечатьДокументов.Форма(792)}:ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
{ОбщаяФорма.ПечатьДокументов.Форма(61)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(310)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
{ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}:УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати();
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Показать
Все. Заработала. Слишком сильно мудрил, а оказалось все очень просто. Лишнего кода никакого не нужно. Просто в Процедуру ЗаполнитьТабличныйДокументТоварныйЧек добавил код
и в форму соответствующую область и параметр СпособОплаты и все взлетело.
Огромное спасибо всем причастным за помощь)))))
ОбластьМакета = Макет.ПолучитьОбласть("СпособОплаты");
ОбластьМакета.Параметры.СпособОплаты = ДанныеПечати.Ссылка.ФормаОплаты;
ТабличныйДокумент.Вывести(ОбластьМакета);
и в форму соответствующую область и параметр СпособОплаты и все взлетело.
Огромное спасибо всем причастным за помощь)))))
(12) Если кому понадобится, то вот сделал расширение. Тестировал на версии УТ 11.5.17.162.
Прикрепленные файлы:
Рассширение - Товарный Чек с Видом Оплаты.cfe
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот