Имя: Пароль:
1C
1С v8
Не изменяется реквизит документа при нажатии "провести и закрыть"
,
0 Очень Любознательная
 
11.09.19
12:34
Добрый день. Релиз БГУ самый последний.

Ситуация такая: в назначении платежа "квитанции на оплату" должен быть guid квитанции, по-другому её идентифицировать при обмене с банком в нашем случае нельзя.

Поскольку guid существует только после записи, в модуль объекта (в расширение) добавлен следующий код:


Перем ЭтоНовыйОбъект;


&После("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Если ЭтоНовый() Тогда
        ЭтоНовыйОбъект = ИСТИНА;
    Иначе
        ЭтоНовыйОбъект = ЛОЖЬ;
    КонецЕсли;
КонецПроцедуры

&После("ПриЗаписи")
Процедура Расш1_ПриЗаписи(Отказ, РежимЗаписи, РежимПроведения)
    // Вставить содержимое обработчика.
    Если ЭтоНовыйОбъект Тогда
        Если ЗначениеЗаполнено(КодБКПлатежа) Тогда
            НазначениеПлатежа = "Отр код. " + КодБКПлатежа + "/" + Ссылка.УникальныйИдентификатор() + "/" + НазначениеПлатежа;
        Иначе
            НазначениеПлатежа = "Отр. код. 00000000000000000130/" + Ссылка.УникальныйИдентификатор() + "/" + НазначениеПлатежа;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


В заполнение назначения платежа я добавить этот код не могу, поскольку guid тогда ещё не существует.



И получается такая проблема, что при нажатии в форме документа кнопок "записать" или "провести" назначение заполняется.

А при нажатии "провести и закрыть" назначение платежа не меняется.

Подскажите, в чём причина?
1 Лефмихалыч
 
11.09.19
12:35
потому, что ты не реквизит пеняешь а неявно объявляешь локальную переменную
2 Очень Любознательная
 
11.09.19
12:38
(1) А почему при "провести" и "записать" тогда срабатывает?
В чём отличие?
3 hhhh
 
11.09.19
12:38
(0) ПриЗаписи  не прокатит, оно вызывается уже когда всё записано.
4 Очень Любознательная
 
11.09.19
12:41
(3) Ну почему, я видела код, где в обработке проведения какие-то реквизиты меняются.
5 Aleksandr N
 
11.09.19
12:42
(4) Скорее всего этот код был в ПередЗаписью.
6 Очень Любознательная
 
11.09.19
12:52
(3) В случае, когда я в документе нажимаю "записать" или "провести", реквизиты меняются.
7 Вафель
 
11.09.19
12:53
зачем в призаписи реквизиты менять?
8 Очень Любознательная
 
11.09.19
12:55
(7) В "перед записью" guid ещё не получить, так как ссылка ещё не существует.
9 Ёпрст
 
11.09.19
12:56
(0) будь проще - устанавливай ссылку нового, её и и используй в НазначениеПлатежа  сразу, а не в после записи
10 Ёпрст
 
11.09.19
12:57
(8) ошибаешься
11 catena
 
11.09.19
12:57
(4)Без дополнительной записи такого быть не может. Последовательность тут: https://its.1c.ru/db/pubdevguide83/content/612/hdoc
12 dezss
 
11.09.19
12:58
(6) Потому что после "Записать" ты устанавливаешь новое значение, но не записываешь. А когда нажимаешь "Провести", то самое значение и записывается.
13 dka80
 
11.09.19
13:25
(11) наверное, ты не совсем права
https://its.1c.ru/db/pubmanagedui#content:191:hdoc
14 catena
 
11.09.19
13:32
(13)Не нашла там про изменение в обработке проведения.
15 catena
 
11.09.19
13:33
+(14)Сторнирую
17 catena
 
11.09.19
13:34
Да, в УФ свои тараканы :)