Имя: Пароль:
1C
1С v8
Обработка проведения и изменение значения реквизита объекта
0 Йюхйюх
 
01.06.12
19:19
Привык, что в 7.7, 8.1 и 8.2 можно изменить реквизит в процедуре ОбработкаПроведения:
- например, установить управляемую блокировку на регистр и перезаполнить табличную часть документа нужными данными на основе этого регистра.

Делаю то же самое на управляемых формах в обработке проведения - изменения не фиксируются.

Что за ерунда?
1 Deniskind
 
01.06.12
19:27
Это потому, что реквизиты к этому времени уже записаны.
2 Нуф-Нуф
 
01.06.12
19:27
делай это перед записью
3 Йюхйюх
 
01.06.12
19:28
(1) дык на неуправляемых формах это работает
4 Goggy
 
01.06.12
19:28
(3)Дык летом теплее чем зимой...
5 Йюхйюх
 
01.06.12
19:29
(2) а перед записью я могу наложить на регистр управляющую блокировку?
До какого момента эта блокировка будет действовать?
6 Нуф-Нуф
 
01.06.12
19:30
(5) да. транзакция одна
7 Йюхйюх
 
01.06.12
19:30
+(5) вроде ведь ПередЗаписью() тоже транзакция и по идее в ней можно блокировать регистры?
8 Йюхйюх
 
01.06.12
19:31
(6) Т.е. если в ПередЗаписью() Блокировку наложу, то в ОбработкеПроведения её повторно накладывать не надо?
9 Нуф-Нуф
 
01.06.12
19:33
(8) да
10 Йюхйюх
 
01.06.12
19:34
(9) Спасибо, все в голове по полочкам сразу стало
11 Нуф-Нуф
 
01.06.12
19:34
а вообще какой смысл хранить в документе какие-то данные, полученные при проведении?
12 Goggy
 
01.06.12
19:39
(11) Для меня это тоже загадка.
Скока вариантов не пытаюсь придумать - всё можно решить до проведения...
13 Йюхйюх
 
01.06.12
19:41
(11) идея в том, что у нас очень замороченные взаиморасчеты по договорам и траншам внутри них. График платежей предусматривающий в себе оплаты и % на оплату.

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

Предусмотрена галочка "Автоматический" и "Ручной" режимы.
Если ставят ручной режим распределения денег по траншам - то табличная часть списаний рассчитывается один раз, а дальше её пользователь может корректировать.
14 Нуф-Нуф
 
01.06.12
19:41
да не, даже не в этом дело. данные полученные при проведении на основании регистров и записанные в документ - все равно через некоторое время станут не актуальными.
15 Йюхйюх
 
01.06.12
19:46
(14) задача в том, что у нас составляется график платежей и в зависимости от дат планируемых платежей еще отдельно учитываеся и % годовых.

Если клиент платит четко по графику - то % рассчитан верно и долг по траншу выходит в 0, но так бывает редко. Чаще платят либо раньше, либо позже, либо вообще стремятся быстрее все долги закрыть.

В этих случаях начинаются заморочки и геморрой с перерасчетом начисленных изначально процентов.

Пока вижу единственный выход: рассчитывать в табличной части как бабки распределяются по графику и процентам. Если надо - пусть пользователь корректирует.
Ибо с его хотелкой "менять и перерерасчитывать на любом этапе" не вижу другого вменяемого пути решения этой проблемы.
16 Йюхйюх
 
01.06.12
19:53
+(15) Если бы пользователь был согласен делать коррекцию по начисленным процентам на конечном этапе или корректировать разницы по суммам в счет будущих процентов - то эта проблема бы решалась.

Но заказчик хочет иметь возможность перерасчета и корректировок распределения денег на любом этапе. Вот и вынужден в платежке рассчитывать в табличной части как он будет списывать основную задолженность и проценты.

А в конце - корректировка.
17 Defender aka LINN
 
01.06.12
21:00
(0) Расстрелять. Говнокод стереть, серверы продезинфицировать освященным прометиумом.
18 mistеr
 
01.06.12
23:58
(16) Лизинг?
19 hhhh
 
02.06.12
02:08
(16)ты там поаккуратнее. например, если пользователь всё ввел в табличную часть, бережно всё сохранил, потом проводит. После этого открывает документ, а там всё другое. Он же тебя придушит тут же, на месте. Лучше сразу учись быстро бегать.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший