Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Установка скидок наценок          
danie Подменю пользователя
сообщение 15.09.09, 9:07
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

Не пойму, как работает установка скидок номенклатуры в ценообразовании (v8.1, конфа Торговля для ЧП 1.0.6.1). Устанавливаю скидку 1% при условиях "Сумма документа превысила"..."300 грн" (Для всей номенклатуры, Для всех получателей).
При заполнении документа РеализацияТоваров вбиваю номенклатурину, задаю кол-во 1 и цену 200 грн - заполняется ячейка строки "Процент скидки" - 1.00, сумма пересчиталась.
Почему? Сумма не превысила 300 грн.
Это выходит накопительная скидка?. В инструкции к конфе ее тип не указан.
Нужна суто разовая: покупает чувак товар, сумма больше 300 - процент скинули. Если больше 700 - 1,5%, больше 1500 - 2%. Типовые решения есть?


Signature
Новый Орбит "Ай, бля!" со вкусом языка

World1С Подменю пользователя
сообщение 15.09.09, 9:25
Сообщение #2

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Есть, посмотри торговлю на 8.1. Там точно работает без глюков.


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

danie Подменю пользователя
сообщение 15.09.09, 11:09
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

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


Signature
Новый Орбит "Ай, бля!" со вкусом языка

danie Подменю пользователя
сообщение 15.09.09, 11:21
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

// вычисление скидки по условию общей суммы
....
// заполнение строк
Для каждого СтрокаТабличнойЧасти Из ТабличнаяЧасть Цикл
СтрокаТабличнойЧасти.ПроцентСкидкиНаценки = Скидка;
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
КонецЦикла;

не катит... как пройтись по строкам и заполнить нужные ячейки?


Signature
Новый Орбит "Ай, бля!" со вкусом языка

danie Подменю пользователя
сообщение 15.09.09, 11:25
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

Все поправил, катит. Неопытный еще...
Кому пригодится, окончательный вариант.
Документ: Реализация товаров и услуг. Добавлена кнопка "Рассчитать скидки". Обработка:
СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;

    // Получим сумму.
    СуммаПолная = Ценообразование.ПолучитьСуммуДокументаСНаценкой(ЭтотОбъект);    
    Скидка = 0;
    
    // Рассчитаем скидки по сумме.
    ...................
    Сообщить ("Скидка - " + Скидка + "%",);
    
    Для каждого СтрокаТабличнойЧасти Из Товары Цикл
        СтрокаТабличнойЧасти.ПроцентСкидкиНаценки = Скидка;
        ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
    КонецЦикла;


Signature
Новый Орбит "Ай, бля!" со вкусом языка

Спасибо сказали: Gattacka, MATEVI,

danie Подменю пользователя
сообщение 16.09.09, 9:36
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

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

...тихо сам с собой веду беседу... 19000000.gif


Signature
Новый Орбит "Ай, бля!" со вкусом языка

Batchir Подменю пользователя
сообщение 16.09.09, 14:34
Сообщение #7

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

... наблюдаю изподтишка ... ph34r.gif

danie Подменю пользователя
сообщение 17.09.09, 9:58
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

Цитата(Batchir @ 16.09.09, 16:34) *
... наблюдаю изподтишка ... ph34r.gif

Фух.. значит я не одинок в этом мире)


Signature
Новый Орбит "Ай, бля!" со вкусом языка

Vofka Подменю пользователя
сообщение 17.09.09, 10:55
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Цитата
... наблюдаю изподтишка ...


в теме не шарю, поэтому +1 32542390.gif

MATEVI Подменю пользователя
сообщение 17.09.09, 18:37
Сообщение #10

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2201
Из: Одесса
Спасибо сказали: 958 раз
Рейтинг: 0

Может пригодится...

Gattacka Подменю пользователя
сообщение 21.09.09, 11:39
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

А як розрахувати скидки? в коді текст пропущений...

danie Подменю пользователя
сообщение 21.09.09, 12:23
Сообщение #12

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

Ну я ж не знаю, какие вам надо... я под заказчика делал. Вот пропущенный текст:

// Получим сумму.
СуммаПолная = Ценообразование.ПолучитьСуммуДокументаСНаценкой(ЭтотОбъект);
Скидка = 0;

// Рассчитаем скидки по сумме.
Если (СуммаПолная >= 300) И (СуммаПолная < 700) Тогда
Скидка = 1;
КонецЕсли;

Если (СуммаПолная >= 700) И (СуммаПолная < 1500) Тогда
Скидка = 1.5;
КонецЕсли;

Если СуммаПолная >= 1500
Тогда
Скидка = 2;
КонецЕсли;

Ну а дальше по тексту (см. выше). Скидки забиваем циклом в нужные ячейки, и сумма пересчитается.
Можно обойтись без кнопки, вкинуть листинг для процедур ТоварыНоменклатураПриИзменении, ТоварыЦенаПриИзменении, ТоварыКоличествоПриИзменении - будет само считать. Можно общим модулем и вызывать одной строкой.

Gattacka, а вы вообще с программированием сталкивались когда-то? (простите за нескромность)


Signature
Новый Орбит "Ай, бля!" со вкусом языка

Спасибо сказали: Gattacka,

Gattacka Подменю пользователя
сообщение 22.09.09, 14:28
Сообщение #13

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Так але небагато... dry.gif

А можна зробити так шоб умови вводив сам клієнт? скидки будуть змінюватись, треба буде кожен раз переписувати в конфігураторі?

Vofka Подменю пользователя
сообщение 22.09.09, 14:38
Сообщение #14

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Цитата


// Рассчитаем скидки по сумме.
Если (СуммаПолная >= 300) И (СуммаПолная < 700) Тогда
Скидка = 1;
КонецЕсли;

Если (СуммаПолная >= 700) И (СуммаПолная < 1500) Тогда
Скидка = 1.5;
КонецЕсли;

Если СуммаПолная >= 1500
Тогда
Скидка = 2;
КонецЕсли;


А не будет оптимальней



// Рассчитаем скидки по сумме.
Если (СуммаПолная >= 300) И (СуммаПолная < 700) Тогда
Скидка = 1;
ИначеЕсли (СуммаПолная >= 700) И (СуммаПолная < 1500) Тогда
Скидка = 1.5;
ИначеЕсли СуммаПолная >= 1500
Тогда
Скидка = 2;
КонецЕсли;


ЗЫ. я не утверждаю, а спрашиваю smile.gif

Цитата
А можна...

Можно. Но без конкретного тех. задания врядли кто-то Вам скажет больше.

Спасибо сказали: danie,

danie Подменю пользователя
сообщение 22.09.09, 15:10
Сообщение #15

Завсегдатай
****
Группа: Пользователи
Сообщений: 219
Из: Полтава
Спасибо сказали: 38 раз
Рейтинг: 0

Цитата(Vofka @ 22.09.09, 16:38) *
А не будет оптимальней



// Рассчитаем скидки по сумме.
Если (СуммаПолная >= 300) И (СуммаПолная < 700) Тогда
Скидка = 1;
ИначеЕсли (СуммаПолная >= 700) И (СуммаПолная < 1500) Тогда
Скидка = 1.5;
ИначеЕсли СуммаПолная >= 1500
Тогда
Скидка = 2;
КонецЕсли;


ЗЫ. я не утверждаю, а спрашиваю smile.gif

Конечно!
Мой первый вариант) Только тогда я не делал двойные условия, и ИначеЕсли нормально не работало (пока вспомнил универскую практику, давно было...). Переделывал, расписал все по отдельности. А когда заработало, так и оставил отдельными условиями). Действительно можно бы и переписать в одно, забыл. Дык уже стоит у клиента, мать его так.

2 Гаттака: Добавить обработку, которая сохраняет переменные скидок и условий, нарисовать там варианты От...До. Общий модуль для вычисления, к-рый вызывается из документа под конкретную проводку, обращается к переменным скидок/условий, сравнивает и текущей суммой и выбирает подходящий процент... Вполне реально, почему нет? Только будет она под один типичный вариант:
От aaa грн До bbb грн - x%
От bbb грн До ссс грн - у%.
................................. - й% ..... ну и так далее smile.gif


Signature
Новый Орбит "Ай, бля!" со вкусом языка

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.06.24, 9:01
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!