Реализация кэшбэка #809159


#0 by prilforreal
Пишу обработку для начисления кэшбэка. Принцип работы такой: раз в месяц будет запускаться, выбирать документы по этим контрагентам, считать сумму из этих доков, и начислять процент на баланс, пока пишу  код для расчета этого процента, но появилась проблема, запускаю обработку для проверки, жму выполнить, никакой реакции... смотрю отладчиком, доходит до цикла и завершает процедуру, помогите разобраться будьте добры) Процедура КнопкаВыполнитьНажатие(Кнопка)
#1 by Numerus Mikhail
Сообщить(РезультатЗапроса.Пустой);
#2 by Джинн
И что, по не выполненным заказам тоже откаты начисляете?
#3 by Numerus Mikhail
НачПериода = НачалоДня(ТекущаяДата-86400); это не месяц, а день, если что. Возможно у вас нет документов за последний день
#4 by Рэйв
>>Реализация кэшбэка В цивилизованном мире это называется ретро-бонус:-)
#5 by prilforreal
Есть проверка на проведенные документы, если документ проведен, значит заказ выполнен) Ух, точно, какой невнимательный я, сейчас исправлю и посмотрю) Нууууу! Где цивилизация а где мы?))
#6 by vde69
что-либо начислять на основании документов (вне этого документа) - грубейшая методологическая ошибка. 1. сделать новый регистр "УчитываемыеПродажи" 2. подписку на событие по документам где делаем проводки по этому регистру 3. уже на основании движений в этом регистре начисляем бонусы/откаты плюс такого подхода - можно часть документов отсторнировать по этому одному документу, или наоборот ввести начальные остатки...
#7 by wondkind
&Истина - да, это сильно
#8 by vde69
еще один момент - при изменений в контрагенте реквизита "Кэшбэк" у тебя сразу начнет считать для всех документов. Так не делается... например мы до 1 января начисляли, потом с 1 января по 1 июля не начисляем а дальше опять начисляем... твоя схема такое не сможет реализовать...
#9 by Адинэснег
ты регистр накопления не думал под задачу сделать? помимо начисления, надо еще и списывать баланс
#10 by prilforreal
Кэшбэк только начисляет, есть регистр расчеты, в него и запишу, тз толкового не дали, так что думаю еще придется поплясать. Как так для всех? Только для ДилЗаказа, в запросе же написано)
#11 by prilforreal
Каждого пятого числа будет начислять: C 5ого ноября по 5 декабря, с 5 декабря по 5 января итд
#12 by Numerus Mikhail
Имеется в виду, что если вы подключили контрагента к кэшбеку 1 декабря, твоя система посчитает все документы за период с 5 ноября по 1 декабря тоже. Это, вероятнее всего, неверно.
#13 by prilforreal
Спасибо, обработка будет создавать в цикле документ оплата, через который и будет происходить начисление. Отличное замечание! Спасибо! Поработаю над этим!
#14 by 3achem
Устанавливай дату непосредственно, если не понимаешь как высчитывать её программно. Убери из запроса проверку на &Истина. Это: Отладчиком намного легче смотреть таблицу значения, не правда ли? И предварительно, чтобы понять, что у тебя возвращает запрос прогони его через консоль. Бонус: Это можно сделать в запросе: СуммаКБ=(ВыборкаДетальныеЗаписи.Сумма_Итог/100)*6;
#15 by 3achem
И добавлю, правильно данные хранить в регистрах, чем обращаться к документам.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С