Обработка демонстрирует пример вывода таблицы значений с произвольной структурой на управляемую форму 8.2. Вывод таблицы реализован в виде отдельной процедуры, в которую таблица значений передается в качестве параметра. Это позволяет встроить её в общий модуль, и удобно использовать при необходимости.
Внешняя обработка. Таблица значений добавлена в реквизиты и элементы формы (для размещения на форме в нужном месте). Структура таблицы не определена (колонок нет). Вывод осуществляется одной процедурой, в качестве параметра в которую передаётся таблица значений. Дополнительно можно для созданной таблицы определить обработчики событий.
Код в одну процедуру можно было и без обработки выложить…если уж выкладываете
Можно подробнее, алгоритм что вы используете?
(2) petrov_al,
Показать
Типовое создание элементов/реквизитов управляемой формы.
В чем уникальность публикации? Или просто как визуализация книжек по упр. интерфейсу?
Уникальности никакой нет, на неё и не претендую. Обработка находится в нужное время, в нужном месте, пользуется спросом. У самого на днях стояла такая задача. Пришлось порыться в интернете, литературы под рукой не было. На инфостарте не нашел.
Особенностью обработки считаю универсальную процедуру, т.к. в инете есть примеры с конкретной структурой.
(5) hiduk, Большое спасибо за помощь!!! В 82 из мелочи любят выдумывать сложности. Туда сюда гонять реквизиты и т д. Не понимаю зачем так заморачиваться… Сам не додумался. Большое спасибо! Получилось с вашей помощью !!!!
Код очень универсальный получился.
Очень удобно.
Спасибо за готовое решение…
Скопировал код, буду использовать в ближайшее время — ибо пока обходился без заполнения таблиц на УФ…
Я пробовал вышеуказанный код — у меня не работало удаление таблицы значений из управляемой формы. В итоге сделал свою модификацию:
Удаление таблицы значений из управляемой формы
Удалять реквизиты таблицы значений нет нужды — достаточно удалить саму таблицу значений.
Показать
Ну и до кучи — процедура вывода таблицы значений на управляемую форму:
Показать
Можно ли в добавленной таблице вызвать процедуру ПриАктивацииСтроки и т.п.?
Здравствуйте.
А как сделать группы. Ну чтобы при отображении на форме несколько колонов были объединены в Группу колонок.
(10) tolyan_ekb, Можно наверное:) Попробуйте определить переменную ТЗОбработчиковСобытий как ТЗ. Добавить туда строку, колонка ИмяСобытия = «ПриАктивацииСтроки». А в модуле формы определить процедуру с именем «ИмяТаблицы» + «ПриАктивацииСтроки». В общем поройте в этом направлении.
(11) AleksSF, Добрый день! Группы сделать можно, но сложно:)
(13) hiduk,
Повозился немного и сделал. В принципе не так сложно.
Но я делал для своей конфы, поэтому не доводил ее до универсальности.
Если интересно могу прислать.
Спасибо! Программно добавил колонки в тз и долго мучился с выводом их на форму. Постоянно была Ошибка при установке значения атрибута контекста (ПутьКДанным) по причине: Недопустимое значение.
Оказалось что перед добавлением элементов формы нужно еще реквизиты формы добавить (ИзменитьРеквизиты).
Если бы в коде (3) была проверка на ПрограммноСозданныйРеквизит да и еще для внешней обработки, то юзал бы Ваш код «as is»:)
Раз уж используете данный материал, стоит заглянуть и сюда:http://infostart.ru/public/171514/ . Там больше примеров. Но они сложнее для понимания.
Я немного подправил код вывода ТЗ: ранее он позволял вывести на управляемую форму только одну таблицу значений. Либо нужно было удалять сначала одноимённую ТЗ. Теперь ничего удалять не надо, и можно выводить на форму сколько угодно ТЗ, причём процедура принимает только один параметр — саму таблицу значений и ничего лишнего:
Показать
Но ещё интереснее было бы печатать таблицу значений в независимый табличный документ. Как бы это сделать?
Спасибо за обработку, очень удобнов вставлять и юзать. Даже внутрь не лазил процедур, юзал как функцию.
Если у таблицы тип содержит массив, не выводится.
Пришлось сделать проверку, ну и потом добавление колонок в попытке-исключении.
Показать
Спасибо за открытый код в комментариях! Даже скачивать не пришлось))
(20)https://infostart.ru/public/574802/ — тут побольше кода.
(1) Школота зоробатывоет.
(9)
Процедура УдалитьТЗ(УФ, НомерТЗ=»1″) Экспорт
ИмяТаблицы = «МояТаблицаЗначений»;
ИмяТЗНаФорме = ИмяТаблицы + НомерТЗ;
// Если удаляемая таблица значений действительно присутствует на данной управляемой форме
Если НЕ УФ.Элементы.Найти(ИмяТЗНаФорме) = Неопределено Тогда
// Сначала удалим реквизит «Таблица значений» из УФ
МассивИменУдаляемыхРеквизитов = Новый Массив;
МассивИменУдаляемыхРеквизитов.Добавить(ИмяТЗНаФорме);
УФ.ИзменитьРеквизиты(,МассивИменУдаляемыхРеквизитов);
УдаляемыйЭлемент = УФ.Элементы.Найти(ИмяТЗНаФорме);
Если НЕ УдаляемыйЭлемент = Неопределено Тогда
// Теперь удалим элемент формы, который служил для визуального отображения
// удалённого реквизита УФ «Таблица значений»
УФ.Элементы.Удалить(УдаляемыйЭлемент);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Показать
СПАСИБО ОГРОМНОЕ