Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 04:16

Обычное приложение. добавление колонки в форму в ТЧ не связанной с колонкой ТЧ документа

Автор andron81_81, 09 фев 2018, 13:38

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

andron81_81

Добрый день.
С управляемыми формами я разобрался как это делается. А теперь с обычным приложением вопрос такой же <_<

Если я добавляю колонку в форме и не связываю её ни с одним из реквизитов Таб части документа, тогда у меня работать не будет для каждой строки ?
дело в том что получается если я ввожу значения в одной строке в этой созданной колонке , то в других строках наследуется это же значение. А хотелось бы разные )

andron81_81


Luzer1C

Халамбалам.

AIFrame

Цитата: andron81_81 от 09 фев 2018, 14:00
да и не видно введённых значений. с чем это связано ?


А храниться они где (по твоему) должны?

andron81_81

Цитата: AIFrame от 10 фев 2018, 07:51
Цитата: andron81_81 от 09 фев 2018, 14:00
да и не видно введённых значений. с чем это связано ?


А храниться они где (по твоему) должны?

без понятия. поэтому и спрашиваю. в управляемых формах ведь есть такая возможность. тут разве нет ?

AIFrame


andron81_81

Цитата: AIFrame от 11 фев 2018, 18:17
Какая возможность то?

ну там можно создать на форме реквизиты ТЧ. они сохраняться не будут в документ, ну и ладно.

Добавлено: 11 фев 2018, 18:28



pavl_vs

Цитата: andron81_81 от 11 фев 2018, 18:22
... можно создать на форме реквизиты ТЧ. они сохраняться не будут в документ, ну и ладно.
И зачем тогда создавать колонку, заполнять ее значениями, если значения не будут сохраняться?

AIFrame

В обычных формах доп.колонка, не входящая в состав реквизитов табличной части, должна заполняться программно на основании данных строки или типа того. По событиям ПриВыводеСтроки или ПриПолученииДанных (лучше), оперируя сущностью ОформлениеСтроки в стиле:
Ячейка = ОформлениеСтроки.Ячейки.Колонка1;
Ячейка.ОтображатьТекст = Истина;
Ячейка.Текст = КакойТоТекст;

Или
ОформлениеСтроки.Ячейки.Колонка1.УстановитьТекст(КакойТоТекст);
Вот пример:

А вот код:
Процедура ТабличнаяЧасть1ПриПолученииДанных(Элемент, ОформленияСтрок)
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
Ячейки = ОформлениеСтроки.Ячейки;
    ЯчейкаК1 = Ячейки.Колонка1;
    ЯчейкаР1 = Ячейки.Реквизит1;
    ЯчейкаК1.ОтображатьТекст = Истина;
Если ЗначениеЗаполнено(ЯчейкаР1.Значение) Тогда
    ЯчейкаК1.Текст = ЯчейкаР1.Значение.Артикул;
КонецЕсли;

КонецЦикла;
КонецПроцедуры

Реквизит1 = реквизит ТЧ, тип СправочникСсылка.Номенклатура.
Колонка1 = добавленная на форме колонка.

pavl_vs

Цитата: andron81_81 от 09 фев 2018, 13:38
Если я добавляю колонку в форме и не связываю её ни с одним из реквизитов Таб части документа, тогда у меня работать не будет для каждой строки ?
дело в том что получается если я ввожу значения в одной строке в этой созданной колонке , то в других строках наследуется это же значение.
Бред какой-то. В обычных формах все гораздо проще.

В Конфигураторе открываете свой "Документ1".
На закладке "Данные" в ТЧ добавляете новый реквизит "Колонка1" (это можно сделать и в ветке метаданных, распахнув ТЧ).
Затем в форме документа "Документ1.ФормаДокумента" в ТЧ создаете "Колонка1".
В Свойствах (откройте это окно) указываете Имя колонки, текст шапки и (!!!), главное, указываете путь к данным выбором в поле "Данные" - это будет то что вводили на закладке "Данные".

Всё! Сохраняйте конфигурацию, запускайте отладку, в нужном Вам документе в поле добавленной колонки, в любой строке добавляйте свою "абракадабру", записывайте документ, закрывайте - при открытии документа Вы увидите ранее введенные данные.
Никаких дополнительных манипуляций (типа создания процедур для обработчика событий) не требуется.

PS AIFrame, программное создание колонок в контексте темы - это уж излишество, автор темы вносит изменения в конфигуратор и ни слова о внешних обработках.

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

Рейтинг@Mail.ru

Поиск