Hare.ru @ Коллективный разум / Hare.ru @ Дикое место |
Архив hare.ru | |||||||||||||
Мысли, конвертированные в текст | ||||||||||||||
Собственные руки TMНесколько табличный частей - это простоВладимир Камышников (январь 2003) При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений:
Итак, рассмотрим технологию организации второй табличной части документа (пример в виде маленькой конфигурации приложен к статье, ссылка внизу страницы). Первый шаг – создание служебного документа. Он не должен проводится, не должен задействовать компоненты платформы и, лучше всего, не должен принадлежать никакому журналу. Далее, в табличной части этого документа создаем необходимые реквизиты. Даже те, которые не должны отображаться. В поле "Синоним" указываем то название, которое должно отображаться в колонке. На рисунке 1 имеется реквизит табличной части "ОбъемПриДаннойТемп", который в колонке таблицы будет отображаться как "V при tc". В поле "Комментарий" можно указывать команды форматирования таблицы (необычная фича, да? ;-). В данном случае задается ширина колонки таблицы, 11 единиц. Сейчас у меня поддерживается несколько таких команд:
После этих операций можно смело утверждать, что с форматированием отображаемой таблицы мы справились. Добавляем в родительский документ реквизит типа "Документ", и связываем его с только что созданным служебным документом. Через этот реквизит впоследствии мы сможем работать с дополнительной табличной частью.
В форму "главного" документа добавляем таблицу значений, при помощи которой будем отображать дополнительную табличную часть, и три кнопки – стандартные "добавить-редактировать-удалить". При желании можно определить и другие операции со строками дополнительной табличной части – копировать строку, и т.д.
Теперь нужно вставить необходимый код в глобальный модуль (см. конфигурацию-пример). Для манипуляций с табличной частью в родительский документ необходимо добавить всго лишь три (!) строки:
В процедуру передаются три параметра – Контекст, реквизит родительского документа, в котором содержится ссылка на служебный документ, и таблица значений на форме, которая отображает табличную часть. При открытии происходит форматирование таблицы и заполнение её данными. При закрытии происходит попытка удаления служебного документа (при необходимости). Второй параметр такой же, как и в первой функции:
Ну и собственно сохранение табличной части. Параметры такие же как и в первой процедуре:
Готово. Ну, за исключением ввода данных в таблицу. Для этого я позаимствовал из типовой конфигурации ИТРП универсальную процедуру ввода в таблицу значений (см. пример). Можно взять какую-нибудь другую универсальную процедуру ввода данных в ТЗ, или написать свою собственную – кому как больше нравится. Вот и все… Восьмерка лишается одного из своих основных козырей? ;-) |
Партнеры: Также может быть интересно: Канал Россия 1 на http://spbtvonline.ru/ |
|||||||||||||
Сайт поддерживается за счет партнеров: | ||||||||||||||
:::... Сайт содержит архив двух версий hare.ru | Карта сайта |