Указание вида оплаты по умолчанию в документе "Оплата от покупателя платежной картой". УТ 10.3

06.03.23

Задачи пользователя - Адаптация типовых решений

Добавлеем вид оплаты по умолчанию для документа "Оплата от покупателя платежной картой".

Тестировалось на "Управление торговлей", редакция 10.3 (10.3.76.2) 

В стандартной конфигурации нет возможности указать "ВидОплаты" по умолчанию для документа "ОплатаОтПокупателяПлатежнойКартой".

 

 

Конфигурацию стараюсь не редактировать для удобства поддержки.

Здесь, к сожалению, совсем без редактирования не обойдется.

Для упрощения поддержки конфигурации было решено разрешить редактировать общий модуль "РаботаСДиалогами"

Будем вносить правки через него.

В этом модуле есть процедура "АктивизироватьРеквизитВФорме", которая вызывается практически во всех документах в событии "ПриОткрытии" как раз в ее конце, добавим в ее начало следующие строки:

 

// Активизирует один из реквизитов при открытии документа.
Процедура АктивизироватьРеквизитВФорме(ДокументОбъект, ФормаДокумента) Экспорт

	// FLANKER START LINES
	// Добавляем заполнение "ВидОплаты" по умолчанию для документа "ОплатаОтПокупателяПлатежнойКартой"
	// Событие "ПриОткрытии" для формы "ОплатаОтПокупателяПлатежнойКартой" вызывает эту процедуру в конце процедуры (когда уже заполнены остальные поля по умолчанию)
	// перехватываем тут, чтобы не редактировать модуль
	Если ТипЗнч(ДокументОбъект) = Тип("ДокументОбъект.ОплатаОтПокупателяПлатежнойКартой") Тогда
		//Сообщить("ДокументОбъект.ОплатаОтПокупателяПлатежнойКартой");
		Если Не ЗначениеЗаполнено(ДокументОбъект.ВидОплаты) Тогда
			ДокументОбъект.ВидОплаты = ФЛ_Модуль.ПолучитьОсновнойВидОплатыПлатежнойКартой();
			ДокументОбъект.ПроцентТорговойУступки = УправлениеРозничнойТорговлей.ПолучитьПроцентТорговойУступки(ДокументОбъект.ДоговорЭквайринга, ДокументОбъект.ВидОплаты);
			ДокументОбъект.СуммаТорговойУступки = ДокументОбъект.СуммаДокумента * ДокументОбъект.ПроцентТорговойУступки / 100;
		КонецЕсли;
	КонецЕсли;
	// FLANKER END LINES

В случае если функцию вызывает нужный документ, то произойдет заполнение "ВидОплаты" значением из настроек пользователя.

ДокументОбъект.ВидОплаты = ФЛ_Модуль.ПолучитьОсновнойВидОплатыПлатежнойКартой();

Функция получения настроек вынесена в отдельный модуль ФЛ_Модуль, для удобства. Привожу текст функции.

Функция 	ПолучитьОсновнойВидОплатыПлатежнойКартой() Экспорт // Возвращает основной вид оплаты для текущего пользователя
	// вид оплаты лежит в регистре сведений
	// вызывается в общем модуле РаботаСДиалогами, для того чтобы заполнить документ ОплатаПлатежнойКартой по умолчанию вид оплаты
	
	Запрос = новый Запрос;
	Запрос.Текст="ВЫБРАТЬ
	             |	НастройкиПользователей.Значение
	             |ИЗ
	             |	РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
	             |ГДЕ
	             |	НастройкиПользователей.Пользователь = &Пользователь
	             |	И НастройкиПользователей.Настройка = &Настройка";
	 Запрос.УстановитьПараметр("Пользователь",ПараметрыСеанса.ТекущийПользователь);
	 Запрос.УстановитьПараметр("Настройка",ПланыВидовХарактеристик.НастройкиПользователей.НайтиПоКоду("000000144")); // Основной вид оплаты для "Оплата платежной картой"
	 Выборка = Запрос.Выполнить().Выбрать();
	 
	 
	 Результат = Справочники.ВидыОплатЧекаККМ.ПустаяСсылка();
	 
	 Если Выборка.Следующий() Тогда 
		 Результат = Выборка.Значение;
	 КонецЕсли;
	 
	 Возврат Результат;
КонецФункции


Настройки храним в типовом регистре сведений "НастройкиПользователей"


 

Настойки удобно меняются известной обработкой:

 

 

Вступайте в нашу телеграмм-группу Инфостарт

УТ10.3

См. также

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    11231    34    15    

41

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    6216    2    2    

6

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

5500 руб.

07.02.2023    12010    112    20    

68

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    735    1    6    

2

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Расширение для УНФ, чтобы автоматически отменять старые резервы и не мешалть эффективно продавать.

9150 руб.

02.08.2023    7526    25    5    

41

Адаптация типовых решений 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    858    1    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Torin 948 06.03.23 18:38 Сейчас в теме
(0) Тогда уже

// Процедура - обработчик события "ПриОткрытии" формы
//
Процедура ПриОткрытии()
//..............................
//..............................
Если ЗначениеЗаполнено(ДоговорЭквайринга) Тогда
	Попытка
		ВидОплаты = ДоговорЭквайринга.ТарифыЗаРасчетноеОбслуживание[0].ВидОплаты;	
	Исключение
	КонецПопытки;	
КонецЕсли;

КонецПроцедуры // ПриОткрытии()
Показать

+
// Процедура выполняет необходимые действия при изменении реквизита "ДоговорЭквайринга".
//
Процедура ПриИзмененииДоговораЭквайринга()
//..............................
//..............................
Попытка
	ВидОплаты = ДоговорЭквайринга.ТарифыЗаРасчетноеОбслуживание[0].ВидОплаты;
	ПроцентТорговойУступки = УправлениеРозничнойТорговлей.ПолучитьПроцентТорговойУступки(ДоговорЭквайринга, ВидОплаты);
	ПересчитатьТорговуюУступку();	
Исключение
КонецПопытки;
КонецПроцедуры // ПриИзмененииДоговораЭквайринга(
Показать

и используем типовой реквизит "Основной договор эквайринга"
Прикрепленные файлы:
2. MrFlanker 252 07.03.23 00:54 Сейчас в теме
(1) Согласен, если открыт модуль документа. Мне удобно когда конфа полностью типовая и открыты для изменений лишь пара общих модулей.

Еще момент в нашем случае ТарифыЗаРасчетноеОбслуживание[0] возьмет первое значение из таблицы тарифов, а нам нужно взять конкретное заданное для данного пользователя который работает на нужном терминале.
Прикрепленные файлы:
3. Torin 948 07.03.23 06:48 Сейчас в теме
(2)
Еще момент в нашем случае ТарифыЗаРасчетноеОбслуживание[0] возьмет первое значение из таблицы тарифов
- все верно. Дело не в терминале :) а в % ставке комиссии эквайринга. Не самое частое явление когда по одному договору эквайринга разные % ставки комиссии эквайринга. Обычно если % ставка эквайринга отличается то ИМХО правильней создать Новый договор эквайринга
4. MrFlanker 252 07.03.23 10:31 Сейчас в теме
(3) Согласен ставка как правило одинаковая, но вроде бы есть еще момент насчет сверок поступления оплат с кокнретного терминала.

По крайней мере наш бухгалтер это видит и сверяет, да и для других целей (аналитических) нужно чтобы был выбран верный вид оплаты... иначе какой смысл вообще заполнять это поле.

Пример аналитики: можно сформировать отчет по видам оплат, определить какие терминалы принимают больше а какие простаивают.
5. Torin 948 07.03.23 10:40 Сейчас в теме
(4) Для этого используются договор эквайринга ( чаще всего 1 договор = 1 терминал ) . Вид оплаты :) - от номера терминала не меняется :) ( Наличными , Платежной картой , Тарой , Бонусом , СБП и так далее). А вот Договоров у каждого вида оплаты может быть множество.
Договор № 7 Терминал ID 678659 точка продаж ул.Дорожная 1
Вид оплаты платежная карта ставка 1.9%
Договор СБП № 9 Терминал ID 678659/MCC 6798 точка продаж ул.Дорожная 1
Вид оплаты СБП ставка 0.7%

как то так :)

p/s в любом случае считаю что информация в публикации полезна для пользователей УТ10,КА1,УПП и Розница 1
6. atlants_buh 13 05.02.26 16:29 Сейчас в теме
Немного по другому решил эту задачу

// Установить вид оплаты по эквайрингу по запросу
	Если ЭтотОбъект.ЭтоНовый() Тогда 
		СписокКнопок = Новый СписокЗначений;
    	СписокКнопок.Добавить(КодВозвратаДиалога.Да,"Оплата по карте (кредит)");
   		СписокКнопок.Добавить(КодВозвратаДиалога.Нет,"Оплата по QR-коду");
		СписокКнопок.Добавить(КодВозвратаДиалога.Отмена,"Отмена (ввести вручную)");
		Ответ = Вопрос("Установить вид оплаты по эквайрингу?", СписокКнопок,,,"Вид оплаты",); 	
			Если Ответ = КодВозвратаДиалога.Нет Тогда
			ЭтотОбъект.ВидОплаты = Справочники.ВидыОплатЧекаККМ.НайтиПоКоду("УТ0000010");
			ИначеЕсли Ответ = КодВозвратаДиалога.Отмена Тогда
			Предупреждение("Операция не выполнена!");
			Отказ = Истина;
			Иначе
			ЭтотОбъект.ВидОплаты = Справочники.ВидыОплатЧекаККМ.НайтиПоКоду("УТ0000001");
			КонецЕсли; 
	КонецЕсли; 
	
	ПроцентТорговойУступки = УправлениеРозничнойТорговлей.ПолучитьПроцентТорговойУступки(ДоговорЭквайринга, ВидОплаты);
	ПересчитатьТорговуюУступку();
Показать


Написал в Процедуре ПриОткрытии(), формы документа (можно вывести в расширение отдельное, чтобы стандартный код не трогать)

Намного удобнее, когда формируешь документ сразу, ставишь что нужно. Ну это на случай если вид оплаты не один, т.к. комиссия по ним разная может быть
Для отправки сообщения требуется регистрация/авторизация