Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с владельцем формы (1с 8.2.19.106)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
andrew76
Доброго всем дня !

Имеется документ с реквизитом Сотрудник ссылочного типа.Ссылка на Справочник Сотрудники.Документ привязан к журналу Документов.
При выборе Сотрудника в форме Списка справочника Сотрудники в журнале Документов делается Отбор по выбранному сотруднику.
Как сделать так,что если пользователь в открытом журнале документов (в этот момент уже работает отбор по сотруднику) решил добавить
новый документ ,в результате добавления (при открытии формы документа) реквизит Сотрудник заполнялся автоматически значением отбора.
А если новый документ добавляется пользователем из формы списка Документов,то реквизит Сотрудник автоматически не заполнялся.
Bernet
andrew76 @ Сегодня, 11:16 необходимо зарегистрироваться для просмотра ссылки ,
Можно через Владельца формы вытаскивать по идее.
В форме документа проверяйте при открытии есть ли форма владелец - если есть то вы имеете доступ к её реквизитам и оттуда можно вытащить значение вашего отбора.
pablo
Всегда можно использовать Параметры формы при ее открытии.
Хотя все зависит от того, как вы открываете форму - из кода через ОткрытьФорму (или аналогичными методами) или стандартными средствами (открытие формы по умолчанию).
andrew76
pablo @ Сегодня, 17:34 необходимо зарегистрироваться для просмотра ссылки ,

Цитата(Bernet @ 08.11.17, 15:35) необходимо зарегистрироваться для просмотра ссылки
оттуда можно вытащить значение вашего отбора


Вот как раз на форме списка документов (не журнала) нет отбора.Отбор включен только на форме Журнала документов.
Как примерно можно этот момент описать программно ? Т.е. есть 2 формы.Одна форма с включенным отбором по Сотруднику.
Вторая форма вообще без отбора,ибо он там мне не нужен.Когда новый документ создается из-под формы журнала документов(значение отбора записывается при открытии в реквизит Документа Сотрудник).Если новый документ создается из-под формы просто списка документов в реквизит Сотрудник не пишется ничего,потому что отбор не определён вообще.
andrew76
И как быть, если владелец формы -это ТабличноеПоле ? Как в этом случае отследить с какой формы была запущена процедура добавления
нового документа ?
logist
Цитата(andrew76 @ 09.11.17, 10:55) необходимо зарегистрироваться для просмотра ссылки
И как быть, если владелец формы -это ТабличноеПоле

У ТабличногоПоля тоже есть Владелец.
andrew76
Так что ли :

ЭтаФорма.ВладелецФормы.ВладелецФормы ?
logist
Не вспомню, работает ли это в 8.2, в 8.3 это точно есть.
Если нет то назовите исходные ТбаПоля по разному, что бы могли отличить, только по владельцу формы.
andrew76
Следующая строка- ЭтаФорма.ВладелецФормы.ВладелецФормы в 1с 8.2 выдает ошибку- Поле объекта не обнаружено :

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

Процедура ПриОткрытии()    

Если ЭтоНовый тогда

  Если ЭтаФорма.ВладелецФормы.Колонки.Найти("ВидДокумента") = Неопределено Тогда
    
      Иначе
        //здесь определяю ,включен ли отбор по сотруднику
       // если включен отбор ,пишу значение отбора в реквизит Док-та Сотрудник
     сообщить("запуск из под формы ж-ла документов");

  КонецЕсли;    

КонецЕсли;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.