Имя: Пароль:
1C
1С v8
При проведении (правой кнопкой мыши - провести) заполнить реквизит
0 Snail
 
22.09.20
14:24
Есть документ, есть объект.автомобиль, он заполняется при изменении торгового (объект.торговый). Как при проведении (правой кнопкой мыши - провести) заполнить реквизит объект.автомобиль?
1 Snail
 
22.09.20
14:28
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи, РежимЗаписи)
    Объект.Автомобиль= ПроверкаАвтомобиляНаСервере(Объект.Торговый);
    
    Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
   Объект.Автомобиль= ПроверкаАвтомобиляНаСервере(Объект.Торговый);

КонецЕсли;
    
КонецПроцедуры

Так заполняет, но нужно открывать и Ctrl + Enter :(
2 Snail
 
22.09.20
14:33
Или через стандартную обработку проведения
3 dka80
 
22.09.20
14:33
В модуль объекта помести код
4 dka80
 
22.09.20
14:34
Но учти, что он будет выполняться каждый раз при проведении, в том числе и групповом
5 Snail
 
22.09.20
14:36
это нужно единожды сделать и убрать
6 Snail
 
22.09.20
14:36
Как в модуле написать?
7 dka80
 
22.09.20
14:36
тогда через групповую обработку объектов - исполнить произвольный код
8 Snail
 
22.09.20
14:48
В модуле объекта:
Автомобиль = Проба;

Устанавливает значение "Проба" только если открыть документ и провести.
9 hhhh
 
22.09.20
14:50
(8) в ПередЗаписью делаете?
10 Snail
 
22.09.20
14:52
&НаКлиенте

Процедура ПередЗаписью(Отказ, ПараметрыЗаписи, РежимЗаписи)
    Объект.Автомобиль= ПроверкаАвтомобиляНаСервере(Объект.Торговый);
    
    Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
   Объект.Автомобиль= ПроверкаАвтомобиляНаСервере(Объект.Торговый);

КонецЕсли;
    
КонецПроцедуры

Так заполняет, но нужно открывать и Ctrl + Enter :(
11 Snail
 
22.09.20
14:54
И в Модуле объекта в Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Автомобиль = Проба;
12 hhhh
 
22.09.20
14:58
(11) юморист вы. в модуле объекта в Процедуре ПередЗаписью.
13 Snail
 
22.09.20
15:21
Да.... Харламов отдыхает )))) Спасибо!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.