|
Движения по регистру накопления | ☑ | ||
---|---|---|---|---|
0
narinem
21.01.13
✎
11:20
|
Добрый день! Есть регистр накопления( одно измерение, один ресурс), регистратор которого одной кнопкой должен делать и расход, и приход по этому регистру: Вызываются процедуры ВыполнитьРасход(), ВыполнитьПриход() соответсвенно. Но после нажатия кнопки выполняется только приход. Расход не выполняется. Но если вызываю только процедуру расхода, все делает, то есть одновременно не выполняются расход и приход. Как это сделать?
|
|||
1
vicof
21.01.13
✎
11:21
|
:) Обработку проведения не предлагать?
|
|||
2
Maxus43
21.01.13
✎
11:24
|
По какой кнопке? Движения в (1) делать надо
|
|||
3
Godofsin
21.01.13
✎
11:25
|
а что за смысл делать одним регистратором и приход и расход?
|
|||
4
Maxus43
21.01.13
✎
11:25
|
(3) в типовых даже есть. нормально
|
|||
5
Reset
21.01.13
✎
11:26
|
(3) ПеремещениеТоваров? :)
|
|||
6
Godofsin
21.01.13
✎
11:26
|
а ну да, ну да...
|
|||
7
Maxus43
21.01.13
✎
11:26
|
или Ден средства в платёжках
|
|||
8
narinem
21.01.13
✎
11:32
|
Это для накопления бонусов на дисконтных картах.
|
|||
9
narinem
21.01.13
✎
11:33
|
(4) А где в типовой есть такое?
|
|||
10
Reset
21.01.13
✎
11:34
|
(9) Есть мнение, что ты просто запутался в вызовах своих функций по своим кнопкам.
В типовых используют (1) |
|||
11
samozvanec
21.01.13
✎
11:36
|
(0) берешь обработку проведения, там пишешь приход, потом там же расход. профит+
|
|||
12
Ligor
21.01.13
✎
11:36
|
(0) а ты точно сохраняешь в каждой обработке данные?
|
|||
13
narinem
21.01.13
✎
11:37
|
(9) Нет, и обработке проведения пробовала, не выходит. Одновременно и приход, и расход не делает.
|
|||
14
Reset
21.01.13
✎
11:38
|
(12) +1, есть вероятность, что он два раза набор движений пишет, затирая предыдущий
|
|||
15
Reset
21.01.13
✎
11:38
|
она*
простите |
|||
16
lefthander
21.01.13
✎
11:39
|
(8) а расход, это надо полагать списание бонусов с карты?
|
|||
17
narinem
21.01.13
✎
11:39
|
Да вот эти процедуры.
Процедура ВыполнитьРасход(СсылкаДокумента, ОплаченоБонусами) Движение = РегистрыНакопления.БонусыДисконтныйКарт.СоздатьНаборЗаписей(); Движение.Отбор.Регистратор.Установить(СсылкаДокумента); Если ОплаченоБонусами > 0 Тогда ЗаписьРегистра = Движение.ДобавитьРасход(); ЗаписьРегистра.Активность = Истина; ЗаписьРегистра.Период = СсылкаДокумента.Дата; ЗаписьРегистра.Карта = СсылкаДокумента.КартаЛояльности; ЗаписьРегистра.Бонус = ОплаченоБонусами; Движение.Записать(); КонецЕсли; КонецПроцедуры Процедура ВыполнитьПриход(СсылкаДокумента, СуммаБонуса) Движение = РегистрыНакопления.БонусыДисконтныйКарт.СоздатьНаборЗаписей(); Движение.Отбор.Регистратор.Установить(СсылкаДокумента); ЗаписьРегистра = Движение.ДобавитьПриход(); ЗаписьРегистра.Активность = Истина; ЗаписьРегистра.Период = СсылкаДокумента.Дата+1; ЗаписьРегистра.Карта = СсылкаДокумента.КартаЛояльности; ЗаписьРегистра.Бонус = СуммаБонуса; Движение.Записать(); КонецПроцедуры |
|||
18
Жан Пердежон
21.01.13
✎
11:39
|
(0) кода так и не будет?
|
|||
19
Галахад
гуру
21.01.13
✎
11:39
|
Может код пора показать*
|
|||
20
narinem
21.01.13
✎
11:40
|
(16) да
|
|||
21
lefthander
21.01.13
✎
11:40
|
(13) может есть смысл расницу между приходом и расходом фиксировать?
|
|||
22
Жан Пердежон
21.01.13
✎
11:41
|
(17) у тебя одно движение другое затирает
|
|||
23
narinem
21.01.13
✎
11:42
|
(21) нет, потому что при продаже можно использовать только бонусы, накапленные до этой продажи.
|
|||
24
lefthander
21.01.13
✎
11:42
|
Есть смысл добавить ресурс типа вид движения списание или начисление...
|
|||
25
narinem
21.01.13
✎
11:42
|
(22) И как быть?
|
|||
26
Reset
21.01.13
✎
11:42
|
(25) Объединить процедуры в одну (1)
|
|||
27
vicof
21.01.13
✎
11:43
|
(26) +1
И фотки чото не видать |
|||
28
samozvanec
21.01.13
✎
11:44
|
(25) как вариант, если нужно приход и расход разделить - набор читать перед записью, думать, что оставить, что затереть
(27) +1 |
|||
29
lefthander
21.01.13
✎
11:46
|
(28) такое на пойдет, читайте (23)
|
|||
30
vicof
21.01.13
✎
11:46
|
(28) Или в записать() параметр передавать
|
|||
31
lefthander
21.01.13
✎
11:48
|
Думаю надо объединить в одну процедуру, при движении проверить оплату бонусами, если есть, списать нужное количество, а затем добавить по документу, если оплачено бонусами нет, то просто добавить.
|
|||
32
narinem
21.01.13
✎
11:54
|
(31) дело в том, что при каждой продаже объязатвльно есть и расход бонусов, и приход. Сначала делается расход бонусов по сумме документа, а после от суммы продажи по каким то процентом накапливаются бонусы.
|
|||
33
vicof
21.01.13
✎
11:55
|
(32) И чо?
|
|||
34
Reset
21.01.13
✎
11:58
|
(32) Это детали, как и (23).
При проведении нужно работать с одним набором и записмывать его 1 раз |
|||
35
narinem
21.01.13
✎
11:58
|
То что когда в обработке проведения вызываю ВыполнитьРасход(); ВыполнитьПриход(); выполняется только приход.
|
|||
36
vicof
21.01.13
✎
11:59
|
(35) ппц. Смотрю в книгу, вижу фигу.
Если ОплаченоБонусами > 0 Тогда Движение = Движения.БонусыДисконтныйКарт.Добавитьрасход; Движение.Период = СсылкаДокумента.Дата; Движение.Карта = СсылкаДокумента.КартаЛояльности; Движение.Бонус = ОплаченоБонусами; Движение.Записать(); КонецЕсли; и т.д. |
|||
37
Reset
21.01.13
✎
11:59
|
(35) Удалить это процедуры, содержимое, кроме дважды создания и записи наборов, перенести в (1)
|
|||
38
vicof
21.01.13
✎
11:59
|
Добавитьрасход()
|
|||
39
lefthander
21.01.13
✎
11:59
|
(32) ладно попроще Есть у меня 500 бонусов, я что то купил и списал 100 бонусов, но по документу мне положено 100 бонусов. Что будет в остатке 500 - 100 + 100 = 500. Так в чем отличие писать разницу в зависимости от знака (списано и начислено)?
|
|||
40
Reset
21.01.13
✎
12:03
|
(39) Это а)детали б) по задаче может требоваться хранить отдельно.
Не сбивай автора! ;) |
|||
41
narinem
21.01.13
✎
12:07
|
(35)Сапсибо, Reset, получилось!!!!!!
|
|||
42
narinem
21.01.13
✎
12:25
|
(37) Помогло.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |