Имя: Пароль:
1C
 
Как вывести на форму объекта реквизит, добавленный в расширении?
0 Chai Nic
 
10.07.24
11:35
Есть справочник, в расширении добавляем реквизит. Нужно его вывести на форму.

Добавляем форму объекта в расширение, открываем её там. Но непонятно, как добавить на форму этот новый реквизит. Его нет в доступных, там видны только реквизиты из основной конфигурации.
1 Prog_man
 
гуру
10.07.24
11:38
(0) добавлять реквизиты лучше в основную конфигурацию ИМХО,
на форму можно и кодом добавить в расширении.
2 U4Me2
 
10.07.24
11:38
Попробуйте в форме Объект тоже добавить в расширение
3 Chai Nic
 
10.07.24
11:39
(1) Типовую трогать не собираюсь. А как кодом? Примерчик можно?
4 Chai Nic
 
10.07.24
11:39
(2) Он не добавляется.
5 Prog_man
 
гуру
10.07.24
11:45
(3) в инете полно примеров, загугли
6 U4Me2
 
10.07.24
11:47
Не правда Ваша, в форме добавленной в расширение в реквизитах Объект - добавить в расширение, а потом тащите свой реквизит на форму
7 Chai Nic
 
10.07.24
11:55
(6) А, понятно. Именно в расширении. Как-то нелогично. Как будто из расширения добавляем объект в расширение..
8 Salimbek
 
10.07.24
12:27
(3) Типа так:

 НовыйЭлемент = Элементы.Добавить(_Имя, Тип("ПолеФормы"), Элементы.Группа1);
 НовыйЭлемент.ПутьКДанным = "Объект."+_Имя;
 НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
 НовыйЭлемент.Доступность = Истина;
 НовыйЭлемент.РастягиватьПоГоризонтали	= Истина;
9 Valdis2007
 
10.07.24
12:28
(1) добавлять реквизиты лучше в основную конфигурацию

тогда смысл расширений теряется не?
10 DJ Anthon
 
10.07.24
12:48
А вот так можно добавить свою кнопку и таблицу значений на форму

    НоваяКоманда = Команды.Добавить("ЗагрузитьИзФайла");
    НоваяКоманда.Действие = "ЗагрузитьИзФайла";
    НоваяКоманда.Заголовок = "Загрузить из файла";

        МассивТипаВыбора = Новый Массив;
        МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений"));
        ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);
        МассивРеквизитов = Новый Массив;
        МассивРеквизитов.Добавить(Новый РеквизитФормы("ЮрЛица", ОписаниеТипаВыбора, "", "Юр. лица дилера"));        
        МассивРеквизитов.Добавить(Новый РеквизитФормы("Партнер", Новый ОписаниеТипов("СправочникСсылка.Партнеры"), "ЮрЛица", "Юр. лицо"));
        МассивРеквизитов.Добавить(Новый РеквизитФормы("Договор", Новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов"), "ЮрЛица", "Действующий договор"));
        МассивРеквизитов.Добавить(Новый РеквизитФормы("Номер", Новый ОписаниеТипов("Строка"), "ЮрЛица", "Номер"));
        МассивРеквизитов.Добавить(Новый РеквизитФормы("Дата", Новый ОписаниеТипов("Дата"), "ЮрЛица", "Дата"));
        МассивРеквизитов.Добавить(Новый РеквизитФормы("ДействиеДо", Новый ОписаниеТипов("Дата"), "ЮрЛица", "До"));
        ИзменитьРеквизиты(МассивРеквизитов);
        
        ТаблицаЮрЛица = Элементы.Добавить("ЮрЛица", Тип("ТаблицаФормы"), Элементы.Все);
        ТаблицаЮрЛица.ПутьКДанным = "Юрлица";
        ТаблицаЮрЛица.Отображение = ОтображениеТаблицы.Список;
        ТаблицаЮрЛица.КоманднаяПанель.Видимость = Ложь;
        ТаблицаЮрЛица.ОтображениеСтрокиПоиска.Видимость = Ложь;
        ТаблицаЮрЛица.ОтображениеСостоянияПросмотра.Видимость = Ложь;
        ТаблицаЮрЛица.ИзменятьПорядокСтрок = Ложь;
        ТаблицаЮрЛица.ИзменятьСоставСтрок = Ложь;
        ТаблицаЮрЛица.РазрешитьПеретаскивание = Ложь;
        ТаблицаЮрЛица.УстановитьДействие("ПриИзменении", "ПланыПриИзменении");
        ТаблицаЮрЛица.Высота = 11;
        ТаблицаЮрЛица.АвтоМаксимальнаяВысота = Ложь;
        ТаблицаЮрЛица.РастягиватьПоВертикали = Ложь;
        
        НовыйЭлемент = Элементы.Добавить("Партнер", Тип("ПолеФормы"), ТаблицаЮрЛица);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ЮрЛица.Партнер";
        НовыйЭлемент.Заголовок = "Юр. лицо дилера";
        
        НовыйЭлемент = Элементы.Добавить("Договор", Тип("ПолеФормы"), ТаблицаЮрЛица);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ЮрЛица.Договор";
        НовыйЭлемент.Заголовок = "Действующий договор";
        
        НовыйЭлемент = Элементы.Добавить("Номер", Тип("ПолеФормы"), ТаблицаЮрЛица);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ЮрЛица.Номер";
        НовыйЭлемент.Заголовок = "№";
        
        НовыйЭлемент = Элементы.Добавить("Дата", Тип("ПолеФормы"), ТаблицаЮрЛица);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ЮрЛица.Дата";
        НовыйЭлемент.Заголовок = "От";
        
        НовыйЭлемент = Элементы.Добавить("ДействиеДо", Тип("ПолеФормы"), ТаблицаЮрЛица);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ЮрЛица.ДействиеДо";
        НовыйЭлемент.Заголовок = "До";
        
        НовыйЭлемент = Элементы.Добавить("ЗагрузитьИзФайла", Тип("КнопкаФормы"), Элементы.ГруппаДилер);
        НовыйЭлемент.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
        НовыйЭлемент.ИмяКоманды = "ЗагрузитьИзФайла";
        НовыйЭлемент.Отображение = ОтображениеКнопки.КартинкаИТекст;
        НовыйЭлемент.Картинка = БиблиотекаКартинок.ОткрытьФайл;

        ЭтаФорма.ЮрЛица.Загрузить(ТаблицаЮрЛиц());
11 banco
 
10.07.24
13:19
(0)     
Элемент = Элементы.Вставить("ИмяЭлемента", Тип("ПолеФормы"), Элементы.ГруппаКуда);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = "Объект.Расш_Реквизит";
12 Prog_man
 
гуру
10.07.24
15:01
(9) "тогда смысл расширений теряется не?" нет не теряется, там где не критично можно пользоваться расширениями. а при добавление реквизитов в расширение, можно и данные потерять.
13 CepeLLlka
 
10.07.24
15:04
(12)Всегда добавляю реквизиты в расширение, ни разу данные не потерял, ЧЯДНТ?
14 Valdis2007
 
10.07.24
15:09
(12) а при добавление реквизитов в расширение, можно и данные потерять.

...рекомендация из серии на улицу не ходи там кирпич на голову упасть может...
15 Chai Nic
 
10.07.24
15:30
(14) Был баг в платформе лет 5 назад, когда при добавлении реквизитов в расширении слетали ссылки на подчиненный справочник при тестировании и исправлении. Вот обжегшись на молоке, теперь на воду дуют.
16 Prog_man
 
гуру
10.07.24
16:01
(15) я сталкивался когда у заимствованных реквизитов в расширении пропадали данные. но от расширений не отговариваю, может действительно их доработали. сам ими пользуюсь изредка.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн