Автоматические скидки для наборов в УНФ

18.04.21

Учетные задачи - Розничная торговля

Решение вопроса по расчёту автоматических скидок для наборов в УНФ.

Скачать исходный код

Наименование Файл Версия Размер
Расширение для расчета автоматических скидок для наборов в УНФ
.cfe 6,37Kb
2
.cfe 1.0 6,37Kb 2 Скачать

Всё началось с вопроса-задачи:
Есть набор «Ксерокопия», в который входит только один материл «Бумага офисная». Для набора определено 2 вида цен: «Розничная» и «От 6 шт». Настроена автоматическая скидка, но она не устанавливается. По условию применения автоматических скидок получается, что скидка не применятся, т.к. не выполняется условие.

 

 

Но как это условие выполнить, если скидка настроена на набор, а при его подборе в документ вставляется состав набора? Попробовали скидку сделать отдельно на материал из набора «Бумага офисная» (по таким же параметра) – так работает. Но так не надо, т.к. данный материал использует и в других местах. Как сделать так, чтобы устанавливалась автоматическая скидка для набора?
 

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

Данный ответ лично нас удовлетворил, но совершенно не удовлетворил нашего заказчика. Пришлось немного доработать функцию «ПолучитьТаблицуТовары» в общем модуле «СкидкиНаценкиСерверПереопределяемый» и автоматические скидки для наборов заработали.


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

 

После данной доработки автоматические скидки для набора стали рассчитываться.

 

 

Для расчёта автоматических скидок можно самостоятельно доработать указанную функцию или скачать и установить приложенное к публикации расширение.

Разработка и тестирование осуществлялись на конфигурации «1С:Управление нашей фирмой, редакция 1.6» (1.6.18.168) и платформе 1С:Предприятие 8.3 (8.3.18.1289).

Автоматические скидки наборы УНФ Управление нашей фирмой.

См. также

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 руб.

21.04.2017    91329    111    40    

200

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА (Разрешит. режим) + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    772637    4695    9504    

2795

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    166948    706    362    

391

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 руб.

29.10.2014    212309    630    526    

446

54-ФЗ и Разрешительный режим. Обработки для подключения онлайн-касс к 1С 8 (поддержка Маркировки) + Эмулятор + ФФД 1.2

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5400 руб.

25.05.2015    322045    1853    3014    

998

Интеграция 1С со СберМаркетом для 1С:Розница 2.3/3.0, УНФ 3.0, УТ 11.4/11.5, КА 2.4/2.5

Розничная торговля Маркетплейсы Платформа 1С v8.3 1С:Розница 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Модуль для интеграции 1С с сервисом СберМаркет. Предназначен для обмена данными из торговых точек розничных сетей из баз данных 1С в базы данных СберМаркет, для отображения информации по товарам, остаткам, ценам, заказам и статусам заказов. Позволяет оперативно начать работать с сервисом СберМаркет, существенно повысить продажи и лояльность клиентов.

25000 руб.

14.10.2022    7828    6    12    

5
Оставьте свое сообщение