Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Дополнительные реквизиты справочника характеристики не показываются на форме?

Дополнительные реквизиты справочника характеристики не показываются на форме?
Я
   AnisaL
 
21.05.18 - 15:54
Добрый день!

Подскажите, пожалуйста, 1С Розница 2.2, создаю программно дополнительные реквизиты справочника характеристики, через Справочники.Характеристики.ДополнительныеРеквизиты, почему они не отображаются на форме элемента справочника Характеристики? Если доп реквизиты заполняю вручную через Предприятие, то они сохраняются на форме. Получается доп реквизиты в табличной части Характеристик есть, а на форме их нет?

ОбъектХарактеристика = ЕстьХарактеристика.ПолучитьОбъект();                    
                    ДопРеквизиты = ОбъектХарактеристика.ДополнительныеРеквизиты;
                    СтрокаДопРеквизитов = ДопРеквизиты.Добавить();
                    СтрокаДопРеквизитов.Значение = Материал;
                    СтрокаДопРеквизитов.Свойство = ВидСвойства;
                    ОбъектХарактеристика.Записать();
 
 
   DrShad
 
1 - 21.05.18 - 15:56
что-то не доделала
   AnisaL
 
2 - 21.05.18 - 15:57
(1) а что именно? уже второй день бьюсь с этими характеристиками..
   DrShad
 
3 - 21.05.18 - 15:58
свойство правильное?
   AnisaL
 
4 - 21.05.18 - 15:59
(3) свойство - да
   DrShad
 
5 - 21.05.18 - 15:59
пройтись отладчиком по вручную созданному документу и сравнить что там в ТЧ и что у вас
   AnisaL
 
6 - 21.05.18 - 15:59
(5)                     ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Материал");
   AnisaL
 
7 - 21.05.18 - 16:00
(5) это не документ, а справочник, характеристики ном-ры
   AnisaL
 
8 - 21.05.18 - 16:00
(5) и у него есть табл часть Доп реквизиты
   Леха Дум
 
9 - 21.05.18 - 16:02
(0) Посмотри в справочник "Наборы дополнительных реквизитов и сведений". Кроме того, чтобы создать элемент в плане видов характеристик, нужно еще его и привязать к виду объектов
   AnisaL
 
10 - 21.05.18 - 16:09
(9) там заполнено все
 
 Рекламное место пустует
   AnisaL
 
11 - 21.05.18 - 16:11
самое интересное, что прохожусь отладчиком, и вижу что таб часть заполнена, а на форме все равно нет
   AnisaL
 
12 - 21.05.18 - 16:16
А можно на самой форме заполнить как то эти доп реквизиты?
   AnisaL
 
13 - 21.05.18 - 16:16
(12) я имею в виду программно
   AnisaL
 
14 - 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].ИмяРеквизитаЗначение;
        
        Попытка
            Форма[ИмяЭлементаФормы] = Значение;
        Исключение
            Ошибка = "Невозможно установить в форме значение для указанного свойства";
            Возврат Ложь;
        КонецПопытки;
        
        Форма.Модифицированность = Истина;
        
        Возврат Истина;
    Иначе
        Ошибка = "Для данного типа объектов указанное свойство не подключено";
        Возврат Ложь;
    КонецЕсли;        
    
КонецФункции

Вызов процедуры следующий:

УправлениеСвойствамиПереопределяемый.УстановитьЗначениеДополнительногоРеквизитаВФорме(ЭтаФорма, ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ИмяРеквизита, ЗначениеРеквизита);
   AnisaL
 
17 - 21.05.18 - 16:33
(15) вот например, заполнила значение - Пластик у доп реквизита "Материал", и отладчиком посмотрела, как он записывается:
1 фото - как заполнила
2 фото - что видит отладчик у формы

http://www.fotolink.su/v.php?id=87ca6cc9c88d07634e2194b5600f89b9

http://www.fotolink.su/v.php?id=2ee80898f1a8590d39b02936b1476503
   AnisaL
 
18 - 21.05.18 - 16:35
(16) а функция где должна выполняться - на сервере или клиенте?
   AnisaL
 
19 - 21.05.18 - 16:37
(15) нет, заполняю вот так, не через форму:

        ОбъектХарактеристика = ЕстьХарактеристика.ПолучитьОбъект();                    
                    ДопРеквизиты = ОбъектХарактеристика.ДополнительныеРеквизиты;
                    СтрокаДопРеквизитов = ДопРеквизиты.Добавить();
                    СтрокаДопРеквизитов.Значение = Материал;
                    СтрокаДопРеквизитов.Свойство = ВидСвойства;
                    ОбъектХарактеристика.Записать();
   AnisaL
 
20 - 21.05.18 - 16:39
(15) форму вообще не могу получить, ошибку выдает:

{ВнешняяОбработка.ЗагрузкаДанныхИзТабличногоДокумента_УФ.Форма.Форма.Форма(891)}: Ошибка при установке значения атрибута контекста (Объект)
                    Объект = ЕстьХарактеристика.ПолучитьОбъект();
по причине:
Нельзя изменять поле, содержащее объект данных формы
   AnisaL
 
21 - 21.05.18 - 16:40
(15) вот пытаюсь форму получить:

Объект = ЕстьХарактеристика.ПолучитьОбъект();
                    ФормаЭлемента = Объект.ПолучитьФорму("ФормаЭлемента");
 и ошибку выдает, как в предыдущем посте
   AnisaL
 
22 - 21.05.18 - 16:42
(16) а что получается, что можно только из самой формы вызвать процедуру?
   Леха Дум
 
23 - 21.05.18 - 17:23
(22) для процедуры форма - это один из параметров, а откуда вы его возьмете - процедуре все равно
   Вафель
 
24 - 21.05.18 - 17:53
в отладчике вид свойства чему равен.
Скорее всего нужно искать по полю "Заголовок" а не по наименованию
   AnisaL
 
25 - 21.05.18 - 18:33
(24)                     ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Материал");
   AnisaL
 
26 - 21.05.18 - 18:34
(24) он его находит
   Вафель
 
27 - 21.05.18 - 18:35
(26) а точно с таким наименование только 1 свойство правильное?
   AnisaL
 
28 - 21.05.18 - 18:35
(27) да
   AnisaL
 
29 - 21.05.18 - 18:36
(23) в том то и дело, что я из внешней обработки не могу получить доступ к форме элемента справочника
   Вафель
 
30 - 21.05.18 - 18:37
(29) тогда все должно работать
   AnisaL
 
31 - 21.05.18 - 18:37
(29) а у меня не работает(
   Вафель
 
32 - 21.05.18 - 18:40
посмотри отладциком что после записи объекта там остается
   AnisaL
 
33 - 21.05.18 - 18:42
(32) в смысле в табличной части ДопРеквизиты ? там все записано, могу фото скинуть
 
 
   AnisaL
 
34 - 21.05.18 - 21:17
(30) Ура, ура, ура! Нашла свою ошибку: я в значение доп реквизита записывала просто строку, а нужно было Справочник.ЗначенияСвойствОбъектов. Спасибо всем откликнувшимся, день прошел не зря! :)
вот здесь: СтрокаДопРеквизитов.Значение = Материал;


Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует