Замена дисконтных карт в 1С:Розница 2.1

23.08.16

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

Небольшое улучшение Розницы 2.1

Мы используем Розницу 2.1, почти довольны. Один из её недостатков - работа с дисконтными картами.

Если клиент хочет заменить карту, 1С предлагает документ Замена дисконтной карты. В соответствующий РС делается запись. Старая карта не блокируется. При этом не переносятся накопления. Да, есть механизм поиска предыдущих карт и выведение данных с учётом замен, но почему-то он не везде внедрён..

Я решил доработать систему, и добавил в документ Замена карты движения по накоплениям.

В модуле документа в обработке проведения

	// Движения по денежным средствам.
	МаркетинговыеАкцииСервер.ОтразитьРегистрацияЗаменыКартПокупателей(ДополнительныеСвойства, Движения, Отказ);
	//
	БонусныеБаллыСервер.ОтразитьБонусныеБаллы(ДополнительныеСвойства, Движения, Отказ);
	ПродажиСервер.ОтразитьПродажиПоДисконтнымКартам(ДополнительныеСвойства, Движения, Отказ);
	//

В модуле менеджера доработал запрос

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

Время выполнения запроса менее секунды.

И также в модуль менеджера в процедуру инициализации

	ТаблицыДляДвижений = СтруктураДополнительныеСвойства.ТаблицыДляДвижений;
	ТаблицыДляДвижений.Вставить("ТаблицаРегистрацияЗаменыКартПокупателей", МассивРезультатов[3].Выгрузить());
	ТаблицыДляДвижений.Вставить("ТаблицаБонусныеБаллы", МассивРезультатов[1].Выгрузить());
	ТаблицыДляДвижений.Вставить("ТаблицаПродажиПоДисконтнымКартам", МассивРезультатов[2].Выгрузить());

Теперь все остатки на одной карте, удобно смотреть отчёты и т.д.

Буду рад, если кому-то поможет.

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

Розница Дисконтные Карты Замена Бонусы

См. также

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

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

31800 руб.

29.06.2023    9862    30    15    

38

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9600 руб.

17.06.2025    1817    6    0    

6

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

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

9000 руб.

02.08.2023    6543    23    5    

39

Адаптация типовых решений Бухгалтер 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Разработка для упрощения процедуры передачи данных о выплатах для конфигурации 1С:ЗиКГУ. Данное расширение предоставляет возможность экспортировать данные «Распоряжения» непосредственно из документа "Ведомость в банк" в формате XML.

3840 руб.

13.11.2024    2489    3    4    

4

Адаптация типовых решений Программист 1С v8.3 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Маленькая заметка (в трех разных масштабах) для тех, кто часто видит окно при входе в ЗУП «Новые сообщения для расшифровки по 1С-Отчетность», которое появляется через 60 секунд после запуска программы, как раз когда вы уже добрались до интересующей вас формы и начали в ней что-то активно делать:

1 стартмани

17.06.2024    8011    82    Znata_PI    12    

22

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

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

2 стартмани

22.04.2024    7430    dimanich70    17    

22

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

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

01.03.2024    18253    dimanich70    11    

26
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. visusby 5 21.10.21 14:28 Сейчас в теме
Срок действия бонусных баллов таким методом не переносится.
Для отправки сообщения требуется регистрация/авторизация