Имя: Пароль:
1C
1С v8
Копирование номенклатуры вместе с ед. изм. и свойствами
0 Saari
 
03.04.15
13:02
Необходимо, чтобы при копировании элемента справочника "Номенклатура" копировались единицы измерения и свойства.

Здесь http://infostart.ru/public/193831/ узнал как это сделать. Сделал.
Но появилась проблема: после копирования появляется окно с новым элементом. И в нем на закладке "Единицы" и "Свойства" нет данных от копируемого элемента.
Если нажать на кнопку "Записать", то появится сообщение: "Значение <код элемента> поля "Код" не уникально".
Если закрыть форму элемента и открыть заново (форму уже скопированного элемента), то закладки "Единицы" и "Свойства" заполнены правильно.

Т.е. элемент скопировался, но данные в нем будут видны если закрыть/открыть форму.
1 ktvladimir
 
03.04.15
13:13
не очень кстати хорошо реализовано... а если вы при копировании вдруг захотите отказаться от записи
2 butterbean
 
03.04.15
13:15
(0) до записи элемента их там не будет, и не должно быть
3 Saari
 
03.04.15
13:15
(1) как реализовать правильно?
4 ktvladimir
 
03.04.15
13:18
если не УФ то например формировать структуру и закинуть ее в дополнительные свойства, а перед записью сохранять. Если УФ то хз навскидку не скажу подумать надо
5 Saari
 
03.04.15
13:18
Нашел еще один способ: http://1clancer.ru/article/kopirovanie_svedenij_dlya_novogo_obekta_183
но у меня не получается УстановитьСсылкуНового и ПолучитьСсылкуНового.
6 Saari
 
03.04.15
13:18
(4) не УФ. в УТ 10.3
7 ktvladimir
 
03.04.15
13:20
А честно не скажу как правильно. Могу сказать что мне не понравилось. а не понравилось мне именно (1). при копировании нет возможности отказаться.
8 ktvladimir
 
03.04.15
13:21
Еще к примеру в доп свойства закинуть ссылку на источник, а уже при записи выполнять Ваш код и сохранять вместе с объектом все сопутствующие элементы
9 Saari
 
03.04.15
13:25
(8) в дополнительные свойства это в реквизит "ДополнительноеОписаниеНоменклатуры" или каким образом? Можно поподробнее, пожалуйста?
10 ktvladimir
 
03.04.15
13:41
ДокументОбъект.<Имя документа>.ДополнительныеСвойства (DocumentObject.<Имя документа>.AdditionalProperties)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ДополнительныеСвойства (AdditionalProperties)
Использование:

Только чтение.
Описание:

Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.

Доступность:

Сервер, толстый клиент, внешнее соединение.
11 ktvladimir
 
03.04.15
13:43
правда непонятно почему в описании написано только чтение
12 Saari
 
03.04.15
13:50
(11) да, пока непонятно.
Можно ли при помощи УстановитьСсылкуНового и ПолучитьСсылкуНового реализовать?
13 ktvladimir
 
03.04.15
13:55
смысл? А подписке на копировании добавить
Источник.ДополнительныеСвойства.Вставить("ОбъектКопирования", ОбъектКопирования)

в подписке ПриЗаписи вткаешь код из http://infostart.ru/public/193831/
где ОбъектКопирования будет равным Источник.ДополнительныеСвойства.Свойство("ОбъектКопирования")
14 ktvladimir
 
03.04.15
13:57
Источник.Записать() естественно уже не надо, так как документ записан и есть ссылка
15 ktvladimir
 
03.04.15
13:59
(5) тоже плохо тем что если вы откажетесь от записи то в РС останется запись с битой ссылкой на номенклатуру