|
Дополнительные реквизиты справочника характеристики не показываются на форме? | ☑ | ||
---|---|---|---|---|
0
AnisaL
21.05.18
✎
15:54
|
Добрый день!
Подскажите, пожалуйста, 1С Розница 2.2, создаю программно дополнительные реквизиты справочника характеристики, через Справочники.Характеристики.ДополнительныеРеквизиты, почему они не отображаются на форме элемента справочника Характеристики? Если доп реквизиты заполняю вручную через Предприятие, то они сохраняются на форме. Получается доп реквизиты в табличной части Характеристик есть, а на форме их нет? ОбъектХарактеристика = ЕстьХарактеристика.ПолучитьОбъект(); ДопРеквизиты = ОбъектХарактеристика.ДополнительныеРеквизиты; СтрокаДопРеквизитов = ДопРеквизиты.Добавить(); СтрокаДопРеквизитов.Значение = Материал; СтрокаДопРеквизитов.Свойство = ВидСвойства; ОбъектХарактеристика.Записать(); |
|||
1
DrShad
21.05.18
✎
15:56
|
что-то не доделала
|
|||
2
AnisaL
21.05.18
✎
15:57
|
(1) а что именно? уже второй день бьюсь с этими характеристиками..
|
|||
3
DrShad
21.05.18
✎
15:58
|
свойство правильное?
|
|||
4
AnisaL
21.05.18
✎
15:59
|
(3) свойство - да
|
|||
5
DrShad
21.05.18
✎
15:59
|
пройтись отладчиком по вручную созданному документу и сравнить что там в ТЧ и что у вас
|
|||
6
AnisaL
21.05.18
✎
15:59
|
(5) ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Материал");
|
|||
7
AnisaL
21.05.18
✎
16:00
|
(5) это не документ, а справочник, характеристики ном-ры
|
|||
8
AnisaL
21.05.18
✎
16:00
|
(5) и у него есть табл часть Доп реквизиты
|
|||
9
Леха Дум
21.05.18
✎
16:02
|
(0) Посмотри в справочник "Наборы дополнительных реквизитов и сведений". Кроме того, чтобы создать элемент в плане видов характеристик, нужно еще его и привязать к виду объектов
|
|||
10
AnisaL
21.05.18
✎
16:09
|
(9) там заполнено все
|
|||
11
AnisaL
21.05.18
✎
16:11
|
самое интересное, что прохожусь отладчиком, и вижу что таб часть заполнена, а на форме все равно нет
|
|||
12
AnisaL
21.05.18
✎
16:16
|
А можно на самой форме заполнить как то эти доп реквизиты?
|
|||
13
AnisaL
21.05.18
✎
16:16
|
(12) я имею в виду программно
|
|||
14
AnisaL
21.05.18
✎
16:20
|
http://pixs.ru/showimage/Noviytoche_2062109_30238570.jpg
вот реквизиты на форме |
|||
15
Леха Дум
21.05.18
✎
16:27
|
а заполняешь в какой момент? Когда форма открыта и командой из формы?
|
|||
16
Леха Дум
21.05.18
✎
16:30
|
Я писал в свое время процедуру обновления реквизитов формы для БСП 2.1.9, код такой:
Функция УстановитьЗначениеДополнительногоРеквизитаВФорме(Форма, Свойство, Значение, Ошибка = "") Экспорт Попытка ТаблицаОписания = Форма.Свойства_ОписаниеДополнительныхРеквизитов; Исключение Ошибка = "Для данного типа объектов дополнительные реквизиты не подключены"; Возврат Ложь; КонецПопытки; СтрокиОписанияРеквизита = ТаблицаОписания.НайтиСтроки(Новый Структура("Свойство", Свойство)); Если СтрокиОписанияРеквизита.Количество() Тогда ИмяЭлементаФормы = СтрокиОписанияРеквизита[0].ИмяРеквизитаЗначение; Попытка Форма[ИмяЭлементаФормы] = Значение; Исключение Ошибка = "Невозможно установить в форме значение для указанного свойства"; Возврат Ложь; КонецПопытки; Форма.Модифицированность = Истина; Возврат Истина; Иначе Ошибка = "Для данного типа объектов указанное свойство не подключено"; Возврат Ложь; КонецЕсли; КонецФункции Вызов процедуры следующий: УправлениеСвойствамиПереопределяемый.УстановитьЗначениеДополнительногоРеквизитаВФорме(ЭтаФорма, ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ИмяРеквизита, ЗначениеРеквизита); |
|||
17
AnisaL
21.05.18
✎
16:33
|
(15) вот например, заполнила значение - Пластик у доп реквизита "Материал", и отладчиком посмотрела, как он записывается:
1 фото - как заполнила 2 фото - что видит отладчик у формы http://www.fotolink.su/v.php?id=87ca6cc9c88d07634e2194b5600f89b9 http://www.fotolink.su/v.php?id=2ee80898f1a8590d39b02936b1476503 |
|||
18
AnisaL
21.05.18
✎
16:35
|
(16) а функция где должна выполняться - на сервере или клиенте?
|
|||
19
AnisaL
21.05.18
✎
16:37
|
(15) нет, заполняю вот так, не через форму:
ОбъектХарактеристика = ЕстьХарактеристика.ПолучитьОбъект(); ДопРеквизиты = ОбъектХарактеристика.ДополнительныеРеквизиты; СтрокаДопРеквизитов = ДопРеквизиты.Добавить(); СтрокаДопРеквизитов.Значение = Материал; СтрокаДопРеквизитов.Свойство = ВидСвойства; ОбъектХарактеристика.Записать(); |
|||
20
AnisaL
21.05.18
✎
16:39
|
(15) форму вообще не могу получить, ошибку выдает:
{ВнешняяОбработка.ЗагрузкаДанныхИзТабличногоДокумента_УФ.Форма.Форма.Форма(891)}: Ошибка при установке значения атрибута контекста (Объект) Объект = ЕстьХарактеристика.ПолучитьОбъект(); по причине: Нельзя изменять поле, содержащее объект данных формы |
|||
21
AnisaL
21.05.18
✎
16:40
|
(15) вот пытаюсь форму получить:
Объект = ЕстьХарактеристика.ПолучитьОбъект(); ФормаЭлемента = Объект.ПолучитьФорму("ФормаЭлемента"); и ошибку выдает, как в предыдущем посте |
|||
22
AnisaL
21.05.18
✎
16:42
|
(16) а что получается, что можно только из самой формы вызвать процедуру?
|
|||
23
Леха Дум
21.05.18
✎
17:23
|
(22) для процедуры форма - это один из параметров, а откуда вы его возьмете - процедуре все равно
|
|||
24
Вафель
21.05.18
✎
17:53
|
в отладчике вид свойства чему равен.
Скорее всего нужно искать по полю "Заголовок" а не по наименованию |
|||
25
AnisaL
21.05.18
✎
18:33
|
(24) ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Материал");
|
|||
26
AnisaL
21.05.18
✎
18:34
|
(24) он его находит
|
|||
27
Вафель
21.05.18
✎
18:35
|
(26) а точно с таким наименование только 1 свойство правильное?
|
|||
28
AnisaL
21.05.18
✎
18:35
|
(27) да
|
|||
29
AnisaL
21.05.18
✎
18:36
|
(23) в том то и дело, что я из внешней обработки не могу получить доступ к форме элемента справочника
|
|||
30
Вафель
21.05.18
✎
18:37
|
(29) тогда все должно работать
|
|||
31
AnisaL
21.05.18
✎
18:37
|
(29) а у меня не работает(
|
|||
32
Вафель
21.05.18
✎
18:40
|
посмотри отладциком что после записи объекта там остается
|
|||
33
AnisaL
21.05.18
✎
18:42
|
(32) в смысле в табличной части ДопРеквизиты ? там все записано, могу фото скинуть
|
|||
34
AnisaL
21.05.18
✎
21:17
|
(30) Ура, ура, ура! Нашла свою ошибку: я в значение доп реквизита записывала просто строку, а нужно было Справочник.ЗначенияСвойствОбъектов. Спасибо всем откликнувшимся, день прошел не зря! :)
вот здесь: СтрокаДопРеквизитов.Значение = Материал; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |