Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 дек 2021, 08:21

Вывести форму документа из табличного поля

Автор Soffeso, 18 мая 2021, 09:08

0 Пользователей и 1 гость просматривают эту тему.

Soffeso

Всем добрый день. Задача достаточно простая, но процесс застопорился. Необходимо вывести элементы за промежуток времени, который задает пользователь, и по определенной организации. Также необходимо, чтобы при двойном клике на любую ячейку таблицы, открывалась существующая форма, с данными из этой строки. С выводом проблем нет. Но вот с открытием формы беда.
Мои варианты решения:
1) Делать выборку из таблицы значений:
Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СсылкаНаЭлемент = Элемент.ТекущаяСтрока;
ОткрытьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента");
КонецПроцедуры

Но, соответственно, открывается новый документ. Я не совсем понимаю как правильно передать ссылку, чтобы открывалась уже существующая форма.

2)Делать выборку из Списка значений, где тип значения: ДокументСписок.ПоступлениеТоваровУслуг
Тогда, кликая на ячейку, все открывается как нужно, но теперь беда с выборкой. Как правильно в списке значений ставить условия?
В таблице было так:
Запрос = Новый Запрос(
        "ВЫБРАТЬ
        | Номер, Дата, Организация, Контрагент
        |ИЗ
        | Документ.ПоступлениеТоваровУслуг
|ГДЕ
| Дата МЕЖДУ &ДатаОт И &ДатаДо
| И Организация = &Организация"
    );

Как лучше реализовать и в каком направлении двигаться?
Заранее спасибо за помощь!

antoneus

1) Или

ОткрытьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента", Новый Структура("Ключ", СсылкаНаЭлемент))

или

ОткрытьЗначение(СсылкаНаЭлемент)

Soffeso

Спасибо за ответ. Но теперь проблема со ссылкой, если использовать второй вариант, то выскакивает окно, где написано "СтрокаТаблицыЗначений" и сама форма, также, пустая.
Пробовала так, но тоже что-то не то:
СсылкаНаЭлемент = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
ИЛИ
СсылкаНаЭлемент = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;

Я так понимаю это массив данных, но он ведь нам и нужен.

antoneus

Ссылку надо запихать в табличное поле, для этого ее нужно добавить в запрос:

ВЫБРАТЬ
    Номер, Дата, Организация, Контрагент, Ссылка
ИЗ
    Документ.ПоступлениеТоваровУслуг
и т.д.


Потом

СсылкаНаЭлемент = ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Ссылка;


Soffeso

Получилось! Спасибо большое за помощь!

Теги:  1С 8.3 

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск