|
Аналог ВводНового или как узнать, что ПриКопировании? | ☑ | ||
---|---|---|---|---|
0
OnCheck
05.09.11
✎
10:15
|
Заполняю программно реквизиты документа при создании. Нужен аналог ВВодНового() из v7.7 в поиске пишут про ЭтоНовый(). Это хорошо, но как быть при копировании документа, когда реквизиты нужно брать из Объекта копирования? ПриКопировании работает раньше всех.
|
|||
1
Ненавижу 1С
гуру
05.09.11
✎
10:17
|
(0) объект из которого копируют быть новым никак не может
|
|||
2
OnCheck
05.09.11
✎
10:20
|
а в который копируют?
|
|||
3
Goggy
05.09.11
✎
10:21
|
(1) а может он уже реализовал возможность такого копирования :)
|
|||
4
Goggy
05.09.11
✎
10:22
|
(2) а этот всегда новый.
|
|||
5
OnCheck
05.09.11
✎
10:22
|
Еще раз. Создается новый объект: 2 варианта
1. Путем копирования 2. Путем НЕ копирования Как бы в 1 варианте в приОткрытии узнать что он был скопирован? |
|||
6
katc
05.09.11
✎
10:26
|
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ПриКопировании (OnCopy) Синтаксис: ПриКопировании(<ОбъектКопирования>) Параметры: <ОбъектКопирования> Тип: ДокументОбъект. Исходный документ, который является источником копирования. Описание: Возникает при создании документа копированием. См. также: ДокументСсылка, метод Скопировать |
|||
7
OnCheck
05.09.11
✎
10:27
|
(6) и?
|
|||
8
katc
05.09.11
✎
10:27
|
ну так заполняй в ней свои реквизиты
|
|||
9
Goggy
05.09.11
✎
10:27
|
ты ещё в (0) сем себе ответил.
|
|||
10
hhhh
05.09.11
✎
10:29
|
(7) параметрОбъектКопирования
|
|||
11
Ненавижу 1С
гуру
05.09.11
✎
10:29
|
так как вначале ПриКопировании вызывается, то можно какой либо флаг взвести при этом, а потом анализировать его
|
|||
12
OnCheck
05.09.11
✎
10:29
|
(11) получается снова через ..опу?
|
|||
13
hhhh
05.09.11
✎
10:30
|
(11) параметрОбъектКопирования
|
|||
14
katc
05.09.11
✎
10:31
|
улетай птица-мозгоклюй, улетай
|
|||
15
OnCheck
05.09.11
✎
10:31
|
(8),(9),(10)
Процедура ПриКопировании(ОбъектКопирования) ЭтотОбъект.ЦФО = 1; КонецПроцедуры Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Если ЭтоНовый() Тогда ЦФО = 2; КонецЕсли; КонецПроцедуры что будет лежать в ЦФО в результате для обоих вариантов (Копированием и без)? |
|||
16
Ненавижу 1С
гуру
05.09.11
✎
10:31
|
ну и в форме
Расширение формы элемента справочника ПараметрОбъектКопирования (CopyingObjectParameter) Использование: Чтение и запись. Описание: Тип: СправочникСсылка. Содержит ссылку на копируемый объект. |
|||
17
Ненавижу 1С
гуру
05.09.11
✎
10:32
|
(12) у тебя да
|
|||
18
OnCheck
05.09.11
✎
10:32
|
правильно 2, а надо чтобы при копировании было 1,
а без копирования было 2 |
|||
19
Goggy
05.09.11
✎
10:34
|
(18) ну так исправь свой касяк в (15) и будет
|
|||
20
Goggy
05.09.11
✎
10:37
|
Процедура ПриКопировании(ОбъектКопирования)
ЭтотОбъект.ЦФО = 1; КонецПроцедуры Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Если ЭтоНовый() Тогда //Добавь проверку на копирование... Если ЦФО = 1 тогда //Делаем что нужно при копировании... Иначе //Делаем что нужно при создании нового... ЦФО = 2; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
21
Ненавижу 1С
гуру
05.09.11
✎
10:39
|
Процедура ПриКопировании(ОбъектКопирования)
ЭтотОбъект.ЦФО = 1; КонецПроцедуры Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Если ЗначениеЗаполнено(ПараметрОбъектКопирования) Тогда //тут уже установили ИначеЕсли ЭтоНовый() Тогда ЦФО = 2; КонецЕсли; КонецПроцедуры |
|||
22
OnCheck
05.09.11
✎
10:40
|
(16) Спасибо. Нужен был ПараметрОбъектКопирования, про него не знал.
(20) ЦФО это не флаг, это конечное значение. С флагом все понятно. Просто думал что есть лучшее, И спасибо Ненавижу 1С, он подсказал. |
|||
23
OnCheck
05.09.11
✎
10:43
|
(17) без параметра ПараметрОбъектКопирования, думаю было бы у всех да :)
|
|||
24
Ненавижу 1С
гуру
05.09.11
✎
10:48
|
(23) нет, флаг ввести было трудно, вот показываю как если бы не было:
//модуль объекта Перем ЭтоКопирование Экспорт; Процедура ПриКопировании(ОбъектКопирования) ЭтотОбъект.ЦФО = 1; ЭтоКопирование = Истина; КонецПроцедуры ЭтоКопирование = Ложь; //модуль формы Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Если ЭтоКопирование Тогда //тут уже установили ИначеЕсли ЭтоНовый() Тогда ЦФО = 2; КонецЕсли; КонецПроцедуры |
|||
25
OnCheck
05.09.11
✎
10:53
|
(24) Согласен, не трудно. Но ПриКопировании это модуль объекта, а ПередОткрытием это модуль формы, как с видимостью было бы, если ЭтоКопирование не реквизит документа?
|
|||
26
Ненавижу 1С
гуру
05.09.11
✎
10:56
|
(25) а ты почитай внимательно, атрибут объекта описан как экспортный
|
|||
27
OnCheck
05.09.11
✎
11:01
|
(26) ага, ну да... тогда остается только про скорость обращения к объектам говорить, ИМХО встроенная переменная будет работать быстрее, чем описанная программистом в модуле 1С. Тогда бы зачем они его вообще делали этот ПараметрОбъектКопирования, ведь весь этот ПараметрОбъектКопирования целиком можно передать через параметр.!?
|
|||
28
Ненавижу 1С
гуру
05.09.11
✎
11:06
|
(27) я не знаю зачем они его придумали, если честно. На скорость это влияет очень слабо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |