|
ХранилищеЗначения, скопировать при копировании элемента справочника | ☑ | ||
---|---|---|---|---|
0
егаис
11.07.18
✎
07:20
|
УАТ 2.1 Справочник Тарифов. Есть реквизит справочника с типом ХранилищеЗначения.
Как при копировании элемента справочника скопировать в новый элемент хранилищезначения? |
|||
1
Cyberhawk
11.07.18
✎
07:27
|
Получаешь значение из хранилища, помещаешь в новое хранилище
|
|||
2
Cyberhawk
11.07.18
✎
07:27
|
А чтоб экономить место, заведи справочник "ХранилищаЗначений", где и храни свои значения
|
|||
3
Cyberhawk
11.07.18
✎
07:27
|
А в объектах реквизит-ХЗ замени на ссылку на этот справочник
|
|||
4
егаис
11.07.18
✎
07:30
|
(2) там на справочник не тянет, хранятся отборы области действия тарифа. Попробую, спасибо.
Еще ламерский вопрос - а как сейчас определяется в присозданиинасервере что элемент скопирован? |
|||
5
Cyberhawk
11.07.18
✎
07:33
|
(4) Только в обработчике ПриКопировании модуля объекта помещать в реквизит объекта какой-нибудь маркер (например, текст в комментарий)
|
|||
6
егаис
11.07.18
✎
07:35
|
(5) спасиб
|
|||
7
егаис
11.07.18
✎
07:41
|
может я неправ, но это не сработало
Процедура ПриКопировании(ОбъектКопирования) Если Не ЭтоГруппа Тогда ТекОбластьДействия = ОбъектКопирования.ОбластьДействия.Получить(); ОбластьДействия = Новый ХранилищеЗначения(ТекОбластьДействия); КонецЕсли; КонецПроцедуры |
|||
8
Chameleon1980
11.07.18
✎
07:52
|
(7) как определил?
|
|||
9
Chameleon1980
11.07.18
✎
07:52
|
+ что в отладчике-то?
|
|||
10
егаис
11.07.18
✎
07:53
|
(8) открывается форма с пустым отбором
|
|||
11
егаис
11.07.18
✎
07:56
|
в ХЗ хранится НастройкиКомпоновкиДанных
|
|||
12
егаис
11.07.18
✎
08:12
|
пробежался по элементам настрокикомпоновки, нигде привязки к владельцу/родителю нет
В чем может быть причина? |
|||
13
егаис
11.07.18
✎
08:13
|
сверил данные ОбластьДействия.Получить() обработкой по существующему элементу, отличий не вижу
|
|||
14
Chameleon1980
11.07.18
✎
08:23
|
да ты погодь с отборами-то
ты тут скажи что ТекОбластьДействия = ОбъектКопирования.ОбластьДействия.Получить(); ТекОбластьДействия? для начала далее это уже другой вопрос. у тебя тема-то какая изначально? |
|||
15
Остап Сулейманович
11.07.18
✎
08:24
|
(0) Православно все выполнить в ОбработкаЗаполнения. Для примера :
//Если это новый Если ЗначениеЗаполнено(Объект.Ссылка) Тогда //Если вводится копированием Если ТипЗнч(ДанныеЗаполнения) = ... Тогда //Положить ХЗ в переменную формы. //на случай если нужно будет новый объект записыывать ... КонецЕсли; КонецЕсли; Как-то так. |
|||
16
егаис
11.07.18
✎
08:30
|
(15) ОбработкаЗаполнения при копировании разве работает?
(14) ТекОбластьДействия = НастройкиКомпоновкиДанных |
|||
17
Остап Сулейманович
11.07.18
✎
08:30
|
(16) А проверить?
|
|||
18
Остап Сулейманович
11.07.18
✎
08:32
|
+ (17) Поработаю ДенисЧ. Из моего СП :
" Описание: Возникает при вводе элемента справочника на основании, а также при выполнении метода Заполнить, а также при интерактивном вводе нового. В процедуре-обработчике этого события должен быть описан сам алгоритм заполнения реквизитов элемента справочника на основании переданного значения. " |
|||
19
егаис
11.07.18
✎
08:32
|
(17) не работает
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Если ДанныеЗаполнения<>Неопределено Тогда ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения); КонецЕсли; КонецПроцедуры |
|||
20
егаис
11.07.18
✎
08:33
|
(18) про копировании ни слова
|
|||
21
Остап Сулейманович
11.07.18
✎
08:37
|
(19) Точно.
"Примечание: При копировании (как интерактивном, так и средствами встроенного языка), данный обработчик не вызывается. " |
|||
22
Остап Сулейманович
11.07.18
✎
08:37
|
+ (21) Птля... Но я же делал заполнение при копировании.
|
|||
23
Остап Сулейманович
11.07.18
✎
08:41
|
+ (22)
В модуле формы в ПриСознанииНаСервере оно лежит в Параметры.ЗначениеКопирования. Предварительно проверить вводится ли новый. |
|||
24
егаис
11.07.18
✎
08:44
|
(23) да, это понятно.
в ПриКопировании я аналогично получаю значение ХЗ. Какого фига ОбластьДействия = Новый ХранилищеЗначения(ТекОбластьДействия) пишет пустое значение |
|||
25
егаис
11.07.18
✎
08:45
|
в ТекОбластьДействия отборы я вижу в настройкекомпоновки
а после ОбластьДействия = Новый ХранилищеЗначения(ТекОбластьДействия) пусто |
|||
26
FIXXXL
11.07.18
✎
09:17
|
(25) а ОбластьДействия.Получить()?
|
|||
27
егаис
11.07.18
✎
09:27
|
(26)
Процедура ПриКопировании(ОбъектКопирования) Если Не ЭтоГруппа Тогда ТекОбластьДействия = ОбъектКопирования.ОбластьДействия.Получить(); ОбластьДействия = Новый ХранилищеЗначения(ТекОбластьДействия); КонецЕсли; КонецПроцедуры |
|||
28
егаис
11.07.18
✎
13:26
|
подниму, может подтянулись знатоки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |