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

06.03.23

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

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

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

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

 

 

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

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

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

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

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

 

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

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

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

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

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

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


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


 

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

 

 

УТ10.3

См. также

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

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

7200 руб.

02.08.2023    4175    15    1    

33

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

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

29400 руб.

29.06.2023    6008    14    5    

24

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 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, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6719    73    10    

30

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

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5273    dimanich70    15    

22

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    6908    dimanich70    9    

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

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

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

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

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

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

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

Пример аналитики: можно сформировать отчет по видам оплат, определить какие терминалы принимают больше а какие простаивают.
5. Torin 828 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
Оставьте свое сообщение