Имя: Пароль:
1C
1С v8
Переместить дополнительный реквизит
0 byLLIPyT
 
10.05.18
21:45
Доброй ночи всем
В торговле УТ 11, как и во многих других продуктах есть такая функциональность, как дополнительные реквизиты, расположены они на вкладке Дополнительно. Но как быть, если клиент хочет, чтобы они располагались, к примеру, на вкладке Основное (возьмем к примеру док-т Реализация).
Например, создаем доп.реквизит "внутренний номер" и хотим, чтобы он был не в Дополнительно, а прямо рядом с обычным номером (в Дополнительно он тоже может остаться, не страшно), и всё это без снятия с поддержки - через расширение. Как известно, при открытии формы поле доп.реквизита не существует, они создается в момент перехода на вкладку Дополнительно, то есть взять и переместить его вроде как нельзя, но само значение доступно, программно создать поле в нужном месте и в него поместить значение из доп.реквизита реально, но это будет просто поле с каким то номером, не связанное с доп.реквизитом, а надо, чтобы если в нем поменяли значение, оно поменялось и в поле доп.реквизита и наоборот. То есть в идеале это, программно созданное поле должно быть ссылкой на строку ТЧ ДополнительныеРеквизиты, которых там могут быть десятки, а в поле номер надо поместить одно нужное...реально вообще что то вменяемое придумать?
1 Джинн
 
10.05.18
21:48
(0) Вменяемо послать заказчика лесом.
2 Мимохожий Однако
 
10.05.18
22:43
Попробуй изменить форму с переносом доп.реквизита на 1 закладку
3 catena
 
11.05.18
05:24
"программно создать поле в нужном месте и в него поместить значение из доп.реквизита реально, но это будет просто поле с каким то номером, не связанное с доп.реквизитом"

А посмотреть, как оно программно генерируется на закладке "Дополнительно"?
4 b_ru
 
11.05.18
05:57
А зачем тебе вообще заморачиваться с дополнительными реквизитами, если ты все равно мутишщь расширение? Сделай полноценный реквизит - с ним же в разы проще работать.
5 ildary
 
11.05.18
07:00
(0) открывается модуль МодификацияКонфигурацииПереопределяемый и в процедуре ПриСозданииНаСервере() прописывается Форма.Элементы.Переместить(): программный перенос реквизита формы на нужное место, конечно с проверкой имени формы и наличии реквизита.
6 ildary
 
11.05.18
07:01
+(5) ну или через расширение, если версия УТ позволяет.
7 byLLIPyT
 
11.05.18
10:42
Решил так: в расширение перенес процедуру приСозданииНаСервере, в ней вызвал процедуру инициализации этих полей СвойстваВыполнитьОтложеннуюИнициализацию(), ну а потом просто перенес полученные поля куда клиент хотел, всем спасибо