Обращение извне.

1. Intercititude 26.02.20 15:09 Сейчас в теме
Всем добрый день.
Обычные формы, 8.2.

Есть реквизит на форме "Лицензия" с типом СправочникСсылка.Лицензии. Открывается форма элемента с выбором лицензии.
На этой же форме лицензии присутствует ТабличноеПоле("ПунктыРазгрузки") с типом СправочникСписок.алкПунктыРазгрузки. Это реквизит формы элемента.

Собственно как мне обратиться к этому табличному полю из другой формы или обработки,и получить данные из этого списка?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
9. Intercititude 27.02.20 12:26 Сейчас в теме +0.21 $m
Оказалось всё куда проще. В запрос передал параметр лицензию и получил пункты разгрузки...
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 26.02.20 15:37 Сейчас в теме
(1) Любая информация хранится в базе. Найдите в конфигурации где она хранится и берите оттуда, а не из формы.
Fox-trot; +1 Ответить
8. Zigor1964 26.02.20 22:57 Сейчас в теме
(1) Неверное восприятие системы в целом. Во первых , вы не указали , чья форма ? Форма бывают : Форма списка, форма элемента, Форма выбора ( аналог списка с элементами помощи в процессе выбора ) , произвольная форма и т.п.

Форма - в основном , всего лишь визуальное отображение Объекта базы.


В данном случае На форме у вас есть Табличное поле. Реквизит Лицензия , значения не имеет - непонятно , для чего вы его привели?
Данные в этом поле могут браться из Табличной части Объекта базы, которому принадлежит форма, либо собираться Запросом.
Судя по тому , что это РеквизитФормы, данные скорее всего собираются программно.
Ищите в процедурах ПередОткрытием, ПриОткрытии , как заполняются колонки ТабличногоПоля.
Теперь - обратится. Через ЭлементыФормы в процедурах ФормаЭлемента. или что у вас это за форма.
Там есть Текущие данные , Текущая строка. Это строка таблицы ПунктыРазгрузки, на котором установлен курсор.

Если вам нужна другая строка Таблицы - Ищите её через обработку Таблицы СправочникСписок - поиск , цикл и т.п. Открывайте методы этого типа объекта и смотрите подходящий.

Форма лишь отобразит изменения значений Реквизитов.
3. SyachinS 26.02.20 15:49 Сейчас в теме
Реквизит формы элемента заполняется по какому то алгоритму, повторите его используя ссылку на справочник.
4. DmitriyPerevalov 26.02.20 15:51 Сейчас в теме
Необходимо уточнить свойства табличного поля ПунктыРазгрузки:
1. Флажок "Сохраняемые данные" установлен?

Лучше приложить скрин палитры свойств реквизита.

В зависимости от свойств будет понятно, откуда конкретно взять данные. Может проще (и правильней) обратиться к данным ИБ.

На всякий случай надо посмотреть есть ли Владелец и каких типов у справочника алкПунктыРазгрузки
6. DmitriyPerevalov 26.02.20 16:14 Сейчас в теме
(4) Надо посмотреть ПриОткрытии формы (или по другому событию) накладывается ли Отбор на СправочникСписок. Если никакого отбора там нет, то по идее в любой форме отображается просто весь список справочника алкПунктыРазгрузки. А если отбор накладывается, то надо обращаться к справочнику алкПунктыРазгрузки с аналогичным отбором.
5. aezdakov 5 26.02.20 16:03 Сейчас в теме
Сейчас бы в обычных формах тянуть данные с форм. Эх, старый добрый УТАП 10.3
Посмотрите свойство реквизита формы, там явно определено события при изменении, которое заполняет ПунктыРазгрузки. Зная УТАП, там скорее всего какой-нибудь вызов функции из общего модуля. Вот это просто скопируйте и прикрутите к вашей хотелке.
С другой стороны, если в этой форме выбора лицензии есть ещё реквизиты, которые доступны пользователю для изменения, значит они должны возвращаться обратно на форму владельца, иначе зачем они нужны. Поставьте замер производительности до момента осуществления выбора лицензии (пользователь ещё не нажал на кнопу выбрать/ок/готово в форме выбора лицензии, но уже закончил редактировать состав реквизитов этой формы), а после осуществления выбора (форма закрылась и пользователя вернуло с результатом на форму владельца) снимите замер производительности и читайте портянку, что выдаст вам 1С (само собой запускать это в режиме отладки, иначе портянки не будет). Думаю там должно быть то, что ищите.
7. YanTsys 12 26.02.20 17:34 Сейчас в теме
Какой вопрос, такой ответ:

Пример как обратиться к другой форме и заполнить реквизит объекта
	ОкнаПриложения = ПолучитьОкна();
	Для каждого ОкноПриложения Из ОкнаПриложения Цикл
		Сообщить("Найдено окно: "+Строка(ОкноПриложения.Заголовок));
		Если Найти(ОкноПриложения.Заголовок, "тест (Контрагенты)") > 0 Тогда
			ОкноПриложения.ПолучитьСодержимое().Объект.ИНН=555;
		КонецЕсли;
	КонецЦикла;	


PS Бойтесь своих вопросов, ведь вы можете получить на них ответы :[
9. Intercititude 27.02.20 12:26 Сейчас в теме +0.21 $m
Оказалось всё куда проще. В запрос передал параметр лицензию и получил пункты разгрузки...
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день