Имя: Пароль:
1C
1С v8
При копировании документа не все реквизиты копируются
,
0 prilforreal
 
15.03.18
09:19
Добрый день! Конфа самописная, 1с 8.3 Есть документ ПредзаказТовара, при копировании заполняются все реквизиты кроме кассы (Поле пустое) и Даты (Дата ставится текущая), мне же нужно чтобы все реквизиты, кроме номера документа конечно же совпадали с документом основания. Ни в модуле формы, ни в модуле объекта нет процедур связаных с копированием.
1 Повелитель
 
15.03.18
09:24
(0) Ни в модуле формы, ни в модуле объекта нет процедур связаных с копированием.
Думаю есть.
2 Повелитель
 
15.03.18
09:25
(1) В форме, ПриОткрытии, ПередОткрытием, Модуль внизу без процедур.
В Модуле, ПриКоприовании, Модуль внизу без процедур.
3 prilforreal
 
15.03.18
09:28
(1) Есть то конечно, но у меня ничего такого не описано, насколько я понимаю мне нужно в модуле объекта, в процедуре при копировании написать что то вроде
ЭтотОбъект.Дата=ДокументОснования.Дата
ЭтотОбъект.Касса=ДокументОснования.Касса
4 prilforreal
 
15.03.18
09:30
(2) Подскажите, будьте любезны, как ссылку на основание получить?)
5 catena
 
15.03.18
09:35
При чем тут копирование и ДокументОснование?
6 catena
 
15.03.18
09:38
Т.е. сперва кодом где-то эти параметры затираются, а потом ты их обратно будешь добавлять. Тебе все равно придется искать, чтобы стратегически свои пляски вставить после затирания, иначе толку не будет.
7 prilforreal
 
15.03.18
09:38
(5) Извините, ОбъектКопирования)
Пишу:

Процедура ПриКопировании(ОбъектКопирования)
    ЭтотОбъект.Дата=ОбъектКопирования.Дата;
    ЭтотОбъект.Касса=ОбъектКопирования.Касса;
КонецПроцедуры

Дата копируется, касса остается пустой.
8 prilforreal
 
15.03.18
09:40
Ага! Нашел!

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
//    ПриЗаписиПерепроводить(1);
    Если ЭтоНовый() тогда
        Автор=ТекПользователь;
        Касса=Автор.Касса3;
    КонецЕсли;    
    КонецПроцедуры

Значит теперь нужно написать условие:
Если не Копирование Тогда

Конец если;
9 prilforreal
 
15.03.18
09:41
Стоп, тут же указано ЕСЛИ ЭтоНовый, тогда почему касса не копируется?
10 Fish
 
15.03.18
09:42
(9) Потому что, когда копируешь, то создаётся НОВЫЙ документ в базе :))
11 prilforreal
 
15.03.18
09:44
(10) Еще только утро, а фляжка свистит =D Я понял уже)
12 prilforreal
 
15.03.18
09:51
В итоге получилось так:

Процедура ПриКопировании(ОбъектКопирования)
    ЭтотОбъект.Дата=ОбъектКопирования.Дата;
    ЭтотОбъект.Касса=ОбъектКопирования.Касса;
КонецПроцедуры

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