Вывод инфы в объекте из состава другого объекта

Статус
В этой теме нельзя размещать новые ответы.

Финдиас

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

Vladimir

Администратор
Команда форума
Добрый день.
Есть два способа получить данные из ссылочного объекта:
- копировать данные при помощи свойства "Копия из";
- добавить поле ссылки на поле другого объекта.

Первый способ обычно предпочтительнее, так как:
1) при изменении записи, если данные ссылочного объекта менялись, то в редактируемой записи ранее скопированная информация не изменится (если только не перевыбрать ссылку на объект);
2) копии данных можно обрабатывать в полях расчёта/комбинации, использовать в операциях и прочее.

Второй способ лучше использовать, если информация из ссылочного объекта нужна только для визуального восприятия и не требуется производить каких либо обработок. В базе данных при этом не создаётся лишних полей. Также для ссылочных полей в конструкторе формы связи можно установить те же самые фильтры, как и для исходных типов полей.

Самая частая ошибка пользователей: использование поля ссылки на числовое поле объекта, а затем использование его в расчётах. Значение поля ссылки при этом будет учитываться, но при каждом открытии записи - будет происходить перерасчёт данных на основании ссылочного поля, что может привести к получению некорректного результата. Например для товара была установлена одна цена, которая использовалась в счёте. Затем цена была изменена, а пользователь, открыв старый счёт для других изменений, получит новый результат расчётов итоговой стоимости счёта, нарушив историю операции.
 

Финдиас

Продвинутый
Ссылка получается, автоматически проставляется то что надо. Но у того объекта, на который ссылаемся, есть дочерние объекты с инфой. Как вытянуть ту инфу из дочерних объектов, если Форма связи уже выбрана? Как-то поля отдельно настраивать?
 

Финдиас

Продвинутый
грубо говоря я привязал 10 станков к одному рабочему месту, и 5 станков к другому рабочему месту (состав). Потом в другом объекте я выбираю карточку сотрудника и автоматом показывается его рабочее место, но какие станки автоматом не могу вытянуть, так как они в составе рабочего места
 

Vladimir

Администратор
Команда форума
Из дочерних объектов формы связи данные получить нельзя.
Можно лишь "вытянуть" информацию по ссылочным полям на объекты любой глубины вложенности, например Объект.Объект 2.Объект 3.Ключевое поле.
 

Финдиас

Продвинутый
ну я пытаюсь написать этот путь, но что то не так. Ведь там есть справочник, потом другой объект который на этот справочник ссылается. Есть пример?
 

Vladimir

Администратор
Команда форума
Вы можете создать предварительно n-ое количество полей в объекте рабочего места для станков, и тогда в другом объекте можно получить информацию о таком-же количестве полей, для каждого указав своё ссылочное поле.
 

Финдиас

Продвинутый
НУ одному сотруднику можно внести 10 позиций, а может 2. Как понять сколько полей надо.Это текстовая инфа, её просто надо вытянуть, чтобы потом распечатать
 

Vladimir

Администратор
Команда форума
Для этого достаточно добавить одно текстовое поле (не строку).
Если задача заключается только в распечатке, то и вытягивать эти данные из объекта не надо. В шаблоне создаётся поле со ссылкой на текстовое значение из другого объекта.
Если же надо видеть это текстовое поле перед распечаткой, то лучше использовать поле ссылки на поле - оно отобразится в этом объекте также в виде текста. Но в шаблоне надо всё равно прописать полный путь к ссылочному полю, так как поля ссылки на поля в шаблонах не обрабатываются.
 

Финдиас

Продвинутый
Ну а как правильно написать ссылку? Я пишу имя объекта, но через точку идет инфа уже из состава этого объекта. Наименование объекта что в составе также через точку?
 

Финдиас

Продвинутый
Меня смущает тот факт, что в составе, на который я ссылаюсь может быть несколько строк, может поэтому я пишу а оно не работает
 

Vladimir

Администратор
Команда форума
Пример: есть объект рабочего места ("Рабочее место") с текстовым полем ("Оборудование"). В объекте сотрудника ("Сотрудник") создаётся поле ссылки на поле оборудования объекта рабочего места.
Поле ссылки на текстовое поле.png
В сотруднике видим точно такое-же текстовое поле:
Отображение поля ссылки на поле.png
Создаём шаблон документа, где прописывается полный путь к ссылочному объекту:
Шаблон документа.png
Результат формирования документа:
Результат формирования документа.png
Пример проекта в приложении.
 

Вложения

  • Рабочее место сотрудника.rbase
    12.3 KB · Просмотры: 12

Финдиас

Продвинутый
Немного по другому у меня. У меня этот список оборудования готовый, в нём допустим 1000 позиций. Мне не нужно чтобы пользователь его набирал, мне нужно чтобы он привязал к рабочему списку то что есть. (оборудование это как пример я использую).
 

Финдиас

Продвинутый
Вы можете создать предварительно n-ое количество полей в объекте рабочего места для станков, и тогда в другом объекте можно получить информацию о таком-же количестве полей, для каждого указав своё ссылочное поле.
Я в принципе не против варианта с, например 10 ю полями, а подскажите пожалуйста, можно ли показывать поля если например первое поле заполнилось, то появляется второе (если первое пусто, то второго пока не видно) и так по цепочке, если второе заполнено то третье появляется??
 

Vladimir

Администратор
Команда форума
Если задача заключается в том, чтобы распечатать список оборудования, привязанный к рабочему месту, то можно воспользоваться просто кнопкой перехода к записи данного объекта, расположенной в правой части поля. Она всегда есть в объекте и ссылается на объект.
В форме связи этой кнопки перехода нет, так как она уже настраивается пользователем при необходимости. Можно указать объект или форму (на базе этого объекта) к которому надо разрешить переход.
Подобный переход есть и у дочернего списка, где указывается объект/форма, к которому надо перейти от записи. Команда перехода находится в контекстном меню.
Таким образом можно формировать различные документы любой глубины вложенности. Например есть форма с клиентом, в котором дочерним списком выступает список всех договоров с ним, которые заключаются каждый год. В дочернем списке договоров, через контекстное меню, производится переход к форме договоров, где в дочернем списке находится список счетов. В списке счетов через контекстное меню - переход к счёту, в котором есть дочерний список товара/услуг.
И в каждой форме есть свои шаблоны документов для каждого случая.
 

Vladimir

Администратор
Команда форума
можно ли показывать поля если например первое поле заполнилось, то появляется второе (если первое пусто, то второго пока не видно) и так по цепочке, если второе заполнено то третье появляется??
Для каждого последующего поля создать группу, где в условии скрытия сделать проверку на пустое значение предыдущего, например так:
Скрытие полей через группу.png
 

Vladimir

Администратор
Команда форума
Любое поле ссылки на объект имеет при просмотре кнопку перехода к данному объекту (только в объекте):
Кнопки перехода к объекту.png
В форме связи, чтобы такая кнопка появилась, надо задать свойство "Переход к":
Настройка кнопки перехода.png
 

Финдиас

Продвинутый
Для каждого последующего поля создать группу, где в условии скрытия сделать проверку на пустое значение предыдущего, например так:
Посмотреть вложение 2338
Хорошо. если после= ничего не стоит то пустое поле. Это я искал. А Строка1, Строка2 может быть ссылочным объектом? где выпадает список?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу